0001654954-24-004045.txt : 20240401 0001654954-24-004045.hdr.sgml : 20240401 20240401160123 ACCESSION NUMBER: 0001654954-24-004045 CONFORMED SUBMISSION TYPE: 10-K PUBLIC DOCUMENT COUNT: 92 CONFORMED PERIOD OF REPORT: 20231231 FILED AS OF DATE: 20240401 DATE AS OF CHANGE: 20240401 FILER: COMPANY DATA: COMPANY CONFORMED NAME: TOMI Environmental Solutions, Inc. CENTRAL INDEX KEY: 0000314227 STANDARD INDUSTRIAL CLASSIFICATION: INDUSTRIAL ORGANIC CHEMICALS [2860] ORGANIZATION NAME: 08 Industrial Applications and Services IRS NUMBER: 591947988 STATE OF INCORPORATION: FL FISCAL YEAR END: 1231 FILING VALUES: FORM TYPE: 10-K SEC ACT: 1934 Act SEC FILE NUMBER: 001-39574 FILM NUMBER: 24809006 BUSINESS ADDRESS: STREET 1: 8430 SPIRES WAY CITY: FREDERICK STATE: MD ZIP: 21701 BUSINESS PHONE: 8005251698 MAIL ADDRESS: STREET 1: 8430 SPIRES WAY CITY: FREDERICK STATE: MD ZIP: 21701 FORMER COMPANY: FORMER CONFORMED NAME: Ozone Man, Inc. DATE OF NAME CHANGE: 20071130 FORMER COMPANY: FORMER CONFORMED NAME: RPS GROUP INC DATE OF NAME CHANGE: 19940818 FORMER COMPANY: FORMER CONFORMED NAME: DAUPHIN INC DATE OF NAME CHANGE: 19940818 10-K 1 tomz_10k.htm FORM 10-K tomz_10k.htm

 

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

 

For the transition period from                      to

 

Commission File Number 000-09908

 

TOMI ENVIRONMENTAL SOLUTIONS, INC.

(Exact name of registrant as specified in its charter)

 

Florida

 

59-1947988

(State or other jurisdiction of

incorporation or organization)

 

(I.R.S. Employer

Identification No.)

 

 

 

8430 Spires Way

Frederick, Maryland

 

21701

(Address of principal executive offices)

 

(Zip Code)

 

Registrant’s telephone number, including area code: (800) 525-1698

 

Securities registered under Section 12(b) of the Exchange Act: 

 

Title of each class

Trading

Symbol(s)

Name of each exchange on which registered

Common Stock, par value $0.001 per share

TOMZ

The Nasdaq Capital Market

 

Securities registered under Section 12(g) of the Exchange Act: None

 

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

 

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

 

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

 

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

 

Indicate by check mark whether the registrant is a large accelerated filer, an accelerated filer, a non-accelerated filer, a smaller reporting company, or emerging growth company. See the definitions of “large accelerated filer,” “accelerated filer,” “smaller reporting company,” and “emerging growth company” in Rule 12b-2 of the Exchange Act:

 

Large Accelerated Filer

Accelerated Filer

Non-Accelerated Filer

Smaller Reporting Company

 

 

Emerging Growth Company

                                                                                                                                                                                                                              

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

 

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

 

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

 

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

 

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

 

As of June 30, 2023, the last business day of the registrant’s most recently completed second fiscal quarter, the aggregate market value of the common stock held by non-affiliates of the registrant was approximately $9,612,000, based upon the closing price of the registrant’s common stock as reported on the Nasdaq Capital Market on such date.

 

As of March 28, 2024, the registrant had 19,955,205 shares of common stock outstanding.

 

Documents incorporated by reference

 

None.

 

 

 

 

TOMI ENVIRONMENTAL SOLUTIONS, INC.

 

ANNUAL REPORT ON FORM 10-K

 

FOR THE FISCAL YEAR ENDED DECEMBER 31, 2023

 

TABLE OF CONTENTS

 

Item

 

 

Page 

 

PART I

 

 

1.

Business

 

4

 

1A.

Risk Factors

 

17

 

1B.

Unresolved Staff Comments

 

27

 

1C.

Cybersecurity

 

27

 

2.

Properties

 

27

 

3.

Legal Proceedings

 

28

 

4.

Mine Safety Disclosures

 

28

 

PART II

 

 

5.

Market for Registrant’s Common Equity, Related Shareholder Matters and Issuer Purchases of Equity Securities

 

29

 

6.

Selected Financial Data

 

29

 

7.

Management’s Discussion and Analysis of Financial Condition and Results of Operations

 

29

 

 

 

 

 

 

8.

Financial Statements and Supplementary Data

 

45

 

9.

Changes in and Disagreements with Accountants on Accounting and Financial Disclosure

 

45

 

9A.

Controls and Procedures

 

45

 

9B.

Other Information

 

46

 

 

 

 

 

 

PART III

 

 

10.

Directors, Executive Officers and Corporate Governance

 

47

 

11.

Executive Compensation

 

49

 

12.

Security Ownership of Certain Beneficial Owners and Management and Related Shareholder Matters

 

53

 

13.

Certain Relationships and Related Transactions, and Director Independence

 

55

 

14.

Principal Accounting Fees and Services

 

55

 

PART IV

 

 

15.

Exhibits, Financial Statement Schedules

 

55

 

 

 

 

 

Signatures

 

  58

 

 

 

 

 

 

 

Exhibit Index

 

  57

 

 

 

 

 

 

 

Financial Statements

 

F-1

 

 

 
2

Table of Contents

 

FORWARD-LOOKING STATEMENTS

 

This Annual Report on Form 10-K contains certain forward-looking statements within the meaning of Section 27A of the Securities Act of 1933, as amended (the “Securities Act”), and Section 21E of the Securities Exchange Act of 1934, as amended (the “Exchange Act”), and we intend that such forward-looking statements be subject to the safe harbors created thereby. For this purpose, any statements contained in this Annual Report on Form 10-K, except for historical information, may be deemed to be forward-looking statements. You can generally identify forward-looking statements as statements containing the words “will,” “would,” “believe,” “expect,” “estimate,” “anticipate,” “intend,” “assume,” “can,” “could,” “plan,” “predict,” “should” or the negative or other variations thereof or comparable terminology are intended to identify forward-looking statements. In addition, any statements that refer to projections of our future financial performance, trends in our businesses, or other characterizations of future events or circumstances are forward-looking statements.

 

The forward-looking statements included herein are based on current expectations of our management based on available information and involve a number of risks and uncertainties, all of which are difficult or impossible to predict accurately and many of which are beyond our control. As such, our actual results could differ materially and adversely from those expressed in any forward-looking statements as a result of various factors.  Important factors that could affect our performance and cause results to differ materially from management’s expectations are described in the section entitled “Risk Factors,” Item 1A of this Annual Report on Form 10-K. These factors include: our history of losses that may prevent us from achieving profitability in the future; our lack of long-term customer contracts and our inability to rely on our sales history or backlog as an indicator of our future sales; that we are subject to a variety or risks associated with doing business internationally; our success in business depends on our ability to adequately protect our intellectual property; and that our stock price is volatile and there is a limited market for our shares.

 

Readers should carefully review “Risk Factors”, as well as the additional risks described in other documents we file from time to time with the Securities and Exchange Commission. In light of the significant risks and uncertainties inherent in the forward-looking information included herein, the inclusion of such information should not be regarded as a representation by us or any other person that such results will be achieved, and readers are cautioned not to place undue reliance on such forward-looking information. Except as required by law, we undertake no obligation to revise the forward-looking statements contained herein to reflect events or circumstances after the date hereof or to reflect the occurrence of unanticipated events.

 

 
3

Table of Contents

 

PART I

 

Item 1. BUSINESS

 

Overview

 

TOMI Environmental Solutions, Inc. (“TOMI,” “we,” “our,” or the “Company”) is a global leader in bacteria decontamination and infectious disease control, offering environmentally friendly solutions for indoor air and surface disinfection and decontamination. Our flagship product, SteraMist, uses our patented and registered Binary Ionization Technology (“BIT”) to deliver a low-percentage (7.8%) hydrogen peroxide-based fog or mist to affect all indoor environments and surface areas.

 

Developed under a grant from the United States Defense Advanced Research Projects Agency (“DARPA”), SteraMist generates ionized Hydrogen Peroxide (“iHP”) using cold plasma science. BIT transforms a sole active ingredient hydrogen peroxide solution into iHP through a high voltage atmospheric cold plasma arc, producing submicron to 3-micron hydroxyl radical particles that effectively treat surfaces and environments with the same velocity and characteristics of a gas. Our innovative and novel process ensures eradication of pathogens with a 6-log (99.9999%) and greater kill rate, effectively leaving no harmful by-products lingering in the treated area. SteraMist’s innovative methodology, inspired from atmospheric chemistry, not only guarantees effectiveness but also maintains a commitment to environmental sustainability by ensuring the only by-product from the process is oxygen and humidity, a complete package of benefits unmatched in its industry.

 

We owe our success to the collaborative efforts of Titan Defense and DARPA who uncovered a superior technology that mimics nature’s cleansing mechanism, bringing this natural phenomenon indoors providing a competitive edge that exceeds the capabilities of our competition in the healthcare disinfection, life sciences decontamination, and food safety sanitization markets.

 

 
4

Table of Contents

 

The Science Behind the Technology

 

Introducing a revolutionary approach to disinfection and decontamination, our technology offers a streamlined and effective solution. By harnessing the power of atmospheric chemistry, our process converts 7.8% hydrogen peroxide into a plasma-generated hydroxyl radical, achieving a 6-log and greater kill of pathogens leaving only oxygen and humidity as by-products. It’s a simple yet effective solution that sets a new standard for global cleaning disinfection decontamination practices.

 

BIT technology was initially developed in response to weaponized anthrax spore attacks, and detailed testing performed by DARPA demonstrated the success of the technology in neutralizing chemical warfare agents. BIT, a TOMI patented process aerosolizes and activates a low concentration hydrogen peroxide solution, producing a fine aqueous mist (0.3-3 um in diameter) that contains a high concentration of hydroxyl radicals (“.OH”).  The .OH damages pathogenic and resistant organisms (such as bacteria, bacteria spores, viruses, mold spores, other fungi, and yeast) via oxidation of proteins, carbohydrates, and lipids and rendering the building blocks of nature’s amino acids, DNA and RNA inactive – leading to complete cellular disruption.

 

The unique alteration of the chemistry occurs only once BIT solution passes through the atmospheric cold plasma arc, which causes the breaking of the double bond of a hydrogen peroxide molecule and results in an .OH hydroxyl radical known as iHP. This patented process allows these hydroxyl radicals to exist in high concentrations without rapidly recombining and losing reactivity, while seeking all surfaces within the proximity of the resulting mist or fog.

 

TOMI has and continues to adapt this innovative technology into an everyday solution for use by multiple industries. Under the Federal Insecticide, Fungicide, and Rodenticide Act (“FIFRA”), we are mandated to register our disinfectants with the Environmental Protection Agency (“EPA”) and specific state regulatory bodies. SteraMist BIT was EPA-registered (#90150-2) in June 2015 as a hospital-healthcare and broad-spectrum surface disinfectant for misting/fogging applications. We achieved a cutting-edge claim on the EPA label and was coined as the first equipment + solution combination hospital-healthcare disinfectant on the market and maintain the claim as the only EPA Registered Solution + Equipment combination that provides the unique technology of hydrogen peroxide ionization.

 

Today our EPA registered BIT solution is manufactured at an EPA-registered solution blender and our product performance is supported by Good Laboratory Practice (“GLP”) efficacy data which includes mold control and air/surface remediation with claims to combat Staphylococcus, Pseudomonas, MRSA, Salmonella, H1N1, Clostridium difficile spores, and Norovirus. In March 2020, our EPA label was updated to include claims against Emerging Viral Pathogens, meeting criteria for both Enveloped and Large Non-enveloped viruses. In 2021, SteraMist BIT 0.35% hydrogen peroxide received its EPA registration (#90150-3), and on June 2, 2022, SteraMist was added to its seventh EPA’s List, List Q for combating rare or novel viruses like Monkeypox virus and SARS-CoV-2 variants causing COVID-19. 

 

TOMI continuous to build its portfolio of feasibility studies with renowned and trusted partners.  In 2023, the U.S. Department of Defense’s BSAT Biorisk Program Office and the Department of Homeland Security’s Science and Technology Directorate’s Plum Island Animal Disease Center published a report demonstrating that iHP is an effective tool for decontamination of biological toxoids and dangerous pathogens that may disrupt our world. We maintain registrations in all 50 states, Washington D.C., Canada, and approximately 40 other countries. These endorsements signify our commitment to safeguarding our world against any potential threats.

 

Our Customers

 

We empower our customers to create a healthier and safer world by offering innovative products and services spanning life sciences, healthcare, food safety, and everyday visited facilities. Our comprehensive solutions encompass a range of capital equipment and services, from mobile sprayers and foggers to fully automated installed systems, alongside routine and emergency deployment, qualification, and validation procedures. We also operate across diverse sectors such as Life Sciences, Hospital-Healthcare, Food Safety, and everyday buildings visited by people, and provide the option for routine and emergency treatment through our service provider membership, the TOMI Service Network (“TSN”).

 

Our revenue is derived from a variety of industry groups. The life-science industry’s growth trajectory is fueled by various factors including global demographic trends, technological advancements, regulatory requirements, and economic influences. In hospital-healthcare, the rising concern over hospital-acquired infections, coupled with increasing demand for medical procedures and efficiency improvements, drives a demand for our products and services. Food safety regulations mandate strict sanitation practices in food handling and processing facilities to ensure the production of safe and hygienic food products. Sanitation plays a critical role in preventing contamination and the spread of foodborne illnesses. Regulations typically outline requirements for cleaning and disinfecting food contact surfaces, equipment, utensils, and facilities to remove dirt, debris, and harmful microorganisms. 

 

 
5

Table of Contents

 

It is imperative to emphasize the importance of a proactive approach, particularly in disinfection and decontamination. Investing in advanced technology should not solely be reactive to crises but should be seen as an integral part of a robust risk management strategy for any business. At TOMI, we are dedicated to modernizing operational efficiencies across diverse industries, including life sciences, hospital-healthcare, food safety, hospitality, and emergency service sectors.

 

By integrating SteraMist iHP technology into facilities now, we not only mitigate existing risks but also strengthen defenses against future challenges the world may face. Establishing a culture of safety and hygiene through routine cleaning disinfection protocols employers instill confidence among their patients, researchers, employees, students, emergency responders - showcasing a commitment to the well-being of everyone. Our system and support team stand ready to provide a solution that ensures a consistently safe and sterile environment, bolstering day-to-day safety maintenance and preventing the escalation of potential health hazards.

 

Validated and proven effective, SteraMist is being used throughout the world and has been demonstrated to reduce certain resistant problem organisms, such as bacterial spores, Vancomycin-resistant Enterococcus (“VRE”), Clostridium difficile, Middle East Respiratory Syndrome (“MERS”), Ebola (“Ebola”) and SARS CoV-2 the virus that causes COVID-19.

 

We now provide a wide array of products and services customized to meet the unique operational needs of our global clientele, providing a customizable approach to our customers and elevating their overall performance.

 

In 2023, TOMI expanded its network of international distributors and partnered for the first time with distributors domestically.  Our distribution network spans across the Life Sciences, Hospital-Healthcare, Food Safety, and Commercial industries. This effort along with maintaining our key current Independent Manufacturing Representatives is aimed to enhance revenue and increase brand awareness. Moving forward, we anticipate substantial benefits from these distributor groups, paving the way for growth and success in the years ahead.

 

We tackle critical global challenges, delivering real results that reflect our dedication to making a positive impact on employees, customers, investors, and the communities we serve. In an industry full of archaic methods and publicized technology, gaining acceptance from all stakeholders is a lengthy process. Today, our impressive roster of clients includes Tower Health, Novant Health, Pfizer, Merck, Fresenius Kabi, DKI, First Onsite, Fleet, Nestle Purina, Simplot, Perdue, and various government agencies such as the National Institutes of Health (“NIH”) and United States Department of Agriculture (“USDA”).  The Company is equipped for when these esteemed organizations prioritize expanding their use of SteraMist iHP. As an example, the Department of Homeland Security’s Science and Technology Directorate budget overview for FY 2025 has budgeted for 16 of TOMI’s Environment units for the decommissioning of Plum Island’s labs. Not only does this signify significant growth for our Company, but it aligns with our corporate mission: Innovating for a Safer World.

  

Industries & Market Segments

 

SteraMist products are designed to address a wide spectrum of industries using iHP. Our operations consist of five main divisions based on our current target industries: Life Sciences, Hospital-HealthCare, TSN, Food Safety, and Commercial.  Launched in sequential order as listed to either strategically address the needs and/or ensure compliance with the specific regulations governing each industry segment.

 

Life Sciences

 

SteraMist iHP is designed to be tailored to provide a complete solution to address the regulatory inspections of disinfecting/decontaminating and Installation Qualification (IQ)-Operational Qualification (OQ)–Performance Qualification (PQ) validation processes within the life sciences industry.

 

The life sciences sector demands rigorous decontamination procedures to ensure the integrity and safety of pharmaceutical products, medical devices, and research environments. With the evolving landscape of the pharmaceutical market, there is an increasing demand for fully automated decontamination products that offer quick turnaround times to minimize downtime and expedite production cycles.

 

The life sciences industry was among the first to embrace the Company’s innovative decontamination solutions, recognizing the limitations of traditional methods and effects on progress. Our current portfolio of life science customers, including Fortune 100 companies has been able to overcome the constraints imposed by outdated practices, paving the way for enhanced efficiency, safety, and productivity in their operations. Their early adoption of our SteraMist iHP lays a solid foundation for our future expansion. By demonstrating the effectiveness and value in a highly regulated and demanding sector, we establish credibility and trust that can facilitate broader adoption across other facilities, companies, and even industries.

 

 
6

Table of Contents

 

The insights gained from working closely with life sciences companies also inform our product development and service offerings, enabling us to better meet the evolving needs of markets. In today’s pharmaceutical market, characterized by rapid innovation, stringent regulatory requirements, and global competition—efficiency and speed are paramount. Pharmaceutical companies, including Contract Development and Manufacturing Organizations (“CDMO”), are under pressure to streamline their operations while maintaining high standards of quality and compliance.

 

According to industry statistics, the global pharmaceutical market is projected to grow steadily, with emerging markets playing an increasingly significant role in driving growth. As their operations expand globally, there is a growing need for decontamination solutions that can deliver consistent fast results across the dynamic and ever-changing landscape of manufacturing and production facilities and research laboratories.

 

By offering fully automated products and services tailored to the unique requirements of pharmaceutical manufacturers and CDMOs, TOMI aims to support their efforts in maintaining the highest standards of quality, safety, and efficiency on a global scale.

 

 Hospital-Healthcare

 

TOMI focuses on the Hospital-Healthcare Market by providing high quality of safety to patients and personnel by disinfecting operating rooms, pharmacies, ambulances, and emergency environments throughout a healthcare facility.

 

Healthcare facilities worldwide should prioritize disinfection to mitigate the risk of healthcare-associated infections (“HAI”), enhance patient safety, and maintain a sterile environment conducive to healing. According to the World Health Organization, HAIs affect millions of patients globally each year, leading to prolonged hospital stays, increased healthcare costs, and deaths.

 

In 2024, it’s estimated that approximately 7-10% of patients admitted to healthcare facilities worldwide will acquire at least one HAI during their stay. This translates to millions of cases annually, with significant economic burdens and human costs. Furthermore, the emergence of antimicrobial-resistant pathogens poses a growing threat, exacerbating the challenge of infection control in healthcare settings.

 

Effective disinfection measures, including the use of advanced technologies like SteraMist, are essential for reducing the incidence of HAIs and safeguarding patient health. By implementing rigorous disinfection protocols, healthcare facilities can significantly reduce the risk of infections, improve patient outcomes, and promote public health, but may also reduce healthcare costs and enhances the overall quality of care provided.

 

TOMI will intensify its efforts to penetrate the healthcare market by forging strategic partnerships and advocating for the adoption of advanced disinfection technologies. By collaborating with key stakeholders, including healthcare providers, facility managers, group purchasing organizations (“GPO”) like Vizient and regulatory bodies, we can promote the integration of SteraMist as a complementary solution to manual cleaning practices. Emphasizing the efficiency, efficacy, and cost-effectiveness of SteraMist in eliminating pathogens and reducing the risk of healthcare-associated infections will be essential in gaining traction in the market. Additionally, investing in targeted marketing campaigns and educational initiatives to raise awareness about the benefits of automated disinfection processes can help overcome resistance to change and accelerate market penetration.

 

TOMI Service Network (“TSN”)

 

TSN is an expansive network consisting of professionals who are exclusively licensed and trained to use the SteraMist products. With the purchase of SteraMist and joining TSN, TOMI trains and services a wide array of professional remediation companies in the use of SteraMist throughout the TSN division. TSN allows for increased accessibility and brand awareness of iHP services to facilities in need of local routine and emergency disinfection and decontamination.

 

The TSN addressed many cleaning protocols that changed permanently due to the COVID-19 pandemic, and our network plays a significant role in facilitating and maintaining these protocols. COVID-19 highlighted the limitations of reactive approaches to cleanliness and hygiene. Recognizing this, TOMI is now championing a proactive approach to disinfection. While the pandemic may have initially spurred reactive measures, we are advocating for a shift towards proactive, ongoing disinfection protocols.

 

 
7

Table of Contents

 

Through consistent and persistent efforts, we are slowly but steadily changing minds across all industries that individuals interact with in their daily lives. By emphasizing the importance of maintaining clean and safe environments as a preemptive measure providing long-term benefits of proactive disinfection in ensuring the health and well-being of their employees, customers, and communities, rather than merely reacting to immediate threats, we are promoting a culture of preventive healthcare via our TSN.

 

Food Safety

 

Every day there are news articles around the world pertaining to the contamination of food supply. Unsafe food containing harmful bacteria, viruses, parasites, or chemical substances causes more than 200 diseases. It also creates a vicious cycle of disease and malnutrition, particularly affecting infants, young children, elderly and the sick. With the global population explosion, severe worldwide avian flu pandemics resulting in the unnecessary culling of bird flocks, unusually high number of accidents resulting in the destruction of dozens of storages, packing and processing food plants, in the U.S. alone, we anticipate an increase in the demand for a mechanical way to sanitize the food supply. TOMI, in cooperation with the USDA, demonstrated that our technology offers a consistent, quick, and effective solution.

 

Sanitation procedures must be implemented regularly and effectively to maintain cleanliness and prevent cross-contamination throughout the food processing chain. This includes proper cleaning and sanitizing of food preparation areas, storage facilities, transportation vehicles, and equipment used in food production. New challenges to food safety will continue to emerge, largely due to changes in the environment, new and emergent bacteria, toxins, and antimicrobial resistance. Food Safety presents an opportunity for significant growth for TOMI with continued product research and compliance testing.

 

Compliance with food safety regulations is essential for food businesses to protect public health, uphold consumer trust, and meet legal requirements. Regulatory agencies such as the United States Food and Drug Administration (“FDA”) and the European Food Safety Authority, as well as the Canadian Safe Food for Canadians Act and Safe Food, establish and enforce sanitation standards to ensure the safety and quality of the food supply. Failure to comply with sanitation regulations can result in fines, product recalls, legal actions, and damage to the reputation of food businesses. Therefore, adherence to sanitation practices is paramount in the food industry to mitigate risks and maintain food safety standards.

 

In 2023, we made significant strides in boosting brand awareness within the food safety industry through targeted promotion and marketing initiatives. Leveraging a similar strategy to what proved successful in the Life Sciences sector; we focused on building a customer base through referrals and feasibility studies, gradually expanding our reach. By fostering relationships with key supporters of our technology and remaining patient in our approach, we have finally laid a foundation. In 2024, we expect to continue to expand and grow our presence in this critical market segment.

 

Commercial

 

In line with adopting a proactive approach through our TOMI Service Network, it’s imperative for the entire commercial world to follow suit. Proactive disinfection practices not only ensure the health and safety of employees, customers, and visitors but also safeguard business continuity and reputation.  Our Commercial division includes, but is not limited to, use sites such as aviation, airports, police and fire, prisons, manufacturing companies, automobile, gymnasiums, cruise ships, shipping ports, preschool education, primary and secondary schools, colleges including dormitories, all modes of public and private transportation, regulatory consulting agencies, retail, housing and recreation, and of course emergency preparedness for counties and cities use of SteraMist throughout such communities.

 

SteraMist disinfection helps prevent the spread of harmful pathogens, including bacteria and viruses, reducing the risk of illnesses and infections among individuals. This is particularly crucial in shared spaces such as offices, retail stores, and restaurants where people gather regularly. A healthy and safe work environment promotes employee well-being and productivity. By reducing absenteeism due to illness and creating a comfortable workspace, disinfection measures contribute to a more efficient and effective workforce. For businesses in the service industry, such as hotels, restaurants, and retail stores, providing a clean and hygienic environment is essential for delivering a positive customer experience. Cleanliness influences customer perceptions and can impact loyalty and repeat business. Disinfection helps mitigate the risk of liability claims associated with poor health and safety practices. Implementing proactive disinfection measures can minimize the potential for legal and financial repercussions resulting from health-related incidents.

 

 
8

Table of Contents

 

TOMI, in conjunction with its partners, collaborators, and industry associations, is proactively educating the community on the importance of preventive disinfection through verbal explanation and visual demonstrations of the impact of maintaining a clean environment.  We engage in targeted social media campaigns, offer training programs and workshops on best practices, and share case studies of real-life examples highlighting  the long-term benefits in promoting health and safety for a successful business.

 

By further implementing these strategies and our reach, we can effectively convey the importance of proactive disinfection and inspire action among businesses and individuals to prioritize cleanliness and hygiene in commercial settings.

 

The Company is committed to further expanding its marketing, advertising, and educational campaigns aimed at its customer base and driving adoption of our SteraMist iHP product line across all our industries: Life Sciences, Hospital-Healthcare, TOMI Service Network, Food Safety, and Commercial. We will continue to innovate and develop tailored products to meet the specific needs of each, ensuring seamless implementation and optimal performance.  Our dedicated team of technicians and representatives will continue to provide comprehensive training, maintenance, and servicing of capital equipment worldwide, supporting customers in maximizing the benefits of our patented technology. Additionally, TOMI will continue to offer protocol development and implementation services for SteraMist iHP, recognizing its critical role in various settings, particularly in pandemic preparedness scenarios.

 

Competition

 

The environmental infectious disease control industry or disinfection, decontamination, and sanitization arena is intensely competitive and highly regulated. Competition is intense in all five of our divisions and includes many large and small competitors.

 

SteraMist iHP Provides a 99.9999% or six-log kill and above kill (i.e., the statistical destruction of all microorganisms and their spores) on all challenged pathogens, on multiple surfaces including Bacillus atrophaeus spores, Bacillus subtilis spores and Geobacillus stearothermophilus spores naked or dressed the last spore is considered a gold standard for validation of sterilization versus household/industrial cleaners that offer a 99.9% (sanitizing) or three-log kill to 99.99% (disinfection) or four-log kill. Thus, our SteraMist iHP surpasses many of the subpar products hastily launched in response to the COVID-19 pandemic. Unlike the reactive solutions, SteraMist iHP offers comprehensive protection against a wide range of pathogens, ensuring thorough and effective disinfection, decontamination, and sanitization in any environment.

 

SteraMist iHP offers a single consistent, repeatedly validated solution with various application choices. Per the EPA (see, EPA Reg. No. 90150-1), our technology has many competitive advantages including, but not limited to, the following:

 

Easy to use and easily incorporated into (current) cleaning procedures;

Fully validated to comply with Good Manufacturing Practice (“GMP”) Standards;

Product performance is supported by Good Laboratory Practice (“GLP”) efficacy data;

Ready-to-use (formula), (no mixing required);

Go (Goes) above, beyond, under and around disinfecting sprays and wipes;

Frequent (daily) use formula;

Mobile (portable) for rapid deployment throughout a facility;

Low operating and maintenance costs;

No Wipe, No Rinse;

Does not include silver ions or peracetic acid;

Does not contain particulate (heavy metals) (minerals) (dyes) (fragrances);

Leaves no residues (no wiping necessary);

Eliminates (Removes) odor causing bacteria;

Does not require adjustment to (modification of) (specific) room temperature or humidity before use (application);

Does not contaminate the environment with any toxic by-products;

Leaves environment with only oxygen and water (humidity).

 

In 2021, the onset of the COVID-19 pandemic saw the emergence of new competitors in the commercial industry offering electrostatic sprayers and biostatic protectants. However, unlike these fleeting trends, our commitment to long-term effectiveness with unparalleled efficacy, establishes our superiority in the market.

 

Our comparable competitors include companies that market other hydrogen peroxide-based products, such as Steris Corporation (“Steris”), Bioquell, Inc. (“Bioquell”) currently owned by Ecolab, Inc. (“Ecolab”), and The Clorox Company (“Clorox”), miscellaneous hydrogen peroxide products various ultraviolet companies and hundreds of quad ammonia-chemical companies. Some of these competitors may have longer operating histories, greater name recognition, larger installed customer bases and substantially greater financial and marketing resources than us.

 

 
9

Table of Contents

 

Ultimately, against all competitors and their products, TOMI SteraMist prevails when the following is prioritized by a facility and user:

 

Speed: SteraMist offers rapid turnaround times providing a near kill on contact to pathogens, resulting in faster re-entry and use to the treated area.

 

Comprehensive Coverage: SteraMist reaches every nook and cranny, ensuring thorough disinfection of all areas.

 

No Preconditions: SteraMist does not require preconditioning of the space before treatment, streamlining the entire process.

 

Equipment Safety: Our gentle process ensures sensitive electronics and equipment are safeguarded against corrosion.

 

Personnel Safety: SteraMist provides a safe environment for personnel, as it does not involve harsh chemicals or processes and per the EPA label requires minimal PPE for the user.

 

SteraMist iHP emerges as the superior choice when the facility and its users not only require a sterile environment but also must prioritize efficiency, thoroughness, and safety in their disinfection, decontamination, and sanitization requirements.

 

Finally, our exceptional support team further solidifies TOMI SteraMist’s competitive edge. With a dedicated and knowledgeable support team, we ensure that our customers receive unparalleled assistance and guidance. Our commitment to providing outstanding customer service enhances user satisfaction and strengthens loyalty to our brand. In the end, our supportive and attentive approach fosters trust and admiration among our customers.

 

SteraMist iHP Product and Services

 

The versatility of SteraMist iHP technology is evidenced by its diverse range of products, accommodating to both mobile and permanent integration needs. Handheld devices offer convenient application, with a quick full coverage spray of 5 seconds per square foot.  Meanwhile, our environment fogging devices are automated, scalable, and programmed for repeatable use.  Three SteraMist applicators achieve a thorough full room disinfection decontamination of a sealed space up to 103.8 m3 (3,663 ft3) in just under 45 minutes (application and dwell time). Individually, each remote applicator can be used to treat a space of approximately 34.6 m3 (1,221 ft3). Injection times are based on individual room size and number of applicators. This adaptability ensures effective and efficient disinfection solutions for various environments and applications.

 

 
10

Table of Contents

 

SteraPak

 

The all-in-one SteraPak places the SteraMist iHP technology onto the technicians back, delivering premium disinfection utilizing a rechargeable battery and cordless operation.  Our most affordable product line to date is comfortable to use, easy to operate, and has AC and DC power functionality ensuring compatibility in all countries.  The SteraPak is sold with a case of BIT Solution of eight 32-ounce bottles.

 

SteraMist Surface Unit

 

The SteraMist Surface Unit, the original all enclosed fully portable TOMI product is a handheld, point and spray disinfection decontamination unit intended to provide quick turnover of any affected space. The Surface Unit is sold with a case of BIT Solution of four-gallon bottles.

 

SteraMist Environment System

 

The SteraMist Environment System (“ENV”) is a transportable, remotely controlled system that provides complete room disinfection decontamination. Multiple systems can be used simultaneously to accommodate larger or multiple spaces with fast application and minimal down time. The system allows for both manual (point and spray) and/or fogging modes. Additional features include downloadable and printable cycle data in PDF format (lot # of BIT Solution, location identifier, injection/dwell/aeration times, and error notifications) and audit reporting. These features are required for many Life Science facilities. The ENV is sold with a case of BIT Solution of four-gallon bottles.

 

 
11

Table of Contents

 

The SteraMist Total Disinfection Cart

 

The Total Disinfection Cart was designed with input of public healthcare facilities EVS (Environmental Service) teams. The cart houses our Surface Unit, a portable H2O2 monitor, Carbon Air Scrubber, Respiratory Protection System with positive pressure air flow, storage hooks, and a sign notifying the room is being treated. Included with the Cart is a custom ICU 55-minute terminal cleaning protocol. The Surface Unit is sold with a case of BIT Solution of four-gallon bottles.

 

SteraMist Transport

 

The SteraMist Transport unit, an all-in-one dual voltage fogging product designed to treat a wide variety of vehicle sizes with an application time of only 20 minutes per 1,000 cubic feet. Additional features include remote start and cycle notification lights. The initial batch of this innovative product is currently in a soft launch phase and has been sold to long-term partners working with their customers for live practical assessment. The Transport is sold with a case of BIT Solution of eight 32-ounce bottles.

 

NV+

 

Our new NV+ cutting-edge solution tailored to meet the needs of smaller areas and budgets, while maintaining key advantages of SteraMist iHP fogging application. Encased in a stainless-steel cart, the NV+, like its counterpart ENV features precise dosage based on space volume, remote activation, audit reporting, and cleanroom compliance standards including GMP, cGMP, and GLP.  Different than the ENV, the NV+ boasts LED notification cycle alerts and operates with a telescopic rotating applicator, delivering a 36-minute injection time for spaces up to 1,800 cubic feet. Currently the NV+ is available for purchase, with its debut set for April 2024 at InterPhex, the Company’s premier tradeshow. Designed for efficiency and effectiveness, the NV+ offers a cost-effective solution for comprehensive fogging disinfection and decontamination in smaller spaces. The NV+ is sold with a case of BIT Solution of four-gallon bottles or a case of two 10-liter bottles.

 

SteraMist Custom Engineered System

 

The SteraMist Customer Engineered System (“CES”) permanent installation is perfect for any room that requires routine automated decontamination. The CES is an automated system that is installed and plumbed utilizing the facilities’ existing HVAC system. This involves permanently installing SteraMist applicators within the designated space to achieve maximum results and connecting the applicators to an enclosure in a central remote location within a facility. The entire system can be developed for multiple rooms and various specifications. The status of the decontamination cycle is monitored with indicators and can be integrated into a Supervisory Control and Data Acquisition (“SCADA”) monitoring board. The system is now available with a scale to measure the use of BIT Solution for a customer’s ease of reordering our consumable and comes in a variety of drum sizes.

 

Our long-term focus remains on ongoing projects and validations, which often lead to proposals and interest in our CES permanent decontamination room. These projects involve longer lead times, as they are custom designed, procured, assembled, and installed upon order, a process that can take months to complete. The utilization of BIT Solution typically occurs after the system has been commissioned, site accepted, validated, and performance qualified, which aligns with the customer’s readiness for production. However, this can sometimes result in delays in seeing an increase in BIT Solution usage, as it depends heavily on the customer’s production and manufacturing timelines, particularly in the pharmaceutical industry.

 

Despite these challenges, we anticipate that installations of our CES permanent decontamination rooms will have a positive material impact on our results in the upcoming year(s). As these projects progress and come to fruition, we expect to see increased utilization of our BIT Solution, contributing to our overall growth and success.

 

The CES eliminates issues such as human error, guarantees accuracy that is unmatched by competitors, and decreases a client’s labor cost and downtime. Since its launch, SteraMist’s CES has emerged as a leading solution meeting the increasing demands of customers. In 2023, we focused on expanding our network of contacts and partners to facilitate the adoption of SteraMist iHP CES and other products in the life sciences and other industries. We invested significant time engaging with construction companies, engineers, and design firms involved in facility construction to pave the way for the global expansion of our system(s). As these relationships continue to grow, we are confident that the groundwork laid in 2023 will soon yield tangible results, driving further adoption and utilization of SteraMist solutions worldwide.

 

 
12

Table of Contents

 

SteraMist Hybrid

 

The SteraMist Hybrid, a combination of innovation, seamlessly integrating our CES’s elegant permanently installed stainless-steel applicators with the generator of the ENV. The generator is strategically positioned in a centralized location of the facility through a docking station or hub. Central to its operation is the Hybrid connection hub, linking the applicators to the ENV and powering the automation of SteraMist iHP decontamination.

  

Compliant with cGMP, GMP, and ISO standards, the Hybrid is designed with specific self-programming capabilities. It supports four outputs and one analog input, tailored to receive signals from a H2O2 sensor.  Key outputs would include, shutdown air supply and exhaust, door positions or the disabling of or locking of doors, cycle status lights, fire alarm disabled, among others.

 

The SteraMist Hybrid offers a cutting-edge solution for customers seeking precise fogging control, permanent applicator placement for accelerated decontamination, and building communication capabilities—all within budgetary or time constraints that may not align with the CES option. This innovative system provides a cost-effective alternative while ensuring compliance with industry standards.

 

SteraMist Integrated System

 

The SteraMist Integrated System (“SIS”) lineup marks a significant advancement, following the SteraMist Select and SteraMist Plasma decontamination chamber products. We’ve consolidated the capabilities of these predecessors into three new offerings, providing versatile options to meet the diverse needs of our customers, both in terms of product functionality and accessibility.

 

The SIS-Stand Alone or SIS-SA, replacing the SteraMist Select, and the SIS-Pharm are now available for integrated enclosure decontamination. The SIS-SA will be stocked in inventory and showcased alongside our NV+ at InterPhex in April 2024. Conversely, the SIS-Pharm is made-to-order, delivering tailored solutions for specific customer requirements in enclosure decontamination, like our CES.  Both offerings are crafted to streamline products while catering to individual customer needs.

 

Furthermore, we’re collaborating with manufacturers of enclosure decontamination products to develop the SIS-MFG, formerly known as the Plasma decontamination chamber. Our custom generator enclosure is shipped unassembled for integration by Original Equipment Manufacturer or OEMs, providing the flexibility to mount and fully integrate iHP control panel components and applicators into OEM enclosure. This design ensures that the generator remains out of sight while providing customers an easier method of purchasing iHP as their decontamination solution in a turnkey product.

 

With our comprehensive lineup of SIS products, we’re committed to providing cutting-edge decontamination solutions tailored to the specific needs and preferences of our customers.

 

Stainless Steel 90 Degree Applicator

 

TOMI’s standard applicator sold with our original systems is redesigned and manufactured to a 90-degree 316 stainless steel applicator; the ideal applicator to accompany all the SIS product lines. This applicator is purchased with a flange for ease of installation either permanently or semi-permanently.

 

iHP Corporate Service Decontamination

 

TOMI offers full room, equipment, facility, and emergency disinfection and decontamination services by certified SteraMist technicians. Our goal is to give our customers a fully tailored service that provides quality control by reducing bioburden and eliminate the potential for costly microbial contamination in the Life Sciences and Food Safety industries. Single and routine services are provided to TOMI customers to coincide with maintenance, mandatory facility shutdowns, or to control a specific threat.  SteraMist technicians provide an efficient 4-step facility disinfection decontamination: site review, protocol generation, deployment and service, and post-treatment reporting.

 

 
13

Table of Contents

 

TOMI’s iHP service department continues to grow with new and existing customers in several divisions. In the life science sector, TOMI’s iHP service department has kept its relationships with large pharmaceuticals, such as Pfizer and ThermoFisher, as well as adding several smaller life science companies, like ForDoz, Scripps, and Lonza, to a regular decontamination schedule. The food safety department steadily gains traction as several plant/produce companies have expressed interest as new and emerging bacteria, toxins, and fungi hamper production.

 

TOMI’s iHP Service stands out as a source of revenue that consistently demonstrates either stability or growth.

 

Installation Qualification, Operational Qualification, and Performance Qualification

 

TOMI offers Installation Qualification, Operation Qualification, and Performance Qualification (together “IOQ/PQ”) services to ensure the proper functioning and validation of our decontamination systems. IOQ/PQ involves verifying that the system is installed correctly and operates as intended, meeting predetermined specifications and regulatory requirements. This service is at times requested for our mobile products, but certainly is in demand with the SIS and CES products.  Notably, all CES installations worldwide have undergone rigorous qualification processes to validate their performance. Initially, systems were provided by outsourced consultants with the assistances of certified TOMI personnel, but now TOMI offers an all-inclusive package directly, providing an additional source of revenue. In the latter half of 2024, we plan to expand this department, offering IOQ/PQ services to both current and prospective customers, further solidifying our commitment to delivering comprehensive solutions and exceptional service.

 

 
14

Table of Contents

 

INFORMATION WITH RESPECT TO OUR BUSINESS IN GENERAL

 

Manufacturing

 

We outsource the manufacturing and blending of our SteraMist® line of equipment and BIT Solution. Our SteraMist® equipment is manufactured by ISO9001 registered companies with multiple facilities in Pennsylvania, Delaware, New Jersey, North Carolina, California, and Australia.

 

Our solution is blended by an EPA approved blender; our blend includes one sole active ingredient, 7.8% Hydrogen Peroxide.

 

TOMI maintains ownership of all the SteraMist® product lines, including our BIT Solution. Neither our manufacturer nor chemical blender may make modifications to the manufacturing or blending of our products without our request or consent in written format. TOMI maintains all creative control throughout the design and manufacturing process, which includes research & development through final product fabrication.

 

Intellectual Property

 

Our success depends in part upon our ability to obtain and maintain proprietary protection for our products and technologies. We protect our technology and products by, among other means, obtaining United States and foreign patents. In addition, the process of obtaining and protecting patents can be long and expensive. We also rely upon trade secrets, technical know-how, and continuing technological innovation to develop and maintain our competitive position.

 

As part of our intellectual property protection strategy, we have registered our BIT™ solution with the EPA, all 50 states in the United States, and multiple countries worldwide. We have received or are in the process of receiving Conformité Européene (“CE”) marks in the European Economic Area (“EEA”) and are approved by Underwriters Laboratory (“UL”).

 

Our portfolio includes more than 25 Utility or Design Patents worldwide which expire at various dates through the year 2038 for both method and system claims on SteraMist® BIT™, as well as design of devices. We continue to pursue further claims to additional capabilities in on-going United States and worldwide patent applications. We have obtained three related United States utility patents, giving us protection of our technology until the year 2038. We have obtained utility patents for our technologies in diverse countries such as Brazil, Japan, Korea, Israel, Australia, Taiwan, Canada, Mexico, Europe, Singapore, New Zealand, and, currently pending, in the UK, and continue to pursue protections all over the world.

 

We have submitted utility patent applications in multiple countries, including Europe, China, Brazil, Korea and Australia for further additional applications of SteraMist BIT, and a related application has already been determined novel and inventive in Taiwan, Japan, Israel, New Zealand, Australia and Singapore. We have recently filed new patent pending applications on novel uses and enhancements of our technology in the United States. We have been awarded a design patent on our surface-mounted applicator device in the United States, China, Japan, Taiwan, and Korea. We have filed and have been granted or have pending acceptance on 32 separate design patents for our: Decontamination Chamber(s), Decontamination Applicator, Decontamination Cart, Applicator, and Surface Mounted Applicator 90-Degree Device. These patents are published around the world, including but not limited to United States, China, Hong Kong, Europe, United Kingdom, Singapore, Taiwan, Vietnam, Canada, South Korea, and Japan. We are also pursuing IP protection for further applications of our SteraMist BIT in diverse fields in multiple jurisdictions, such as food decontamination and, in installed systems for the application of iHP for the protection of buildings post outbreak or after a biological attack. With worldwide attention on the etiology of SARs CoV2 coming from a lab leak, attention on the prevention and control of a leak or mishap should be on the mind of all the biological labs managers around the world. The fact that iHP and our BIT platform can be incorporated in new or existing buildings to create an “immune building” should assist in further lab applications of SteraMist in the biosecurity industry in the future. Our current patents with claims to systems already serve to provide protection for our technology in this area and our on-going pending applications will further enhance the scope of our intellectual property.

 

Our products are sold around the world under various brand names and trademarks. We consider our brand names and trademarks to be valuable in the marketing of our products. As of today, we have over two hundred trademarks or trademark applications, (word and/or logo) registered or pending across the globe. TOMI registers marks in eight classes of specification of goods and services: Class 1 for Chemicals for Treating Hazardous Waste, Class 5 for Disinfectants, All-Purpose for Hard Surfaces and for Treating Mold, Class 7 for Handheld Power Operated Spraying Machines, Class 11 for Sterilizers for Medical Use and Air Purification, Class 35 for Business Consultation and Management Services, Class 37 for General Disinfecting Services, Class 40 for Chemical Decontamination and Manufacturing Services, and Class 41 for Providing Education Training and information related to biological and bacterial decontamination services. Recently, we have expanded our trademark protection into India.

 

 
15

Table of Contents

 

Marketing and Distribution

 

Through our brand awareness, marketing, social media presence and sales, our business growth objective is to be the global leader in disinfection and decontamination products sales, services, and manufacturing. We intend to continue to expand and support research and development on other decontamination and remediation solutions and to form more business alliances with strategic partners.

 

We continue to perform decontamination services within cleanrooms, bio-safety labs including BSL-3 and BSL-4 labs, tissue and blood labs, pharmaceutical labs, vivariums and research universities and we continue to secure additional license agreements with major remediation, construction, forensic clean-up and bio-safety servicing companies. Both of these strategies assist in the brand awareness and use of our suite of products.

 

We sell our products domestically and internationally through our internal sales force, as well as independent sales and manufacturing representatives. Internationally, our products are sold through exclusive and non-exclusive sales representatives and distributors. During 2023, we focused on expanding our network of distributors and sale representative and business development initiatives. We brought on and onboarded 9 distributors and 11 sales representatives, which has expanded our presence domestically and on an international basis.

 

Research & Development

 

Our research and development efforts focus on improving, extending and applying our proprietary technology in the field of mechanical cleaning and decontamination. Research and development expenses for the years ended December 31, 2023 and 2022, were approximately $492,000 and $352,000, respectively.

 

Government Regulation

 

Our business is subject to various degrees of governmental regulation in the countries in which we operate. In the United States, the EPA, the FDA and other governmental authorities regulate the development, manufacture, sale, and distribution of our products and services. Our international operations also are subject to a significant amount of government regulation, including country-specific rules and regulations and U.S. regulations applicable to our international operations. Government regulations include detailed inspection of, and controls over, research and development, product approvals and manufacturing, marketing and promotion, sampling, distribution, record-keeping, storage, and disposal practices. Our low percentage of hydrogen peroxide serves as a competitive advantage with respect to transporting our product by air. Our major hydrogen peroxide competitors have to transport their chemicals by rail, road or sea as the Department of Transportation (DOT) will not allow a product that contains greater than 8% hydrogen peroxide to be transported by air. SteraMist with 7.8% Hydrogen peroxide is not subject to stringent government regulations that usually apply to the transporting chemicals We believe that we are currently compliant in all material respects with applicable regulatory requirements. To date, every registration for our technology we have applied for has been accepted.

 

Employees

 

As of March 7, 2024, we have 26 full-time executive, operational and administrative employees working within the United States. Most of our sales are conducted by global exclusive distribution agreements or domestically by our internal sales team or independent manufacturing representatives.

 

Available Information

 

We make available free of charge on or through our corporate website, https://tomimist.com/, our Annual Report on Form 10-K, Quarterly Reports on Form 10-Q, Current Reports on Form 8-K, proxy statements, and all amendments to those filings as soon as reasonably practicable after such material is electronically filed with, or furnished to, the Securities and Exchange Commission (“SEC”). Information contained on our website is not incorporated by reference unless specifically stated therein.

 

 
16

Table of Contents

 

In addition, the SEC maintains a website that contains reports, proxy statements, and other information about issuers, such as TOMI, who file electronically with the SEC. The address of the website is www.sec.gov.

 

Item 1A.  RISK FACTORS.

 

Our business routinely encounters and attempts to address risks, some of which will cause our future results to differ, sometimes materially, from those originally anticipated. Below, we have described our present view of certain important risks. The risk factors set forth below are not the only risks that we may face or that could adversely affect us. If any of the risks discussed in this Annual Report on Form 10-K actually occur, our business, financial condition and results of operations could be materially adversely affected. If this were to occur, the trading price of our securities could decline significantly. In assessing these risks, investors should also refer to the other information contained or incorporated by reference in our other filings with the SEC.

 

Risk Related to Our Company and Business

 

We have a history of losses and may not be able to achieve profitability in the future.

 

We generated a net loss of approximately $3.4 and $2.9 million for the years ended December 31, 2023 and 2022, respectively.  We also had an accumulated deficit of $49.8 million as of December 31, 2023.  Prior to 2020, we had not generated any profit from our business operations.  While we experienced an increase of our revenue and net income in 2020, primarily due to a significant increase of demand for our products as protective measures against the spread of the COVID-19 disease during the pandemic, such demand subsided in 2021 as the pandemic gradually came under control, which caused us to incur a net loss in 2021 and such trend has continued. In addition, we have been considering increasing our headcount and expenses to support our continued product development and planned growth, and if demand for our products declines and we are unable to sustain our recent increases in our net income, we may not be able to sustain profitability.

 

COVID-19 has adversely affected, and any resurgence of COVID-19 pandemic or another global health epidemic may in the future, directly or indirectly, adversely affect our business, results of operations and financial condition.

 

 COVID-19 has had a significant impact globally, prompting governments and businesses to take unprecedented measures in response. In the United States, COVID-19 has and may continue in the future to, directly or indirectly, adversely affect our business, results of operations and financial condition.

 

In the future, our business could be materially adversely affected, directly or indirectly, by the widespread outbreak of contagious disease. If national, state and local governments in affected regions implement safety precautions, similar to those implemented in response to COVID-19, including quarantines, border closures, increased border controls, travel restrictions, governmental orders and shutdowns, business closures, cancellations of public gatherings and other measures, such precautions could, and for COVID-19 did, disrupt normal business operations both in and outside of affected areas and could have significant negative impacts on businesses and financial markets worldwide.

 

The impact of COVID-19 has had, and any resurgence of the COVID-19 pandemic or another pandemic or public health crisis, could in the future have, significant repercussions across regional, national and global economies and financial markets, and could trigger a period of regional, national and global economic slowdown or regional, national or global recessions. The outbreak of COVID-19 in many countries adversely impacted regional, national and global economic activity and has continued to contribute to significant volatility and negative pressure in financial markets. As a result, our customers may terminate or amend their agreements for the purchase of our products and services due to bankruptcy, lack of liquidity, lack of funding, operational failures or other reasons.

 

 
17

Table of Contents

 

Our SteraMist® family of products currently accounts for the majority of our revenue, and our success is almost completely dependent on the success of our SteraMist® brand.

 

Our SteraMist® family of products is currently our primary product offering, and we are completely dependent on its success. Successfully commercializing products such as ours is a complex and uncertain process. Our commercialization efforts will depend on the efforts of our management and sales team, our third-party manufacturers and suppliers and general economic conditions, among other factors, including the following:

 

 

the effectiveness of our marketing and sales efforts in the United States and internationally;

 

our third-party manufacturers and suppliers’ ability to manufacture and supply the components of our SteraMist® products in a timely manner, in accordance with our specifications, and in compliance with applicable regulatory requirements, and to remain in good standing with regulatory agencies;

 

the availability, perceived advantages, relative cost, relative safety, and relative efficacy of alternative and competing disinfection products;

 

our ability to obtain, maintain, and enforce our intellectual property rights in and to our SteraMist® products;

 

the emergence of competing technologies and other adverse market developments, and our need to enhance our SteraMist® products and/or develop new products to maintain market share in response to such competing technologies or market developments;

 

our ability to raise additional capital on acceptable terms, or at all, if needed to support the commercialization of our SteraMist® products; and

 

our ability to achieve and maintain compliance with all regulatory requirements applicable to our SteraMist® products.

 

We have hired and trained additional sales personnel. Despite this growth in sales personnel, we expect that our additional sales force will require lead time in the field to grow their network of accounts and achieve the productivity levels we expect them to reach in any individual vertical and or territory. Furthermore, the use of our products will often require or benefit from direct support from us. If our sales representatives do not achieve the productivity levels, we expect them to reach, our revenue will not grow at the rate we expect, and our financial performance will suffer.

 

We do not have long-term customer contracts, and our sales history or backlog cannot be relied upon as an indicator of our future sales.

 

We do not have long-term contracts with any of our customers, and our sales history or backlog cannot be relied upon as a future indicator of our revenues. Our contracts and purchase commitments with customers may be canceled under certain circumstances. As a result, we are exposed to competitive price pressures on every order, and our agreements with customers do not provide assurance of future sales. Our customers are not required to make minimum purchases and may cease purchasing our products at any time without penalty. As such, our unfilled orders and previously completed sales should not be relied on as a measure of anticipated demand or future revenue.

 

Our agreements with restoration industry specialists are not exclusive, which may allow for our competitors to sell their products and services to such specialists.

 

Our agreements with restoration industry specialists under our TOMI Service Network program, which allows certain restoration specialists to use and sell our products, are not exclusive. This lack of exclusivity allows our competitors to sell products to the same restoration specialists, which could reduce our sales if our competitors’ products are used in lieu of our products. Additionally, the use of our and our competitors’ products by a restoration specialist may create market confusion between our products and the products of our competitors, which may adversely affect our brand reputation and business.

 

Our success depends upon broad market acceptance of our technology that has not yet been achieved in the Hospital-Healthcare market.

 

Our BIT technology as a Hospital-Healthcare disinfectant is relatively new, having received full Hospital registration for Clostridium difficile spores from the EPA in mid-2017. Our sales are dependent upon broad market acceptance of our technology that replaces long-standing failing manual cleaning techniques such as quaternary ammonium compounds and bleach for disinfection, with our no-touch mechanical process. The failure to obtain broad market acceptance inevitably leads to substantially increased lead times for sales until our prospective customers, particularly in the Hospital-Healthcare market, are accustomed to the use of newer mechanical technology. The inability to timely meet our sales goals could adversely affect our financial condition and results of operations.

 

 
18

Table of Contents

 

We are subject to a variety of risks associated with doing business internationally.

 

We maintain significant international operations, including operations in the U.S., Canada, Mexico, Europe, Asia Pacific and Latin America. As a result, we are subject to a number of risks and complications associated with international manufacturing, sales, services, and other operations. These include: risks associated with currency exchange rate fluctuations; requirements or preferences for domestic products or solutions, which could reduce demand for our products; difficulties in enforcing agreements and collecting receivables through some foreign legal systems; unexpected legal or regulatory changes; enhanced credit risks in certain countries and emerging market regions; significant variations in tax rates among the countries in which we do business, and tax withholding obligations in respect of our earnings; exchange controls or other trade restrictions including, constraints on our supply chain and the industries in which we operate; customs clearance and shipping delays; general economic and political conditions in countries where we operate or where end users of our products are situated; natural disasters, political and economic instability, including wars, terrorism and political unrest, outbreak of disease, travel, social distancing and quarantine policies, boycotts, curtailment of trade, and other business restrictions affecting our ability to manufacture or sell our products; difficulties associated with managing a large organization spread throughout various countries; difficulties in enforcing intellectual property rights or weaker intellectual property right protections in some countries; and difficulties associated with compliance with a variety of laws and regulations governing international trade.

 

In late February 2022, Russia launched a large-scale military attack on Ukraine, amplifying already existing geopolitical tensions among Russia, Ukraine, Europe, NATO and the West, including the United States, and resulting in global sanctions against Russia by various countries, including the United States, the United Kingdom, and European Union. In addition, the Israel-Hamas War and wider Middle East geopolitical developments may negatively impact regional and global economic markets (including Europe and the United States), companies in other countries (particularly those that have done business with Russia, Ukraine, or Israel) and on various sectors, industries and markets for securities and commodities globally. Accordingly, the actions discussed above and the potential for a wider conflict could increase financial market volatility, cause severe negative effects on regional and global economic markets, industries, and companies and have a negative effect on the Company’s performance.  The extent and duration of these military actions or future escalation of such hostilities, the extent and impact of existing and future sanctions, market disruptions and volatility, and the result of any diplomatic negotiations cannot be predicted. These and any related events could have a significant impact on the Company’s performance.

 

If our procedures to ensure compliance with export control laws are ineffective, our business could be harmed.

 

Our sales to foreign entities are subject to far reaching and complex export control laws and regulations in the United States and elsewhere. Violations of those laws and regulations could have material negative consequences for us including large fines, criminal sanctions, prohibitions on participating in certain transactions and government contracts, sanctions on other companies if they continue to do business with us and adverse publicity.

 

Failure to comply with the U.S. Foreign Corrupt Practices Act (“FCPA”), and similar laws associated with our activities outside of the United States could subject us to penalties and other adverse consequences.

 

Failure to comply with the FCPA, and similar laws associated with our activities outside of the United States could subject us to penalties and other adverse consequences. We face significant risks if we fail to comply with the FCPA and other anti-corruption laws that prohibit improper payments or offers of payment to foreign governments and political parties for the purpose of obtaining or retaining business. In many foreign countries, particularly in countries with developing economies, it may be a local custom that businesses operating in such countries engage in business practices that are prohibited by the FCPA or other applicable laws and regulations. Any violation of the FCPA or other applicable anti-corruption laws could result in severe criminal or civil sanctions and, in the case of the FCPA, suspension or debarment from U.S. government contracting, which could have a material and adverse effect on our reputation, businesses, financial conditions, operating results and cash flows.

 

Our operations are subject to environmental laws and regulations that may increase costs of operations and impact or limit our business plans.

 

We are subject to environmental laws and regulations affecting many aspects of our present and potential future operations, including a wide variety of EPA labeling and other state regulatory agency requirements. For example, under the Federal Insecticide, Fungicide, and Rodenticide Act, we are required to register with the EPA and certain state regulatory authorities as a seller of disinfectants, and we are subject to EPA labeling requirements for each use that SteraMist® is intended to address. Compliance with these laws and regulations may result in increased costs and delays as a result of administrative proceedings and certain reporting obligations. Public officials and entities may seek injunctive relief or other remedies to enforce applicable environmental laws and regulations. If we are found to not have complied with these laws and are unable to sell out products, our business and financial results will be negatively impacted.

 

 
19

Table of Contents

 

Our reliance upon third-party contractors, suppliers and manufacturers for the manufacture of our products increases the risk that we will not have sufficient quantities of our products or such quantities at an acceptable cost and reduces our control over the manufacturing process.

 

We rely upon third parties to supply us with our products. We outsource the manufacturing of our SteraMist® line of equipment to two manufacturing companies and use contract manufacturers to build our BIT-based systems, as we do not maintain our own manufacturing facilities. If we fail to maintain relationships with our current suppliers, we may not be able to effectively commercialize and market our products, due to risks including increased product costs, limited inventory that is not capable of meeting demand and the possible misappropriation of our proprietary information, such as our trade secrets and know-how. Further, as we maintain a limited number of manufacturers for our SteraMist® line of equipment and blenders for our SteraMist® solutions, alternative production facilities may not be available in the event of a disruption, or if alternative production facilities are available, the number of third-party suppliers with the necessary manufacturing and regulatory expertise to produce our products at their current quality level is limited, and it could be expensive and take a significant amount of time to arrange for and qualify alternative suppliers, which could have a material adverse effect on our business. Additionally, supply chain disruptions and access to materials have impacted our suppliers’ ability to deliver products to us in a timely manner.

 

Because of our reliance upon third parties to supply us with our products, we do not have control over the manufacturing process of our third-party suppliers and are dependent on such third-party suppliers for compliance with the regulations applicable to our products. Third-party suppliers may not be able, or fail, to comply with applicable regulatory requirements, which could result in sanctions being imposed on us, including fines, injunctions, civil penalties, delays, suspension or withdrawal of approvals, seizures or recalls, operating restrictions and criminal prosecutions, any of which could significantly and adversely harm our business and results of operations.

 

Our results of operations could be materially harmed if we are unable to accurately forecast customer demand for our products and manage our inventory.

 

To ensure adequate inventory supply, we must forecast inventory needs and place orders with suppliers based on our estimates of future demand for our products and services. Our limited historical experience in foreign markets and recent increase in demand in the United States may lead us to inadequately forecast such inventory needs. Further, our ability to accurately forecast demand for our products could be negatively affected by many factors, including our failure to adequately manage our expansion efforts, product introductions by competitors, an increase or decrease in customer demand for products of our competitors, our failure to accurately forecast customer acceptance of new product enhancements, unanticipated changes in general market conditions or regulatory matters, and weakening of economic conditions or consumer confidence in future economic conditions.  In addition, our demand may be affected by macro-economic factors beyond our control, including the COVID-19 pandemic, which can cause sudden and substantial increase or decrease of demand on short notice, making it more difficult to us to obtain accurate forecasts of customer demand.

 

Inventory levels in excess of customer demand may result in inventory write-downs or write-offs, which would cause our gross margin to be adversely affected and could impair the strength of our brand. Similarly, a portion of our inventory could become obsolete or expire, which could have a material and adverse effect on our earnings and cash flows due to the resulting costs associated with inventory impairment charges and costs required to replace obsolete inventory. Any of these occurrences could negatively impact our financial performance.

 

Conversely, if we underestimate customer demand, we may not be able to deliver sufficient products to meet our customers’ requirements, which could result in damage to our reputation and customer relationships. In addition, if we experience a significant increase in demand, additional supplies of raw materials or additional manufacturing capacity may not be available when required on terms that are acceptable to us, or at all, and suppliers or our third-party manufacturers may not be able to allocate sufficient resources to meet our increased requirements, which could have an adverse effect on our ability to meet customer demand for our products and our results of operations.

 

 
20

Table of Contents

 

Our success depends on our ability to adequately protect our intellectual property.

 

Our commercial success depends, in part, on our ability to obtain, maintain, defend, file new or enforce our existing patents, trademarks, trade secrets and other intellectual property rights covering our technologies and products throughout the world. We may, however, be unable to adequately preserve such rights due to a number of reasons, including the following:

 

 

·

our rights could be invalidated, circumvented, challenged, breached or infringed upon;

 

·

we may not have sufficient resources to adequately prosecute or protect our intellectual property rights;

 

·

upon expiration of our patents, certain of our key technology may become widely available; or

 

·

third parties may be able to develop or obtain patents for similar or competing technology.

 

Although we devote resources to the establishment and protection of our patents and trademarks, the actions we have taken or will take in the future may not be adequate to prevent violation of our patents, trademarks and proprietary rights by others or prevent others from seeking to block sales of our products as an alleged violation of their patents, trademarks and proprietary rights. In the future, litigation may be necessary to enforce our trademarks or proprietary rights and we may be forced to defend ourselves against claimed infringement or the rights of others. Any such litigation could result in adverse determinations that could have a material adverse effect on our business, financial condition or results of operations.

 

In addition, we rely in part upon unpatented trade secrets, unpatented know-how, and continuing technological innovation which may not yet, or may never be, patented, to develop and maintain our competitive position, which we seek to protect, in part, by confidentiality agreements with our employees, third party manufacturers, and consultants. We also have agreements with our employees and consultants that obligate them to assign their inventions to us. It is possible that technology relevant to our business will be independently developed by a person that is not a party to such an agreement. In addition, if the employees and consultants who are parties to these agreements breach or violate the terms of these agreements, we may not have adequate remedies for any such breach or violation, and we could lose our trade secrets through such breaches or violations. To the extent that our commercial partners, collaborators, employees and consultants use intellectual property owned by others in their work for us, disputes may arise as to the rights in related or resulting know-how and inventions. Further, our trade secrets could otherwise become known or be independently discovered by our competitors, which would harm our business.

 

The risk of loss of the Company’s intellectual property, trade secrets or other sensitive business information or disruption of operations could negatively impact the Company’s financial results.

 

The Company has sensitive information, including intellectual property, trade secrets, and other sensitive, business critical information as well as on-premises and cloud-based business applications critical to conducting business. In addition, our research and development facility uses modern computer systems.  Cyber-incidents affecting the Company, its supply chain or customers could compromise confidential, business critical information, cause a disruption in the Company’s operations, harm the Company’s reputation, or endanger the environment if the Company, its suppliers or customers do not effectively prevent, detect and recover from these or other security breaches. While the Company has not encountered cyber security challenges that have materially impaired our operations or financial condition it may be the target of cyber security related incidents.

 

Although management believes the Company has not experienced any cyber security related incident or losses to date related to these cyber security incidents, there can be no assurance that such losses will not be suffered in the future. The Company seeks to actively manage the risks within its control that could lead to business disruptions and cyber security incidents through a comprehensive cyber security program. As cyber security threats present themselves, the Company may be required to expend significant resources to enhance its control environment, processes, practices, and other protective measures. Despite these efforts, such events could have a material adverse effect on the Company’s business, results of operations, financial condition and cash flows. 

 

We may be unable to enforce our intellectual property rights throughout the world.

 

As part of our growth strategy, we are continuing to expand our operations internationally. The laws of some foreign countries do not protect intellectual property rights to the same extent as the laws of the United States. Companies have encountered significant problems in protecting and defending intellectual property rights in certain foreign jurisdictions. To the extent that we have obtained or are able to obtain patents, trademarks or other intellectual property rights in any foreign jurisdictions, it may be difficult to stop the infringement of our patents, trademarks or the misappropriation of other intellectual property rights. For example, some foreign countries have compulsory licensing laws under which a patent owner must grant licenses to third parties. In addition, some countries limit the availability of certain types of patent rights and enforceability of patents against third parties, including government agencies or government contractors. In these countries, patents may provide only limited benefit or no benefit.

 

 
21

Table of Contents

 

Proceedings to enforce our patent rights in foreign jurisdictions could result in substantial costs and divert our efforts and attention from other aspects of our business. Accordingly, efforts to protect our intellectual property rights in such countries may be inadequate. In addition, future changes in the law and legal decisions by courts in the United States and foreign countries may affect our ability to obtain adequate protection for our technology and products and the enforcement of intellectual property.

 

We face significant competition in our industry, some of which have longer operating histories, more established products or greater resources than we have currently.

 

The decontamination and environmental infectious disease control industry is extremely competitive. The competition includes remediators and disinfection/decontamination companies such as Steris, Bioquell (Eco-lab) and Clorox, various miscellaneous hydrogen peroxide companies, ultraviolet companies and hundreds of quad ammonia-chemical companies. These competitors may have longer operating histories, greater name recognition, larger installed customer bases, a greater ability to provide similar products and services at a lower cost and substantially greater financial and marketing resources than us to develop new products and commercialize existing products. We believe that the principal factors affecting competition in our markets include name recognition, customer familiarity with products, effective marketing, competitive pricing strategies and the ability to receive referrals based on client confidence in the service. There are no significant barriers of entry that could keep potential competitors from opening similar facilities. Our ability to compete successfully in the industry will depend, in large part, upon our ability to market and sell our indoor decontamination and infectious disease control products and services. We may not be able to compete successfully in the remediation industry. Further, if one or more competitors successfully develops a decontamination product that is more effective, better tolerated, results in a better customer experience, is easier to use or otherwise more attractive than our products, our ability to continue to commercialize our products could be significantly and adversely affected due to a lack of ability to compete, which would have a material adverse effect on our business, financial condition and results of operations.

 

If the quality of our products do not meet the expectations of our customers, then our brand and reputation or our business could be adversely affected.

 

In the course of conducting our business, we must adequately address quality issues that may arise with our products, including defects in third-party components and inventory. We may not be able to eliminate or mitigate occurrences of these issues and associated liabilities. In addition, even in the absence of quality issues, we may be subject to claims and liability if the performance of products do not meet the expectations of our customers. If the quality of our products does not meet the expectations of customers, then our brand and reputation, and our ability to receive referral customer business, could be adversely affected.

 

Our long-term growth depends, in part, on our ability to enhance, develop, market and sell new products, and if we fail to do so we may be unable to compete effectively.

 

It is important to our business and our long-term growth that we continue to enhance and develop new products. We intend to continue to invest in research and development activities focused on improvements and enhancements to our existing intellectual property and product offerings. Our development goals include the development and commercialization of a variety of sanitizing robotic devices and backpack units. Despite our reasonable efforts, it may not be possible for us to innovate in a way to keep us competitive with other companies due to financial and time constraints which will negatively impact our business.

 

The development and initial production and enhancement of the decontamination systems we produce is often accompanied by design and production delays and related costs. If we are unable to introduce new products on our anticipated timeframe or financial cost, our business, financial condition and results of operations may suffer due to failing to remain competitive in our market.

 

 
22

Table of Contents

 

We have a limited management team size which may reduce our ability to effectively manage our business operations as it grows.

 

Despite our current hiring efforts for non-management employees and redefining of job descriptions, we have a limited management team size. This limited management team may reduce our ability to effectively manage our business as it grows or respond to significant demand from customers. As we expand, we expect to increase the size of our management team. However, our management team may not be able to adequately manage our business, and any failure to do so could lead to a general negative impact to our business.

 

We are dependent on our key personnel, the loss of whom could adversely affect our operations, and if we fail to attract and retain the talent required for our business, we could be materially harmed.

 

Our success is substantially dependent on the performance of our executive officers, including our Chairman and Chief Executive Officer, Dr. Halden S. Shane, the loss of whom would have a material adverse effect on our business.

 

We depend to a significant degree on our ability to attract, retain and motivate quality personnel. We further note that competition for highly skilled personnel is often intense. Moreover, our new sales representatives require a lengthy training process to achieve the requisite level of competency with our products.  We may not be successful in attracting, integrating or retaining qualified personnel to fulfill our current or future needs, the failure of which would have a material adverse effect on our business.

 

Our operations, and those of our suppliers, are subject to a variety of business continuity hazards and risks, any of which could interrupt production or operations or otherwise adversely affect our performance and results.

 

We are subject to business continuity hazards and other risks, including natural disasters, utility and other mechanical failures, labor difficulties, inability to obtain necessary licenses, permits or registrations, disruption of communications, data security and preservation, disruption of supply or distribution, safety regulation and labor difficulties. The occurrence of any of these or other events might disrupt or shut down operations, or otherwise adversely impact the production or profitability of a particular facility, or our operations as a whole. We may also be subject to certain liability claims in the event of an injury or loss of life, or damage to property and equipment, resulting from such events. Although we maintain property and casualty insurance, as well as other forms of insurance that we believe are customary for our industries, our insurance policies include limits and, as such, our coverage may be insufficient to protect against all potential hazards and risks incident to our business. Should any such hazards or risks occur, or should our insurance coverage be inadequate or unavailable, our business, prospects, financial condition and results of operations might be adversely affected.

 

Our products are subject to potential product liability claims which, if successful, could have a material adverse effect on our business, financial condition and results of operations.

 

We are exposed to significant risks for product liability claims if death, personal injury or property damage results from the use of our products. While we currently maintain insurance against product liability claims, we may experience material product liability losses in the future. Our insurance coverage may not continue to be available on terms that we accept, if at all, and our insurance coverage also may not adequately cover liabilities that we incur. A successful claim against us that exceeds our insurance coverage level or that is not covered by insurance, or any product recall, could have a material adverse effect on our business, financial condition and results of operations. In addition, product liability and other claims can divert the attention of management and other personnel for significant periods of time, regardless of the ultimate outcome. Further, claims of this nature may cause our customers to lose confidence in our products and us. As a result, an unsuccessful defense of a product liability or other claim could have a material adverse effect on our financial condition, results of operations and cash flows.

  

The misuse of our products may harm our reputation in the marketplace, result in injuries that lead to product liability suits or result in costly investigations, fines or sanctions by regulatory bodies if we are deemed to have engaged in the promotion of these uses, any of which could be costly to our business.

 

Customers, technicians, or service providers could use our products in a manner that is inconsistent with the products’ intended use. We train our marketing personnel and sales representatives to not promote our products for uses outside of the intended use, however, we cannot otherwise prevent all instances of misuse. Further, the marketing and sales representatives that we have hired to help meet the demand for our products may not have received proper training or have the working knowledge needed to adequately advise our customers how to safely use our products. Misuse of our products may cause an increased risk of injury to customers, which could harm our reputation in the marketplace, as well as lead to potential product liability lawsuits.

 

 
23

Table of Contents

 

We may seek to grow our business through acquisitions of complementary products or technologies, and the failure to manage acquisitions, or the failure to integrate them with our existing business, could harm our business, financial condition and operating results.

 

From time to time, we may consider opportunities to acquire other companies, products or technologies that may enhance our product platform or technology, expand the breadth of our markets or customer base, or advance our business strategies. Potential acquisitions involve numerous risks, including: problems assimilating the acquired products or technologies; issues maintaining uniform standards, procedures, controls and policies; unanticipated costs associated with acquisitions; diversion of management’s attention from our existing business; risks associated with entering new markets in which we have limited or no experience; increased legal and accounting costs relating to the acquisitions or compliance with regulatory matters; and unanticipated or undisclosed liabilities of any target.

 

We have no current commitments with respect to any acquisition. We do not know if we will be able to identify acquisitions, we deem suitable, whether we will be able to successfully complete any such acquisitions on favorable terms or at all, or whether we will be able to successfully integrate any acquired products or technologies. Our potential inability to integrate any acquired products or technologies effectively may adversely affect our business, operating results and financial condition.

 

The requirements of being a public company may strain our resources, divert management’s attention and affect our ability to attract and retain executive management and qualified board members.

 

We have and likely will continue to incur significant legal, accounting and other expenses as a public company subject to the reporting requirements of the Securities Exchange Act of 1934, the Sarbanes-Oxley Act of 2002 (“SOX”), the Dodd–Frank Wall Street Reform and Consumer Protection Act and other applicable rules and regulations. Our management and other personnel devote a substantial amount of time to these compliance initiatives. Moreover, these rules and regulations have increased our legal and financial compliance costs and will make some activities more time-consuming and costly. For example, applicable rules and regulations could make it more difficult for us to attract and retain qualified persons to serve on our board of directors (the “Board), or as executive officers.

 

In addition, SOX requires, among other things, that we maintain effective internal control over financial reporting and disclosure controls and procedures. Our testing, or the potential subsequent testing by our independent registered public accounting firm in future periods, may reveal deficiencies in our internal control over financial reporting that are deemed to be material weaknesses. Our compliance with Section 404 of SOX may require that we incur substantial expense and expend significant management time on compliance-related issues. Moreover, if our independent registered public accounting firm identifies deficiencies in our internal control over financial reporting that are deemed to be material weaknesses, the market price of our stock could decline, and we could be subject to sanctions or investigations by regulatory authorities, which would require additional financial and management resources.

 

As a result of disclosure of information, our business and financial condition are more visible, which we believe may result in threatened or actual litigation, including by competitors and other third parties. If such claims are successful, our business and operating results could be adversely affected. Even if the claims do not result in litigation or are resolved in our favor, these claims, and the time and resources necessary to resolve them, could divert the resources of our management and adversely affect our business and operating results.

 

Risk Related to Our Securities

 

Our stock price is volatile and there is a limited market for our shares.

 

The stock markets generally have experienced, and will probably continue to experience, extreme price and volume fluctuations that have affected the market price of the shares of many small-cap companies. Factors that may affect the volatility of our stock price include the following:

 

 

·

anticipated or actual fluctuations in our quarterly or annual operating results;

 

·

our success, or lack of success, in developing and marketing our products and services;

 

·

changes in general economic, political and market conditions in or any of the regions in which we conduct our business;

 

·

changes in financial estimates by us or of securities or industry analysts;

 

 
24

Table of Contents

 

 

·

the issuance of new or updated research reports by securities or industry analysts;

 

·

the announcement of new products, services, or technological innovations by us or our competitors;

 

·

the announcement of new customers, partners or suppliers;

 

·

the ability to collect our outstanding accounts receivable;

 

·

changes in our executive leadership;

 

·

regulatory developments in our industry affecting us, our customers or our competitors;

 

·

competition;

 

·

actual or purported “short squeeze” trading activity; and

 

·

the sale or attempted sale of a large amount of common stock, including sales of common stock following exercises of outstanding warrants.

 

We do not intend to pay dividends for the foreseeable future.

 

We have not paid dividends on our common stock since inception. The continued operation and expansion of our business will require substantial funding. Accordingly, we currently intend to retain earnings, if any, for use in the business and we do not anticipate that we will pay any cash dividends on shares of our common stock for the foreseeable future. Any determination to pay dividends in the future will be at the discretion of our Board and will depend upon results of operations, financial condition, contractual restrictions, restrictions imposed by applicable law and other factors our Board deems relevant. Investors seeking cash dividends should not purchase our common stock. Accordingly, realization of a gain on your investment will depend on the appreciation of the price of our common stock, which may never occur.

 

We have a substantial number of options, warrants, convertible notes and convertible preferred stock outstanding, which could give rise to additional issuances of our common stock and potential dilution of ownership to existing shareholders.

 

As of December 31, 2023, we had outstanding convertible note, options, warrants and convertible preferred stock to purchase approximately an aggregate of 5.5 million shares of our common stock at exercise prices ranging from $0.80 to $6.95 per share. Of these, approximately 2,100,000 represent shares underlying convertible notes with an exercise price of $1.25, approximately 618,000 represent shares underlying options with exercise prices ranging from $0.80 to $7.06 per share, approximately 2.8 million represent shares underlying warrants at exercise prices ranging from $0.64 to $6.95 per share and approximately 63,750 represent shares underlying our shares of convertible $0.01 Series A preferred stock. To the extent any holders of options, warrants or convertible preferred stock exercise the same, the issuance of shares of our common stock upon such exercise will result in dilution of ownership to existing shareholders.

 

The trading market for our common stock will rely in part on the research and reports that securities or industry analysts publish about us and our business. If one or more of the analysts who cover us downgrades our common stock or issues other unfavorable commentary or research the price of our common stock may decline. If one or more analysts ceases coverage of our company or fails to publish reports on us regularly, demand for our stock could decrease, which in turn could cause the trading price or trading volume of our common stock to decline and could result in the loss of all or part of your investment in us.

 

Substantial future sales of our common stock, or the perception in the public markets that these sales may occur, may depress our stock price.

 

Our common stock is traded on the NASDAQ Capital Market (“Nasdaq”) and, despite certain increases of trading volume from time to time, there have been periods when our common stock could be considered thinly traded, meaning that the number of persons interested in purchasing our common stock at or near bid prices at any given time may be relatively small. Equity or equity-related financing transactions that result in a large amount of newly issued shares that become readily tradable, or sales of significant numbers of shares by current shareholders, have placed, and in the future could place, downward pressure on the trading price of our stock. In addition, during times of lower trading volume, a shareholder who desires to sell a large number of shares of common stock may need to sell the shares in increments over time to mitigate any adverse impact of the sales on the market price of our stock.

 

If our shareholders sell, or the market perceives that our shareholders intend to sell, substantial amounts of our common stock in the public market, the market price of our common stock could fall. Sales of a substantial number of shares of our common stock may make it more difficult for us to sell equity or equity-related securities in the future at a time and price that we deem reasonable or appropriate. In the event that the price of our stock falls, we may become involved in securities class action litigation that could divert management’s attention and harm our business.

 

 
25

Table of Contents

 

In the future, we may also issue our securities if we need to raise additional capital or in connection with acquisitions. The number of shares of our common stock issued in connection with a financing or acquisition could constitute a material portion of our then-outstanding shares of our common stock.

 

We may not be able to maintain compliance with Nasdaq’s listing standards, which could limit shareholders’ ability to trade our common stock.

 

As a listed company on the Nasdaq, we are required to meet certain financial, public float, bid price and liquidity standards on an ongoing basis in order to continue the listing of our common stock. If we fail to meet these continued listing requirements, our common stock may be subject to delisting, which could materially impact the liquidity of our common stock making it more challenging to buy and sell shares of our common stock.

 

We are a “smaller reporting company” under the U.S. federal securities laws, and the reduced reporting requirements applicable to smaller reporting companies could make our common stock less attractive to investors.

 

We are a “smaller reporting company” under U.S. federal securities laws. For as long as we continue to be a smaller reporting company, we may take advantage of exemptions from various reporting requirements that are applicable to other public companies that are not smaller reporting companies. Investors may not find our common stock attractive because we may rely on these exemptions. If some investors find our common stock less attractive as a result, there may be a less active trading market for our common stock and our stock price may be more volatile.

 

Our anti-takeover provisions could prevent or delay a change in control of our company, even if such change in control would be beneficial to our shareholders.

 

Provisions of our articles of incorporation, as amended, and amended bylaws as well as provisions of Florida law could discourage, delay or prevent a merger, acquisition or other change in control of our company, even if such change in control would be beneficial to our shareholders. These include: maintaining authorized but unissued shares of our capital stock that could be issued by our Board to increase the number of outstanding shares and thwart a takeover attempt; no provision for the use of cumulative voting for the election of directors; maintaining a staggered board, limiting the speed at which our shareholders may replace our entire Board, and limiting the ability of our shareholders to call special meetings.

 

In addition, Florida Business Corporation Act, or FBCA, § 607.0902 generally provides that shares acquired in excess of certain specified thresholds, without first obtaining the approval of our Board, will not possess any voting rights unless such voting rights are approved by a majority of our disinterested shareholders. Additionally, FBCA § 607.0901 requires that, subject to certain exceptions, any affiliated transaction with a shareholder that owns more than 15% of the voting shares of the corporation, referred to as an “interested shareholder,” receive the approval of either the corporation’s disinterested directors or a supermajority vote of disinterested shareholders, or, absent either such approval, that a statutory “fair price” be paid to the shareholders in the transaction. The shareholder vote requirement is in addition to any shareholder vote required under any other section of the FBCA or our articles of incorporation, as amended.

 

The concentration of our common stock ownership with our executive officers, directors and affiliates will limit your ability to influence corporate matters.

 

Our executive officers, directors and owners of 5% or more of our outstanding common stock and their respective affiliates beneficially owned, in the aggregate approximately 23.5% of our outstanding common stock as of March 7, 2024. This percentage includes outstanding shares of common stock, convertible preferred stock, warrant and stock options that are vested and exercisable as of that date. These shareholders will therefore have significant influence over management and affairs and over all matters requiring shareholder approval, including the election of directors and significant corporate transactions, such as a merger or other sale of our company or our assets, for the foreseeable future. This concentrated control will limit our shareholders’ ability to influence corporate matters and, as a result, we may take actions that our shareholders do not view as beneficial. This ownership could negatively affect the value of our common stock.

There can be no assurance that we will be able to regain and maintain compliance with continued listing standards of the Nasdaq Capital Market.

 

The Nasdaq Capital Market’s continued listing standards for our common stock require, among other things, that (i) we maintain a closing bid price for our common stock of at least $1.00, and (ii) we maintain: (A) stockholders’ equity of $2.5 million; (B) market value of listed securities of $35 million; or (C) net income from continuing operations of $500,000 in the most recently completed fiscal year or in two of the last three most recently completed fiscal years. Any failures to satisfy any continued listing requirements could lead to the receipt of a deficiency notice from the Nasdaq and ultimately to a delisting from trading of our common stock.

 

 
26

Table of Contents

 

On February 4, 2024, we received a deficiency letter notifying us that we had not maintained a closing bid price for our common stock of at least $1.00 for a 30-day period. In accordance with Nasdaq rules, we have been provided an initial period of 180 calendar days, or until August 15, 2024 (the “Compliance Date”), to regain compliance with the bid price requirement. If we do not regain compliance with the bid price requirement by the Compliance Date, we may be eligible for an additional 180 calendar day compliance period, otherwise our common stock will be subject to delisting from the Nasdaq Capital Market. We cannot be certain that we will be able to regain compliance and then maintain compliance with the minimum bid price and the other standards in order to maintain a listing of our common stock on the Nasdaq Capital Market. 

 

If our common stock were delisted from the Nasdaq Capital Market, among other things, this could result in a number of negative implications, including reduced liquidity in our common stock as a result of the loss of market efficiencies associated with Nasdaq and the loss of federal preemption of state securities laws as well as the potential loss of confidence by suppliers, customers and employees, institutional investor interest, fewer business development opportunities, greater difficulty in obtaining financing and breaches of certain contractual obligations.

 

Item 1B. UNRESOLVED STAFF COMMENTS

 

Not applicable.

 

Item 1C. CYBERSECURITY

 

Cybersecurity Risk Management and Strategy

 

We recognize the importance of assessing, identifying, and managing material risks associated with cyber security threats, as such term is defined in Item 106(a) of Regulation S-K. We have certain processes for assessing, identifying and managing cyber security risks, which are built into our overall information technology function and are designed to help protect our information assets and operations from internal and external cyber threats, and protect employee information from unauthorized access or attack, as well as secure our networks and systems. Such processes include physical, procedural and technical safeguards and routine review of our policies and procedures to identify risks and refine our practices. We consider the internal risk oversight programs of third-party service providers before engaging them in order to help protect us from any related vulnerabilities.

 

We have not encountered cyber security challenges that have materially impaired our operations or financial condition. Additional information regarding risks from cyber security threats is provided at “Item 1A. Risk Factors.”

 

Governance; Board Oversight

 

The Audit Committee of our Board provides direct oversight over cyber security risk and provides updates to the Board of Directors regarding such oversight, when and if appropriate. Management provides periodic updates to the Audit Committee regarding cyber security matters including significant new cyber security threats or incidents, when and if appropriate.

 

Item 2. PROPERTIES

 

Our U.S. headquarters, a 9,000 square foot office space, is located at 8430 Spires Way, Frederick, MD 21701. The facility includes a warehouse, training room, quality control room, qualification laboratory, with its own drive-in custom iHPSteraMist® Complete Room System. The new warehouse is significantly larger than our previous headquarters, allowing TOMI to store its new product lines and stock a greater variety of inventory–quickly delivering a customer purchase. The training room is integrated with the newest technology to be able to present SteraMist® virtually around the world. As the company keeps up with the demand for SteraMist®, there is a dedicated quality control room to allow our service engineers to work on machines for quick and efficient service to our customers. The lease for our U.S. headquarters has a 10-year term and provides for annual rent of approximately $160,000.

 

 
27

Table of Contents

 

Item 3. LEGAL PROCEEDINGS

 

We currently are not a party to any legal proceedings, the adverse outcome of which, in management’s opinion, individually or in the aggregate, would have a material adverse effect on our results of operations, financial position or cash flows.

 

Item 4. MINE SAFETY DISCLOSURES

 

Not applicable.

 

 
28

Table of Contents

 

PART II

 

Item 5. MARKET FOR REGISTRANT’S COMMON EQUITY, RELATED SHAREHOLDER MATTERS AND ISSUER PURCHASES OF EQUITY SECURITIES

 

Market Information

 

Our common stock is currently listed on Nasdaq Capital Market under the symbol “TOMZ.”

 

Shareholders

 

As of March 13, 2024, there were 214 record holders of our common stock; however, we believe we have approximately 5,000 stockholders, including those held in street name. On March 18, 2024, the last reported sale price of our common stock on the Nasdaq was $0.71 per share.

 

Dividends

 

We have not paid and do not currently intend to pay cash dividends on our common stock in the foreseeable future. Our policy is to retain all earnings, if any, to provide funds for operation and expansion of our business. The declaration of dividends, if any, will be subject to the discretion of our Board, which may consider such factors as our results of operations, financial condition, capital needs and acquisition strategy, among others.

 

Recent Sales of Unregistered Securities

 

None.

 

Issuer Repurchases of Equity Securities

 

None.

 

Equity Compensation Plan Information

 

For information about our equity compensation plans and other related stockholder matters see Item 12 of Part III of this Annual Report on Form 10-K.

 

Item 6. [Reserved]

 

Item 7. MANAGEMENT’S DISCUSSION AND ANALYSIS OF FINANCIAL CONDITION AND RESULTS OF OPERATIONS

 

The following discussion and analysis of our financial condition and results of operations relates to the years ended December 31, 2023 and 2022. This discussion and analysis should be read in conjunction with our financial statements and the notes to those financial statements that are included elsewhere in this Annual Report on Form 10-K.

 

Annual and Quarterly Highlights

 

Business Update

 

During our 2023 calendar year, we continued to build out our sales infrastructure through the expansion of our distribution network, diversified our product line to support our expanding customer base and the related utilization of our SteraMist technology and delivered multiple custom engineered systems to key customers. Our year-over-year revenue declined due to the timing of customer orders.

 

In October and November of 2023, we agreed to sell and issue 12% convertible notes in a private placement in one or more closings up to an aggregate principal amount of $5,000,000. As of November 7, 2023, we sold and issued an aggregate of $2,600,000 to certain investors pursuant to a Securities Purchase Agreement, dated November 7, 2023. We are using the net proceeds from this offering for working capital and other general corporate purposes. Management continues to focus on expanding our sales channels through the addition of distributors, outside sale representatives, internal sales staff, and external consultants.

 

 
29

Table of Contents

 

During 2023, we focused on expanding our network of distributors and sale representative and business development initiatives.  We brought on and onboarded 9 distributors and 11 sales representatives, which has expanded our presence domestically and on an international basis.  We anticipate the increased bandwidth of our internal and external sales channels will have a positive impact on our revenue in 2024 and beyond.   In addition, we entered into a contract with Vizient, Inc. increasing our presence in the U.S. healthcare system. Vizient is the largest GPO in the healthcare industry supplying around $100 billion in annual member purchasing volume. Vizient serves approximately 97% of the nation’s Academic Medical Centers, more than 50% of the nation’s acute care health system, and serves more than 20% of the nation’s ambulatory market. This contract enables us to supply SteraMist systems to a wide range of healthcare providers, including academic medical centers, pediatric facilities, and community health providers, through Vizient’s nationwide network.

 

Most recently in November 2023, we announced the addition of Sterile Grow, a United States based distributor and consultation company in the food and cannabis market. Sterile Grow, led by Burrell Williamson III and Tri Nguyen, has demonstrated noteworthy achievements in the cannabis and food markets. Williamson, rooted in the greenhouse industry, has expanded into vertical farming, bringing extensive expertise to the food and cannabis sectors. Tri Nguyen specializes in controlled environment agriculture, particularly in integrating systems for large-scale indoor cannabis cultivation. Combining their cultivation knowledge and past success with SteraMist, Sterile Grow has joined forces as a distributor with the purchase of mobile equipment in our current quarter.

 

In November 2023, we entered into a consulting agreement with BEAMS, LLC to strengthen and expand the TOMI SteraMist Network and increase business development in the commercial market. BEAMS, LLC brings over 20 years’ experience establishing strategic vision and direction of large institutions and companies spanning multiple industries, including higher education, not-for-profit, healthcare, consultancy, hospitality, and pharmaceutical sectors.

 

We remain actively engaged in marketing and submitting bids for Custom Engineered Systems (“CES”) project as the market continues to shift to fully automatic disinfection and decontamination solutions. We are also diligently working with existing outstanding potential purchasers while simultaneously building a robust pipeline for these long-term installations. Further, we have expanded our bandwidth to meet the increasing demands for the product line, which includes the SteraMist Integration System for enclosures and have successfully navigated the challenges posed by the global supply chain issues.

 

During 2023, we completed and delivered four CES systems, as follows:

 

 

-

During the first quarter, we delivered a CES system to Orna Therapeutics, a leading biotechnology company located in Massachusetts. As we complete each CES project, our iHP technology is becoming widely preferred as a decontamination solution for pharmaceutical and biotech companies. Further, with each new CES installation the product line becomes more of a turnkey solution. We obtained the Orna project through a prior colleague from Dana Farber Cancer Institute who became a spokesperson to the preference of SteraMist iHP for Orna.

 

 

 

 

-

During the second quarter, we delivered an eleven applicator CES system to Avid Bioservices, Inc. (“Avid”) for implementation in Avid’s new purpose-built viral vector development and manufacturing facility in Costa Mesa, California.

 

 

 

 

-

During the third quarter of 2023, we delivered a three applicator CES system to Ragon Institute of MGH, MIT and Harvard for implementation in their research and clinical lab located in Cambridge, MA.

 

 

 

 

-

During the third quarter of 2023, we delivered to a one applicator system Indigo Pharmaceutical, Inc. in Las Vegas, Nevada.

                   

Our patented technology continues to be the answer to cell therapy manufacturing. SteraMist iHP technology brings unparalleled decontamination capabilities, thanks to its small micron particles and speed, which provide distinct advantages in terms of efficacy and safety compared to other commercially available decontamination methods. Our strategic integration plans will only enhance the overall performance and reliability of the Cell Shuttle industry, ensuring comprehensive and efficient decontamination for the end user’s processes.

 

To date, we have received 16 orders for CES systems. With the successful completion of each project, our iHP technology is rapidly gaining popularity as the preferred decontamination solution for pharmaceutical and biotech companies. Further, as we continue to install our technology in new CES projects, the product line evolves into a comprehensive turnkey solution.

 

 
30

Table of Contents

 

Indeed, the timing is favorable as the industry is experiencing a shift towards modular cleanroom requirements. The adaptability and efficiency offered by our iHP technology align perfectly with the changing needs of cleanroom setups. This trend allows us to capitalize on the increasing demand for flexible and scalable cleanroom solutions, further enhancing the relevance and value of our products within the industry.

 

We believe our growing portfolio of CES systems will give us a competitive edge in the Life Sciences market segment improving our brand recognition. This should create new business and sales opportunities for us. In addition, after our installed CES projects are fully qualified and established for use, and our portfolio grows, we anticipate this will have a positive impact on our long-term recurring BIT solution sales thus providing the potential to enhance our operating margins, further strengthening our position in the industry, and supporting sustainable growth.

 

In 2023, we saw a continued increase in demand for our SteraMist iHP service. For the year ended December 31, 2023 and 2022, our iHP service revenue was $1,660,000 and $1,474,000, respectively, representing a 13% increase.

 

In August of 2023, Pfizer Rocky Mount engaged our iHP service team to conduct emergency decontamination within their facility, which suffered substantial damage due to a tornado. Pfizer Rocky Mount has been a long-term, loyal client of TOMI, having commenced their utilization of SteraMist iHP Corporate Service in 2014. Since then, TOMI has been performing decontamination service twice a year during their facility’s routine scheduled shutdowns and called on as necessary throughout the years.

 

On March 7, 2024, announced an expansion in its SteraMist iHP Corporate Service contracts with the addition of new partners including the University of Texas and Rising Pharmaceuticals reaffirming its position as a leading provider of decontamination services to corporate clients in the life sciences industry.

 

We continued to diversify our base of products in 2023 with the introduction of the SteraMist Hybrid and SteraMist Transport, to support our ongoing commitment to providing superior disinfection decontamination solutions for our growing customer base.

 

Throughout 2023, we remained active in our marketing initiatives and attended and presented our SteraMist brand of products at various tradeshows, most notable were Interphex, Food Safety Summit, AALAS, ISSA North America, and MJBiz Conference. In the fourth quarter of 2023, we attended and presented at the following shows: Pharma Ed Aseptic, ISPE National, AALAS National Conference, NFMT Remix Conference, Bio Innovation, ISSA North America, and MJBiz Conference.

 

In June 2023, we launched our updated website, now accessible through our new domain name steramist.com. The refreshed website offers a modern, user-friendly design and streamlined navigation, providing visitors with easy access to essential information about SteraMist products and services.

 

Business Highlights and Recent Events

 

Revenues:

 

Total revenue for the year ended December 31, 2023, and 2022, was $7,355,000 and $8,338,000, respectively, representing a decrease of $983,000, or 12% compared to the same prior year period. The decrease in revenue was attributable to the timing of customer orders.

 

We believe that we possess the best technologies in the world in the disinfection and decontamination space. The COVID-19 pandemic along with the needs of the pharmaceutical and vivarium space has provided us with the opportunity and experience to implement a clear strategy to develop and manufacture additional products to add to our portfolio. In addition, we continue to move our BIT technology as a standard in disinfection and decontamination globally. This should lead to increased market share, profitability, and capability strength.

 

Our products are an environmentally friendly solution, and our processes address the concerns of sustainability. Customers are requesting and discussing the positive results of our product and the environmentally friendly results compared to the caustic and environmentally unfriendly results of many other disinfectants.

 

 
31

Table of Contents

 

SteraMist has established a successful track record in fighting pandemics and outbreaks and implementing SteraMist for emergency preparedness is vital. The COVID-19 pandemic took the world by surprise, and history has shown that other pandemics and viruses are likely to follow. Using a proven and trusted disinfectant for emergency outbreaks and daily for preventative maintenance, such as SteraMist, can alleviate the threat of infections from spreading and could stop a possible outbreak.

 

2023 Events and Highlights:

 

On January 17, 2023, we announced National Health Services (NHS) Wales purchased SteraMist ionized Hydrogen Peroxide (iHP) technology further expanding our presence in Great Britain.

 

On January 25, 2023, we announced that we would present our SteraMist brand of products at three upcoming International Society for Pharmaceutical Engineering (ISPE) Conferences in the first quarter of 2023: The ISPE Facilities of the Future Conference, that was held in Bethesda, MD, January 31 and February 1, 2023; the ISPE-CaSA Life Sciences Technology Conference in Raleigh, NC, held on February 28, 2023; and the ISPE Aseptic Conference in Bethesda, MD, held on March 6 and 7, 2023.

 

On April 20, 2023, we announced our participation in several upcoming industry tradeshows, including CETA International, RIA International, the Lab Manager Leadership Summit, FDIC International, and the INTERPHEX Conference. The company has showcased its SteraMist products, a proprietary and industry-leading disinfection technology, designed to combat a broad spectrum of viruses and bacteria spores.

 

On April 24, 2023, we announced the addition of four independent manufacturing representatives and distributors to our expanding national and global network. Included in the additions are JANZ Corporation, New England Scientific Associates (NESA) by Baker, Crow Food Safety (Pty) Ltd, and ARES Scientific.

 

On April 26, 2023, we announced that approximately 20 billion medical devices are sterilized per year with Ethelene Oxide and a proposal restriction restricting its usage could create a significant market void that may be filled with alternative sterilization processes such as TOMI’s patented Binary Ionization Technology ® (BIT™) Technology.

 

On May 10, 2023, we announced our SteraMist technology was recognized as one of the Top 10 Infection Solution Providers of 2023 in the recent infection control solutions special edition.

 

On May 11, 2023, we announced the addition of Technimount System (“Technimount”) as an exclusive distributor selling capital equipment to the emergency medical services market throughout Canada.

 

On May 18, 2023, we announced the launch of our updated website, now accessible through the new domain name steramist.com. The refreshed website offers a modern, user-friendly design and streamlined navigation, providing visitors with easy access to essential information about SteraMist products and services.

 

On May 31, 2023, we announced the completion of a study conducted in accordance with the U.S. Department of Defense’s Biological Select Agents and Toxins Biorisk Program Office which demonstrated SteraMist iHP as an effective technology for decontamination of biological toxoids.

 

On June 5, 2023, we announced that the Company has entered a contract with Vizient, Inc., increasing TOMI’s presence in the U.S. healthcare system.

 

On June 22, 2023, we announced a partnership with I.B.D., as a distributor in Italy.

 

On August 3, 2023, we announced a collaboration with Cellares to integrate its SteraMist ionized Hydrogen Peroxide (iHP) technology into a cutting-edge new cell therapy manufacturing solution, the Cell Shuttle, designed and produced by Cellares.

 

On August 14, 2023, we announced that Pfizer Rocky Mount has engaged TOMI’s iHP Corporate Service to conduct emergency decontamination within their facility, which suffered substantial damage due to a recent tornado.

 

On September 5, 2023, we announced the completion of a study funded by the USDA and NIFA which demonstrated SteraMist iHP as an effective treatment of deformed wing virus (DWV) contaminated hive substrates.

 

 
32

Table of Contents

 

On September 13, 2023, we announced the expansion of our distribution channels with Avantor ® (NYSE: AVTR), a Fortune 500 company and a leading supplier of mission-critical products and services.

 

On September 13, 2023, we announced that we partnered with Colcom, Inc. to offer SteraMist iHP products as part of Colcom’s life sciences and healthcare portfolio of products.

 

On September 29, 2023, we announced the roll out of two new products, the SteraMist Hybrid and SteraMist Transport, to support its ongoing commitment to providing superior disinfection decontamination solutions for its growing customer base.

 

On November 27, 2023, we announced the addition of Sterile Grow, a United States based distributor and consultation company in the food and cannabis market.

 

2024 Highlights:

 

On February 29, 2024, we announced the signing of a new contract for a SteraMist iHP Custom Engineered System (CES) installation with a California-based life sciences company. The contracted iHP Custom Engineered System (CES) is valued at approximately $600,000. This system, featuring six applicators, will be integrated into a clinical suite, and is expected to be fully installed by the end of the third quarter in 2024.

 

On March 7, 2024, announced an expansion in its SteraMist iHP Corporate Service contracts with the addition of new partners including the University of Texas and Rising Pharmaceuticals reaffirming its position as a leading provider of decontamination services to corporate clients in the life sciences industry.

 

On March 11, 2024, we announced a new groundbreaking study demonstrating the effectiveness of its solutions against foot-and-mouth disease virus (FMDV). This significant advancement supports the Company’s submission for an additional EPA label.

 

Research Studies:

 

TOMI continues to be active in the global market, using registrations to expand sales opportunities. Currently, TOMI is in the registration process for India, and renewal to meet new requirements in the Philippines. Both markets offer excellent potential due to interest in the TOMI suite of decontamination/disinfection solutions.

 

TOMI is in the annual process of self-audit, where all SOPs are reviewed and updated as needed, and all compliments and complains and requests for changes/new equipment are evaluated.

 

TOMI has successfully completed a second 24-month storage stability, this one to meet EPA requirements (first one was for EU BPR submission and had different methods/requirements). With the patented 7.8% product, Binary Ionization Technology Solution is safe to ship by air and store under normal ambient conditions. The study will be submitted for EPA review, and expiration date extended going forward upon EPA approval.

 

The EPA has registered our 0.35% hydrogen peroxide product for the use in greenhouses, pre harvests and post harvests. TOMI is conducting internal studies with the 0.35% on common pathogens in the food safety market to enhance protocols. We continue to pursue acceptance of the additional 1% hydrogen peroxide label with the EPA for direct food application.

 

Recent SteraMist food safety customers and partners are conducting further studies to prove SteraMist in the industry. Soli Organic Inc., one of the nation’s largest commercial indoor organic growing companies, obtained multiple SteraMist systems to protect their controlled indoor growing food process from costly fungus, Botrytis. The combination of all SteraMist systems purchased will be used daily, on a continuous cycle, to disinfect everything from seed trays that the soil and plants sit in, and the plants themselves.

 

Analysis concluded dramatic reduction in fungal growth, mold spores, and yield loss from environmental bio-loads, with notable efficacy against Alternaria, a species causing 20% yield loss in all annual vegetable production. Levels went from high/ medium to non-existent/nondetectable with the following spores: Alternaria (Ulocladium), Aspergillus/Penicillium, Acremonium++, and Botrytis.

 

 
33

Table of Contents

 

SteraMist is also working with a few partners in the cannabis industry. Enviro-Mist has been testing cannabis flower incubated with Aspergillus flavus, Aspergillus fumigatus, Aspergillus niger, Aspergillus terreus, Escherichia Coli, Shigella Spp, Salmonella, Staphylococcus aureus, yeasts and molds and subsequently treated using ionized Hydrogen Peroxide (iHP) to the dried material. Potency results of the cannabis plant were not affected, and no additional residual solvents were found. The process was successful in complete remediation of all microbial contaminants. Another partner TOMI is working with has proven SteraMist that has reduced microbial count on cannabis flower from 400cfu/g to non-detectable without affecting the level of THC. SteraMist continues to penetrate the market with additional studies and bringing on premier clients.

 

In August 2023, we announced the completion of a study funded by the USDA and the National Institute of Food and Agriculture (“NIFA”) which demonstrated SteraMist iHP as an effective treatment of deformed wing virus (“DWV”) contaminated hive substrates.

 

In 2024, we will continue to use research and testing to inform the marketplace of the effectiveness of our products. One goal of TOMI is to make SteraMist a recommended best practice to minimize emergency responder exposures to synthetic opioids, including fentanyl and fentanyl analogs.

 

We are also investigating whether SteraMist can play a role in controlling the environmental impact from perfluorooctane sulfonate (PFOS) and perfluorooctanoic acid (PFOA). These substances and group of chemicals have been released to the environment through industrial manufacturing and through the use and disposal of PFAS containing products. As a result, they are found across all trophic levels in the soil, air, and groundwater at sites across the United States and the rest of the world.

 

On April 26, 2023, we announced that approximately 20 billion medical devices are sterilized per year with Ethelene oxide and a proposal restriction restricting its usage could create a significant market void that may be filled with alternative sterilization processes such as TOMI’s patented Binary Ionization Technology ® (BIT™) Technology.

 

On March 14, 2024, the New York Times published an article “E.P.A. Sets Limits on Carcinogenic Gas Used to Sterilize Medical Devices” which stated,

 

The Environmental Protection Agency is imposing new restrictions on the emissions of ethylene oxide, a colorless gas that is widely used to sterilize medical devices and is also a carcinogen.

 

The regulation, which is expected to be finalized shortly, would force sterilizing plants and other facilities that use ethylene oxide to install pollution controls to reduce emissions of the gas by about 90 percent.

 

It would mark the first time in 20 years that the government has tightened limits on the amount of the gas permitted to escape from a manufacturing facility.

 

Ethylene oxide is used in a number of products but is applied to about half the medical equipment made in the United States to reduce the risk of infection.

 

When inhaled, the gas can irritate the eyes, nose, throat and lungs, and has been linked to lymphoid and breast cancer as well as damage to the brain and nervous and reproductive systems.

 

It is still very early in the process, but this could open up large manufacturing faculties that would have a need for our custom unit built-ins in the manufacturing of medical equipment to replace ethylene oxide, as SteraMist’s only by-product environmentally is humidity and oxygen.

 

Product Development:

 

Our recent products developed and launched are as follows:

 

SteraMist Engineering continues to make strides collaborating with key manufactures of cleanroom technology and equipment developing a turnkey seamless decontamination integration to chambers, cabinets, passthroughs, isolators, cage washers, heat sterilizers, hot cells and more. TOMI begins this endeavor with a project management, turnkey modular solution, and process design consulting firm that we have partnered with in one of our previous CES projects.

 

 
34

Table of Contents

 

The SteraMist Hybrid, an integral component of the SteraMist ENV, SteraMist Hybrid is designed with capabilities to communicate with a facility. The system is strategically positioned in a centralized location of the facility through a docking station and features our newly designed permanently mounted stainless steel applicators.

 

Recently, TOMI successfully installed the first SteraMist Hybrid at Indigo Pharmaceutical, Inc.’s existing research facility, which selected the SteraMist Hybrid because it met the client’s strict delivery timeline while adhering to the facility’s budget constraints. We remain in specification discussions with Indigo for a Custom Engineered System for a future site dedicated to injectables.

 

The SteraMist Transport has seen positive reception of its SteraMist Transport unit, an all-in-one dual voltage fogging product designed to treat a wide variety of vehicle sizes with an application time of only 20 minutes per 1,000 cubic foot. The initial batch of this innovative product is currently in a soft launch phase and has been sold this quarter for live practical assessment with an existing international customer.

 

The Select Plus (“Select Plus”) is a hybrid product consisting of the Company’s current Surface Select and Environment systems. The unit will provide enhanced flexibility by using a single applicator to decontaminate full-room to small-space volume while maintaining the size of the current Surface Select unit with more robust process controls. The iHP SteraMist Transport System has been designed for the transportation market, specifically ambulances. The iHP SteraMist Transport System is a timer based fogging system that can be installed semi-permanently or permanently and used for any transport and/or cargo vehicle. It will be an easy-to-use turn-key integration system. We expect the implementation of this product and our patented non-corrosive iHP technology to replace the number one competitor in this marketplace, which uses an extremely harsh chemical.

 

All SteraMist systems will remain important to the marketplace as they are designed for specific needs and budgets. The Select Surface Unit performs most of the functionality that the Select Plus offers and is priced at a lower cost, although Select Plus will provide additional options that are appealing to certain customers, such as laboratory and pharmaceutical companies. The SteraPak is a more cost-effective product and designed for residential and commercial real estate including large buildings and public space, any area that needs quick consistent disinfection. We believe there are many new and existing clients that are interested in the SteraPak due to the cost and mobility.

 

TOMI recently launched its fourth generation SteraMist ENV. The system will now be 24 volts, allowing for universal outlet usage and convert even more of the hydrogen peroxide BIT Solution to hydroxyl radicals thus lowering H2O2 PPM levels allowing for faster turnaround time. In addition, the unit will have eight outputs where four are dedicated to our regular process of constant or pulse Injection, Dwell, and Aeration along with a light beacon status bar and four are programmable to meet the customer needs for any external equipment they may desire to work with the system. This system is currently on the market, has been implemented by customers, and is receiving praise for its further developments.

 

Our SteraMist® BIT™ solution product line is currently made up of a 32-ounce bottle for the SteraPak, a ten liter, five gallon, 55-gallon drum for our custom built-ins and our traditional one gallon bottle. This brings the BIT Solution product line to a total of five options provided to our customers, which will benefit our razor/razor-blade business model.

 

We expect these new products and service introductions will positively impact our net sales, cost of sales and operating expenses during this fiscal year.

 

Supply Chain:

 

We have orders for supplies and materials that are required in our equipment and are prepared to continue the manufacturing of all our products. Further, TOMI has multiple suppliers, outsourced engineers, and software programmers to turn to for the manufacturing and installation of its SteraMist products to reduce the risks associated with the current supply chain environment.

 

 
35

Table of Contents

 

Financial Operations Overview

 

Our financial position as of December 31, 2023 and 2022, respectively, was as follows:

 

 

 

December 31, 2023

 

 

December 31, 2022

 

Total shareholders’ equity

 

$8,359,000

 

 

$11,448,000

 

Cash and cash equivalents

 

$2,339,000

 

 

$3,867,000

 

Deferred Revenue

 

$-

 

 

$700,000

 

Accounts receivable – Current, net

 

$2,430,000

 

 

$2,772,000

 

Inventories

 

$4,627,000

 

 

$4,496,000

 

Prepaid expenses

 

$371,000

 

 

$338,000

 

Vendor Deposits

 

$29,000

 

 

$447,000

 

Other Receivables

 

$164,000

 

 

$164,000

 

Accounts receivable – Long Term, net

 

$206,000

 

 

 

 

 

Current liabilities – Excluding Deferred Revenue

 

$2,058,000

 

 

$2,591,000

 

Long-term liabilities – Convertible Notes

 

$2,298,000

 

 

$-

 

Long-term liabilities – Other

 

$643,000

 

 

$761,000

 

Working Capital

 

$7,903,000

 

 

$8,844,000

 

 

During the year ended December 31, 2023, our debt and liquidity positions were affected by the following:

 

 

·

Net cash used in operations of approximately $3,599,000.

 

·

Net cash used in investing activities $217,000.

 

·

Net cash provided from financing activities $2,288,000.

 

Results of Operations for the Year Ended December 31, 2023 Compared to the Year Ended December 31, 2022

 

 

 

  For The Year Ended

December 31,

 

 

Change

 

 

 

2023

 

 

2022

 

 

$

 

Revenue, Net

 

$7,355,000

 

 

$8,338,000

 

 

$(983,000)

Gross Profit

 

 

4,290,000

 

 

 

5,060,000

 

 

 

(770,000)

Total Operating Expenses (1)

 

 

7,639,000

 

 

 

7,942,000

 

 

 

(303,000)

Income (Loss) from Operations

 

 

(3,349,000)

 

 

(2,882,000)

 

 

(467,000)

Total Other Income (Expense)

 

 

(53,000)

 

 

2,000

 

 

 

(55,000)

Provision for (benefit from) Income Taxes

 

 

-

 

 

 

-

 

 

 

-

 

Net Income (Loss)

 

$(3,402,000)

 

$(2,880,000)

 

 

(522,000)

Basic Net Income (Loss) per share

 

$(0.17)

 

$(0.15)

 

$(0.02)

Diluted Net Income (Loss) per share

 

$(0.17)

 

$(0.15)

 

$(0.02)

 

Sales

 

During the years ended December 31, 2023 and 2022, we had net revenue of approximately $7,355,000 and $8,338,000, respectively, representing a decrease in revenue of approximately $983,000 or 12%.

 

As customers mature through the product and adoption cycle and our sales pipeline converts to revenue, we expect to generate more predictable sales quarter over quarter. Further, as the COVID-19 pandemic has subsided, we expect that the demand for our products and services will continue as we are building a team to address the post COVID-19 pandemic market opportunities.

 

 
36

Table of Contents

 

Product and Service Revenue

 

 

 

  For The Year Ended

December 31,

 

 

Change

 

 

 

2023

 

 

2022

 

 

$

 

SteraMist Product

 

$5,695,000

 

 

$6,864,000

 

 

$(1,169,000)

Service and Training

 

 

1,660,000

 

 

 

1,474,000

 

 

 

186,000

 

Total

 

$7,355,000

 

 

$8,338,000

 

 

$(983,000)

 

SteraMist product-based revenues for the years ended December 31, 2023 and 2022, were $5,695,000 and $6,864,000, representing a decrease of $1,169,000 when compared to the same prior year period.

 

Our service-based revenue for the years ended December 31, 2023 and 2022, was $1,660,000 and $1,474,000, respectively, representing a year over year increase of $186,000.

 

Revenue by Geographic Region

 

 

 

  For The Year Ended

December 31,

 

 

Change

 

 

 

2023

 

 

2022

 

 

$

 

United States

 

$6,125,000

 

 

$6,261,000

 

 

$(136,000)

International

 

 

1,230,000

 

 

 

2,077,000

 

 

 

(847,000)

Total

 

$7,355,000

 

 

$8,338,000

 

 

$(983,000)

 

Our domestic revenue for the years ended December 31, 2023 and 2022, was $6,125,000 and $6,261,000, respectively, a decrease of $136,000 when compared to the same prior year period

 

Internationally, our revenue for the years ended December 31, 2023 and 2022, was approximately $1,230,000 and $2,077,000, respectively, representing a decrease of $847,000.

 

Cost of Sales

 

 

 

  For The Year Ended

December 31,

 

 

Change

 

 

 

2023

 

 

2022

 

 

$

 

Cost of Sales

 

$3,065,000

 

 

$3,278,000

 

 

$(213,000)

 

Cost of sales was $3,065,000 and $3,278,000 for the years ended December 31, 2023 and 2022, respectively, a decrease of $213,000, compared to the prior year. The decrease in cost of sales was primarily due to the lower sales. Our gross profit as a percentage of sales for the year ended December 31, 2023 was 58.3% compared to 60.7% in the same prior period, respectively. The lower gross profit is attributable to the product mix in sales.

 

Professional Fees

 

 

 

  For The Year Ended

December 31,

 

 

Change

 

 

 

2023

 

 

2022

 

 

$

 

Professional Fees

 

$576,000

 

 

$536,000

 

 

$40,000

 

 

Professional fees are comprised mainly of legal, accounting, and financial consulting fees.

 

Professional fees were $576,000 and $536,000 for the years ended December 31, 2023 and 2022, respectively, representing an increase of approximately $40,000 in the current year period. The increase is attributable to higher accounting and legal fees in the current year period.

 

 
37

Table of Contents

 

Depreciation and Amortization

 

 

 

  For The Year Ended

December 31,

 

 

Change

 

 

 

2023

 

 

2022

 

 

$

 

 Depreciation and Amortization

 

$367,000

 

 

$329,000

 

 

$38,000

 

 

Depreciation and amortization were approximately $367,000 and $329,000 for the years ended December 31, 2023 and 2022, respectively, representing an increase of $38,000, or 12%.  The increase in depreciation expense is due to a higher amount of fixed assets being depreciated in the current year periods when compared to the same prior year period.

 

Selling Expenses

 

 

 

  For The Year Ended

December 31,

 

 

Change

 

 

 

2023

 

 

2022

 

 

$

 

Selling Expenses

 

$1,351,000

 

 

$1,867,000

 

 

$(516,000)

 

Selling expenses for the year ended December 31, 2023 were approximately $1,351,000, as compared to $1,867,000 for the year ended December 31, 2022, representing a decrease of approximately $516,000, or 28%.  The decline in selling expenses is due to lower advertising costs and sales commission incurred in the current year period due to less sales generated by third party representatives.

 

Research and Development

 

 

 

  For The Year Ended

December 31,

 

 

Change

 

 

 

2023

 

 

2022

 

 

$

 

Research and Development

 

$492,000

 

 

$352,000

 

 

$140,000

 

 

Research and development expenses for the year ended December 31, 2023 were approximately $492,000, as compared to $352,000 for the year ended December 31, 2022, representing an increase of approximately $140,000, or 40%.  The increase in in research and development expenses is due testing and product development in connection with the SteraMist Hybrid, Transport and Select Plus units.

 

Consulting Fees

 

 

 

  For The Year Ended

December 31,

 

 

Change

 

 

 

2023

 

 

2022

 

 

$

 

Consulting Fees

 

$283,000

 

 

$215,000

 

 

$68,000

 

 

Consulting fees were $283,000 and $215,000 for the years ended December 31, 2023 and 2022, respectively, representing an increase of $68,000, or 32%.  The increase is due to the timing of certain projects that occurred in the current year that did not occur in the same prior year period.  The increase in consulting fees is due to the additional business development related consulting projects which occurred in the current year period that did not occur in the prior year period.

 

 
38

Table of Contents

 

General and Administrative Expense

 

 

 

  For The Year Ended

December 31,

 

 

Change

 

 

 

2023

 

 

2022

 

 

$

 

General and Administrative

 

$4,571,000

 

 

$4,643,000

 

 

$(72,000)

 

General and administrative expense includes salaries and payroll taxes, rent, insurance expense, utilities, office expense, product registration costs and bad debt expense.

 

General and administrative expense was $4,571,000 and $4,643,000 for the years ended December 31, 2023 and 2022, respectively, a decrease of $72,000 in the current year period. The decrease in general and administrative expense is primarily attributable to lower equity-based compensation in the current year period.

 

Other Income and Expense

 

 

 

  For The Year Ended

December 31,

 

 

Change

 

 

 

2023

 

 

2022

 

 

$

 

 

 

 

 

 

 

 

 

 

 

Interest Income

 

 

12,000

 

 

 

2,000

 

 

 

10,000

 

Interest Expense

 

 

(65,000)

 

 

-

 

 

 

(65,000)

Other Income (Expense)

 

$(53,000)

 

$2,000

 

 

$(55,000)

   

Amortization of deferred financing costs was approximately $10,000 and $0 for the year ended December 31, 2023 and 2022, respectively.  This represents the amortization of costs incurred in connection with the convertible notes.

 

Interest income was approximately $12,000 and $2,000 for the years ended December 31, 2023 and 2022, respectively.

 

Interest expense was $55,000 and $0 for the years ended December 31, 2023 and 2022, respectively.  The interest expense is attributable to the convertible notes.

 

Provision for Income Taxes

 

 

 

  For The Years Ended

December 31,

 

 

Change

 

 

 

2023

 

 

2022

 

 

 $

 

Provision for Income Tax Expense (Benefit) 

 

$-

 

 

$-

 

 

$-

 

 

Provision for income tax was $0 for the years ended December 31, 2023 and 2022.

 

Liquidity and Capital Resources

 

As of December 31, 2023, we had cash and cash equivalents of approximately $2,339,000 and working capital of $7,903,000. Our principal capital requirements are to fund operations, invest in research and development and capital equipment, and the continued costs of compliance with public company reporting requirements. We have historically funded our operations through funds generated through operations and debt and equity financings. The sale of additional equity securities could result in dilution to our stockholders. The incurrence of indebtedness would result in increased debt service obligations and may include operating and financial covenants that would restrict our operations. We cannot be certain that any financing will be available in the amounts we need or on terms acceptable to us, if at all. We have no plans of incurring any debt or equity financing.

 

 
39

Table of Contents

 

                For the year ended December 31, 2023 and 2022, we incurred losses from operations of ($3,349,000) and ($2,882,000), respectively. Cash used in operations for the year ended December 31, 2023 and 2022, was ($3,599,000) and ($1,234,000), respectively.

 

A breakdown of our statement of cash flows for the year ended December 31, 2023 and 2022 is provided below:

 

 

 

 For the Year Ended December 31,

 

 

 

2023

 

 

2022

 

 Net Cash Provided By (Used) in Operating Activities

 

$(3,599,000)

 

$(1,234,000)

 Net Cash Used in Investing Activities

 

$(217,000)

 

$(241,000)

 Net Cash Provided By Financing Activities:

 

$2,288,000

 

 

$25,000

 

 

Operating Activities

 

Cash used in operating activities for the year ended December 31, 2023 and 2022 was $3,599,000 and $1,234,000, respectively.  The increase was attributable to a higher current year loss, lower deferred revenue and accounts payable.

 

Investing Activities

 

Cash used in investing activities for the years ended December 31, 2023 and 2022 was $217,000 and $241,000, respectively.  The decrease is attributable to fixed assets purchased in the prior year and capitalized patent and trademark costs.

 

Financing Activities

 

Cash provided by financing activities for the years ended December 31, 2023 and 2022 was $2,288,000 and $25,000 respectively. The cash provided by financing activities increased as a result of the proceeds from the convertible notes issued in October and November of 2023.

 

Liquidity

 

Our revenues can fluctuate due to the following factors, among others:

 

 

·

ramp up and expansion of our internal sales force and manufacturer’s representatives;

 

·

length of our sales cycle;

 

·

global and regional response to the outbreak of infectious diseases;

 

·

expansion into new territories and markets; and

 

·

timing of orders from distributors.

 

We could incur operating losses and an increase of costs related to the continuation of product and technology development, sales expense as we continue to grow our sales teams, inventory as we continue to ensure we have products needed and geographic presence, tooling capital expenditures as we ramp up and streamline our production and administrative activities including compliance with the Sarbanes-Oxley Act of 2002 Section 404.

 

Management has taken and will endeavor to continue to take a number of actions in order to improve our results of operations and the related cash flows generated from operations in order to strengthen our financial position, including the following items:

 

 

·

expanding our label with the EPA to further our product registration internationally;

 

·

continued expansion of our internal sales force and manufacturer representatives in an effort to drive global revenue in all verticals;

 

·

continue research and development and add new products to our “Stera” product line;

 

·

source alternative lower-cost suppliers;

 

·

expansion of international distributors; and

 

·

continued growth in all of our verticals.

 

 
40

Table of Contents

 

During 2022 and 2023, we experienced increased demand for our CES where we collect deposits upon the execution of the contract. The deposits we receive fund the production for the CES and improve our overall liquidity through the duration of the project. We believe our sales for our CES will continue to grow in 2024 and improve our financial results from a liquidity perspective as well as improve our operating margins due to the higher recurring solution sales we see for our CES system.

 

We expect that the cash we generate from our core operations will generally be sufficient to cover our future capital expenditures and to pay down our near-term debt obligations.

 

We believe that our existing balance of cash and cash equivalents and amounts expected to be provided by operations will provide us with sufficient financial resources to meet our cash requirements for operations, working capital and capital expenditures over the next twelve months. We may consider financing transactions to fund our operations if opportunities arise. To the extent that we raise additional capital through the sale of equity or convertible debt securities, the ownership interest of our stockholders will be diluted, and the terms of these securities may include liquidation or other preferences that adversely affect the rights of stockholders. Debt financing and preferred equity financing, if available, may involve agreements that include covenants limiting or restricting our ability to take specific actions, such as incurring additional debt, making acquisitions or capital expenditures. Debt financing would also result in fixed payment obligations.

 

We believe strongly that the current and historical trading prices of our Common Stock is depressed and does not reflect the actual valuation of the Company, and that our declining trading price was the result of active short selling and market manipulation at the close using the cross at the end of many days by certain investors in the market that is outside the control of the Company. While short selling may be permitted in some cases under applicable laws, we believe that certain investors, particularly those investing in small and microcap companies like TOMI, may be circumventing regulatory requirements and conducting aggressive short selling that is designed to drive down the trading price of our Common Stock, including naked short selling tactics. These activities have not only depressed our stock price, but also reduced the trading liquidity of our stock and caused damage to our reputation, while making it more difficult for us to secure financing to fund our operations and comply with NASDAQ’s minimum bid price requirements. We believe that the regulatory authorities, such as the SEC and FINRA, should take more aggressive enforcement actions against short selling traders who are undermining the values of microcap companies, and we will continue our various efforts and strategies to ensure that trading price of our stock reflects the true value of TOMI and generates positive returns for our shareholders.

 

On November 7, 2023, we entered into a Securities Purchase Agreement (the “SPA”) with certain accredited investors (collectively, the “Investors”) pursuant to which we agreed to sell and issue to the Investors in a private placement transaction (the “Private Placement”) in one or more closings up to an aggregate principal amount of $5,000,000 (the “Notes”). As of November 7, 2023, we issued and sold an aggregate of $2,600,000 of Notes to certain Investors pursuant to the SPA.

 

The gross proceeds from the transaction are approximately $2,600,000, before deducting the placement agent’s fees and other estimated offering expenses. We intend to use the net proceeds from this offering for working capital and other general corporate purposes. The initial closing of the Private Placement occurred on November 7, 2023.

 

The Notes are due on the fifth anniversary of the issuance date of the Notes and bear simple interest at a rate of 12% per annum, payable in equal monthly installments. The Notes are convertible into shares of our Common Stock, at the option of the holder, at a conversion price of $1.25 per share, which shall not exceed $1.55 per share. In addition, we can require Investors to convert the Notes at the then current conversion price at any time after 90 days from the issue date if the Common Stock has a closing bid price of $1.55 per share or higher on any twenty days within a thirty day period of consecutive trading days, or if a “fundamental change” occurs (as defined in the SPA). The Notes are unsecured and senior to other indebtedness subject to certain exceptions.

 

Critical Accounting Estimates

 

Our discussion and analysis of our financial condition and results of operations is based upon our consolidated financial statements, which have been prepared in accordance with accounting principles generally accepted in the United States. The preparation of these financial statements requires us to make estimates and judgments that affect the reported amounts of assets, liabilities, revenues and expenses, and related disclosure of contingent assets and liabilities. The estimation process requires assumptions to be made about future events and conditions, and as such, is inherently subjective and uncertain. Actual results could differ materially from our estimates.

 

 
41

Table of Contents

 

The SEC defines critical accounting estimates as those that are, in management’s view, most important to the portrayal of our financial condition and results of operations and most demanding of our judgment. We consider the following estimates to be critical to an understanding of our consolidated financial statements and the uncertainties associated with the complex judgments made by us that could impact our results of operations, financial position and cash flows.

 

Revenue Recognition

 

We recognize revenue in accordance with Financial Accounting Standards Board (FASB) Accounting Standards Update (ASU) No. 2014-09, Revenue from Contracts with Customers (Topic 606). We recognize revenue when we transfer promised goods or services to customers in an amount that reflects the consideration to which we expect to be entitled in exchange for those goods or services. To determine revenue recognition for contracts with customers we perform the following five steps: (i) identify the contract(s) with a customer; (ii) identify the performance obligation(s) in the contract; (iii) determine the transaction price; (iv) allocate the transaction price to the performance obligation(s) in the contract; and (v) recognize revenue when (or as) we satisfy the performance obligation(s). At contract inception, we assess the goods or services promised within each contract, assess whether each promised good or service is distinct and identify those that are performance obligations.

 

We must use judgment to determine: a) the number of performance obligations based on the determination under step (ii) above and whether those performance obligations are distinct from other performance obligations in the contract; b) the transaction price under step (iii) above; and c) the stand-alone selling price for each performance obligation identified in the contract for the allocation of transaction price in step (iv) above.

 

Title and risk of loss generally pass to our customers upon shipment. Our customers include end users as well as dealers and distributors who market and sell our products. Our revenue is not contingent upon resale by the dealer or distributor, and we have no further obligations related to bringing about resale. Shipping and handling costs charged to customers are included in Product Revenues. The associated expenses are treated as fulfillment costs and are included in Cost of Revenues. Revenues are reported net of sales taxes collected from customers.

 

Product revenue includes sales from our standard and customized equipment, solution and accessories sold with our equipment. Revenue is recognized upon transfer of control of promised products to customers in an amount that reflects the consideration we expect to receive in exchange for those products.

 

Service and training revenue include sales from our high-level decontamination and service engagements, validation of our equipment and technology and customer training. Service revenue is recognized as the agreed upon services are rendered to our customers in an amount that reflects the consideration we expect to receive in exchange for those services.

 

Estimated allowances for sales returns are recorded as sales are recognized.  We use a specific identification method based on subsequent product return activity and historical average calculation to estimate the allowance for sales returns.

 

Costs to Obtain a Contract with a Customer

 

We apply a practical expedient to expense costs as incurred for costs to obtain a contract with a customer when the amortization period would have been one year or less. We generally expense sales commissions when incurred because the amortization period would have been one year or less. These costs are recorded within selling expenses.

 

Contract Balances

 

As of December 31, 2023, and December 31, 2022 we did not have any unsatisfied performance obligations for (i) contracts with an original expected length of one year or less and (ii) contracts for which we recognize revenue at the amount to which we have the right to invoice for services performed.

 

Arrangements with Multiple Performance Obligations

 

Our contracts with customers may include multiple performance obligations. We enter into contracts that can include various combinations of products and services, which are primarily distinct and accounted for as separate performance obligations.

 

 
42

Table of Contents

 

Significant Judgments

 

Our contracts with customers for products and services often dictate the terms and conditions of when the control of the promised products or services is transferred to the customer and the amount of consideration to be received in exchange for the products and services.

 

Use of Estimates

 

The preparation of consolidated financial statements in conformity with U.S. GAAP requires us to make estimates and assumptions that affect the amounts reported and disclosed in the accompanying consolidated financial statements and the accompanying notes. Actual results could differ materially from these estimates. On an ongoing basis, we evaluate our estimates, including those related to accounts receivable, inventory, fair values of financial instruments, intangible assets, useful lives of intangible assets and property and equipment, fair values of stock-based awards, income taxes, and contingent liabilities, among others. We base our estimates on historical experience and on various other assumptions that are believed to be reasonable, the results of which form the basis for making judgments about the carrying values of our assets and liabilities.

 

Accounts Receivable

 

Our accounts receivable are typically from credit worthy customers or, for certain international customers, are supported by pre-payments. For those customers to whom we extend credit, we perform periodic evaluations of them and maintain allowances for potential credit losses as deemed necessary. We have a policy of reserving for credit losses based on our best estimate of the amount of potential credit losses in existing accounts receivable. We periodically review our accounts receivable to determine whether an allowance is necessary based on an analysis of past due accounts and other factors that may indicate that the realization of an account may be in doubt. Account balances deemed to be uncollectible are charged to the allowance after all means of collection have been exhausted and the potential for recovery is considered remote.

 

Inventories

 

Inventories are valued at the lower of cost or net realizable value using the first-in, first-out (FIFO) method. Inventories consist primarily of finished goods. We expense costs to maintain certification to cost of goods sold as incurred.

We review inventory on an ongoing basis, considering factors such as deterioration and obsolescence. We record an allowance for estimated losses when the facts and circumstances indicate that particular inventories may not be usable.

 

Long-Lived Assets Including Acquired Intangible Assets

 

We assess long-lived assets for potential impairments at the end of each year, or during the year if an event or other circumstance indicates that we may not be able to recover the carrying amount of the asset. In evaluating long-lived assets for impairment, we measure recoverability of these assets by comparing the carrying amounts to the future undiscounted cash flows the assets are expected to generate. If our long-lived assets are considered to be impaired, the impairment to be recognized equals the amount by which the carrying value of the asset exceeds its fair market value. We base the calculations of the estimated fair value of our long-lived assets on the income approach. For the income approach, we use an internally developed discounted cash flow model that includes, among others, the following assumptions: projections of revenues and expenses and related cash flows based on assumed long-term growth rates and demand trends; expected future investments to grow new units; and estimated discount rates. We base these assumptions on our historical data and experience, industry projections, micro and macro general economic condition projections, and our expectations. We had no long-lived asset impairment charges for the years ended December 31, 2023 and 2022.

 

Recently issued accounting pronouncements not yet adopted

 

In November 2023, the Financial Accounting Standards Board (“FASB”) issued ASU No. 2023-07, Improvements to Reportable Segment Disclosures (Topic 280). This ASU updates reportable segment disclosure requirements by requiring disclosures of significant reportable segment expenses that are regularly provided to the Chief Operating Decision Maker (“CODM”) and included within each reported measure of a segment’s profit or loss. This ASU also requires disclosure of the title and position of the individual identified as the CODM and an explanation of how the CODM uses the reported measures of a segment’s profit or loss in assessing segment performance and deciding how to allocate resources. The ASU is effective for annual periods beginning after December 15, 2023, and interim periods within fiscal years beginning after December 15, 2024. Adoption of the ASU should be applied retrospectively to all prior periods presented in the financial statements. Early adoption is also permitted. This ASU will likely result in us including the additional required disclosures when adopted. We are currently evaluating the provisions of this ASU and expect to adopt them for the year ending December 31, 2024.

 

 
43

Table of Contents

 

In December 2023, the FASB issued ASU No. 2023-09, Improvements to Income Tax Disclosures (Topic 740). The ASU requires disaggregated information about a reporting entity’s effective tax rate reconciliation as well as additional information on income taxes paid. The ASU is effective on a prospective basis for annual periods beginning after December 15, 2024. Early adoption is also permitted for annual financial statements that have not yet been issued or made available for issuance. This ASU will result in the required additional disclosures being included in our consolidated financial statements, once adopted.

 

Recently adopted accounting pronouncements

 

In March 2022, the FASB issued ASU 2022-02, Troubled Debt Restructurings and Vintage Disclosures. This ASU eliminates the accounting guidance for troubled debt restructurings by creditors that have adopted ASU 2016-13, Measurement of Credit Losses on Financial Instruments, which we adopted on January 1, 2020. This ASU also enhances the disclosure requirements for certain loan refinancing and restructurings by creditors when a borrower is experiencing financial difficulty. In addition, the ASU amends the guidance on vintage disclosures to require entities to disclose current period gross write-offs by year of origination for financing receivables and net investments in leases within the scope of ASC 326-20. The ASU is effective for annual periods beginning after December 15, 2022, including interim periods within those fiscal years. We adopted the ASU prospectively on January 1, 2023. This ASU did not have a material impact on our consolidated financial statements.

 

In October 2021, the FASB issued ASU No. 2021-08, Accounting for Contract Assets and Contract Liabilities from Contracts with Customers (Topic 805). This ASU requires an acquirer in a business combination to recognize and measure contract assets and contract liabilities (deferred revenue) from acquired contracts using the revenue recognition guidance in Topic 606. At the acquisition date, the acquirer applies the revenue model as if it had originated the acquired contracts. The ASU is effective for annual periods beginning after December 15, 2022, including interim periods within those fiscal years. We adopted this ASU prospectively on January 1, 2023. This ASU did not have a material impact on our consolidated financial statements.

 

In August 2020, the FASB issued ASU No. 2020-06, Debt—Debt with Conversion and Other Options (Subtopic 470-20) and Derivatives and Hedging—Contracts in Entity’s Own Equity (Subtopic 815-40): Accounting for Convertible Instruments and Contracts in an Entity’s Own Equity. ASU 2020-06 was issued to reduce the complexity associated with accounting for certain financial instruments with characteristics of liabilities and equity. ASU 2020-06 reduces the number of accounting models for convertible debt instruments and convertible preferred stock and improves the disclosures for convertible instruments and related earnings per share guidance. ASU 2020-06 also amends the guidance for the derivatives scope exception for contracts in an entity’s own equity and improves and amends the related earnings per share guidance. For public entities that qualify as a filer with the SEC, excluding entities eligible to be smaller reporting companies, ASU 2020-06 is effective for fiscal annual periods beginning after December 15, 2021, including interim periods within those fiscal years. For nonpublic entities, ASU 2020-06 is effective for fiscal years beginning after December 15, 2023, including interim periods within those fiscal years. Early adoption was permitted, but no earlier than fiscal years beginning after December 15, 2020, including interim periods within those fiscal years. ASU 2020-06 must be adopted as of the beginning of a company’s annual fiscal year. ASU 2020-06 may be adopted through either a modified retrospective method of transition or a fully retrospective method of transition. The Company adopted ASU 2020-06 on January 1, 2021. The adoption did not have an impact on our consolidated financial statements.

 

In June 2016, the FASB issued ASU 2016-13, Financial Instruments-Credit Losses (“ASU 2016-13”), which provides new authoritative guidance with respect to the measurement of credit losses on financial instruments. This update changes the impairment model for most financial assets and certain other instruments by introducing a current expected credit loss (“CECL”) model. The CECL model is a more forward-looking approach based on expected losses rather than incurred losses, requiring entities to estimate and record losses expected over the remaining contractual life of an asset. ASU 2016-13 is effective for fiscal years beginning after December 15, 2022, including interim periods within those fiscal years for smaller reporting companies. The Company adopted ASU 2016-13 on January 1, 2023. The adoption did not have an impact on our consolidated financial statements.

 

Item 7A. QUANTITATIVE AND QUALITATIVE DISCLOSURES ABOUT MARKET RISK

 

Not applicable.

 

 
44

Table of Contents

 

Item 8. Financial STATEMENTS AND SUPPLEMENTARY DATA

 

The financial statements required by this item are included in Part IV, Item 15 of this Annual Report on Form 10-K, beginning on page F-1, and are incorporated by reference herein.

 

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

 

None.

 

Item 9A. Controls and Procedures

 

Evaluation of Disclosure Controls and Procedures

 

Our management conducted an evaluation of the effectiveness of our disclosure controls and procedures (as is defined in Rules 13a-15(e) and 15d-15(e) under the Exchange Act) as of the end of the period covered by this Annual Report on Form 10-K. Our disclosure controls and procedures are intended to ensure that the information we are required to disclose in the reports that we file or submit under the Exchange Act is (i) recorded, processed, summarized and reported within the time periods specified in the SEC’s rules and forms and (ii) accumulated and communicated to our management, including the Principal Executive Officer and Principal Financial Officer, to allow timely decisions regarding required disclosures.

 

Based on that evaluation, our Principal Executive Officer and Principal Financial Officer have concluded that, as of the end of the period covered by this Annual Report, our disclosure controls and procedures were designed, implemented and operating effectively. Our management has concluded that the financial statements included in this Annual Report on Form 10-K present fairly, in all material respects, our financial position, results of operations and cash flows for the periods presented in conformity with generally accepted accounting principles.

 

Our disclosure controls and procedures are designed to provide reasonable assurance of achieving the desired control objectives. Our management recognizes that any control system, no matter how well designed and operated, is based upon certain judgments and assumptions and cannot provide absolute assurance that its objectives will be met. In addition, the design of disclosure controls and procedures must reflect the fact that there are resource constraints and that management is required to apply judgment in evaluating the benefits of possible controls and procedures relative to their costs. Similarly, an evaluation of controls cannot provide absolute assurance that misstatements due to error or fraud will not occur or that all control issues and instances of fraud, if any, have been detected.

 

Management’s Annual Report on Internal Control Over Financial Reporting

 

Management is responsible for establishing and maintaining adequate internal control over our financial reporting (as defined in Rule 13a-15(f) and 15d-15(f) under the Exchange Act). Internal control over financial reporting is a process designed to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with accounting principles generally accepted in the United States. 

 

Our internal control over financial reporting includes those policies and procedures that (i) pertain to the maintenance of records that, in reasonable detail, accurately and fairly reflect the transactions and dispositions of our assets, (ii) provide reasonable assurance that transactions are recorded as necessary to permit preparation of financial statements in accordance with accounting principles generally accepted in the United States of America, and that our receipts and expenditures are being made only in accordance with authorizations of our management and directors, and (iii) 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.

 

Changes in Internal Control Over Financial Reporting

 

During our most recent fiscal quarter, there have been no changes in our internal control over financial reporting that have materially affected or are reasonably likely to materially affect our internal control over financial reporting.

 

 
45

Table of Contents

 

Item 9B. OTHER INFORMATION

 

During the three months ended December 31, 2023, no director or officer of the Company adopted or terminated a “Rule 10b5-1 trading arrangement” or “non-Rule 10b5-1 trading arrangement,” as each term is defined in Item 408(a) of Regulation S-K.

 

Item 9C. DISCLOSURE REGARDING FOREIGN JURISDICTIONS THAT PREVENT INSPECTIONS

 

Not applicable.

 

 
46

Table of Contents

 

PART III

 

Item 10. DIRECTORS, EXECUTIVE OFFICERS AND CORPORATE GOVERNANCE
 

Our directors and executive officers and their ages and positions as of March 7, 2023 are presented below.

 

Name

 

Age

 

Position

Halden S. Shane

 

79

 

Chief Executive Officer and Chairman of the Board

Elissa J. Shane

 

44

 

Chief Operating Officer and Director

Nick Jennings

 

46

 

Chief Financial Officer

Walter C. Johnsen

 

73

 

Director

Kelly J. Anderson

 

56

 

Director

Lim Boh Soon

 

68

 

Director

 

Halden S. Shane: Dr. Shane has been our Chief Executive Officer and Chairman of the Board since October 15, 2007, when we commenced our current operations. Dr. Shane also served as President and CEO of Tiger Management International, a private management company that deals in business management of private and public companies. Dr. Shane resigned all positions and closed Tiger Management International in 2009. Dr. Shane was founder and CEO of Integrated Healthcare Alliance, Inc. and also founder and General Partner of Doctors Hospital West Covina, California. Prior thereto, Dr. Shane practiced Podiatric Surgery specializing in ankle arthroscopy. Dr. Shane received his Bachelor of Science degree from the University of Miami in 1969, his Bachelor of Medical Science degree from California College of Podiatric Medicine in 1971, and his Doctor of Podiatric Medicine Degree from the California College of Podiatric Medicine in 1973. He is Board Certified by the American Board of Podiatric Surgery, American Board of Orthopedics, and the American Board of Quality Assurance and Review. Dr. Shane’s extensive expertise and business experience in the medical and finance industry, as well as his knowledge of our day-to-day operations and strategic initiatives provide our Board of Directors with valuable insights and in-depth understanding of our Company.

 

Elissa J. Shane: Ms. Shane has been our Chief Operating Officer since January 2018. On July 30, 2021, at the recommendation of the Nominating and Governance Committee, the Board appointed Ms. Elissa J. Shane to serve as a member of the Board. Previously, she served as our Chief Regulatory and Compliance Officer from September 2015 to December 2017 and as our Corporate Secretary in 2016. From January 2014 to September 2015, Ms. Shane received a B.A. in Psychology and Communications with a minor in Economics from the University of Southern California in 2001.

 

Nick Jennings: Mr. Jennings has been our Chief Financial Officer since October 2014. From July 2014 until his employment by the Company, Mr. Jennings was self-employed and provided consulting, accounting and tax compliance services to private-owned companies. From November 2006 until June 2014, Mr. Jennings was a senior manager at Richardson Kontogouris Emerson LLP, where he worked with various public and private companies providing services in a variety of business areas including tax compliance, tax consulting, general accounting, and business assurance. He is a graduate of Loyola Marymount College with a degree in accounting and is a member of the American Institute of Certified Public Accountants.

 

Walter C. Johnsen: Mr. Johnsen has been one of our directors since January 29, 2016. Since January 1, 2007, Mr. Johnsen has served as Chairman of the Board and Chief Executive Officer of Acme United Corporation, a leading worldwide supplier of innovative branded cutting, measuring and safety products in the school, home, office, hardware & industrial markets. From November 30, 1995 to December 31, 2006, he held the titles of President and Chief Executive Officer at Acme United. Mr. Johnsen previously served as Vice Chairman and a principal of Marshall Products, Inc., a medical supply distributor. Mr. Johnsen holds a Bachelor of Science in Chemical Engineering and a Master of Science in Chemical Engineering from Cornell University, and a Master of Business Administration from Columbia University. The Board concluded that Mr. Johnsen’s business and operations experience allows him to serve as one of our directors.

 

 
47

Table of Contents

 

Kelly J. Anderson: Ms. Anderson has been one of our directors since January 29, 2016. Ms. Anderson is the Chief Executive Officer of CXO Executive Solutions, LLC, a provider of executive services. Between 2015 and July 2020, Ms. Anderson served a partner in C Suite Financial Partners, a financial consulting services company dedicated to serving private, public, private equity, entrepreneurial, family office and government-owned firms in all industries. Ms. Anderson is an inactive California CPA and a 1989 graduate of the College of Business and Economics at California State University, Fullerton. The Board concluded that Ms. Anderson’s experience in finance qualifies her to serve as one of our directors.

 

Dr. Lim Boh Soon:  Dr. Lim Boh Soon:  Dr. Lim has served as a member of the Board since January 2018. Dr. Lim has more than 28 years of experience in the banking and finance industry. For more than the past five years, he has been a fellow of the Singapore Institute of Directors and is currently an independent non-executive director on the board of two publicly listed companies, one on the Singapore Stock Exchange and the other on Bursa Malaysia. Dr. Lim has served in various directorship roles throughout the past including with CSE Global Limited until April 2017, Across Asia Limited (Cayman Islands) until August 2017, and OUE Commercial REIT Management Private Limited until September 2019. In addition to his role with Tomi Environmental Solutions Inc., Dr. Lim holds current directorship positions with the following companies, Arise Asset Management Pte, Ltd., OUE Limited, VS Industry Berhad, TPT Corporation (Cayman Islands), Asri Asset Management Pte. Ltd., EpicQuant Pte. Ltd., QQ Fintech Pte. Ltd., and Kairos Asia Outreach. Further, Dr. Lim has worked in various senior management positions for several regional and multi-national organizations, including UBS Capital Asia Pacific Limited, The NatSteel Group, Rothschild Ventures Asia Limited and The Singapore Technologies Group. Dr. Lim was also a member of the Regional Investment Committee for UBS AG in Asia. Dr. Lim graduated with a First-Class Honors in Mechanical Engineering from The University of Strathclyde in the United Kingdom (formerly The Royal College of Science & Technology) in 1981 and obtained his Doctor of Philosophy in Mechanical Engineering from The University of Strathclyde in the United Kingdom in 1985. We believe that Dr. Lim’s experience as a director of public companies and in the finance industry qualifies him to serve on the Board.

 

Family Relationships

 

Ms. Elissa J. Shane, our Chief Operating Officer and Director, is the daughter of Dr. Halden Shane, our Chief Executive Officer and Chairman of the Board.

 

Board Composition

 

The Board currently consists of five directors divided into three classes, with each class holding office for a three-year term. Each director serves until his or her successor is duly elected and qualified, or until his or her earlier resignation or removal. Our Board is responsible for the business and affairs of our Company and considers various matters that require its approval. Our executive officers are appointed by our Board and serve at its discretion.  Each member of the Board attended at least 75% of the total meetings held by the Board.

 

Audit Committee

 

Our Audit Committee was established in June 2009 and currently is comprised of Ms. Anderson, Mr. Johnsen and Dr. Lim. Ms. Anderson serves as chairperson of the Audit Committee. The Board has determined that Ms. Anderson qualifies as an audit committee financial expert within the meaning of SEC regulations and meets Nasdaq’s financial sophistication requirements. In making this determination, the Board has considered Ms. Anderson’s extensive financial experience and business background.

 

 The Audit Committee operates under a written charter, which is available at http://investor.tomimist.com/corporate-governance/audit-committee-charter. The purpose of the Audit Committee is to assist the Board in monitoring the integrity of the annual, quarterly and other financial statements of the Company, the independent auditor’s qualifications and independence, the performance of the Company’s independent auditors and the compliance by the Company with legal and regulatory requirements. The Audit Committee also reviews and approves all related-party transactions. Our Board has determined that Ms. Anderson is an “audit committee financial expert” as defined by the regulations promulgated by the SEC.

 

 
48

Table of Contents

 

Code of Ethics

 

The Board adopted a Code of Ethics in 2008 that applies to, among other persons, Board members, officers (including our Chief Executive Officer), contractors, consultants and advisors. Our Code of Ethics, which is available at http://investor.tomimist.com/TOMZ/code_of_ethics/2139, along with any future amendments thereto, sets forth written standards designed to deter wrongdoing and to promote:

 

 

1.

honest and ethical conduct including the ethical handling of actual or apparent conflicts of interest between personal and professional relationships;

 

2.

full, fair, accurate, timely and understandable disclosure in reports and documents that we file with or submit to the SEC and in other public communications made by us;

 

3.

compliance with applicable governmental laws, rules and regulations;

 

4.

the prompt internal reporting of violations of the Code of Ethics to an appropriate person or persons identified in the Code of Ethics; and

 

5.

accountability for adherence to the Code of Ethics.

 

Item 11. EXECUTIVE COMPENSATION

 

Summary Compensation Table

 

The following table sets forth the total compensation paid to or earned by our named executive officers for the years ended December 31, 2023 and 2022, respectively:

 

Name and Principal Position

 

Year

 

Salary

($)

 

 

Bonus

($)

 

 

Stock

Awards

($) (1)

 

 

Option/

Warrant

Awards

($) (1)

 

 

All Other

Compensation

($)

 

 

Total

($)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Halden S. Shane

 

2023

 

 

605,000

 

 

 

-

 

 

 

-

 

 

 

75,635

 

 

 

9,000

 

 

 

689,635

 

Chairman and CEO (2)

 

2022

 

 

550,000

 

 

 

-

 

 

 

-

 

 

 

178,281

(3)

 

 

9,000

 

 

 

737,281

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Elissa J. Shane (4)

 

2023

 

 

326,700

 

 

 

-

 

 

 

-

 

 

 

37,817

 

 

 

12,000

 

 

 

376,517

 

COO

 

2022

 

 

297,000

 

 

 

-

 

 

 

-

 

 

 

59,427

(3)

 

 

13,500

 

 

 

369,927

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Nick Jennings (6)

 

2023

 

 

211,750

 

 

 

-

 

 

 

-

 

 

 

18,909

 

 

 

-

 

 

 

230,659

 

CFO

 

2022

 

 

192,500

 

 

 

-

 

 

 

-

 

 

 

41,340

(3)

 

 

-

 

 

 

233,840

 

 

 

(1)

The amounts shown in this column represent the aggregate grant date fair value of stock, option and/or warrant award, as applicable, granted during the year computed in accordance with FASB ASC Topic 718. See Note 2 of the notes to our audited consolidated financial statements contained in this Annual Report on Form 10-K for a discussion of valuation assumptions made in determining the grant date fair value of the awards.

 

 

 

 

(2)

During the year ended December 31, 2023, we issued an option to purchase 100,000 shares of common stock to our Chief Executive Officer at an exercise price of $0.85 per share pursuant to an employment agreement. The option was valued at $76,635 and has a contractual term of 10 years. We utilized the Black-Scholes model to fair value the option received by our Chief Executive Officer with the following assumptions: volatility, 139%; expected dividend yield, 0%; risk free interest rate, 3.59%; and an expected life of 10 years. The grant date fair value of each share of common stock underlying the option was $0.76. Please refer to Item 11 Employment Agreements for additional details of Dr. Shane’s annual compensation.

 

 

 

 

(3)

During the year ended December 31, 2022, we issued an option to purchase 172,500 shares of common stock to our Chief Executive Officer at an exercise price of $1.12 per share pursuant to an employment agreement. The option was valued at $178,281 and has a contractual term of 10 years. We utilized the Black-Scholes model to fair value the option received by our Chief Executive Officer with the following assumptions: volatility, 156%; expected dividend yield, 0%; risk free interest rate, 1.65%; and an expected life of 5 years. The grant date fair value of each share of common stock underlying the option was $1.03.

 

 

 

 

(4)

During the year ended December 31, 2023, we issued an option to purchase 50,000 shares of common stock to our Chief Operating Officer at an exercise price of $0.85 per share pursuant to an employment agreement. The option was valued at $37,817 and has a contractual term of 10 years. We utilized the Black-Scholes model to fair value the option received by our Chief Executive Officer with the following assumptions: volatility, 139%; expected dividend yield, 0%; risk free interest rate, 3.59%; and an expected life of 10 years. The grant date fair value of each share of common stock underlying the option was $0.76. The other compensation in the amount of $12,000 represents an auto allowance pursuant to Ms. Shane’s employment agreement. Please refer to Item 11 Employment Agreements for additional details of Ms. Shane’s annual compensation.

 

 

 

 

(5)

During the year ended December 31, 2022, we issued an option to purchase 57,500 shares of common stock to our Chief Operating Officer at an exercise price of $1.12 per share pursuant to an employment agreement. The option was valued at $59,427 and has a contractual term of 10 years. We utilized the Black-Scholes model to fair value the option received by our Chief Executive Officer with the following assumptions: volatility, 156%; expected dividend yield, 0%; risk free interest rate, 1.65%; and an expected life of 5 years. The grant date fair value of each share of common stock underlying the option was $1.03.

 

 

 

 

(6)

During the year ended December 31, 2023, we issued an option to purchase 25,000 shares of common stock to our Chief Financial Officer at an exercise price of $0.85 per share pursuant to an employment agreement. The option was valued at $18,909 and has a contractual term of 10 years. We utilized the Black-Scholes model to fair value the option received by our Chief Executive Officer with the following assumptions: volatility, 139%; expected dividend yield, 0%; risk free interest rate, 3.59%; and an expected life of 10 years. The grant date fair value of each share of common stock underlying the option was $0.76. Please refer to Item 11 Employment Agreement for additional details of Mr. Jennings’ annual compensation.

 

 

 

 

(7)

During the year ended December 31, 2022 we issued an option to purchase 40,000 shares of common stock to our Chief Financial Officer at an exercise price of $1.12 per share pursuant to an employment agreement. The option was valued at $41,340 and has a contractual term of 10 years. We utilized the Black-Scholes model to fair value the option received by our Chief Executive Officer with the following assumptions: volatility, 156%; expected dividend yield, 0%; risk free interest rate, 1.65%; and an expected life of 5 years. The grant date fair value of each share of common stock underlying the option was $1.03.

 

 
49

Table of Contents

 

Outstanding Equity Awards at 2023 Fiscal Year-End

 

The following table sets forth certain information with respect to outstanding options and warrants to purchase common stock previously awarded to our named executive officers as of December 31, 2023.

 

Name

 

Number of

Securities

Underlying

Unexercised

Warrants /

Options

Exercisable(1) (#)

 

 

Number of

Securities

Underlying

Unexercised

Warrants /

Options

Unexercisable

(#)

 

 

Equity

Incentive

Plan

Awards:

Number of

Securities

Underlying

Unexercised

Unearned

Warrants

(#)

 

 

Exercise

Price(1)

($)

 

 

Expiration

Date

 

Halden S. Shane

 

 

156,250(2)

 

 

 

 

 

 

 

$1.20

 

 

1/31/2025

 

 

 

 

12,500(3)

 

 

 

 

 

 

 

$4.00

 

 

4/24/2030

 

 

 

 

375,000(4)

 

 

 

 

 

 

 

$6.95

 

 

10/01/2030

 

 

 

 

172,500(5)

 

 

 

 

 

 

 

$1.12

 

 

1/1/2032

 

 

 

 

437,500(6)

 

 

 

 

 

 

 

$0.96

 

 

12/22/2032

 

 

 

 

31,250(7)

 

 

 

 

 

 

 

$0.64

 

 

11/19/2033

 

 

 

 

125,000(8)

 

 

 

 

 

 

 

$0.80

 

 

1/26/2034

 

 

 

 

100,000(9)

 

 

 

 

 

 

 

$0.86

 

 

1/26/2033

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Elissa J. Shane

 

 

31,250(10)

 

 

 

 

 

 

 

$0.88

 

 

1/03/2024

 

 

 

 

12,500(11)

 

 

 

 

 

 

 

$0.96

 

 

1/03/2025

 

 

 

 

18,750(12)

 

 

 

 

 

 

 

$0.80

 

 

1/15/2025

 

 

 

 

6,250(13)

 

 

 

 

 

 

 

$4.00

 

 

4/24/2030

 

 

 

 

31,250(14)

 

 

 

 

 

 

 

$7.06

 

 

10/1/2025

 

 

 

 

57,500(15)

 

 

 

 

 

 

 

$1.12

 

 

1/18/2032

 

 

 

 

50,000(16)

 

 

 

 

 

 

 

$0.86

 

 

1/26/2033

 

Nick Jennings

 

 

6,250(17)

 

 

 

 

 

 

 

$0.80

 

 

1/26/2023

 

 

 

 

6,250(18)

 

 

 

 

 

 

 

$4.00

 

 

4/24/2030

 

 

 

 

40,000(19)

 

 

 

 

 

 

 

$1.12

 

 

1/18/2032

 

 

 

 

25,000(20)

 

 

 

 

 

 

 

$0.86

 

 

1/26/2033

 

 

 

(1)

Reflects the 1-for-8 reverse stock split of our Common Stock and Series A Preferred Stock effected on September 10, 2020.

 

(2)

Warrants vested on January 31, 2020 and have a term of five years.

 

(3)

Warrants April 24, 2020 and have a term of ten years.

 

(4)

Warrants vested on October 01, 2020 and have a term of ten years.

 

(5)

Options vested on January 18, 2022 and have a term of ten years.

 

(6)

Warrants vested on December 22, 2017 and were modified to expire on December 22, 2032

 

(7)

Warrants vested on November 19, 2018 and were modified to expire on November 19, 2032.

 

(8)

Warrants vested on January 26, 2019 and where modified to expire on January 26, 2034.

 

(9)

Options vested on January 26, 2023 and have a term of ten years.

 

(10)

Options pursuant to the 2016 Plan vested on January 3, 2019 and have a term of five years.

 

(11)

Options pursuant to the 2016 Plan vested on January 3, 2020 and have a term of five years.

 

(12)

Options pursuant to the 2016 Plan vested on January 15, 2020 and have a term of five years.

 

(13)

Warrants vested on April 24, 2020 and have a term of ten years.

 

(14)

Options pursuant to the 2016 Plan vested on October 01, 2020 and have a term of five years.

 

(15)

Options vested on January 18, 2022 and have a term of ten years.

 

(16)

Options vested on January 26, 2023 and have a term of ten years.

 

(17)

Options pursuant to the 2016 Plan vested on January 26, 2018 and have a term of five years.

 

(18)

Warrants vested on April 24, 2020 and have a term of ten years.

 

(19)

Options vested on January 18, 2022 and have a term of ten years.

 

(20)

Options vested on January 26, 2023 and have a term of ten years.

 

Employment Agreements, Termination of Employment and Change-in-Control Arrangements

 

Except as described below, we currently have no employment agreements with any of our executive officers, nor any compensatory plans or arrangements resulting from the resignation, retirement or any other termination of any of our executive officers, from a change-in-control, or from a change in any executive officer’s responsibilities following a change-in-control.

 

 
50

Table of Contents

 

Employment Agreements

 

We have entered into employment agreements with each of the named executive officers and generally include the named executive officer’s initial base salary and an indication of equity compensation opportunities.

 

Halden S. Shane

 

On September 22, 2020, we entered into a three year employment agreement with Dr. Shane, effective October 1, 2020. The agreement provides for a base annual salary of $500,000. The agreement also provides for a signing bonus of 375,000 warrants. Dr. Shane is also entitled to a cash performance bonus and an annual issuance of an option to purchase 31,250 shares of common stock from the 2016 Plan at the discretion of the Board. The agreement also provides that we will reimburse Dr. Shane for the expenses associated with the use of an automobile up to $750 a month. The initial term of his employment agreement is three years, which may be automatically extended for successive one-year terms, unless either party provides the other with 120 days’ prior written notice of its intent to terminate the agreement.

 

In the event Dr. Shane is terminated as CEO as a result of a change in control, Dr. Shane will be entitled to a lump sum payment of two years’ salary at the time of such termination.

 

Elissa J. Shane

 

On October 1, 2020, we entered into an employment agreement with Elissa J. Shane, effective October 1, 2020. Pursuant to her employment agreement, Ms. Shane will receive an annual base salary of at least $270,000, subject to annual review and discretionary increase by the Compensation Committee of the Board. Ms. Shane is eligible to receive an annual cash bonus and other annual incentive compensation. The agreement originally provided for a grant of 93,750 warrants. Additionally, in connection with the execution of her employment agreement, on October 1, 2020, we issued Ms. Shane a warrant to purchase 93,750 shares of Common Stock at an exercise price of $6.17 per share. These provisions were subsequently amended to provide for the issuance to Ms. Shane of 31,250 options from the 2016 Equity Plan at the closing price of $7.06 on the date of grant in lieu of the warrant grant and the 93,750 warrants were cancelled. Ms. Shane acknowledged that the 31,250 options were in full consideration of the amount she was entitled to under the agreement. Her employment agreement also provides that we will reimburse Ms. Shane for reasonable and necessary business and entertainment expenses that she incurs in performing her duties. During the term of her employment, Ms. Shane will also be entitled to up to four weeks of paid vacation time annually, which will accrue up to six weeks, and to participate in our benefit plans and programs, including but not limited to all group health, life, disability and retirement plans. Ms. Shane is also entitled to the sum of $1,000 per month as a vehicle allowance. The initial term of her employment agreement is three years, which may be automatically extended for successive one-year terms, unless either party provides the other with 120 days’ prior written notice of its intent to terminate the agreement.

 

In the event Ms. Shane is terminated as COO as a result of a change in control, Ms. Shane will be entitled to a lump sum payment of one and a half years’ salary at the time of such termination.

 

Nick Jennings

 

On September 2, 2015, we entered into a new employment agreement with Mr. Jennings, which superseded his prior agreement, pursuant to which he continues to serve as our Chief Financial Officer. Mr. Jennings’ annual salary is $132,000, which is reviewed annually. On January 26, 2016, we issued Mr. Jennings a five-year warrant to purchase up to 12,500 shares of common stock at an exercise price of $4.40 per share. The agreement also provided for the issuance of an additional five-year warrant to purchase 12,500 shares of common stock in 2016, however, this provision was modified to grant a salary increase in lieu of the options. In October 2020, Mr. Jennings’ annual salary was increased to $175,000 per year. Mr. Jennings is also entitled to additional equity compensation based upon superior performance of his responsibilities, as determined by the Board in its sole discretion. The agreement also provides that we will reimburse Mr. Jennings for certain business and entertainment expenses. In the event of a change in control of the Company that results in his termination, Mr. Jennings will be entitled to a lump sum payment of one year’s salary and all equity awards will be accelerated and fully vested. In the event his employment is terminated other than for cause, Mr. Jennings will receive an amount equal to his annual salary as of such termination date after the second employment anniversary.

 

 
51

Table of Contents

 

Director Compensation

 

Each of our non-employee directors receives cash fees and stock as compensation for their service on the Board and the committees of the Board on which they are a member. The tables below set forth cash and stock compensation earned by each non-employee director during the fiscal year ended December 31, 2023.

 

Name

 

Fees earned or

paid in cash

($)

 

 

Stock awards

($)

 

 

Option awards

($)

 

 

Other Compensation

($)

 

 

Total

($)

 

Walter Johnsen (1)

 

 

48,000

 

 

 

17,000

 

 

 

 

 

 

 

 

 

65,000

 

Kelly Anderson (2)

 

 

54,600

 

 

 

17,000

 

 

 

 

 

 

 

 

 

71,600

 

Lim Boh Soon (3)

 

 

48,000

 

 

 

17,000

 

 

 

 

 

 

 

 

 

65,000

 

 

 

(1)

Mr. Johnsen was elected to the Board on January 29, 2016. The term of his agreement as director commenced on February 1, 2016 for up to two years and until a successor is elected, or resignation or removal. Mr. Johnsen was re-elected to the board for a 3-year term at our 2019 annual meeting. Our agreement with Mr. Johnsen provides for an annual fee in the amount of $48,000 paid on a quarterly basis and an annual grant of shares of common stock. In January 2023, we issued Mr. Johnsen 20,000 shares of common stock that were valued at $17,000.

 

 

 

 

(2)

Ms. Anderson was elected to the Board on January 29, 2016 and serves as the chairperson of our Audit Committee. The term of her agreement as director commenced on February 1, 2016 for up to two years and until a successor is elected, or resignation or removal. Ms. Anderson was re-elected to the board for a 3-year term at our 2019 annual meeting. Our agreement with Ms. Anderson provides for an annual fee in the amount of $54,600 paid on a quarterly basis and an annual grant of shares of common stock. In January 2023, we issued Ms. Anderson 20,000 shares of common stock that were valued at $17,000.

 

 

 

 

(3)

Mr. Lim was elected to the Board on January 29, 2018. The term of his agreement as director commenced on February 1, 2018 for up to three years unless re-elected or until a successor is elected, or resignation or removal. Mr. Lim was re-elected to the board for a 3-year term at our 2021 annual meeting. Our agreement with Mr. Lim provides for an annual fee in the amount of $48,000 paid on a quarterly basis and an annual grant of shares of common stock. In January 2022, we issued Mr. Lim 20,000 shares of common stock that were valued at $17,000.

 

 
52

Table of Contents

 

Item 12. SECURITY OWNERSHIP OF CERTAIN BENEFICIAL OWNERS AND MANAGEMENT AND RELATED STOCKHOLDER MATTERS

 

Equity Compensation Plan Information

 

We currently maintain one compensation plan: the 2016 Equity Incentive Plan (the “2016 Plan”). The 2016 Plan was approved by the Board on January 29, 2016 and received shareholder approval on July 7, 2017. The 2016 Plan authorized the issuance of 625,000 shares of common stock. On August 25, 2015, the Board terminated the 2008 Plan, which we had maintained previously and which our shareholders had approved. Accordingly, we will issue future awards under the 2016 Plan.

 

On December 30, 2020, we received shareholder approval to amend and restate the 2016 Plan to increase the maximum number of shares of common stock authorized from issuance by 1,375,000, from 625,000 shares to 2,000,000.

 

The following table provides information as of December 31, 2023 with respect to compensation plans under which our equity securities are authorized for issuance.

 

Plan Category

 

Number of securities to be issued upon exercise of outstanding options, warrants and rights(1)

 

 

Weighted-average exercise price of outstanding options, warrants and rights(1)

 

 

Number of securities remaining available for future issuance under equity compensation plans(1)

 

Equity compensation plans approved by security holders

 

 

617,542(2)

 

$1.09

 

 

 

1,037,708(4)

Equity compensation plans not approved by security holders

 

 

1,165,208(3)

 

$2.97

 

 

 

 

Total

 

 

1,782,750

 

 

$2.41

 

 

 

 

 

 

(1)

Reflects the 1-for-8 reverse stock split of our Common Stock and Series A Preferred Stock effected on September 10, 2020.

 

 

 

 

(2)

Prior to August 25, 2015, we granted awards under the 2008 Plan.

 

 

 

 

(3)

Represents shares of common stock issuable upon the exercise of warrants issued to executive officers, employees and consultants in exchange for services rendered.

 

 

 

 

(4)

On July 7, 2017, the 2016 Plan received shareholder approval, which permits the grant up to 625,000 shares of common stock. On December 30, 2020, we received shareholder approval to amend and restate the 2016 Plan to increase the maximum number of shares of common stock authorized from issuance by 1,375,000, from 625,000 shares to 2,000,000.

 

Security Ownership of Certain Beneficial Owners and Management

 

The following table sets forth certain information with respect to the beneficial ownership of our common stock and Series A preferred stock (together, “Voting Stock”) as of March 7, 2024 for:

 

 

·

each person (or group of affiliated persons) known by us to be the beneficial owner of more than 5% of our outstanding shares of common stock or Series A preferred stock;

 

·

each of our directors and nominees for election to the Board;

 

·

each of the executive officers named in the summary compensation table; and

 

·

all of our directors and executive officers as a group.

 

We have determined beneficial ownership in accordance with the rules of the SEC. Except as indicated by the footnotes below, we believe, based on the information furnished to us, that the persons and entities named in the following table have sole voting and investment power with respect to all shares of Voting Stock that they beneficially own, subject to applicable community property laws.

 

 
53

Table of Contents

 

Applicable percentage ownership is based on 19,955,205 shares of common stock and 63,750 shares of Series A preferred stock outstanding at March 7, 2024. In computing the number of shares of Voting Stock beneficially owned by a person and the percentage ownership of that person, we deemed to be outstanding all shares of Voting Stock subject to options, warrants or other convertible securities held by that person or entity that are currently exercisable or releasable or that will become exercisable or releasable within 60 days of March 7, 2024. We did not deem these shares outstanding, however, for the purpose of computing the percentage ownership of any other person. Except as otherwise noted, the address of each person or entity in the following table is c/o TOMI Environmental Solutions, Inc., 8430 Spires Way., Suite N, Frederick, MD 21701.

 

 

 

 

 

 

 

 

 

Shares Beneficially Owned

 

 

 

 

 

 

Common Stock

 

 

Series A Preferred Stock

 

 

% of Total Voting

 

Name of Beneficial Owner

 

Shares

 

 

% of Class

 

 

Shares

 

 

% of Class

 

 

Power(1) 

 

5% Shareholders:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Lau Sok Huy(2)

 

 

2,170,139

 

 

 

10.9%

 

 

 

 

 

 

 

 

10.8%

Named Executive Officers and Directors:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Halden S. Shane(1)(3)

 

 

4,152,664

 

 

 

19.1%

 

 

63,750

 

 

 

100.0%

 

 

19.3%

Elissa J. Shane(4)

 

 

475,164

 

 

 

2.2%

 

 

 

 

 

 

 

 

2.2%

Nick Jennings(5)

 

 

96,869

 

 

*

 

 

 

 

 

 

 

 

*

 

Walter Johnsen(6)

 

 

91,875

 

 

*

 

 

 

 

 

 

 

 

*

 

Kelly Anderson(7)

 

 

91,875

 

 

*

 

 

 

 

 

 

 

 

*

 

Lim Boh Soon(8)

 

 

143,774

 

 

*

 

 

 

 

 

 

 

 

*

 

Executive Officers and Directors as a Group (9)

 

 

5,052,220

 

 

 

23.2%

 

 

 

 

 

 

 

 

23.4%

 

*  Denotes ownership of less than 1%.

 

 

(1)

Percentage of total voting power represents voting power with respect to all shares of our Common Stock and Series A Preferred Stock, as a single class. The holders of Common Stock and Series A Preferred Stock are each entitled to one vote per share.

 

(2)

Based on Form 3 filed with the SEC by Lau Sok Huy on January 24, 2018.

 

(3)

Consists of: (i) 2,430,164 shares of Common Stock held of record by Dr. Shane; (ii) 187,500 shares of Common Stock held of record by the Shane Family Trust; (iii) 125,000 shares of Common Stock held of record by Belinha Shane; and (iv) 1,410,000 shares of Common Stock issuable upon the exercise of warrants and options to purchase Common Stock held by Dr. Shane that are exercisable or will become exercisable within 60 days of March 7, 2024. Dr. Shane is a co-trustee of the Shane Family Trust and may be deemed to share voting and investment power over the securities held by the trust. Belinha Shane is Dr. Shane’s wife. Dr. Shane disclaims ownership of such shares held by his wife, except to the extent of his pecuniary interest.

 

(4)

Consists of: (i) 267,664 shares of Common Stock held of record by Ms. Shane; and (ii) 207,500 shares of Common Stock issuable upon the exercise of warrants and options to purchase Common Stock held by Ms. Shane that are exercisable or will become exercisable within 60 days of March 7, 2024.

 

(5)

Consists of: (i) 26,519 shares of Common Stock held of record by Mr. Jennings; and (ii) 71,250 shares of Common Stock issuable upon the exercise of warrants and options to purchase Common Stock held by Mr. Jennings that are exercisable or will become exercisable within 60 days of March 7, 2024.

 

(6)

Consists of: (i) 88,750 shares of Common Stock held of record by Mr. Johnsen; and (ii) 3,125 shares of Common Stock issuable upon exercise of stock options that are exercisable or will become exercisable within 60 days of March 7, 2024.

 

(7)

Consists of: (i) 88,750 shares of Common Stock held of record by Ms. Anderson; and (ii) 3,125 shares of Common Stock issuable upon exercise of stock options that are exercisable or will become exercisable within 60 days of March 7, 2024.

 

(8)

Consists of 143,774 shares of Common Stock held of record by Dr. Lim.

 

(9)

Consists of: (i) 3,357,220 shares of Common Stock; (ii) 1,150,000 shares of Common Stock issuable upon the exercise of warrants to purchase Common Stock; and (iii) 545,000 shares of Common Stock issuable upon exercise of stock options that are exercisable or will become exercisable within 60 days of March 7, 2024.

 

 
54

Table of Contents

 

Item 13. CERTAIN RELATIONSHIPS AND RELATED TRANSACTIONS, AND DIRECTOR INDEPENDENCE

 

Transactions with Related Persons

 

None.

 

Independence of the Board

 

Based upon information submitted by Mr. Johnsen, Ms. Anderson, and Dr. Lim, the Board has determined that each of them is “independent” under Nasdaq corporate governance rules. Dr. Shane and Ms. Elissa Shane are not independent directors as they are employees of the Company. No director will be considered “independent” unless the Board affirmatively determines that the director has no direct or indirect material relationship with the Company.

 

Our Board has three separate standing committees: the Audit Committee, the Compensation Committee and the Nominating and Corporate Governance Committee.

 

We have made each of our committee charters available on our website at http://investor.tomimist.com/.

 

Item 14. PRINCIPAL ACCOUNTING FEES AND SERVICES

 

Accountant Fees

 

The following table presents the aggregate fees billed for audit and other services provided by our independent registered public accounting firm, Rosenberg Rich Baker Berman, P.A., during the 2023 and 2022 fiscal years:

 

 

 

For the Fiscal Years

Ended December 31,

 

 

 

2023

 

 

2022

 

Audit Fees (1)

 

$160,000

 

 

$150,000

 

Audit-Related Fees (2)

 

 

 

 

 

 

Tax Fees (3)

 

 

 

 

 

 

All Other Fees (4)

 

 

 

 

 

 

Total

 

$160,000

 

 

$150,000

 

 

 

(1)

Audit Fees: Audit fees represent the professional services rendered for the audit of our annual financial statements and the review of our financial statements included in quarterly reports, along with services normally provided by the accounting firm in connection with statutory and regulatory filings or engagements.

 

(2)

Audit-Related Fees: Audit-related fees represent professional services rendered for assurance and related services by Rosenberg Rich Baker Berman, P.A. that were reasonably related to the performance of the audit or review of our financial statements that are not reported under audit fees.

 

(3)

Tax Fees: Tax fees represent professional services rendered by the accounting firm for tax compliance, tax advice, and tax planning.

 

(4)

All Other Fees: All other fees represent fees billed for products and services provided by Rosenberg Rich Baker Berman, P.A other than the services reported for the other categories.

 

Pre-Approval Policies and Procedures of the Audit Committee

 

Consistent with the rules and regulations promulgated by the Securities and Exchange Commission, the Audit Committee approves the engagement of our independent registered public accounting firm and is also required to pre-approve all audit and non-audit expenses. All of the services described above were approved by the Audit Committee in accordance with its procedure. We do not otherwise rely on pre-approval policies and procedures.

 

 
55

Table of Contents

 

PART IV

 

Item 15. EXHIBITS AND FINANCIAL STATEMENT SCHEDULES

 

(a) Documents filed as part of this report:

 

(1) Financial Statements. See Index to Financial Statements and Schedule on page F-1.

 

(2) Schedules to Financial Statements. All financial statement schedules have been omitted because they are either inapplicable or the information required is provided in our consolidated financial statements and the related notes thereto, included in Part II, Item 8 of this Annual Report on Form 10-K.

 

(3) The exhibits listed on the accompanying Exhibit Index are filed (or incorporated by reference herein) as part of this Annual Report on Form 10-K.

 

 
56

Table of Contents

 

Item 16. FORM 10-K SUMMARY

 

None.

 

EXHIBIT INDEX

 

Exhibit Number

 

Description of Exhibit

 

Form

 

File No.

 

Date

 

Exhibit

 

Filed Herewith

3.1

 

Articles of Restatement of the Registrant, effective October 6, 2009

 

S-1

 

333-162356

 

10/6/09

 

3.1

 

 

3.2

 

Articles of Amendment of Articles of Incorporation of the Registrant, effective October 24, 2011

 

8-K

 

000-09908

 

11/07/11

 

3

 

 

3.3

 

Articles of Amendment of Articles of Incorporation of the Registrant, effective September 10, 2020

 

8-K

 

000-09908

 

9/14/20

 

3.1

 

 

3.4

 

Amended Bylaws of the Registrant, adopted effective November 2, 2007

 

10-Q

 

000-09908

 

5/16/16

 

3.2

 

 

3.5

 

Amendment to Amended Bylaws of the Registrant, adopted effective January 29, 2016

 

8-K

 

000-09908

 

2/1/16

 

3.2

 

 

4.1

 

Specimen certificate evidencing shares of common stock of the Registrant

 

S-3

 

333-249850

 

11/4/20

 

4.1

 

 

4.2

 

Description of Registrants Securities

 

10-K

 

001-39574

 

03/29/2022

 

4.2

 

 

4.3

 

Form of Warrant to Purchase Common Stock

 

10-Q

 

000-09908

 

05/17/21

 

4.1

 

4.4

 

Form of Non-Qualified Stock Option Agreement

 

10-Q

 

000-09908

 

05/17/21

 

4.2

 

4.5

 

Form of Common Stock Purchase Warrant

 

8-K

 

000-09908

 

09/26/21

 

4.1

 

4.6

 

Form of Placement Agent Warrant

 

8-K

 

000-09908

 

09/26/21

 

4.2

 

4.7

 

Form of TOMI Environmental Solutions, Inc. 12% Convertible Note

 

8-K

 

001-39574

 

11/07/2023

 

10.2

 

10.1+

 

Amended and Restated 2016 Equity Incentive Plan, as adopted by the Registrant’s stockholders on December 30, 2020

 

DEF 14A

 

001-39574

 

12/2/20

 

Appendix A

 

 

10.2+

 

Offer Letter, dated January 15, 2016, by and between the Registrant and Dr. Halden Shane

 

10-Q

 

000-09908

 

5/16/16

 

10.1

 

 

10.3+

 

Offer Letter, dated September 2, 2015, by and between the Registrant and Nick Jennings

 

10-Q

 

000-09908

 

5/16/16

 

10.3

 

 

10.4+

 

Form of Appointment to the Board of Directors as Independent Director of the Registrant

 

10-Q

 

000-09908

 

5/16/16

 

10.5

 

 

10.5

 

Restated Manufacturing and Development Agreement, dated November 10, 2016, by and between the Registrant and RG Group

 

10-Q

 

000-09908

 

9/30/16

 

10.1

 

 

10.6+

 

Employment Agreement, entered into as of January 5, 2018, by and between the Registrant and Elissa J. Shane, effective as of January 1, 2018

 

8-K

 

000-09908

 

1/8/18

 

10.1

 

 

10.7+

 

Amendment to Executive Employment Agreement

 

 

 

 

 

 

 

 

 

 

10.8

 

Form of Securities Purchase Agreement dated as of September 26, 2021, between the Registrant and the purchasers named therein

 

8-K

 

000-09908

 

09/26/21

 

10.1

 

 

10.9

 

Form of Securities Purchase Agreement, dated as of November 7, 2023, between TOMI Environmental Solutions, Inc. and the purchasers named therein

 

8-K

 

001-39574

 

11/07/2023

 

10.1

 

 

10.10

 

Form of Registration Rights Agreement, dated as of November 7, 2023, between TOMI Environmental Solutions, Inc. and the purchasers named therein

 

8-K

 

001-39574

 

11/07/2023

 

10.3

 

 

14.1

 

Code of Ethics

 

10-K

 

000-09908

 

3/31/09

 

14

 

 

21.1

 

Subsidiaries of the Registrant

 

 

 

 

 

 

 

 

 

X

24.1

 

Power of Attorney (included in signature page)

 

 

 

 

 

 

 

 

 

X

31.1

 

Certification of Chief Executive Officer pursuant to Rule 13a-14(a) or Rule 15d-14(a) of the Securities Exchange Act of 1934, as amended, as adopted pursuant to Section 302 of the Sarbanes-Oxley Act of 2002

 

 

 

 

 

 

 

 

 

X

31.2

 

Certification of Chief Financial Officer pursuant to Rule 13a-14(a) or Rule 15d-14(a) of the Securities Exchange Act of 1934, as amended, as adopted pursuant to Section 302 of the Sarbanes-Oxley Act of 2002

 

 

 

 

 

 

 

 

 

X

32.1#

 

Certifications of Chief Executive Officer and Chief Financial Officer pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002

 

 

 

 

 

 

 

 

 

X

101.INS

 

XBRL Instance Document

 

 

 

 

 

 

 

 

 

X

101.SCH

 

XBRL Taxonomy Extension Schema

 

 

 

 

 

 

 

 

 

X

101.CAL

 

XBRL Taxonomy Extension Calculation Linkbase

 

 

 

 

 

 

 

 

 

X

101.DEF

 

XBRL Taxonomy Extension Definition Linkbase

 

 

 

 

 

 

 

 

 

X

101.LAB

 

XBRL Taxonomy Extension Label Linkbase

 

 

 

 

 

 

 

 

 

X

101.PRE

 

XBRL Taxonomy Extension Presentation Linkbase

 

 

 

 

 

 

 

 

 

X

104

 

Cover Page Interactive Data File

 

 

 

 

 

 

 

 

 

X

 

+

Indicates a management contract or compensatory plan.

 

 

#

The information in Exhibit 32.1 shall not be deemed “filed” for purposes of Section 18 of the Securities Exchange Act of 1934, as amended, or the Exchange Act, or otherwise subject to the liabilities of that section, nor shall they be deemed incorporated by reference in any filing under the Securities Act of 1933, as amended, or the Exchange Act (including this report), unless the Registrant specifically incorporates the foregoing information into those documents by reference.

 

 
57

Table of Contents

 

SIGNATURES

 

Pursuant to the requirements of Section 13 or 15(d) of the Securities Exchange Act of 1934, the registrant has duly caused this report to be signed on its behalf by the undersigned, thereunto duly authorized.

 

DATED:  April 1, 2024

 

TOMI ENVIRONMENTAL SOLUTIONS, INC.

 

 

 

 

 

/s/    HALDEN S. SHANE

 

 

 

Halden S Shane

Chairman of the Board and Chief Executive Officer

(Principal Executive Officer)

 

 

POWER OF ATTORNEY

 

The undersigned directors and officers of TOMI Environmental Solutions, Inc. constitute and appoint Halden S. Shane and Nick Jennings, or either of them, as their true and lawful attorney and agent with power of substitution, to do any and all acts and things in our name and behalf in our capacities as directors and officers and to execute any and all instruments for us and in our names in the capacities indicated below, which said attorney and agent may deem necessary or advisable to enable said corporation to comply with the Securities Exchange Act of 1934, as amended, and any rules, regulations and requirements of the Securities and Exchange Commission, in connection with this Annual Report on Form 10-K, including specifically but without limitation, power and authority to sign for us or any of us in our names in the capacities indicated below, any and all amendments hereto; and we do hereby ratify and confirm all that said attorney and agent shall do or cause to be done by virtue hereof. Pursuant to the requirements of the Securities Exchange Act of 1934, this report has been signed below by the following persons on behalf of the registrant and in the capacities and on the dates indicated.

 

Signature

 

Title 

 

Date 

 

 

 

 

 

/s/ HALDEN S. SHANE

 

 Chairman of the Board and Chief Executive Officer (Principal Executive Officer)

 

April 1, 2024

Halden S. Shane

 

 

 

 

 

 

 

 

 

/s/ NICK JENNINGS

 

Chief Financial Officer (Principal Financial Officer and Principal Accounting Officer)

 

April 1, 2024

Nick Jennings

 

 

 

 

 

 

 

 

 

/s/ ELISSA J. SHANE

 

    Director

 

April 1, 2024

Elissa J. Shane

 

 

 

 

 

/s/ WALTER C. JOHNSEN

 

    Director

 

April 1, 2024

Walter C. Johnsen

 

 

 

 

 

/s/ KELLY J. ANDERSON

 

    Director

 

April 1, 2024

Kelly J. Anderson

 

 

 

 

 

/s/ LIM BOH SOON

 

    Director

 

April 1, 2024

Lim Boh Soon

 

 

 

 

 

 
58

Table of Contents

   

TOMI ENVIRONMENTAL SOLUTIONS, INC. 

INDEX TO CONSOLIDATED FINANCIAL STATEMENTS

 

 

 

Page

 

Report of Independent Registered Public Accounting Firms [PCAOB No. 89].

 

F-2

 

Consolidated Balance Sheets as of December 31, 2023 and 2022

 

F-4

 

Consolidated Statements of Operations for the Years Ended December 31, 2023 and 2022

 

F-5

 

Consolidated Statements of Shareholders’ Equity for the Years Ended December 31, 2023 and 2022

 

F-6

 

Consolidated Statements of Cash Flows for the Years Ended December 31, 2023 and 2022

 

F-7

 

Notes to Consolidated Financial Statements

 

F-9

 

 

 
F-1

Table of Contents

  

REPORT OF INDEPENDENT REGISTERED PUBLIC ACCOUNTING FIRM

 

To the Board of Directors and

Stockholders of TOMI Environmental Solutions, Inc.

 

Opinion on the Financial Statements

 

We have audited the accompanying consolidated balance sheets of TOMI Environmental Solutions, Inc. (the Company) as of years ended December 31, 2023 and 2022, and the related consolidated statements of operations, shareholders’ equity, and cash flows for each of the years in the two-year period ended December 31, 2023 and 2022, and the related notes (collectively referred to as the financial statements). In our opinion, the financial statements present fairly, in all material respects, the financial position of the Company as of December 31, 2023 and 2022, and the results of its operations and its cash flows for each of the years in the two-year period ended December 31, 2023, in conformity with accounting principles generally accepted in the United States of America.

 

Basis for Opinion

 

These financial statements are the responsibility of the Company’s management. Our responsibility is to express an opinion on the Company’s financial statements based on our audits. We are a public accounting firm registered with the 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 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 financial statements, whether due to error or fraud, and performing procedures that respond to those risks. Such procedures included examining, on a test basis, evidence regarding the amounts and disclosures in the financial statements. Our audits also included evaluating the accounting principles used and significant estimates made by management, as well as evaluating the overall presentation of the financial statements. We believe that our audits provide a reasonable basis for our opinion.

 

Critical Audit Matters

 

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

 

Allowance for credit losses

 

As described further in Note 2 to the consolidated financial statements, the Company maintains an allowance for credit losses against its accounts receivable balances based on the future estimated credit losses. As of December 31, 2023, the allowance for credit losses was $1.5 million, or 36% of total accounts receivable. This estimate is determined based on internally developed qualitative and quantitative factors derived from the aging of receivables, the Company’s past collection history with customers, forward looking information and economic trends and conditions. We identified the estimates used to determine the allowance for doubtful accounts as a critical audit matter.

 

We have identified the evaluation of the Company’s estimation of allowance for doubtful accounts as a critical audit matter. There is an established policy for determining overall allowance for doubtful accounts with specific judgement in place for certain account balances that require additional evaluation and assessment which are used in estimating losses related to customer receivables. There is also a high degree of subjectivity in management's assessment of the completeness and accuracy of the allowance for credit losses, specifically the portion of the receivable expected to be collected, which requires a heightened level of auditor judgement in auditing the estimate.

 

 
F-2

Table of Contents

 

Our audit procedures related to the allowance for doubtful accounts included:

 

·

Testing the mathematical accuracy of management’s allowance for doubtful accounts calculation as of December 31, 2023 by recalculating and independently applying the policy to each risk pool, as well as recalculating the aging of receivables based on underlying source documentation.

 

 

·

Recomputing current and historical collection rates for customer receivable balances and comparing the historical loss rates against the current period estimated loss rates within the respective risk pools, and performing a retrospective analysis of the subsequent collections on customer receivables with certain risk characteristics.

 

 

·

Evaluating the reasonableness of management’s qualitative adjustments against the allowance for credit losses by obtaining corroborating evidence which supports the adjustments and assumptions made by management in determining the allowance.

 

Inventory – Valuation associated with excess and obsolete (E&O) inventory

 

As further described in Note 2 to the consolidated financial statements, inventory is stated at the lower of cost or net realizable value. At the balance sheet date, the Company evaluated inventories for excess quantities and obsolescence and included an inventory reserve against its inventory balances. As of December 31, 2023, the inventory reserve was approximately $0.1 million, or 3% of total inventory. To estimate the amount of inventory that may be in excess or obsolete, the Company reviews inventory quantities on hand as well as historical and projected distribution levels. The Company’s model assumes that inventory will be distributed on a first-in-first-out basis. Due to the nature of the inventory and the levels of inventory purchased in prior years, estimating the amount of inventory that is in excess or potentially obsolete involves significant judgments and estimates.

 

Given the significant judgments associated with evaluating the valuation of E&O inventory, auditing the reasonableness of management’s estimates and assumptions involved especially subjective judgment and an increased extent of effort, therefore we identified the estimates used to determine the valuation of the E&O inventory as a critical audit matter.

 

Our audit procedures related to the Company’s valuation of E&O inventory included the following:

 

·

Evaluating the design and implementation of controls over the E&O inventory valuation.

 

 

·

Evaluating management’s future projections by comparing the historical sales.

 

 

·

Obtaining the Company’s E&O calculation and testing the mathematical accuracy.

 

 

·

Assessing the reasonableness of the assumptions used in the E&O calculation by developing an independent expectation and comparing our independent expectation to the results of the Company’s calculation.

 

 

·

Inquiring of the Company’s employees outside of the accounting department and evaluating other areas of the audit to identify business, product, or industry changes that may impact the inputs in the inventory E&O calculation.

 

/s/ Rosenberg Rich Baker Berman, P.A.

 

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

Somerset, New Jersey

 

April 1, 2024 

 

 
F-3

Table of Contents

 

TOMI ENVIRONMENTAL SOLUTIONS, INC.

CONSOLIDATED BALANCE SHEETS

 

 

 

December 31, 2023

 

 

December 31, 2022

 

ASSETS

 

 

 

 

 

 

Current Assets:

 

 

 

 

 

 

Cash and Cash Equivalents

 

$2,339,059

 

 

$3,866,733

 

Accounts Receivable - net

 

 

2,429,929

 

 

 

2,772,340

 

Other Receivables

 

 

164,150

 

 

 

164,150

 

Inventories (Note 3)

 

 

4,627,103

 

 

 

4,495,999

 

Vendor Deposits (Note 4)

 

 

29,335

 

 

 

447,052

 

Prepaid Expenses

 

 

371,298

 

 

 

388,359

 

Total Current Assets

 

 

9,960,874

 

 

 

12,134,633

 

 

 

 

 

 

 

 

 

 

Property and Equipment – net (Note 5)

 

 

1,048,642

 

 

 

1,335,331

 

 

 

 

 

 

 

 

 

 

Other Assets:

 

 

 

 

 

 

 

 

Intangible Assets – net (Note 6)

 

 

1,123,246

 

 

 

1,025,736

 

Operating Lease - Right of Use Asset (Note - 7)

 

 

467,935

 

 

 

528,996

 

Long Term Accounts Receivable - net

 

 

206,240

 

 

 

-

 

Other Assets

 

 

550,677

 

 

 

475,103

 

Total Other Assets

 

 

2,348,098

 

 

 

2,029,835

 

Total Assets

 

$13,357,614

 

 

$15,499,799

 

 

 

 

 

 

 

 

 

 

LIABILITIES AND SHAREHOLDERS’ EQUITY

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Current Liabilities:

 

 

 

 

 

 

 

 

Accounts Payable

 

$1,267,029

 

 

$1,761,750

 

Accrued Expenses and Other Current Liabilities (Note 14)

 

 

675,491

 

 

 

728,703

 

Deferred Revenue

 

 

-

 

 

 

699,732

 

Current Portion of Long-Term Operating Lease (Note 7)

 

 

115,658

 

 

 

100,282

 

Total Current Liabilities

 

 

2,058,178

 

 

 

3,290,467

 

 

 

 

 

 

 

 

 

 

Long-Term Liabilities:

 

 

 

 

 

 

 

 

Long-Term Operating Lease, Net of Current Portion (Note 7)

 

 

642,527

 

 

 

761,132

 

Convertible Notes Payable, net of discount of $301,985 and $0 at December 31, 2023 and 2022, respectively (Note 10)

 

 

2,298,015

 

 

 

-

 

Total Long-Term Liabilities

 

 

2,940,542

 

 

 

761,132

 

Total Liabilities

 

 

4,998,720

 

 

 

4,051,599

 

 

 

 

 

 

 

 

 

 

Commitments and Contingencies (Note 12)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Shareholders’ Equity:

 

 

 

 

 

 

 

 

Cumulative Convertible Series A Preferred Stock; par value $0.01 per share, 1,000,000 shares authorized; 63,750 shares issued and outstanding at December 31, 2023 and 2022, respectively

 

 

638

 

 

 

638

 

Cumulative Convertible Series B Preferred Stock; $1,000 stated value; 7.5% Cumulative dividend; 4,000 shares authorized; none issued and outstanding at December 31, 2023 and 2022, respectively

 

 

-

 

 

 

-

 

Common stock; par value $0.01 per share, 250,000,000 shares authorized; 19,923,955 and 19,763,955 shares issued and outstanding at December 31, 2023 and 2022, respectively

 

 

199,240

 

 

 

197,640

 

Additional Paid-In Capital

 

 

57,985,245

 

 

 

57,673,559

 

Accumulated Deficit

 

 

(49,826,229)

 

 

(46,423,637)

Total Shareholders’ Equity

 

 

8,358,894

 

 

 

11,448,200

 

Total Liabilities and Shareholders’ Equity

 

$13,357,614

 

 

$15,499,799

 

 

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

 

 
F-4

Table of Contents

 

TOMI ENVIRONMENTAL SOLUTIONS, INC.

CONSOLIDATED STATEMENTS OF OPERATIONS

 

 

 

For The Years Ended

 

 

 

December 31,

 

 

 

2023

 

 

2022

 

 

 

 

 

 

 

 

Sales, net

 

$7,354,564

 

 

$8,338,099

 

Cost of Sales

 

 

3,065,028

 

 

 

3,277,644

 

Gross Profit

 

 

4,289,536

 

 

 

5,060,455

 

 

 

 

 

 

 

 

 

 

Operating Expenses:

 

 

 

 

 

 

 

 

Professional Fees

 

 

575,728

 

 

 

536,311

 

Depreciation and Amortization

 

 

366,677

 

 

 

329,164

 

Selling Expenses

 

 

1,351,465

 

 

 

1,867,013

 

Research and Development

 

 

491,798

 

 

 

352,238

 

Consulting Fees

 

 

282,548

 

 

 

215,180

 

General and Administrative

 

 

4,570,597

 

 

 

4,642,548

 

Total Operating Expenses

 

 

7,638,813

 

 

 

7,942,454

 

Income (loss) from Operations

 

 

(3,349,277)

 

 

(2,881,999)

 

 

 

 

 

 

 

 

 

Other Income (Expense):

 

 

 

 

 

 

 

 

Interest Income

 

 

11,990

 

 

 

1,939

 

Interest Expense

 

 

(63,305)

 

 

-

 

Total Other Income (Expense)

 

 

(53,315)

 

 

1,939

 

 

 

 

 

 

 

 

 

 

Income (loss) before income taxes

 

 

(3,402,592)

 

 

(2,880,060)

Provision for Income Taxes (Note 16)

 

 

-

 

 

 

-

 

Net Income (loss)

 

$(3,402,592)

 

$(2,880,060)

 

 

 

 

 

 

 

 

 

Net income (loss) Per Common Share

 

 

 

 

 

 

 

 

Basic

 

$(0.17)

 

$(0.15)

Diluted

 

$(0.17)

 

$(0.15)

 

 

 

 

 

 

 

 

 

Basic Weighted Average Common Shares Outstanding

 

 

19,834,476

 

 

 

19,743,544

 

Diluted Weighted Average Common Shares Outstanding

 

 

19,834,476

 

 

 

19,743,544

 

      

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

 

 
F-5

Table of Contents

 

TOMI ENVIRONMENTAL SOLUTIONS, INC. 

CONSOLIDATED STATEMENTS OF SHAREHOLDERS’ EQUITY

FOR THE YEARS ENDED DECEMBER 31, 2023 AND 2022 

 

 

 

Series A Preferred

 

 

Common Stock

 

 

Additional Paid

 

 

Accumulated

 

 

Total Shareholders’

 

 

 

Shares

 

 

Amount

 

 

Shares

 

 

Amount

 

 

in Capital

 

 

Deficit

 

 

Equity

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Balance at January 1, 2022

 

 

63,750

 

 

 

638

 

 

 

19,680,955

 

 

 

196,809

 

 

$56,941,209

 

 

$(43,543,577)

 

$13,595,080

 

Equity Compensation

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

653,843

 

 

 

 

 

 

 

653,843

 

Common Stock Issued for Services Provided

 

 

 

 

 

 

 

 

 

 

51,750

 

 

 

518

 

 

 

53,820

 

 

 

 

 

 

 

54,338

 

Warrants and Options Exercised

 

 

 

 

 

 

 

 

 

 

31,250

 

 

 

313

 

 

 

24,687

 

 

 

 

 

 

 

25,000

 

Net  (Loss) for the year ended December 31, 2022

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(2,880,060)

 

 

(2,880,060)

Balance at December 31, 2022

 

 

63,750

 

 

$638

 

 

 

19,763,955

 

 

$197,640

 

 

$57,673,559

 

 

$(46,423,637)

 

$11,448,200

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Equity Compensation

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

163,286

 

 

 

 

 

 

 

163,286

 

Common Stock Issued for Services Provided

 

 

 

 

 

 

 

 

 

 

160,000

 

 

 

1,600

 

 

 

148,400

 

 

 

 

 

 

 

150,000

 

Net  (Loss) for the year ended December 31, 2023

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(3,402,592)

 

 

(3,402,592)

Balance at December 31, 2023

 

 

63,750

 

 

$638

 

 

 

19,923,955

 

 

$199,240

 

 

$57,985,245

 

 

$(49,826,229)

 

$8,358,894

 

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

 

 
F-6

Table of Contents

 

TOMI ENVIRONMENTAL SOLUTIONS, INC. 

 CONSOLIDATED STATEMENTS OF CASH FLOWS 

       

 

 

For the Years Ended December 31,

 

 

 

2023

 

 

2022

 

Cash Flow Used in Operating Activities:

 

 

 

 

 

 

Net Loss

 

$(3,402,592)

 

$(2,880,060)

Adjustments to Reconcile Net Loss to

 

 

 

 

 

 

 

 

Net Used In Operating Activities:

 

 

 

 

 

 

 

 

Depreciation and Amortization

 

 

366,677

 

 

 

329,164

 

Amortization of Right of Use Asset

 

 

157,315

 

 

 

157,315

 

Amortization of Software Costs

 

 

-

 

 

 

10,475

 

Amortization of Deferred Financing Costs

 

 

10,413

 

 

 

 

 

Equity Compensation Expense

 

 

163,286

 

 

 

653,843

 

Value of Equity Issued for Services

 

 

150,000

 

 

 

54,338

 

Reserve for Bad Debt

 

 

(183,653)

 

 

-

 

Inventory Reserve

 

 

-

 

 

 

95,000

 

Changes in Operating Assets and Liabilities:

 

 

 

 

 

 

 

 

Decrease (Increase) in:

 

 

 

 

 

 

 

 

Accounts Receivable

 

 

526,064

 

 

 

(807,564)

Inventory

 

 

(131,104)

 

 

152,281

 

Prepaid Expenses

 

 

17,061

 

 

 

(44,786)

Vendor Deposits

 

 

417,718

 

 

 

(158,466)

Other Receivables

 

 

-

 

 

 

71,754

 

Long Term Accounts Receivable

 

 

(206,240)

 

 

 

 

Other Assets

 

 

(75,574)

 

 

(177,474)

Increase (Decrease) in:

 

 

 

 

 

 

 

 

Accounts Payable

 

 

(494,721)

 

 

707,711

 

Accrued Expenses

 

 

(53,212)

 

 

64,095

 

Customer Deposits

 

 

(699,732)

 

 

693,732

 

Lease Liability

 

 

(160,291)

 

 

(155,622)

Net Cash Used in Operating Activities

 

 

(3,598,585)

 

 

(1,234,264)

 

 

 

 

 

 

 

 

 

Cash Flow From Investing Activities:

 

 

 

 

 

 

 

 

Capitalized Patent and Trademark Costs

 

 

(118,630)

 

 

(40,570)

Purchase of Property and Equipment

 

 

(98,060)

 

 

(200,876)

Net Cash Used in Investing Activities

 

 

(216,690)

 

 

(241,446)

  

 
F-7

Table of Contents

 

TOMI ENVIRONMENTAL SOLUTIONS, INC.  

 CONSOLIDATED STATEMENTS OF CASH FLOWS – CONTINUED  

 

 

 

For the Years Ended December 31,

 

 

 

2023

 

 

2022

 

Cash Flow From Financing Activities:

 

 

 

 

 

 

Proceeds from Issuance of Convertible Notes

 

 

2,287,601

 

 

 

-

 

Proceeds from Issuance of Stock and Warrants

 

 

-

 

 

 

25,000

 

Net Cash From Financing Activities:

 

 

2,287,601

 

 

 

25,000

 

Decrease In Cash and Cash Equivalents

 

 

(1,527,674)

 

 

(1,450,710)

Cash and Cash Equivalents - Beginning

 

 

3,866,733

 

 

 

5,317,443

 

Cash and Cash Equivalents – Ending

 

$2,339,059

 

 

$3,866,733

 

 

 

 

 

 

 

 

 

 

Supplemental Cash Flow Information:

 

 

 

 

 

 

 

 

Cash Paid For Interest

 

$-

 

 

$28,892

 

Cash Paid (Refunded) for Income Taxes

 

$-

 

 

$(72,086)

Non-Cash Investing and Financing Activities:

 

 

 

 

 

 

 

 

Patent and trademark costs reclassified from Other Assets

 

$-

 

 

$43,377

 

 

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

 

 
F-8

Table of Contents

  

TOMI ENVIRONMENTAL SOLUTIONS, INC.

NOTES TO CONSOLIDATED FINANCIAL STATEMENTS

 

NOTE 1. DESCRIPTION OF BUSINESS

 

TOMI Environmental Solutions, Inc., a Florida corporation (“TOMI”, the “Company”, “we”, “our” and “us”) is a global provider of disinfection and decontamination essentials through our premier Binary Ionization Technology® (BIT™) platform, under which we manufacture, license, service and sell our SteraMist® brand of products, including SteraMist® BIT™, a hydrogen peroxide-based mist and fog. Our solution and process are environmentally friendly as the only by-product from our decontamination process is oxygen and water in the form of humidity. Our solution is organically listed in the United States and Canada as a sustainably green product with no or very little carbon footprint. Our business is organized into five divisions: Life Sciences, Healthcare, TOMI Service Network, Food Safety and Commercial.

 

Invented under a defense grant in association with the Defense Advanced Research Projects Agency (“DARPA”) of the U.S. Department of Defense, BIT™ is registered with the U.S. Environmental Protection Agency (the “EPA”) and uses a low percentage hydrogen peroxide as its only active ingredient to produce a fog composed mostly of a hydroxyl radical (.OH ion), known as ionized Hydrogen Peroxide (iHP™). Represented by the SteraMist® brand of products, iHP™ produces a germ-killing aerosol that works like a visual non-caustic gas.

 

Our products are designed to service a broad spectrum of commercial structures, including, but not limited to, hospitals and medical facilities, bio-safety labs, pharmaceutical facilities, meat and produce processing facilities, universities and research facilities, vivarium labs, other service industries including cruise ships, office buildings, hotel and motel rooms, schools, restaurants, military barracks, police and fire departments, prisons, and athletic facilities. Our products are also used in single-family homes and multi-unit residences. Additionally, our products have been listed on the EPA’s List N as products that help combat COVID-19 and are actively being used for this purpose.

 

NOTE 2. SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES

 

Principles of Consolidation

 

The accompanying consolidated financial statements include the accounts of TOMI and its wholly owned subsidiary, TOMI Environmental Solutions, Inc., a Nevada corporation. All intercompany accounts and transactions have been eliminated in consolidation.

 

Reclassification of Accounts

 

Certain reclassifications have been made to prior-year comparative financial statements to conform to the current year presentation. These reclassifications had no material effect on previously reported results of operations or financial position.

 

Use of Estimates

 

The preparation of the consolidated financial statements in conformity with GAAP requires us to make estimates and assumptions that affect the amounts reported and disclosed in the accompanying consolidated financial statements and the accompanying notes. Actual results could differ materially from these estimates. On an ongoing basis, we evaluate our estimates, including those related to accounts receivable, inventory, fair values of financial instruments, intangible assets, useful lives of intangible assets and property and equipment, fair values of stock-based awards, income taxes, and contingent liabilities, among others. We base our estimates on historical experience and on various other assumptions that are believed to be reasonable, the results of which form the basis for making judgments about the carrying values of our assets and liabilities.

 

Fair Value Measurements

 

The authoritative guidance for fair value measurements defines fair value as the exchange price that would be received for an asset or paid to transfer a liability (an exit price) in the principal or the most advantageous market for the asset or liability in an orderly transaction between market participants on the measurement date. Market participants are buyers and sellers in the principal market that are (i) independent, (ii) knowledgeable, (iii) able to transact, and (iv) willing to transact. The guidance describes a fair value hierarchy based on the levels of inputs, of which the first two are considered observable and the last unobservable, that may be used to measure fair value, which are the following:

 

 

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 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 and that are significant to the value of the assets or liabilities.

 

 
F-9

Table of Contents

 

The carrying amounts of cash and cash equivalents, accounts receivable, accounts payable and accrued expenses approximated fair value because of the short maturity of these instruments.

 

Cash and Cash Equivalents

 

Cash and cash equivalents includes cash on hand, held at financial institutions and other liquid investments with original maturities of three months or less. At times, these deposits may be in excess of insured limits. At December 31, 2023 and December 31, 2022, there were no cash equivalents.

 

Accounts Receivable

 

Our accounts receivable are typically from credit-worthy customers or, for certain international customers, are supported by pre-payments. For those customers to whom we extend credit, we perform periodic evaluations of their status and maintain allowances for potential credit losses as deemed necessary. We have a policy of reserving for credit losses based on our best estimate of the amount of potential credit losses in existing accounts receivable. We periodically review our accounts receivable to determine whether an allowance is necessary based on an analysis of past due accounts and other factors that may indicate that the realization of an account may be in doubt. Account balances deemed to be uncollectible are charged to the allowance after all means of collection have been exhausted and the potential for recovery is considered remote.  Bad debt expense for the years ended December 31, 2023 and 2022, was approximately $272,517 and $142,188, respectively.  At December 31, 2023 and December 31, 2022, the allowance for doubtful accounts reserve was $1,494,347 and $1,678,000.

 

Long-term trade accounts receivable, are principally amounts arising from the sale of goods and services with a contractual maturity date or realization period of greater than one year and are recognized as “Long-Term Accounts Receivable” in our Consolidated Balance Sheet.

 

Inventories

 

Inventories are valued at the lower of cost or net realizable value using the first-in, first-out (FIFO) method. Inventories consist primarily of finished goods and raw materials.

 

We expense costs to maintain certification to cost of goods sold as incurred.

 

We review inventory on an ongoing basis, considering factors such as deterioration and obsolescence. We record an allowance for estimated losses when the facts and circumstances indicate that particular inventories may not be usable.  Our reserve for obsolete inventory was $95,000 as of December 31, 2023 and December 31, 2022.

 

Property and Equipment

 

We account for property and equipment at cost less accumulated depreciation. We compute depreciation using the straight-line method over the estimated useful lives of the assets, generally three to five years. Depreciation for equipment, furniture and fixtures and vehicles commences once placed in service for its intended use. Leasehold improvements are amortized using the straight-line method over the lives of the respective leases or service lives of the improvements, whichever is shorter.

 

Leases

 

We recognize a right-of-use (“ROU”) asset and lease liability for all leases with terms of more than 12 months, in accordance with ASC 842. We utilize the short-term lease recognition exemption for all asset classes as part of our on-going accounting under ASC 842. This means, for those leases that qualify, we will not recognize ROU assets or lease liabilities. Recognition, measurement and presentation of expenses depends on classification as a finance or operating lease.

 

 
F-10

Table of Contents

 

As a lessee, we utilize the reasonably certain threshold criteria in determining which options we will exercise. Furthermore, our lease payments are based on index rates with minimum annual increases. These represent fixed payments and are captured in the future minimum lease payments calculation. In determining the discount rate to use in calculating the present value of lease payments, we used our incremental borrowing rate based on the information available at adoption date in determining the present value of lease payments.

 

We have also elected the practical expedient to not separate lease and non-lease components for all asset classes, meaning all consideration that is fixed, or in-substance fixed, will be captured as part of our lease components for balance sheet purposes. Furthermore, all variable payments included in lease agreements will be disclosed as variable lease expense when incurred. Generally, variable lease payments are based on usage and common area maintenance. These payments will be included as variable lease expense in the period in which they are incurred.

 

Capitalized Software Development Costs

 

In accordance with ASC 985-20 regarding the development of software to be sold, leased, or marketed, we expense such costs as they are incurred until technological feasibility has been established, at and after which time those costs are capitalized until the product is available for general release to customers. The periodic expense for the amortization of capitalized software development costs will be included in cost of sales.  Amortization expense for the years ended December 31, 2023 and 2022, was $0 and $10,475, respectively. 

 

Accounts Payable

 

As of December 31, 2023, two vendors accounted for approximately 59% of accounts payable. As of December 31, 2022, two vendors accounted for approximately 55% of accounts payable.

 

For the year ended December 31, 2023, two vendors accounted for 70% of cost of sales. For the year ended December 31, 2022, two vendors accounted for 67% of cost of sales.

 

Accrued Warranties

 

Accrued warranties represent the estimated costs, if any, that will be incurred during the warranty period of our products. We estimate the expected costs to be incurred during the warranty period and record the expense to the consolidated statement of operations at the date of sale. Our manufacturers assume the warranty against product defects from date of sale, which we extend to our customers upon sale of the product. We assume responsibility for product reliability and results. As of December 31, 2023, and December 31, 2022, our warranty reserve was $30,000 and $68,000, respectively. (See Note 15).

 

Income Taxes

 

Deferred income tax assets and liabilities are determined based on differences between the financial statement reporting and tax bases of assets and liabilities and are measured using the enacted tax rates and laws in effect when the differences are expected to reverse. The measurement of deferred income tax assets is reduced, if necessary, by a valuation allowance for any tax benefits that are, on a more likely than not basis, not expected to be realized in accordance with FASB ASC Topic 740, Income Taxes guidance for income taxes. Net deferred tax benefits have been fully reserved at December 31, 2023 and December 31, 2022. The effect on deferred income tax assets and liabilities of a change in tax rates is recognized in the period that such tax rate changes are enacted.

 

Net Income (Loss) Per Share

 

Basic net income or (loss) per share is computed by dividing our net income or (loss) by the weighted average number of shares of common stock outstanding during the period presented. Diluted income or (loss) per share is based on the treasury stock method and includes the effect from potential issuance of shares of common stock, such as shares issuable pursuant to the exercise of options and warrants and conversions of preferred stock or debentures. The computation of diluted EPS is similar to the computation of basic EPS except that the numerator may have to adjust for any dividends and income or loss associated with potentially dilutive securities that are assumed to have resulted in the issuance of shares of common stock and the denominator may have to adjust to include the number of additional shares of common stock that would have been outstanding if the dilutive potential shares of common stock had been issued during the period to reflect the potential dilution that could occur from shares of common stock issuable through a contingent shares issuance arrangement, stock options, warrants, or convertible preferred stock. For purposes of determining diluted earnings per common share, the treasury stock method is used for stock options, and warrants, and the if-converted method is used for convertible preferred stock as prescribed in FASB ASC Topic 260. Because of the net loss for the year ended December 31, 2023 and 2022, the impact of including these in our computation of diluted EPS was anti-dilutive.

 

Potentially dilutive securities as of December 31, 2023 consisted of 2,080,000 shares of common stock from convertible debentures, 2,772,096 shares of common stock issuable upon exercise of outstanding warrants, 617,542 shares of common stock issuable upon outstanding options and 63,750 shares of common stock issuable upon conversion of outstanding shares of Preferred A stock (“Convertible Series A Preferred Stock”).

 

 
F-11

Table of Contents

 

Potentially dilutive securities as of December 31, 2022 consisted of 2,792,335 shares of common stock issuable upon exercise of outstanding warrants, 413,000 shares of common stock issuable upon outstanding options and 63,750 shares of common stock issuable upon conversion of outstanding shares of Preferred A stock (“Convertible Series A Preferred Stock”).

 

Options, warrants, preferred stock and shares associated with the conversion of debt to purchase approximately 5.5 million and 3.3 million shares of common stock were outstanding at December 31, 2023 and 2022, respectively, but were excluded from the computation of diluted net loss per share at December 31, 2023 and 2022 due to the anti-dilutive effect on net loss per share.

 

 

 

For the Year Ended December 31,

 

 

 

2023

 

 

2022

 

Net Loss

 

$(3,402,592)

 

$(2,880,060)

Net loss attributable to common shareholders

 

$(3,402,592)

 

$(2,880,060)

Weighted average number of shares of common stock outstanding:

 

 

 

 

 

 

 

 

Basic

 

 

19,834,476

 

 

 

19,743,544

 

Diluted

 

 

19,834,476

 

 

 

19,743,544

 

Net loss attributable to common shareholders per share:

 

 

 

 

 

 

 

 

Basic

 

$(0.17)

 

$(0.15)

Diluted

 

$(0.17)

 

$(0.15)

 

The following provides a reconciliation of the shares used in calculating the per share amounts for the periods presented:

 

 

 

For the Years Ended December 31,

 

 

 

2023

 

 

2022

 

Numerator:

 

 

 

 

 

 

Net Loss

 

$(3,402,592)

 

$(2,880,060)

Denominator:

 

 

 

 

 

 

 

 

Basic weighted-average shares

 

 

19,834,476

 

 

 

19,743,544

 

Effect of dilutive securities

 

 

 

 

 

 

 

 

Warrants

 

 

-

 

 

 

-

 

Convertible Debt

 

 

-

 

 

 

-

 

Options

 

 

-

 

 

 

-

 

Preferred Stock

 

 

-

 

 

 

-

 

Diluted Weighted Average Shares

 

 

19,834,476

 

 

 

19,743,544

 

 

 

 

 

 

 

 

 

 

Net Loss Per Common Share:

 

 

 

 

 

 

 

 

 

Basic

 

$(0.17)

 

$(0.15)

Diluted

 

$(0.17)

 

$(0.15)

 

 
F-12

Table of Contents

 

Revenue Recognition

 

We recognize revenue in accordance with Financial Accounting Standards Board (FASB) Accounting Standards Codification (“ASC”) Topic 606, Revenue from Contracts with Customers, Revenue from Contracts with Customers (Topic 606). We recognize revenue when we transfer promised goods or services to customers in an amount that reflects the consideration to which we expect to be entitled in exchange for those goods or services. To determine revenue recognition for contracts with customers we perform the following five steps: (i) identify the contract(s) with a customer; (ii) identify the performance obligation(s) in the contract; (iii) determine the transaction price; (iv) allocate the transaction price to the performance obligation(s) in the contract; and (v) recognize revenue when (or as) we satisfy the performance obligation(s). At contract inception, we assess the goods or services promised within each contract, assess whether each promised good or service is distinct and identify those that are performance obligations.

 

We must use judgment to determine: a) the number of performance obligations based on the determination under step (ii) above and whether those performance obligations are distinct from other performance obligations in the contract; b) the transaction price under step (iii) above; and c) the stand-alone selling price for each performance obligation identified in the contract for the allocation of transaction price in step (iv) above.

 

Title and risk of loss generally pass to our customers upon shipment. Our customers include end users as well as dealers and distributors who market and sell our products. Our revenue is not contingent upon resale by the dealer or distributor, and we have no further obligations related to bringing about resale. Shipping and handling costs charged to customers are included in Product Revenues. The associated expenses are treated as fulfillment costs and are included in Cost of Revenues. Revenues are reported net of sales taxes collected from Customers.

 

Disaggregation of Revenue

 

The following table presents our revenues disaggregated by revenue source (rounded to nearest thousandth).

 

Product and Service Revenue

 

For The Years Ended

December 31,

 

 

               Change

 

 

 

            2023

 

 

                    2022

 

 

$

 

SteraMist Product

 

$5,695,000

 

 

$6,864,000

 

 

$(1,169,000)

Service and Training

 

 

1,660,000

 

 

 

1,474,000

 

 

 

186,000

 

Total

 

$7,355,000

 

 

$8,338,000

 

 

$(983,000)

 

Revenue by Geographic Region

 

 

 

  For The Years Ended

December 31,

 

 

Change

 

 

 

           2023

 

 

2022

 

 

$

 

United States

 

$6,125,000

 

 

$6,261,000

 

 

$(136,000)

International

 

 

1,230,000

 

 

 

2,077,000

 

 

 

(847,000)

Total

 

$7,355,000

 

 

$8,338,000

 

 

$(983,000)

 

Product revenue includes sales from our standard and customized equipment, solution and accessories sold with our equipment. Revenue is recognized upon transfer of control of promised products to customers in an amount that reflects the consideration we expect to receive in exchange for those products.

 

Service and training revenue include sales from our high-level decontamination and service engagements, validation of our equipment and technology and customer training. Service revenue is recognized as the agreed upon services are rendered to our customers in an amount that reflects the consideration we expect to receive in exchange for those services.

 

Costs to Obtain a Contract with a Customer

 

We apply a practical expedient to expense costs as incurred for costs to obtain a contract with a customer when the amortization period would have been one year or less. We generally expense sales commissions when incurred because the amortization period would have been one year or less. These costs are recorded within selling expenses.

 

Contract Balances

 

As of December 31, 2023, and December 31, 2022 we did not have any unsatisfied performance obligations for (i) contracts with an original expected length of one year or less and (ii) contracts for which we recognize revenue at the amount to which we have the right to invoice for services performed.

 

 
F-13

Table of Contents

 

Arrangements with Multiple Performance Obligations

 

Our contracts with customers may include multiple performance obligations. We enter into contracts that can include various combinations of products and services, which are primarily distinct and accounted for as separate performance obligations.

 

Significant Judgments

 

Our contracts with customers for products and services often dictate the terms and conditions of when the control of the promised products or services is transferred to the customer and the amount of consideration to be received in exchange for the products and services.

 

Equity Compensation Expense

 

We account for equity compensation expense in accordance with FASB ASC 718, “Compensation—Stock Compensation.” Under the provisions of FASB ASC 718, equity compensation expense is estimated at the grant date based on the award’s fair value.

 

The valuation methodology used to determine the fair value of options and warrants issued as compensation during the period is the Black-Scholes option-pricing model. The Black-Scholes model requires the use of a number of assumptions including volatility of the stock price, the average risk-free interest rate, and the weighted average expected life of the options. Risk–free interest rates are calculated based on continuously compounded risk–free rates for the appropriate term. The expected term of the Company’s warrants has been determined utilizing the “simplified” method for awards that qualify as “plain-vanilla” warrants. The dividend yield is assumed to be zero as the Company has never paid or declared any cash dividends on its common stock, par value $0.01 (the “Common Stock”) and does not intend to pay dividends on its Common Stock in the foreseeable future. The expected forfeiture rate is estimated based on management’s best assessment.

 

On July 7, 2017, our shareholders approved the Company’s Amended and Restated 2016 Equity Incentive Plan (the “2016 Plan”). The 2016 Plan authorizes the grant of stock options, stock appreciation rights, restricted stock, restricted stock units and performance units/shares. Up to 2,000,000 shares of Common Stock are authorized for issuance under the 2016 Plan. Shares issued under the 2016 Plan may be either authorized but unissued shares, treasury shares, or any combination thereof. Provisions in the 2016 Plan permit the reuse or reissuance by the 2016 Plan of shares of Common Stock for numerous reasons, including, but not limited to, shares of Common Stock underlying canceled, expired, or forfeited awards of stock-based compensation and stock appreciation rights paid out in the form of cash. Equity compensation expense will typically be awarded in consideration for the future performance of services to us. All recipients of awards under the 2016 Plan are required to enter into award agreements with us at the time of the award, and awards under the 2016 Plan are expressly conditioned upon such agreements. For the year ended December 31, 2023 and 2022, we issued 60,000 and 51,750 shares of common stock, respectively, out of the 2016 Plan.

 

Concentrations of Credit Risk

 

Financial instruments that potentially subject us to significant concentrations of credit risk consist principally of cash and cash equivalents. We maintain cash balances at financial institutions which exceed the current Federal Deposit Insurance Corporation limit of $250,000 at times during the year.

 

Long-Lived Assets Including Acquired Intangible Assets

 

We assess long-lived assets for potential impairments at the end of each year, or during the year if an event or other circumstance indicates that we may not be able to recover the carrying amount of the asset. In evaluating long-lived assets for impairment, we measure recoverability of these assets by comparing the carrying amounts to the future undiscounted cash flows the assets are expected to generate. If our long-lived assets are considered to be impaired, the impairment to be recognized equals the amount by which the carrying value of the asset exceeds its fair market value. We base the calculations of the estimated fair value of our long-lived assets on the income approach. For the income approach, we use an internally developed discounted cash flow model that includes, among others, the following assumptions: projections of revenues and expenses and related cash flows based on assumed long-term growth rates and demand trends; expected future investments to grow new units; and estimated discount rates. We base these assumptions on our historical data and experience, industry projections, micro and macro general economic condition projections, and our expectations. We had no long-lived asset impairment charges for the years ended December 31, 2023 and 2022.

 

 
F-14

Table of Contents

 

Advertising and Promotional Expenses

 

We expense advertising costs in the period in which they are incurred. Advertising and promotional expenses included in selling expenses for the years ended December 31, 2023 and 2022 were approximately $498,000 and $653,000, respectively.

 

Research and Development Expenses

 

We expense research and development expenses in the period in which they are incurred. For the years ended December 31, 2023 and 2022, research and development expenses were approximately $492,000 and $352,000, respectively.

 

Business Segments

 

We currently have one reportable business segment due to the fact that we derive our revenue primarily from one product. A breakdown of revenue is presented in “Revenue Recognition” in Note 2 above.

 

Recent Accounting Pronouncements

 

Recently issued accounting pronouncements not yet adopted

 

In November 2023, the Financial Accounting Standards Board (“FASB”) issued ASU No. 2023-07, Improvements to Reportable Segment Disclosures (Topic 280). This ASU updates reportable segment disclosure requirements by requiring disclosures of significant reportable segment expenses that are regularly provided to the Chief Operating Decision Maker (“CODM”) and included within each reported measure of a segment’s profit or loss. This ASU also requires disclosure of the title and position of the individual identified as the CODM and an explanation of how the CODM uses the reported measures of a segment’s profit or loss in assessing segment performance and deciding how to allocate resources. The ASU is effective for annual periods beginning after December 15, 2023, and interim periods within fiscal years beginning after December 15, 2024. Adoption of the ASU should be applied retrospectively to all prior periods presented in the financial statements. Early adoption is also permitted. This ASU will likely result in us including the additional required disclosures when adopted. We are currently evaluating the provisions of this ASU and expect to adopt them for the year ending December 31, 2024.

 

In December 2023, the FASB issued ASU No. 2023-09, Improvements to Income Tax Disclosures (Topic 740). The ASU requires disaggregated information about a reporting entity’s effective tax rate reconciliation as well as additional information on income taxes paid. The ASU is effective on a prospective basis for annual periods beginning after December 15, 2024. Early adoption is also permitted for annual financial statements that have not yet been issued or made available for issuance. This ASU will result in the required additional disclosures being included in our consolidated financial statements, once adopted.

 

Recently adopted accounting pronouncements

 

In March 2022, the FASB issued ASU 2022-02, Troubled Debt Restructurings and Vintage Disclosures. This ASU eliminates the accounting guidance for troubled debt restructurings by creditors that have adopted ASU 2016-13, Measurement of Credit Losses on Financial Instruments, which we adopted on January 1, 2020. This ASU also enhances the disclosure requirements for certain loan refinancing and restructurings by creditors when a borrower is experiencing financial difficulty. In addition, the ASU amends the guidance on vintage disclosures to require entities to disclose current period gross write-offs by year of origination for financing receivables and net investments in leases within the scope of ASC 326-20. The ASU is effective for annual periods beginning after December 15, 2022, including interim periods within those fiscal years. We adopted the ASU prospectively on January 1, 2023.  This ASU did not have a material impact on our consolidated financial statements.

 

In October 2021, the FASB issued ASU No. 2021-08, Accounting for Contract Assets and Contract Liabilities from Contracts with Customers (Topic 805). This ASU requires an acquirer in a business combination to recognize and measure contract assets and contract liabilities (deferred revenue) from acquired contracts using the revenue recognition guidance in Topic 606. At the acquisition date, the acquirer applies the revenue model as if it had originated the acquired contracts. The ASU is effective for annual periods beginning after December 15, 2022, including interim periods within those fiscal years. We adopted this ASU prospectively on January 1, 2023. This ASU did not have a material impact on our consolidated financial statements.

 

 
F-15

Table of Contents

 

In August 2020, the FASB issued ASU No. 2020-06, Debt—Debt with Conversion and Other Options (Subtopic 470-20) and Derivatives and Hedging—Contracts in Entity’s Own Equity (Subtopic 815-40): Accounting for Convertible Instruments and Contracts in an Entity’s Own Equity. ASU 2020-06 was issued to reduce the complexity associated with accounting for certain financial instruments with characteristics of liabilities and equity. ASU 2020-06 reduces the number of accounting models for convertible debt instruments and convertible preferred stock and improves the disclosures for convertible instruments and related earnings per share guidance. ASU 2020-06 also amends the guidance for the derivatives scope exception for contracts in an entity’s own equity and improves and amends the related earnings per share guidance. For public entities that qualify as a filer with the SEC, excluding entities eligible to be smaller reporting companies, ASU 2020-06 is effective for fiscal annual periods beginning after December 15, 2021, including interim periods within those fiscal years. For nonpublic entities, ASU 2020-06 is effective for fiscal years beginning after December 15, 2023, including interim periods within those fiscal years. Early adoption was permitted, but no earlier than fiscal years beginning after December 15, 2020, including interim periods within those fiscal years. ASU 2020-06 must be adopted as of the beginning of a company’s annual fiscal year. ASU 2020-06 may be adopted through either a modified retrospective method of transition or a fully retrospective method of transition. The Company adopted ASU 2020-06 on January 1, 2021. The adoption did not have an impact on our consolidated financial statements.

 

In June 2016, the FASB issued ASU 2016-13, Financial Instruments-Credit Losses (“ASU 2016-13”), which provides new authoritative guidance with respect to the measurement of credit losses on financial instruments. This update changes the impairment model for most financial assets and certain other instruments by introducing a current expected credit loss (“CECL”) model. The CECL model is a more forward-looking approach based on expected losses rather than incurred losses, requiring entities to estimate and record losses expected over the remaining contractual life of an asset. ASU 2016-13 is effective for fiscal years beginning after December 15, 2022, including interim periods within those fiscal years for smaller reporting companies. The Company adopted ASU 2016-13 on January 1, 2023. The adoption did not have an impact on our consolidated financial statements.

 

NOTE 3. INVENTORIES

 

Inventories consist of the following at (rounded to the nearest thousandth):

 

 

 

December 31, 2023

 

 

December 31, 2022

 

Finished goods

 

$3,980,000

 

 

$3,929,000

 

Raw Materials

 

 

742,000

 

 

 

662,000

 

Inventory Reserve

 

 

(95,000)

 

 

(95,000)

Inventory, net

 

$4,627,000

 

 

$4,496,000

 

 

NOTE 4. VENDOR DEPOSITS

 

On December 31, 2023 and December 31, 2022, we maintained vendor deposits of $29,335 and $447,052, respectively, for open purchase orders for inventory.

 

NOTE 5. PROPERTY AND EQUIPMENT

 

 Property and equipment consist of the following at:

 

 

 

December 31, 2023

 

 

December 31, 2022

 

Furniture and fixtures

 

$364,819

 

 

$364,819

 

Equipment

 

 

2,269,185

 

 

 

2,236,510

 

Vehicles

 

 

66,170

 

 

 

60,703

 

Computer and software

 

 

306,556

 

 

 

246,638

 

Leasehold improvements

 

 

393,381

 

 

 

393,381

 

Tenant Improvement Allowance 

 

 

405,000

 

 

 

405,000

 

 

 

 

 

 

 

 

 

 

Total Property and Equipment

 

 

3,805,111

 

 

 

3,707,051

 

Less: Accumulated depreciation

 

 

2,756,469

 

 

 

2,371,720

 

Property and Equipment, net

 

$1,048,642

 

 

$1,335,331

 

 

 
F-16

Table of Contents

 

For the years ended December 31, 2023 and 2022, depreciation was $345,556 and $314,669, respectively. For the years ended December 31, 2023 and 2022, amortization of tenant improvement allowance was $39,194 and was recorded as lease expense and included within general and administrative expense on the consolidated statement of operations.

 

NOTE 6. INTANGIBLE ASSETS

 

Intangible assets consist of patents and trademarks related to our Binary Ionization Technology. We amortize the patents over the estimated remaining lives of the related patents. The trademarks have an indefinite life. Amortization expense was $21,121 and $14,495 for the years ended December 31, 2022 and 2021, respectively.

 

Definite life intangible assets consist of the following:

 

 

 

December 31, 2023

 

 

December 31, 2022

 

Intellectual Property and Patents

 

$3,196,396

 

 

$3,108,063

 

Less: Accumulated Amortization

 

 

2,904,013

 

 

 

2,882,892

 

Patents, net

 

$292,383

 

 

$225,171

 

 

Indefinite life intangible assets consist of the following:

 

 

Trademarks

 

 

830,863

 

 

 

800,565

 

Total Intangible Assets, net

 

$1,123,246

 

 

$1,025,736

 

 

Approximate future amortization is as follows (rounded to nearest thousandth):

  

Year Ended:

 

Amount

 

 

 

 

 

December 31, 2024

 

 

20,000

 

December 31, 2025

 

 

20,000

 

December 31, 2026

 

 

20,000

 

December 31, 2027

 

 

20,000

 

December 31, 2028

 

 

20,000

 

Thereafter

 

 

192,000

 

Total

 

$292,000

 

 

 
F-17

Table of Contents

 

NOTE 7. LEASES

 

In April 2018, we entered into a 10-year lease agreement for a new 9,000-square-foot facility that contains office, warehouse, lab and research and development space in Frederick, Maryland. The lease agreement commenced in December 2018 when the property was ready for occupancy. The agreement provided for annual rent of $143,460, an escalation clause that increases the rent 3% year over year, a landlord tenant improvement allowance of $405,000 and additional landlord work as discussed in the lease agreement. We took occupancy of the property on December 17, 2018 and the lease was amended in March 2019 to provide for a 4-month rent holiday and a commencement date of April 1, 2019. A 7% discount rate was determined using our incremental borrowing rate based on the information available at adoption date in determining the present value of lease payments. Lease expense for operating lease payments is recognized on a straight-line basis over the lease term.

 

The balances for our operating lease where we are the lessee are presented as follows within our consolidated balance sheet:

 

Operating leases:

 

December 31, 2023

 

 

December 31, 2022

 

Assets:

 

 

 

 

 

 

Operating lease right-of-use asset

 

$467,935

 

 

$528,996

 

Liabilities:

 

 

 

 

 

 

 

 

Current Portion of Long-Term Operating Lease

 

$115,658

 

 

$100,282

 

Long-Term Operating Lease, Net of Current Portion

 

 

642,527

 

 

 

761,132

 

Total

 

$758,185

 

 

$861,414

 

 

The components of lease expense are as follows within our consolidated statement of operations:

 

 

 

For the Year Ended December 31, 2023

 

 

For the Year Ended December 31, 2022

 

 

 

 

 

 

 

 

Operating lease expense

 

$157,315

 

 

$157,315

 

 

Other information related to leases where we are the lessee is as follows:

 

 

 

December 31, 2023

 

 

December 31, 2022

 

 

Weighted-average remaining lease term:

 

 

 

 

 

 

Operating leases

 

 5.00 years 

 

 

 6.00 years 

 

 

 

 

 

 

 

 

Discount rate:

 

 

 

 

 

 

Operating leases

 

 

7.00%

 

 

7.00%

 

Supplemental cash flow information related to leases where we are the lessee is as follows:

 

 

 

For the Year Ended December 31, 2023

 

 

For the Year Ended December 31, 2022

 

Cash paid for amounts included in the measurement of lease liabilities:

 

$160,290

 

 

$155,621

 

 

As of December 31, 2023, the maturities of our operating lease liability are as follows:

 

Year Ended:

 

Operating Lease

 

December 31, 2024

 

$165,098

 

December 31, 2025

 

 

170,051

 

December 31, 2026

 

 

175,153

 

December 31, 2027

 

 

180,408

 

December 31, 2028

 

 

185,819

 

Thereafter

 

 

33,751

 

Total minimum lease payments

 

 

910,281

 

Less:  Interest

 

 

152,096

 

Present value of lease obligations

 

 

758,185

 

Less: Current portion

 

 

115,658

 

Long-term portion of lease obligations

 

$642,527

 

 

 
F-18

Table of Contents

 

NOTE 8. CAPITALIZED SOFTWARE DEVELOPMENT COSTS

 

In accordance with ASC 985-20 we capitalized certain software development costs associated with updating our continuing line of product offerings. Capitalized software development costs consist of the following at:

 

 

 

    December 31, 2023

 

 

December 31, 2022

 

Capitalized Software Development Costs

 

$125,704

 

 

$125,704

 

Less:  Accumulated Amortization

 

 

(125,704)

 

 

(125,704)

Capitalized Software Development Costs - net

 

$-

 

 

$-

 

 

Amortization expense for the years ended December 31, 2023 and 2022 was $0 and $10,475, respectively.

 

NOTE 9. CLOUD COMPUTING SERVICE CONTRACT

 

In May 2020 we entered into a cloud computing service contract with a vendor. The contract provides for annual payments in the amount of $30,409 and has a term of 5 years. The annual contract payments are capitalized as a prepaid expense and amortized over a twelve-month period.

 

We have incurred implementation costs of $66,857 in connection with the cloud computing service contract which have been capitalized in prepaid expenses and other assets as of December 31, 2023. In accordance with ASU No. 2018-15, such implementation costs are being amortized over the remaining contract terms beginning January 1, 2021, which was when the cloud-based service contract was placed in service. Amortization expense for the years ended December 31, 2023 and 2022 were $15,063 and $15,027, respectively.

 

NOTE 10. CONVERTIBLE DEBT

 

On October and November 2023, we entered into a Securities Purchase Agreement (the “SPA”) with certain accredited investors (collectively, the “Investors”) pursuant to which we agreed to sell and issue to the Investors in a private placement transaction (the “Private Placement”) in one or more closings up to an aggregate principal amount of $5,000,000 of Convertible Notes (the “Notes”).  As of December 31, 2023, we issued and sold an aggregate of $2,600,000 of Notes to certain Investors pursuant to the SPA.

 

In October and November 2023, we  sold and issued pursuant to the  SPA convertible promissory notes (the “Notes”) to purchase an aggregate of 2,080,000 shares of common stock at an exercise price of $1.25 per share in exchange for aggregate gross proceeds of $2,600,000. The Notes mature and are due on the fifth anniversary of the issuance date in October and November of 2028. The Notes bear simple interest at a rate of 12% per annum, payable in equal monthly installments. The Notes are convertible into shares of our Common Stock, at the option of the holder, at a conversion price of $1.25 per share, which shall not exceed $1.55 per share. In addition, we can require Investors to convert the Notes at the then current conversion price at any time after 90 days from the issue date if the Common Stock has a closing bid price of $1.55 per share or higher on any twenty (20) days within a thirty (30) day period of consecutive trading days, or if a “fundamental change” occurs (as defined in the Securities Purchase Agreement). The Notes are unsecured and senior to other indebtedness subject to certain exceptions. Interest expense related to the Notes for the years ended December 31, 2023 and 2022 was $54,892 and $0, respectively.

 

Amortization of deferred financing costs were $10,413 and $0 for the years ended December 31, 2023 and 2022, respectively, which has been included with interest expense on the statement of operations. 

 

Convertible notes consist of the following at:

 

 

 

December 31,

 

 

December 31,

 

 

 

2023

 

 

2022

 

 

 

 

 

 

 

 

Convertible notes

 

$2,600,000

 

 

$-

 

Less: Debt issuance costs

 

 

(312,398)

 

 

-

 

Accumulated amortization

 

 

10,413

 

 

 

-

 

Convertible notes, net

 

$2,298,015

 

 

$-

 

 

 
F-19

Table of Contents

 

NOTE 11. SHAREHOLDERS’ EQUITY

 

Our Board of Directors (the “Board”) may, without further action by our shareholders, from time to time, direct the issuance of any authorized but unissued or unreserved shares of preferred stock in series and at the time of issuance, determine the rights, preferences and limitations of each series. The holders of such preferred stock may be entitled to receive a preference payment in the event of any liquidation, dissolution or winding-up by us before any payment is made to the holders of our common stock. Furthermore, the Board could issue preferred stock with voting and other rights that could adversely affect the voting power of the holders of our common stock.

 

Convertible Series A Preferred Stock

 

Our authorized Convertible Series A Preferred Stock, $0.01 par value, consists of 1,000,000 shares. At December 31, 2023 and 2022, there were 63,750 shares issued and outstanding. The Convertible Series A Preferred Stock is convertible at the rate of one share of common stock for one share of Convertible Series A Preferred Stock.

 

Convertible Series B Preferred Stock

 

Our authorized Convertible Series B Preferred Stock, $1,000 stated value, 7.5% cumulative dividend, consists of 4,000 shares. At December 31, 2023 and 2022, there were no shares issued and outstanding, respectively. Each share of Convertible Series B Preferred Stock may be converted (at the holder’s election) into two hundred shares of our common stock.

 

Common Stock

 

In January 2022, we issued 51,750 shares of common stock valued at approximately $54,000 to members of our Board pursuant to our equity plan (see Note 12). 

 

In January 2023, we issued 60,000 shares of Common Stock valued at approximately $51,000 to members of our Board pursuant to our equity plan (see Note 12).

 

Stock Options

 

  In January 2022 we issued an option to purchase 172,500 shares of common stock to our Chief Executive Officer at an exercise price of $1.12 per share pursuant to an employment agreement. The option was valued at $178,281 and has a contractual term of 10 years. We utilized the Black-Scholes model to fair value the warrant received by our Chief Executive Officer with the following assumptions: volatility, 156%; expected dividend yield, 0%; risk free interest rate, 1.65%; and an expected life of 5 years. The grant date fair value of each share of common stock underlying the warrant was $1.03.

 

In January 2022 we issued an option to purchase 57,500 shares of common stock to our Chief Operating Officer at an exercise price of $1.12 per share pursuant to an employment agreement. The option was valued at $59,427 and has a contractual term of 10 years. We utilized the Black-Scholes model to fair value the warrant received by our Chief Executive Officer with the following assumptions: volatility, 156%; expected dividend yield, 0%; risk free interest rate, 1.65%; and an expected life of 5 years. The grant date fair value of each share of common stock underlying the warrant was $1.03.

 

In January 2022 we issued an option to purchase 40,000 shares of common stock to our Chief Financial Officer at an exercise price of $1.12 per share pursuant to an employment agreement. The option was valued at $41,340 and has a contractual term of 10 years. We utilized the Black-Scholes model to fair value the warrant received by our Chief Executive Officer with the following assumptions: volatility, 156%; expected dividend yield, 0%; risk free interest rate, 1.65%; and an expected life of 5 years. The grant date fair value of each share of common stock underlying the warrant was $1.03.

 

In January 2023, we issued options to purchase 175,000 shares of Common Stock to Officers at an exercise price of $0.85 per share pursuant to an employment agreement. The options were valued at $132,361 and have a contractual term of 10 years. We utilized the Black-Scholes model to fair value the options received by Officers with the following assumptions: volatility, 139%; expected dividend yield, 0%; risk free interest rate, 3.59%; and an expected life of 5 years. The grant date fair value of each share of Common Stock underlying the options was $0.76.

 

In January 2023, we issued options to purchase 42,042 shares of Common Stock to employees at an exercise prices of $0.71- $0.85 per share pursuant to an employment agreement. The options were valued at $30,925, in aggregate and have a contractual term of 10 years. We utilized the Black-Scholes model to fair value the options received by our employees with the following assumptions: volatility, 139%; expected dividend yield, 0%; risk free interest rate, 3.59%; and an expected life of 5 years. The grant date fair value of each share of Common Stock underlying the options was $0.76.

 

The total stock based compensation for the years ended December 31, 2023 and 2022, was $163,286 and $653,843, respectively which has been in included within General and Administration expense in our statement of operations.

 

 
F-20

Table of Contents

 

The following table summarizes stock options outstanding as of December 31, 2023 and 2022:

 

 

 

December 31, 2023

 

 

December 31, 2022

 

 

 

Number of Options

 

 

Weighted Average Exercise Price

 

 

Number of Options

 

 

Weighted Average Exercise Price

 

Outstanding, beginning of period

 

 

413,000

 

 

$1.65

 

 

 

143,000

 

 

$2.66

 

Granted

 

 

217,042

 

 

 

0.82

 

 

 

270,000

 

 

 

1.12

 

Exercised

 

 

-

 

 

 

-

 

 

 

-

 

 

 

-

 

Expired

 

 

(12,500)

 

 

-

 

 

 

-

 

 

 

-

 

Outstanding, end of period

 

 

617,542

 

 

$1.38

 

 

 

413,000

 

 

$1.65

 

 

Options outstanding and exercisable by price range as of December 31, 2023 were as follows:

 

 

 

 

Average

 

 

Exercisable Options

 

 

 

 

 

 

Weighted

 

 

 

 

 

 

 

Remaining

 

 

 

 

 

Weighted

 

Outstanding Options

 

 

Contractual

 

 

 

 

 

Average

 

Range

 

 

Number

 

 

Life in Years

 

 

Number

 

 

Exercise Price

 

$

0.71

 

 

 

7,042

 

 

 

4.06

 

 

 

7,042

 

 

$0.71

 

$

0.80

 

 

 

27,500

 

 

 

2.20

 

 

 

27,500

 

 

$0.80

 

$

0.85

 

 

 

210,000

 

 

 

9.08

 

 

 

210,000

 

 

$0.85

 

$

0.88

 

 

 

31,250

 

 

 

1.01

 

 

 

31,250

 

 

$0.88

 

$

0.96

 

 

 

12,500

 

 

 

1.02

 

 

 

12,500

 

 

$0.96

 

$

1.12

 

 

 

270,000

 

 

 

9.06

 

 

 

270,000

 

 

$1.12

 

$

1.93

 

 

 

10,500

 

 

 

4.06

 

 

 

10,500

 

 

$1.93

 

$

2.16

 

 

 

5,000

 

 

 

2.00

 

 

 

5,000

 

 

$2.16

 

$

4.40

 

 

 

12,500

 

 

 

3.05

 

 

 

12,500

 

 

$4.40

 

$

7.06

 

 

 

31,250

 

 

 

2.75

 

 

 

31,250

 

 

$7.06

 

 

 

 

 

 

617,542

 

 

 

7.05

 

 

 

617,542

 

 

$1.38

 

 

Stock Warrants

 

The following table summarizes the outstanding common stock warrants as of December 31, 2023 and 2022:

 

 

 

December 31, 2023

 

 

December 31, 2022

 

 

 

(Unaudited)

 

 

Weighted Average Exercise Price

 

 

Number of Warrants

 

 

Weighted Average Exercise Price

 

Outstanding, beginning of period

 

 

2,792,335

 

 

$2.25

 

 

 

3,381,021

 

 

$2.22

 

Granted

 

 

-

 

 

 

-

 

 

 

-

 

 

 

-

 

Exercised

 

 

-

 

 

 

-

 

 

 

(31,250)

 

 

(0.21)

Expired 

 

 

(20,239)

 

 

(1.11)

 

 

(557,436)

 

 

(2.23)

Outstanding, end of period

 

 

2,772,096

 

 

$2.25

 

 

 

2,792,335

 

 

$2.25

 

 

 
F-21

Table of Contents

 

Warrants outstanding and exercisable by price range as of December 31, 2023 were as follows:

 

Outstanding Warrants

 

 

 

 

Exercisable Warrants

 

Exercise Price

 

 

Number

 

 

Average Weighted

Remaining Contractual

Life in Years

 

 

Number

 

 

Weighted Average

Exercise Price

 

$

0.64

 

 

 

31,250

 

 

 

9.89

 

 

 

31,250

 

 

$0.64

 

$

0.80

 

 

 

125,000

 

 

 

10.08

 

 

 

125,000

 

 

$0.80

 

$

0.96

 

 

 

442,708

 

 

 

8.98

 

 

 

442,708

 

 

$0.96

 

$

1.12

 

 

 

6,250

 

 

 

0.30

 

 

 

6,250

 

 

$1.12

 

$

1.20

 

 

 

156,250

 

 

 

1.09

 

 

 

156,250

 

 

$1.20

 

$

1.68

 

 

 

1,434,721

 

 

 

2.75

 

 

 

1,434,721

 

 

$1.68

 

$

2.18

 

 

 

172,167

 

 

 

2.75

 

 

 

172,167

 

 

$2.18

 

$

4.00

 

 

 

28,750

 

 

 

6.32

 

 

 

28,750

 

 

$4.00

 

$

6.95

 

 

 

375,000

 

 

 

7.75

 

 

 

375,000

 

 

$6.95

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2,772,096

 

 

 

4.62

 

 

 

2,772,096

 

 

$2.25

 

 

There were no unvested warrants outstanding as of December 31, 2023.

 

NOTE 12. COMMITMENTS AND CONTINGENCIES

 

Legal Contingencies

 

We may become a party to litigation in the normal course of business. In the opinion of management, there are no legal matters involving us that would have a material adverse effect upon our financial condition, results of operations or cash flows. In addition, from time to time, we may have to file claims against parties that infringe on our intellectual property.

 

Product Liability

 

As of December 31, 2023 and 2022, there were no claims against us for product liability.

 

NOTE 13. CONTRACTS AND AGREEMENTS

 

Director Compensation

 

In January 2023, we increased the annual fee to the non-employee members of our Board to $48,000, to be paid in cash on a quarterly basis, with the exception of the audit committee chairperson, whose annual fee was increased to $54,600, also to be paid in cash on a quarterly basis. Non-employee Director compensation also includes the annual issuance of our Common Stock.

 

For the year ended December 31, 2022, we issued an aggregate of 51,750 shares of Common Stock that were valued at approximately $54,000 to members of our Board.

 

For the year ended December 31, 2023, we issued an aggregate of 60,000 shares of Common Stock that were valued at approximately $51,000 to members of our Board.

 

Manufacturing Agreement

 

In June 2020 we entered into a manufacturing agreement with Planet Innovation Products, Pty Ltd (“PI”).  The agreement does not provide for any minimum purchase commitments and is for a term of three years. The agreement also provides for a warranty against product defects.

 

 
F-22

Table of Contents

 

Cloud Computing Service Contract

 

In May 2020 we entered into an agreement with a vendor for a cloud computing service contract. The contract provides for annual payments in the amount of $30,409 and has a term of 5 years. Approximate minimum future payments under the contract are as follows:

 

Year Ended:

 

Amount

 

December 31, 2024

 

 

30,000

 

December 31, 2025

 

 

-

 

December 31, 2026

 

 

-

 

Total

 

$30,000

 

 

NOTE 14. ACCRUED EXPENSES AND OTHER CURRENT LIABILITIES

 

Accrued expenses and other current liabilities consisted of the following at:

 

 

 

December 31, 2023

 

 

December 31, 2022

 

Commissions

 

$200,837

 

 

$442,805

 

Payroll and related costs

 

 

201,009

 

 

 

136,000

 

Director fees   

 

 

37,650

 

 

 

34,650

 

Sales Tax Payable  

 

 

5,707

 

 

 

(1,351)

Accrued warranty (Note 15)

 

 

30,000

 

 

 

68,000

 

Allowance for Sales Returns

 

 

128,390

 

 

 

-

 

Other accrued expenses

 

 

71,898

 

 

 

48,599

 

Total

 

$675,491

 

 

$728,703

 

 

NOTE 15. ACCRUED WARRANTY

 

Our manufacturers assume the warranty against product defects from date of sale, which we extend to our customers upon sale of the product. We assume responsibility for product reliability and results. The warranty is generally limited to a refund of the original purchase price of the product or a replacement part. We estimate warranty costs based on historical warranty claim experience.

 

The following table presents warranty reserve activities at:

 

 

 

December 31, 2023

 

 

December 31, 2022

 

Beginning accrued warranty costs

 

$68,000

 

 

$68,000

 

Provision for warranty expense

 

 

26,911

 

 

 

24,158

 

Settlement of warranty claims

 

 

(64,911)

 

 

(24,158)

Ending accrued warranty costs

 

$30,000

 

 

$68,000

 

 

 
F-23

Table of Contents

 

NOTE 16. INCOME TAXES

 

The Company’s income tax expense (benefit) consisted of:

 

 

 

 

 

 

For the Year Ended

 

 

 

December 31,

 

 

December 31,

 

 

 

2023

 

 

2022

 

Current:

 

 

 

 

 

 

Federal

 

$-

 

 

$-

 

State

 

 

-

 

 

 

-

 

Foreign

 

 

-

 

 

 

-

 

 

 

 

-

 

 

 

 

 

Deferred:

 

 

 

 

 

 

 

 

Federal

 

 

-

 

 

 

-

 

State

 

 

-

 

 

 

-

 

Foreign

 

 

-

 

 

 

-

 

 

 

 

-

 

 

 

-

 

Total

 

$-

 

 

$-

 

 

The Company’s net income (loss) before income tax consisted of:

 

 

 

For the Year Ended

 

 

 

December 31,

 

 

December 31,

 

 

 

2023

 

 

2022

 

 

 

 

 

 

 

 

United States

 

$(3,402,592)

 

$(2,880,060)

Foreign

 

 

-

 

 

 

-

 

Total

 

$(3,402,592)

 

$(2,880,060)

 

Our income tax expense differed from the amounts computed by applying the United States statutory corporate income tax rate for the following reasons:

 

On December 22, 2017, the 2017 Tax Cuts and Jobs Act (“Tax Act”) was enacted into law making significant changes to the Internal Revenue Code. Changes include, but are not limited to, a federal corporate tax rate decrease from 35% to 21% for tax years beginning after December 31, 2017, the transition of U.S. international taxation from a worldwide tax system to a territorial system and a one-time transition tax on the mandatory deemed repatriation of foreign earnings. We are required to recognize the effect of the tax law changes in the period of enactment, such as re-measuring our U.S. deferred tax assets and liabilities as well as reassessing the net realizability of our deferred tax assets and liabilities. The Tax Act did not give rise to any material impact on the consolidated balance sheets and consolidated statements of operations due to our historical loss position and the full valuation allowance on our net U.S. deferred tax assets.

 

The reconciliation of taxes at the federal and state statutory rate to our provision for income taxes for the years ended December 31, 2023 and 2022 was as follows:

 

 

 

For the Year Ended

 

 

 

December 31,

 

 

December 31,

 

 

 

2023

 

 

2022

 

 

 

 

 

 

 

 

Income (Loss) before income tax

 

$(3,402,592)

 

$(2,880,060)

US statutory corporate income tax rate

 

 

28

%

 

 

28

%

Income tax expense computed at US statutory corporate income tax rate

 

 

(952,726)

 

 

(806,417)

Reconciling items:

 

 

 

 

 

 

 

 

Change in valuation allowance on deferred tax assets

 

 

2,121,178

 

 

 

553,005

 

Provision to prior year tax return

 

 

(1,188,884)

 

 

36,032

 

Incentive stock options and warrants

 

 

45,720

 

 

 

183,076

 

Gain Upon Debt Extinguishment

 

 

 

 

 

 

 

 

Meals and Entertainment

 

 

3,347

 

 

 

-

 

Other

 

 

(29,235)

 

 

34,304

 

Income tax expense (benefit)

 

$-

 

 

$-

 

 

 
F-24

Table of Contents

 

Components of our deferred income tax assets (liabilities) are as follows:

 

 

 

December 31,

 

 

December 31,

 

 

 

2023

 

 

2022

 

Deferred tax assets:

 

 

 

 

 

 

 

 

 

 

 

 

 

Reserve for Bad Debt

 

$418,000

 

 

$470,000

 

Inventory Reserve

 

 

27,000

 

 

 

27,000

 

Accrued Vacation

 

 

53,000

 

 

 

38,000

 

Warranty Reserve

 

 

8,000

 

 

 

19,000

 

Intangible Assets

 

 

181,000

 

 

 

257,000

 

Capitalized R&D

 

 

148,000

 

 

 

67,000

 

Stock-Based Compensation

 

 

1,246,000

 

 

 

-

 

Operating lease right-of-use liabilities

 

 

212,000

 

 

 

241,000

 

Net operating losses

 

 

5,568,000

 

 

 

4,639,000

 

Valuation Allowance

 

 

(7,539,000)

 

 

(5,332,000)

Deferred Tax Assets

 

 

322,000

 

 

 

426,000

 

 

 

 

 

 

 

 

 

 

Deferred tax liabilities:

 

 

 

 

 

 

 

 

Operating lease right-of-use assets

 

 

(189,000)

 

 

(217,000)

Property and Equipment

 

 

(133,000)

 

 

(209,000)

 

 

 

(322,000)

 

 

(426,000)

 

 

 

 

 

 

 

 

 

Net Deferred Tax Assets and Liabilities

 

$-

 

 

$-

 

 

Deferred income tax assets and liabilities are determined based on differences between the financial statement reporting and tax bases of assets and liabilities and are measured using the enacted tax rates and laws in effect when the differences are expected to reverse. The measurement of deferred income tax assets is reduced, if necessary, by a valuation allowance for any tax benefits, which are, on a more likely than not basis, not expected to be realized; in accordance with ASC-740 guidance for income taxes. As of December 31, 2023, we recorded a valuation allowance of $7,539,000 for the portion of the deferred tax assets that we do not expect to be realized. The valuation allowance on our net deferred taxes increased by $999,000 during the year ended December 31, 2023, primarily due to U.S. deferred tax assets incurred in the current year that cannot be realized. The effect on deferred income tax assets and liabilities of a change in tax rates is recognized in the period that such tax rate changes are enacted.

 

For income tax purposes in the United States, we had available federal net operating loss carryforwards (“NOL”) as of December 31, 2023 and 2022 of approximately $20,796,000 and $17,479,000 respectively to reduce future federal taxable income. For income tax purposes in the United States, we had available state NOL carryforwards as of December 31, 2023 and 2022 of approximately $17,153,000 and $13,835,000 respectively to reduce future state taxable income. If any of the NOL’s generated prior to 2018 are not utilized, they will expire at various dates through 2037. NOL’s generated after 2017 carry forward indefinitely. There may be certain limitations as to the future annual use of the NOLs due to certain changes in our ownership.

 

We record uncertain tax positions in accordance with ASC 740 on the basis of a two-step process whereby (1) we determine whether it is more likely than not that the tax positions will be sustained on the basis of the technical merits of the position and (2) for those tax positions that meet the more-likely-than-not recognition threshold, we recognize the largest amount of tax benefit that is more than 50 percent likely to be realized upon ultimate settlement with the related tax authority. As of December 31, 2023, and 2022, the management of the Company determined there were no reportable uncertain tax positions.

 

NOTE 17. CUSTOMER CONCENTRATION

 

The Company had certain customers whose accounts receivable balances individually represented 10% or more of the Company’s accounts receivable.

 

As of December 31, 2023, two customers accounted for 27% of our gross accounts receivable.

 

As of December 31, 2022, one customer accounted for 14% of our gross accounts receivable.

 

For the year ended December 31, 2023, we had 2 customers who represented 20% of revenue. For the year ended December 31, 2022, we had no customer who represented 10% or more of revenue.

 

 
F-25

 

EX-21.1 2 tomz_ex211.htm SUBSIDIARIES tomz_ex211.htm

 

EXHIBIT 21.1

 

Subsidiaries of TOMI Environmental Solutions, Inc.

 

TOMI Environmental Solutions, Inc., a Nevada corporation

 

EX-31.1 3 tomz_ex311.htm CERTIFICATION tomz_ex311.htm

 

EXHIBIT 31.1

 

CERTIFICATION PURSUANT TO

RULE 13a-14(a) OR RULE 15d-14(a) OF THE

SECURITIES EXCHANGE ACT OF 1934

 

  I, Halden S. Shane, certify that:

 

1. I have reviewed this Annual Report on Form 10-K of TOMI Environmental Solutions, Inc.;

 

2. Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report;

 

3. Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this report;

 

4. The registrant’s other certifying 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.

 

Dated: April 1, 2024

 

 

 

/s/ HALDEN S. SHANE

 

 

 

Halden S. Shane

Chief Executive Officer

(Principal Executive Officer)

 

 

 

EX-31.2 4 tomz_ex312.htm CERTIFICATION tomz_ex312.htm

 

EXHIBIT 31.2

CERTIFICATION PURSUANT TO

RULE 13a-14(a) OR RULE 15d-14(a) OF THE

SECURITIES EXCHANGE ACT OF 1934

 

I, Nick Jennings, certify that:

 

1. I have reviewed this Annual Report on Form 10-K of TOMI Environmental Solutions, Inc.;

 

2. Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report;

 

3. Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this report;

 

4. The registrant’s other certifying 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.

 

Dated:  April 1, 2024

 

 

/s/ Nick Jennings

 

 

 

Nick Jennings

 

 

 

Chief Financial Officer

(Principal Financial Officer and

 

 

 

Principal Accounting Officer)

 

EX-32.1 5 tomz_ex321.htm CERTIFICATION tomz_ex321.htm

 

EXHIBIT 32.1

 

CERTIFICATIONS OF CHIEF EXECUTIVE OFFICER AND CHIEF FINANCIAL OFFICER

PURSUANT TO 18 U.S.C. SECTION 1350,

AS ADOPTED PURSUANT TO

SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002

 

Pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, each of Halden S. Shane, the Chief Executive Officer, and Nick Jennings, the Chief Financial Officer, of TOMI Environmental Solutions, Inc., hereby certifies in his capacity as an officer of TOMI Environmental Solutions, Inc., that, to his knowledge, the Annual Report of TOMI Environmental Solutions, Inc. on Form 10-K for the fiscal year ended December 31, 2023: (i) fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934, and (ii) the information contained in such report fairly presents, in all material respects, the financial condition and results of operations of TOMI Environmental Solutions, Inc.

 

Date: April 1, 2024

By:

/s/ HALDEN S. SHANE

 

Halden S. Shane

 

Chief Executive Officer

 

(Principal Executive Officer)

 

 

 

Date: April 1, 2024

By:

/s/ NICK JENNINGS

 

Nick Jennings

 

Chief Financial Officer

 

(Principal Financial and Accounting Officer)

 

 

EX-101.SCH 6 tomz-20231231.xsd XBRL TAXONOMY EXTENSION SCHEMA 000001 - Document - Cover link:presentationLink link:calculationLink link:definitionLink 000002 - Statement - CONSOLIDATED BALANCE SHEETS link:presentationLink link:calculationLink link:definitionLink 000003 - Statement - CONSOLIDATED BALANCE SHEETS (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 000004 - Statement - CONSOLIDATED STATEMENTS OF OPERATIONS link:presentationLink link:calculationLink link:definitionLink 000005 - Statement - CONSOLIDATED STATEMENTS OF SHAREHOLDERS EQUITY link:presentationLink link:calculationLink link:definitionLink 000006 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS link:presentationLink link:calculationLink link:definitionLink 000007 - Disclosure - DESCRIPTION OF BUSINESS link:presentationLink link:calculationLink link:definitionLink 000008 - Disclosure - SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES link:presentationLink link:calculationLink link:definitionLink 000009 - Disclosure - INVENTORIES link:presentationLink link:calculationLink link:definitionLink 000010 - Disclosure - VENDOR DEPOSITS link:presentationLink link:calculationLink link:definitionLink 000011 - Disclosure - PROPERTY AND EQUIPMENT link:presentationLink link:calculationLink link:definitionLink 000012 - Disclosure - INTANGIBLE ASSETS link:presentationLink link:calculationLink link:definitionLink 000013 - Disclosure - LEASES link:presentationLink link:calculationLink link:definitionLink 000014 - Disclosure - CAPITALIZED SOFTWARE DEVELOPMENT COSTS link:presentationLink link:calculationLink link:definitionLink 000015 - Disclosure - CLOUD COMPUTING SERVICE CONTRACT link:presentationLink link:calculationLink link:definitionLink 000016 - Disclosure - CONVERTIBLE DEBT link:presentationLink link:calculationLink link:definitionLink 000017 - Disclosure - SHAREHOLDERS EQUITY link:presentationLink link:calculationLink link:definitionLink 000018 - Disclosure - COMMITMENTS AND CONTINGENCIES link:presentationLink link:calculationLink link:definitionLink 000019 - Disclosure - CONTRACTS AND AGREEMENTS link:presentationLink link:calculationLink link:definitionLink 000020 - Disclosure - ACCRUED EXPENSES AND OTHER CURRENT LIABILITIES link:presentationLink link:calculationLink link:definitionLink 000021 - Disclosure - ACCRUED WARRANTY link:presentationLink link:calculationLink link:definitionLink 000022 - Disclosure - INCOME TAXES link:presentationLink link:calculationLink link:definitionLink 000023 - Disclosure - CUSTOMER CONCENTRATION link:presentationLink link:calculationLink link:definitionLink 000024 - Disclosure - SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Policies) link:presentationLink link:calculationLink link:definitionLink 000025 - Disclosure - SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Tables) link:presentationLink link:calculationLink link:definitionLink 000026 - Disclosure - INVENTORIES (Tables) link:presentationLink link:calculationLink link:definitionLink 000027 - Disclosure - PROPERTY AND EQUIPMENT (Tables) link:presentationLink link:calculationLink link:definitionLink 000028 - Disclosure - INTANGIBLE ASSETS (Tables) link:presentationLink link:calculationLink link:definitionLink 000029 - Disclosure - LEASES (Tables) link:presentationLink link:calculationLink link:definitionLink 000030 - Disclosure - CAPITALIZED SOFTWARE DEVELOPMENT COSTS (Tables) link:presentationLink link:calculationLink link:definitionLink 000031 - Disclosure - CONVERTIBLE DEBT (Tables) link:presentationLink link:calculationLink link:definitionLink 000032 - Disclosure - SHAREHOLDERS EQUITY (Tables) link:presentationLink link:calculationLink link:definitionLink 000033 - Disclosure - CONTRACTS AND AGREEMENTS (Tables) link:presentationLink link:calculationLink link:definitionLink 000034 - Disclosure - ACCRUED EXPENSES AND OTHER CURRENT LIABILITIES (Tables) link:presentationLink link:calculationLink link:definitionLink 000035 - Disclosure - ACCRUED WARRANTY (Tables) link:presentationLink link:calculationLink link:definitionLink 000036 - Disclosure - INCOME TAXES (Tables) link:presentationLink link:calculationLink link:definitionLink 000037 - Disclosure - SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Details) link:presentationLink link:calculationLink link:definitionLink 000038 - Disclosure - SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Details 1) link:presentationLink link:calculationLink link:definitionLink 000039 - Disclosure - SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Details 2) link:presentationLink link:calculationLink link:definitionLink 000040 - Disclosure - SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Details Narrative) link:presentationLink link:calculationLink link:definitionLink 000041 - Disclosure - INVENTORIES (Details) link:presentationLink link:calculationLink link:definitionLink 000042 - Disclosure - VENDOR DEPOSITS (Details Narrative) link:presentationLink link:calculationLink link:definitionLink 000043 - Disclosure - PROPERTY AND EQUIPMENT (Details) link:presentationLink link:calculationLink link:definitionLink 000044 - Disclosure - PROPERTY AND EQUIPMENT (Details Narrative) link:presentationLink link:calculationLink link:definitionLink 000045 - Disclosure - INTANGIBLE ASSETS (Details) link:presentationLink link:calculationLink link:definitionLink 000046 - Disclosure - INTANGIBLE ASSETS (Details 1) link:presentationLink link:calculationLink link:definitionLink 000047 - Disclosure - INTANGIBLE ASSETS (Details 2) link:presentationLink link:calculationLink link:definitionLink 000048 - Disclosure - INTANGIBLE ASSETS (Details Narrative) link:presentationLink link:calculationLink link:definitionLink 000049 - Disclosure - LEASES (Details) link:presentationLink link:calculationLink link:definitionLink 000050 - Disclosure - LEASES (Details 1) link:presentationLink link:calculationLink link:definitionLink 000051 - Disclosure - LEASES (Details 2) link:presentationLink link:calculationLink link:definitionLink 000052 - Disclosure - LEASES (Details 3) link:presentationLink link:calculationLink link:definitionLink 000053 - Disclosure - LEASES (Details 4) link:presentationLink link:calculationLink link:definitionLink 000054 - Disclosure - LEASES (Details Narrative) link:presentationLink link:calculationLink link:definitionLink 000055 - Disclosure - CAPITALIZED SOFTWARE DEVELOPMENT COSTS (Details) link:presentationLink link:calculationLink link:definitionLink 000056 - Disclosure - CAPITALIZED SOFTWARE DEVELOPMENT COSTS (Details Narrative) link:presentationLink link:calculationLink link:definitionLink 000057 - Disclosure - CLOUD COMPUTING SERVICE CONTRACT (Details Narrative) link:presentationLink link:calculationLink link:definitionLink 000058 - Disclosure - CONVERTIBLE DEBT (Details) link:presentationLink link:calculationLink link:definitionLink 000059 - Disclosure - CONVERTIBLE DEBT (Details Narrative) link:presentationLink link:calculationLink link:definitionLink 000060 - Disclosure - SHAREHOLDERS EQUITY (Details) link:presentationLink link:calculationLink link:definitionLink 000061 - Disclosure - SHAREHOLDERS EQUITY (Details 1) link:presentationLink link:calculationLink link:definitionLink 000062 - Disclosure - SHAREHOLDERS EQUITY (Details 2) link:presentationLink link:calculationLink link:definitionLink 000063 - Disclosure - SHAREHOLDERS EQUITY (Details 3) link:presentationLink link:calculationLink link:definitionLink 000064 - Disclosure - SHAREHOLDERS EQUITY (Details Narrative) link:presentationLink link:calculationLink link:definitionLink 000065 - Disclosure - CONTRACTS AND AGREEMENTS (Details) link:presentationLink link:calculationLink link:definitionLink 000066 - Disclosure - CONTRACTS AND AGREEMENTS (Details Narrative) link:presentationLink link:calculationLink link:definitionLink 000067 - Disclosure - ACCRUED EXPENSES AND OTHER CURRENT LIABILITIES (Details) link:presentationLink link:calculationLink link:definitionLink 000068 - Disclosure - ACCRUED WARRANTY (Details) link:presentationLink link:calculationLink link:definitionLink 000069 - Disclosure - INCOME TAXES (Details) link:presentationLink link:calculationLink link:definitionLink 000070 - Disclosure - INCOME TAXES (Details 1) link:presentationLink link:calculationLink link:definitionLink 000071 - Disclosure - INCOME TAXES (Details 2) link:presentationLink link:calculationLink link:definitionLink 000072 - Disclosure - INCOME TAXES (Details 3) link:presentationLink link:calculationLink link:definitionLink 000073 - Disclosure - INCOME TAXES (Details Narrative) link:presentationLink link:calculationLink link:definitionLink 000074 - Disclosure - CUSTOMER CONCENTRATION (Details Narrative) link:presentationLink link:calculationLink link:definitionLink EX-101.LAB 7 tomz-20231231_lab.xml XBRL TAXONOMY EXTENSION LABEL LINKBASE Cover [Abstract] Entity Registrant Name Entity Central Index Key Document Type Amendment Flag Entity Voluntary Filers Current Fiscal Year End Date Entity Well Known Seasoned Issuer Entity Small Business Entity Shell Company Entity Emerging Growth Company Entity Current Reporting Status Document Period End Date Entity Filer Category Document Fiscal Period Focus Document Fiscal Year Focus Entity Common Stock Shares Outstanding Entity Public Float Document Annual Report Document Transition Report Document Fin Stmt Error Correction Flag Entity File Number Entity Incorporation State Country Code Entity Tax Identification Number Entity Address Address Line 1 Entity Address City Or Town Entity Address State Or Province Entity Address Postal Zip Code City Area Code Icfr Auditor Attestation Flag Auditor Firm Id Local Phone Number Security 12b Title Trading Symbol Security Exchange Name Entity Interactive Data Current Auditor Name Auditor Location CONSOLIDATED BALANCE SHEETS Statement [Table] Statement [Line Items] Statement Class Of Stock Axis Cumulative Convertible Series A Preferred Stock Cumulative Convertible Series B Preferred Stock ASSETS Cash and Cash Equivalents Accounts Receivable - net Other Receivables Inventories (Note 3) Vendor Deposits (Note 4) Prepaid Expenses Total Current Assets [Assets, Current] Property and Equipment - net (Note 5) Other Assets: Intangible Assets - net (Note 6) Operating Lease - Right of Use Asset (Note - 7) Long Term Accounts Receivable - net Other Assets Total Other Assets [Other Assets] Total Assets [Assets] LIABILITIES AND SHAREHOLDERS' EQUITY Current Liabilities: Accounts Payable [Accounts Payable, Current] Accrued Expenses and Other Current Liabilities (Note 14) Deferred Revenue Current Portion of Long-Term Operating Lease (Note 7) Total Current Liabilities [Liabilities, Current] Commitments and Contingencies (Note 12) Long-Term Liabilities: Long-Term Operating Lease, Net of Current Portion (Note 7) Convertible Notes Payable, net of discount of $301,985 and $0 at December 31, 2023 and 2022, respectively (Note 10) Total Long-Term Liabilities [Liabilities, Noncurrent] Total Liabilities [Liabilities] Shareholders' Equity: Preferred Stock, value Common stock; par value $0.01 per share, 250,000,000 shares authorized; 19,923,955 and 19,763,955 shares issued and outstanding at December 31, 2023 and 2022, respectively Additional Paid-In Capital [Additional Paid in Capital] Accumulated Deficit Total Shareholders' Equity [Stockholders' Equity Attributable to Parent] Total Liabilities and Shareholders' Equity [Liabilities and Equity] Net of discount Common Stock; Par Value Common Stock; Shares Authorized Common Stock; Shares Issued Common Stock; Shares Outstanding Cumulative Convertible Preferred Stock; Par Value Cumulative Convertible Preferred Stock; Stated Value Cumulative Convertible Preferred Stock; Shares Authorized Cumulative Convertible Preferred Stock; Shares Issued Cumulative Convertible Preferred Stock; Shares Outstanding CONSOLIDATED STATEMENTS OF OPERATIONS Sales, net Cost of Sales Gross Profit [Gross Profit] Operating Expenses: Professional Fees Depreciation and Amortization Selling Expenses Research and Development Consulting Fees General and Administrative Total Operating Expenses [Operating Expenses] Income (loss) from Operations [Operating Income (Loss)] Other Income (Expense): Interest Income Interest Expense [Interest Expense] Total Other Income (Expense) [Nonoperating Income (Expense)] Income (loss) before income taxes [Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest] Provision for Income Taxes (Note 16) Net Income (loss) [Net Income (Loss) Attributable to Parent] Net income (loss) Per Common Share Basic Diluted Basic Weighted Average Common Shares Outstanding Diluted Weighted Average Common Shares Outstanding CONSOLIDATED STATEMENTS OF SHAREHOLDERS EQUITY Statement Equity Components [Axis] Series A Preferred Stock Common Stock Additional Paid-In Capital Additional Paid-in Capital [Member] Retained Earnings (Accumulated Deficit) Balance, shares [Shares, Issued] Balance, amount Equity Compensation Common Stock Issued for Services Provided, shares Common Stock Issued for Services Provided, amount Warrants and Options Exercised, shares Warrants and Options Exercised, amount Net (Loss) for the year ended December 31, 2022 Balance, shares Balance, amount CONSOLIDATED STATEMENTS OF CASH FLOWS Cash Flow Used in Operating Activities: Net Loss Adjustments to Reconcile Net Loss to Net Used In Operating Activities: Depreciation and Amortization [Other Depreciation and Amortization] Amortization of Right of Use Asset Amortization of Software Costs Amortization of Deferred Financing Costs Equity Compensation Expense Value of Equity Issued for Services Reserve for Bad Debt [Allowance for Loan and Lease Loss, Recovery of Bad Debts] Inventory Reserve Changes in Operating Assets and Liabilities: Decrease (Increase) in Accounts Receivable [Increase (Decrease) in Accounts Receivable] Inventory [Increase (Decrease) in Inventories] Prepaid Expenses [Increase (Decrease) in Prepaid Expense] Vendor Deposits Other Receivables [Increase (Decrease) in Other Receivables] Long Term Accounts Receivable [Accounts Receivable, Sale] Other Assets [Increase (Decrease) in Other Operating Assets] Increase (Decrease) in: Accounts Payable [Increase (Decrease) in Accounts Payable] Accrued Expenses Customer Deposits Lease Liability Net Cash Used in Operating Activities [Net Cash Provided by (Used in) Operating Activities] Cash Flow From Investing Activities: Capitalized Patent and Trademark Costs [Payments to Acquire Intangible Assets] Purchase of Property and Equipment [Payments to Acquire Property, Plant, and Equipment] Net Cash Used in Investing Activities [Net Cash Provided by (Used in) Investing Activities] Cash Flow From Financing Activities: Proceeds from Issuance of Convertible Notes Proceeds from Issuance of Stock and Warrants Net Cash From Financing Activities: [Net Cash Provided by (Used in) Financing Activities] Decrease In Cash and Cash Equivalents [Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Excluding Exchange Rate Effect] Cash and Cash Equivalents - Beginning [Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents] Cash and Cash Equivalents - Ending Supplemental Cash Flow Information: Cash Paid For Interest Cash Paid (Refunded) for Income Taxes Non-Cash Investing and Financing Activities: Patent and trademark costs reclassified from Other Assets DESCRIPTION OF BUSINESS DESCRIPTION OF BUSINESS Nature of Operations [Text Block] SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES Significant Accounting Policies [Text Block] INVENTORIES INVENTORIES Inventory Disclosure [Text Block] VENDOR DEPOSITS VENDOR DEPOSITS [VENDOR DEPOSITS] PROPERTY AND EQUIPMENT PROPERTY AND EQUIPMENT Property, Plant and Equipment Disclosure [Text Block] INTANGIBLE ASSETS INTANGIBLE ASSETS Intangible Assets Disclosure [Text Block] LEASES LEASES Leases of Lessee Disclosure [Text Block] CAPITALIZED SOFTWARE DEVELOPMENT COSTS CAPITALIZED SOFTWARE DEVELOPMENT COSTS Research, Development, and Computer Software Disclosure [Text Block] CLOUD COMPUTING SERVICE CONTRACT CLOUD COMPUTING SERVICE CONTRACT [CLOUD COMPUTING SERVICE CONTRACT] CONVERTIBLE DEBT CONVERTIBLE DEBT Debt Disclosure [Text Block] SHAREHOLDERS' EQUITY COMMITMENTS AND CONTINGENCIES Commitments and Contingencies Disclosure [Text Block] CONTRACTS AND AGREEMENTS CONTRACTS AND AGREEMENTS [CONTRACTS AND AGREEMENTS] ACCRUED EXPENSES AND OTHER CURRENT LIABILITIES ACCRUED EXPENSES AND OTHER CURRENT LIABILITIES Accounts Payable, Accrued Liabilities, and Other Liabilities Disclosure, Current [Text Block] ACCRUED WARRANTY ACCRUED WARRANTY Guarantees [Text Block] INCOME TAXES INCOME TAXES Income Tax Disclosure [Text Block] CUSTOMER CONCENTRATION Concentration Risk Disclosure [Text Block] Principles of Consolidation Reclassification of Accounts Use of Estimates Fair Value Measurements Cash and Cash Equivalents Cash and Cash Equivalents, Policy [Policy Text Block] Accounts Receivable Receivable [Policy Text Block] Inventories Property and Equipment Leases Capitalized Software Development Costs Accounts Payable [Accounts Payable] Accrued Warranties Income Taxes Net Income (Loss) Per Share Revenue Recognition Equity Compensation Expense Share-Based Payment Arrangement [Policy Text Block] Concentrations of Credit Risk Long-Lived Assets Including Acquired Intangible Assets Advertising and Promotional Expenses Research and Development Expenses Business Segments Recent Accounting Pronouncements Net Income (Loss) Per Share Impairment Effects on Earnings Per Share [Table Text Block] Disaggregation of Revenue Inventories Schedule of Inventory, Current [Table Text Block] Property and Equipment Property, Plant and Equipment [Table Text Block] Definite Life Intangible Assets Indefinite Life Intangible Assets Approximate Future Amortization Lease Expense Operating Lease Other Information Related to Leases Supplemental Cash Flow Information related to leases Maturities of Lease Payments Capitalized Software Development Costs [Capitalized Software Development Costs] Schedule of Convertible notes Stock Options Outstanding Options Outstanding and Exercisable by Price Range Stock Warrants Outstanding Warrants Outstanding and Exercisable by Price Range Approximate Minimum Contract Payments Accrued Expenses and Other Current Liabilities Warranty Reserve Activity Income Tax Expense Net Income (Loss) Before Income Tax Effective Income Tax Rate Reconciliation Deferred Income Tax Assets (Liabilities) Net Income (Loss) Net Income (loss) Attributable To Common Shareholders Weighted Average Number Of Common Shares Outstanding: Basic Diluted Net Income (loss) Attributable To Common Shareholders Per Share: Basic [Basic] Diluted [Diluted] Basic Weighted-average Shares Diluted Weighted Average Shares Basic Diluted Statement Business Segments Axis Statement Geographical Axis SteraMist PRoduct [Member] Service And Training [Member] United States [Member] International [Member] Geographic Region Member Sales, net [Sales-type Lease, Revenue] Changes In Revenue Class Of Warrant Or Right Axis Property Plant And Equipment By Type Axis Major Customers Axis Extinguishment Of Debt Axis Income Statement Location Axis Plan Name Axis Related Party Transactions By Related Party Axis Warrants Software Development [Member] Two Vendors Accounts Payable Accounts Payable [Member] Cost of Sales [Member] Stock Options 2016 Equity Incentive Plan Director [Member] Bad Debt Expense Allowance For Doubtful Accounts Inventory Reserve [Inventory Valuation Reserves] Warranty Reserve Advertising And Promotional Expenses Research And Development Expenses Cash Balances At Financial Institutions Common Stock Issuable Upon Conversion Of Outstanding Shares Amortization Of Capitalized Software Development Costs Concentration Risk, Percentage Potentially Dilutive Securities Preferred Stock Shares Common Stock, Shares Authorized Common Stock, Shares Issued Finished Goods Raw Materials Inventory Reserve Total [Inventory, Net] vendor deposits Furniture And Fixtures Equipment Vehicles Computer And Software Leasehold Improvements Tenant Improvement Allowance Property And Equipment, Gross Less: Accumulated Depreciation Property And Equipment, Net Depreciation Amortization Of Tenant Improvement Allowance Intellectual Property And Patents Less: Accumulated Amortization Intangible Assets, Net Trademarks Total Intangible Assets, Net Amortization December 31, 2024 December 31, 2025 December 31, 2026 December 31, 2027 December 31, 2028 Thereafter Total [Finite-Lived Intangible Assets, Net] Amortization Expense Assets Operating Lease Right Of Use Asset Liabilities Current Portion Of Long-term Operating Lease Long-term Operating Lease, Net Of Current Portion Total [Operating Lease, Liability] Operating Lease Expense Weighted-average Remaining Lease Term: Operating Leases Discount Rate: Operating Leases Cash Paid For Amounts Included In The Measurement Of Lease Liabilities: December 31, 2024 [Lessee, Operating Lease, Liability, to be Paid, Year One] December 31, 2025 [Lessee, Operating Lease, Liability, to be Paid, Year Two] December 31, 2026 [Lessee, Operating Lease, Liability, to be Paid, Year Three] December 31, 2027 [Lessee, Operating Lease, Liability, to be Paid, Year Four] December 31, 2028 [Lessee, Operating Lease, Liability, to be Paid, Year Five] Thereafter [Lessee, Operating Lease, Liability, to be Paid, after Year Five] Total Minimum Lease Payments Less: Interest Present Value Of Lease Obligations Less: Current Portion Long-term Portion Of Lease Obligations Term Lease Area Of Lease Facility Annual Rent Lease Increases Rent Percentage Escalation Clause Discount Rate Landlord Tenant Improvement Allowance Capitalized Software Development Costs, Gross Less: Accumulated Amortization [Capitalized Computer Software, Accumulated Amortization] Capitalized Software Development Costs, Net Capitalized Contract Cost Axis Capitalized Software Development Costs Member Amortization of Capitalized Software Development CostsAD Annual payments on contract received Prepaid expenses and other assets Annual payments on contract term Amortization expense Convertible debt Convertible notes Less: Debt issuance costs [Debt Issuance Costs, Line of Credit Arrangements, Net] Accumulated amortization Convertible notes, net Proceeds from convertible promissory notes Convertible promissory notes issued Convertible note description Principal amount Convertible Notes Sold Amount Interest rate Interest expense Exercise price Deferred financing costs amortization Stock Warrant [Member] Outstanding, beginning of period Granted Exercised [Exercised] Expired [Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Forfeitures and Expirations in Period] Outstanding, end of period Weighted Average Exercise Price Weighted average exercise price outstanding, Beginning balance Weighted average exercise price, Granted Weighted average exercise price, Exercised Weighted average exercise price, Expired Weighted average exercise price outstanding, Ending balance Option Indexed to Issuer's Equity [Axis] Range $4.40 Range $1.12 Range $7.06 Range $0.80 Range $0.96 Range $1.93 Range $2.16 Range $0.88 Range $0.71 Range $0.85 Number of outstanding shares Average Weighted Remaining Contractual Life in Years, Outstanding Number of Exercisable Options Weighted Average Exercise Price, Exercisable Options Outstanding, beginning of period Granted Outstanding, end of period Weighted average exercise price, beginning of period [Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price] Weighted average exercise price, Granted [Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Grants in Period, Weighted Average Exercise Price] Weighted average exercise price, Exercised [Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price] Weighted average exercise price, Expired [Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Expirations in Period, Weighted Average Exercise Price] Weighted average exercise price, end of period Award Type Axis $ 2.18 Stock Warrants $ 4.00 $ 6.95 $ 0.64 $ 0.80 $ 0.96 $ 1.12 $ 1.20 $ 1.68 Average Weighted Remaining Contractual Life in Years, Outstanding Outstanding, Beginning Balance Exercisable Warrants Weighted Average Exercise Price, Exercisable Title Of Individual Axis Award Date Axis Range [Axis] CEO [Member] Stock Options January Twenty Two [Member] Stock Option [Member] January 2022 [Member] January 2023 [Member] Officer [Member] January Twenty Three [Member] CEO [Member] [CEO [Member]] January Twenty Two One [Member] Employees [Member] Minimum [Member] Maximum [Member] Grant fair value of per share Warrants issued upon purchase share of common stock Preferred stock shares Cumulative Convertible Preferred Stock; Shares Issued Cumulative Convertible Preferred Stock; Shares Outstanding Cumulative Convertible Preferred Stock; Par Value Common stock share issued Common stock value Volatility rate Expected dividend yield Risk free interest rate Aggregate shares purchase of stock option Fair value of stock option Contractual term Share based compensation expense Expected life term Exercise price [Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Exercise Price] December 31, 2024 [Contractual Obligation, to be Paid, Year Two] December 31, 2025 [Contractual Obligation, to be Paid, Year Three] December 31, 2026 [Contractual Obligation, to be Paid, Year Four] Total Minimum Payments Executive Agreements (Elissa J. Shane) Committee Chairperson Board of Members Term of agreement Options full consideration of the amount entitled Base annual salary Increased annual fee Issued shares of common stock during period Issued shares of common stock during period, value Commissions Payroll And Related Costs Director Fees Sales Tax Payable Accrued Warranty (note 14) Allowance for Sales Returns Other Accrued Expenses Total Beginning Accrued Warranty Costs [Extended Product Warranty Accrual] Provision For Warranty Expense Settlement Of Warranty Claims Ending Accrued Warranty Cost Current: Federal State Foreign Current Income Tax Expense Benefit [Current Income Tax Expense (Benefit)] Deferred: Federal [Deferred Federal Income Tax Expense (Benefit)] State [Deferred State and Local Income Tax Expense (Benefit)] Foreign [Deferred Foreign Income Tax Expense (Benefit)] DeferredIncomeTaxExpenseBenefit Provision for Income Taxes Income (Loss) from Continuing Operations before Income Taxes, Domestic Income (Loss) from Continuing Operations before Income Taxes, Foreign Income (Loss) from Continuing Operations before Equity Method Investments, Income Taxes, Noncontrolling Interest] Income (Loss) before income tax US statutory corporate income tax rate Income tax expense computed at US statutory corporate income tax rate Reconciling items: Change in valuation allowance on deferred tax assets Provision to prior year tax return Incentive stock options and warrants Gain Upon Debt Extinguishment Meals and Entertainment Other Income tax expense (benefit) Deferred tax assets: Reserve for Bad Debt [Deferred Tax Asset, Tax Deferred Expense, Reserve and Accrual, Accounts Receivable, Allowance for Credit Loss] Inventory Reserve [Inventory Reserve] Accrued Vacation Warranty Reserve [Warranty Reserve] Intangible Assets Capitalized R&D Stock-Based Compensation Operating Lease Right-of-use Liabilities Net Operating Losses Valuation Allowance [Deferred Tax Assets, Valuation Allowance] Deferred Tax Assets Deferred tax liabilities: Operating Lease Right-of-use Assets [Operating Lease Right-of-use Assets] Property Plant and Equipment [Deferred Tax Liabilities, Property, Plant and Equipment] Total [Deferred Tax Liabilities, Net] Net Deferred Tax Assets and Liabilities Net Operating Loss Carryforwards State Net Operating Loss Carryforwards Net deferred tax assets increased valuation allowance Net deferred tax assets valuation allowance Description of federal corporate tax rate Two Customer One Customer Two Customers Revenue Concentration Risk Percentage Contracts and agreements text block. Custom Element. Long lived assets including acquired intangible assets. Custom Element. Tabular disclosure of contractual obligation by timing of payment due. Includes, but is not limited to, long-term debt obligation, lease obligation, and purchase obligation. EX-101.CAL 8 tomz-20231231_cal.xml XBRL TAXONOMY EXTENSION CALCULATION LINKBASE EX-101.PRE 9 tomz-20231231_pre.xml XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE EX-101.DEF 10 tomz-20231231_def.xml XBRL TAXONOMY EXTENSION DEFINITION LINKBASE XML 12 R1.htm IDEA: XBRL DOCUMENT v3.24.1
Cover - USD ($)
12 Months Ended
Dec. 31, 2023
Mar. 28, 2024
Jun. 30, 2023
Cover [Abstract]      
Entity Registrant Name TOMI ENVIRONMENTAL SOLUTIONS, INC.    
Entity Central Index Key 0000314227    
Document Type 10-K    
Amendment Flag false    
Entity Voluntary Filers No    
Current Fiscal Year End Date --12-31    
Entity Well Known Seasoned Issuer No    
Entity Small Business true    
Entity Shell Company false    
Entity Emerging Growth Company false    
Entity Current Reporting Status Yes    
Document Period End Date Dec. 31, 2023    
Entity Filer Category Non-accelerated Filer    
Document Fiscal Period Focus FY    
Document Fiscal Year Focus 2023    
Entity Common Stock Shares Outstanding   19,955,205  
Entity Public Float     $ 9,612,000
Document Annual Report true    
Document Transition Report false    
Document Fin Stmt Error Correction Flag false    
Entity File Number 000-09908    
Entity Incorporation State Country Code FL    
Entity Tax Identification Number 59-1947988    
Entity Address Address Line 1 8430 Spires Way    
Entity Address City Or Town Frederick    
Entity Address State Or Province MD    
Entity Address Postal Zip Code 21701    
City Area Code 800    
Icfr Auditor Attestation Flag false    
Auditor Firm Id 89    
Local Phone Number 525-1698    
Security 12b Title Common Stock, par value $0.001 per share    
Trading Symbol TOMZ    
Security Exchange Name NASDAQ    
Entity Interactive Data Current Yes    
Auditor Name Rosenberg Rich Baker Berman, P.A.    
Auditor Location Somerset, New Jersey    
XML 13 R2.htm IDEA: XBRL DOCUMENT v3.24.1
CONSOLIDATED BALANCE SHEETS - USD ($)
Dec. 31, 2023
Dec. 31, 2022
ASSETS    
Cash and Cash Equivalents $ 2,339,059 $ 3,866,733
Accounts Receivable - net 2,429,929 2,772,340
Other Receivables 164,150 164,150
Inventories (Note 3) 4,627,103 4,495,999
Vendor Deposits (Note 4) 29,335 447,052
Prepaid Expenses 371,298 388,359
Total Current Assets 9,960,874 12,134,633
Property and Equipment - net (Note 5) 1,048,642 1,335,331
Other Assets:    
Intangible Assets - net (Note 6) 1,123,246 1,025,736
Operating Lease - Right of Use Asset (Note - 7) 467,935 528,996
Long Term Accounts Receivable - net 206,240 0
Other Assets 550,677 475,103
Total Other Assets 2,348,098 2,029,835
Total Assets 13,357,614 15,499,799
Current Liabilities:    
Accounts Payable 1,267,029 1,761,750
Accrued Expenses and Other Current Liabilities (Note 14) 675,491 728,703
Deferred Revenue 0 699,732
Current Portion of Long-Term Operating Lease (Note 7) 115,658 100,282
Total Current Liabilities 2,058,178 3,290,467
Long-Term Liabilities:    
Long-Term Operating Lease, Net of Current Portion (Note 7) 642,527 761,132
Convertible Notes Payable, net of discount of $301,985 and $0 at December 31, 2023 and 2022, respectively (Note 10) 2,298,015 0
Total Long-Term Liabilities 2,940,542 761,132
Total Liabilities 4,998,720 4,051,599
Shareholders' Equity:    
Common stock; par value $0.01 per share, 250,000,000 shares authorized; 19,923,955 and 19,763,955 shares issued and outstanding at December 31, 2023 and 2022, respectively 199,240 197,640
Additional Paid-In Capital 57,985,245 57,673,559
Accumulated Deficit (49,826,229) (46,423,637)
Total Shareholders' Equity 8,358,894 11,448,200
Total Liabilities and Shareholders' Equity 13,357,614 15,499,799
Cumulative Convertible Series A Preferred Stock    
Shareholders' Equity:    
Preferred Stock, value 638 638
Cumulative Convertible Series B Preferred Stock    
Shareholders' Equity:    
Preferred Stock, value $ 0 $ 0
XML 14 R3.htm IDEA: XBRL DOCUMENT v3.24.1
CONSOLIDATED BALANCE SHEETS (Parenthetical) - USD ($)
Dec. 31, 2023
Dec. 31, 2022
Net of discount $ 301,985 $ 0
Common Stock; Par Value $ 0.01 $ 0.01
Common Stock; Shares Authorized 250,000,000 250,000,000
Common Stock; Shares Issued 19,923,955 19,763,955
Common Stock; Shares Outstanding 19,923,955 19,763,955
Cumulative Convertible Series A Preferred Stock    
Cumulative Convertible Preferred Stock; Par Value $ 0.01 $ 0.01
Cumulative Convertible Preferred Stock; Shares Authorized 1,000,000 1,000,000
Cumulative Convertible Preferred Stock; Shares Issued 63,750 63,750
Cumulative Convertible Preferred Stock; Shares Outstanding 63,750 63,750
Cumulative Convertible Series B Preferred Stock    
Cumulative Convertible Preferred Stock; Stated Value $ 1,000 $ 1,000
Cumulative Convertible Preferred Stock; Shares Authorized 4,000 4,000
Cumulative Convertible Preferred Stock; Shares Issued 0 0
Cumulative Convertible Preferred Stock; Shares Outstanding 0 0
XML 15 R4.htm IDEA: XBRL DOCUMENT v3.24.1
CONSOLIDATED STATEMENTS OF OPERATIONS - USD ($)
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
CONSOLIDATED STATEMENTS OF OPERATIONS    
Sales, net $ 7,354,564 $ 8,338,099
Cost of Sales 3,065,028 3,277,644
Gross Profit 4,289,536 5,060,455
Operating Expenses:    
Professional Fees 575,728 536,311
Depreciation and Amortization 366,677 329,164
Selling Expenses 1,351,465 1,867,013
Research and Development 491,798 352,238
Consulting Fees 282,548 215,180
General and Administrative 4,570,597 4,642,548
Total Operating Expenses 7,638,813 7,942,454
Income (loss) from Operations (3,349,277) (2,881,999)
Other Income (Expense):    
Interest Income 11,990 1,939
Interest Expense (63,305) 0
Total Other Income (Expense) (53,315) 1,939
Income (loss) before income taxes (3,402,592) (2,880,060)
Provision for Income Taxes (Note 16) 0 0
Net Income (loss) $ (3,402,592) $ (2,880,060)
Net income (loss) Per Common Share    
Basic $ (0.17) $ (0.15)
Diluted $ (0.17) $ (0.15)
Basic Weighted Average Common Shares Outstanding 19,834,476 19,743,544
Diluted Weighted Average Common Shares Outstanding 19,834,476 19,743,544
XML 16 R5.htm IDEA: XBRL DOCUMENT v3.24.1
CONSOLIDATED STATEMENTS OF SHAREHOLDERS EQUITY - USD ($)
Total
Series A Preferred Stock
Common Stock
Additional Paid-In Capital
Retained Earnings (Accumulated Deficit)
Balance, shares at Dec. 31, 2021   63,750 19,680,955    
Balance, amount at Dec. 31, 2021 $ 13,595,080 $ 638 $ 196,809 $ 56,941,209 $ (43,543,577)
Equity Compensation 653,843     653,843  
Common Stock Issued for Services Provided, shares     51,750    
Common Stock Issued for Services Provided, amount 54,338   $ 518 53,820  
Warrants and Options Exercised, shares     31,250    
Warrants and Options Exercised, amount 25,000   $ 313 24,687  
Net (Loss) for the year ended December 31, 2022 (2,880,060)       (2,880,060)
Balance, shares at Dec. 31, 2022   63,750 19,763,955    
Balance, amount at Dec. 31, 2022 11,448,200 $ 638 $ 197,640 57,673,559 (46,423,637)
Equity Compensation 163,286     163,286  
Common Stock Issued for Services Provided, shares     160,000    
Common Stock Issued for Services Provided, amount 150,000   $ 1,600 148,400  
Net (Loss) for the year ended December 31, 2022 (3,402,592)       (3,402,592)
Balance, shares at Dec. 31, 2023   63,750 19,923,955    
Balance, amount at Dec. 31, 2023 $ 8,358,894 $ 638 $ 199,240 $ 57,985,245 $ (49,826,229)
XML 17 R6.htm IDEA: XBRL DOCUMENT v3.24.1
CONSOLIDATED STATEMENTS OF CASH FLOWS - USD ($)
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Cash Flow Used in Operating Activities:    
Net Loss $ (3,402,592) $ (2,880,060)
Adjustments to Reconcile Net Loss to Net Used In Operating Activities:    
Depreciation and Amortization 366,677 329,164
Amortization of Right of Use Asset 157,315 157,315
Amortization of Software Costs 0 10,475
Amortization of Deferred Financing Costs 10,413 0
Equity Compensation Expense 163,286 653,843
Value of Equity Issued for Services 150,000 54,338
Reserve for Bad Debt (183,653) 0
Inventory Reserve 0 95,000
Changes in Operating Assets and Liabilities: Decrease (Increase) in    
Accounts Receivable 526,064 (807,564)
Inventory (131,104) 152,281
Prepaid Expenses 17,061 (44,786)
Vendor Deposits 417,718 (158,466)
Other Receivables 0 71,754
Long Term Accounts Receivable (206,240)  
Other Assets (75,574) (177,474)
Increase (Decrease) in:    
Accounts Payable (494,721) 707,711
Accrued Expenses (53,212) 64,095
Customer Deposits (699,732) 693,732
Lease Liability (160,291) (155,622)
Net Cash Used in Operating Activities (3,598,585) (1,234,264)
Cash Flow From Investing Activities:    
Capitalized Patent and Trademark Costs (118,630) (40,570)
Purchase of Property and Equipment (98,060) (200,876)
Net Cash Used in Investing Activities (216,690) (241,446)
Cash Flow From Financing Activities:    
Proceeds from Issuance of Convertible Notes 2,287,601 0
Proceeds from Issuance of Stock and Warrants 0 25,000
Net Cash From Financing Activities: 2,287,601 25,000
Decrease In Cash and Cash Equivalents (1,527,674) (1,450,710)
Cash and Cash Equivalents - Beginning 3,866,733 5,317,443
Cash and Cash Equivalents - Ending 2,339,059 3,866,733
Supplemental Cash Flow Information:    
Cash Paid For Interest 0 28,892
Cash Paid (Refunded) for Income Taxes 0 (72,086)
Non-Cash Investing and Financing Activities:    
Patent and trademark costs reclassified from Other Assets $ 0 $ 43,377
XML 18 R7.htm IDEA: XBRL DOCUMENT v3.24.1
DESCRIPTION OF BUSINESS
12 Months Ended
Dec. 31, 2023
DESCRIPTION OF BUSINESS  
DESCRIPTION OF BUSINESS

NOTE 1. DESCRIPTION OF BUSINESS

 

TOMI Environmental Solutions, Inc., a Florida corporation (“TOMI”, the “Company”, “we”, “our” and “us”) is a global provider of disinfection and decontamination essentials through our premier Binary Ionization Technology® (BIT™) platform, under which we manufacture, license, service and sell our SteraMist® brand of products, including SteraMist® BIT™, a hydrogen peroxide-based mist and fog. Our solution and process are environmentally friendly as the only by-product from our decontamination process is oxygen and water in the form of humidity. Our solution is organically listed in the United States and Canada as a sustainably green product with no or very little carbon footprint. Our business is organized into five divisions: Life Sciences, Healthcare, TOMI Service Network, Food Safety and Commercial.

 

Invented under a defense grant in association with the Defense Advanced Research Projects Agency (“DARPA”) of the U.S. Department of Defense, BIT™ is registered with the U.S. Environmental Protection Agency (the “EPA”) and uses a low percentage hydrogen peroxide as its only active ingredient to produce a fog composed mostly of a hydroxyl radical (.OH ion), known as ionized Hydrogen Peroxide (iHP™). Represented by the SteraMist® brand of products, iHP™ produces a germ-killing aerosol that works like a visual non-caustic gas.

 

Our products are designed to service a broad spectrum of commercial structures, including, but not limited to, hospitals and medical facilities, bio-safety labs, pharmaceutical facilities, meat and produce processing facilities, universities and research facilities, vivarium labs, other service industries including cruise ships, office buildings, hotel and motel rooms, schools, restaurants, military barracks, police and fire departments, prisons, and athletic facilities. Our products are also used in single-family homes and multi-unit residences. Additionally, our products have been listed on the EPA’s List N as products that help combat COVID-19 and are actively being used for this purpose.

XML 19 R8.htm IDEA: XBRL DOCUMENT v3.24.1
SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES
12 Months Ended
Dec. 31, 2023
SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES  
SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES

NOTE 2. SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES

 

Principles of Consolidation

 

The accompanying consolidated financial statements include the accounts of TOMI and its wholly owned subsidiary, TOMI Environmental Solutions, Inc., a Nevada corporation. All intercompany accounts and transactions have been eliminated in consolidation.

 

Reclassification of Accounts

 

Certain reclassifications have been made to prior-year comparative financial statements to conform to the current year presentation. These reclassifications had no material effect on previously reported results of operations or financial position.

 

Use of Estimates

 

The preparation of the consolidated financial statements in conformity with GAAP requires us to make estimates and assumptions that affect the amounts reported and disclosed in the accompanying consolidated financial statements and the accompanying notes. Actual results could differ materially from these estimates. On an ongoing basis, we evaluate our estimates, including those related to accounts receivable, inventory, fair values of financial instruments, intangible assets, useful lives of intangible assets and property and equipment, fair values of stock-based awards, income taxes, and contingent liabilities, among others. We base our estimates on historical experience and on various other assumptions that are believed to be reasonable, the results of which form the basis for making judgments about the carrying values of our assets and liabilities.

 

Fair Value Measurements

 

The authoritative guidance for fair value measurements defines fair value as the exchange price that would be received for an asset or paid to transfer a liability (an exit price) in the principal or the most advantageous market for the asset or liability in an orderly transaction between market participants on the measurement date. Market participants are buyers and sellers in the principal market that are (i) independent, (ii) knowledgeable, (iii) able to transact, and (iv) willing to transact. The guidance describes a fair value hierarchy based on the levels of inputs, of which the first two are considered observable and the last unobservable, that may be used to measure fair value, which are the following:

 

 

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 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 and that are significant to the value of the assets or liabilities.

The carrying amounts of cash and cash equivalents, accounts receivable, accounts payable and accrued expenses approximated fair value because of the short maturity of these instruments.

 

Cash and Cash Equivalents

 

Cash and cash equivalents includes cash on hand, held at financial institutions and other liquid investments with original maturities of three months or less. At times, these deposits may be in excess of insured limits. At December 31, 2023 and December 31, 2022, there were no cash equivalents.

 

Accounts Receivable

 

Our accounts receivable are typically from credit-worthy customers or, for certain international customers, are supported by pre-payments. For those customers to whom we extend credit, we perform periodic evaluations of their status and maintain allowances for potential credit losses as deemed necessary. We have a policy of reserving for credit losses based on our best estimate of the amount of potential credit losses in existing accounts receivable. We periodically review our accounts receivable to determine whether an allowance is necessary based on an analysis of past due accounts and other factors that may indicate that the realization of an account may be in doubt. Account balances deemed to be uncollectible are charged to the allowance after all means of collection have been exhausted and the potential for recovery is considered remote.  Bad debt expense for the years ended December 31, 2023 and 2022, was approximately $272,517 and $142,188, respectively.  At December 31, 2023 and December 31, 2022, the allowance for doubtful accounts reserve was $1,494,347 and $1,678,000.

 

Long-term trade accounts receivable, are principally amounts arising from the sale of goods and services with a contractual maturity date or realization period of greater than one year and are recognized as “Long-Term Accounts Receivable” in our Consolidated Balance Sheet.

 

Inventories

 

Inventories are valued at the lower of cost or net realizable value using the first-in, first-out (FIFO) method. Inventories consist primarily of finished goods and raw materials.

 

We expense costs to maintain certification to cost of goods sold as incurred.

 

We review inventory on an ongoing basis, considering factors such as deterioration and obsolescence. We record an allowance for estimated losses when the facts and circumstances indicate that particular inventories may not be usable.  Our reserve for obsolete inventory was $95,000 as of December 31, 2023 and December 31, 2022.

 

Property and Equipment

 

We account for property and equipment at cost less accumulated depreciation. We compute depreciation using the straight-line method over the estimated useful lives of the assets, generally three to five years. Depreciation for equipment, furniture and fixtures and vehicles commences once placed in service for its intended use. Leasehold improvements are amortized using the straight-line method over the lives of the respective leases or service lives of the improvements, whichever is shorter.

 

Leases

 

We recognize a right-of-use (“ROU”) asset and lease liability for all leases with terms of more than 12 months, in accordance with ASC 842. We utilize the short-term lease recognition exemption for all asset classes as part of our on-going accounting under ASC 842. This means, for those leases that qualify, we will not recognize ROU assets or lease liabilities. Recognition, measurement and presentation of expenses depends on classification as a finance or operating lease.

As a lessee, we utilize the reasonably certain threshold criteria in determining which options we will exercise. Furthermore, our lease payments are based on index rates with minimum annual increases. These represent fixed payments and are captured in the future minimum lease payments calculation. In determining the discount rate to use in calculating the present value of lease payments, we used our incremental borrowing rate based on the information available at adoption date in determining the present value of lease payments.

 

We have also elected the practical expedient to not separate lease and non-lease components for all asset classes, meaning all consideration that is fixed, or in-substance fixed, will be captured as part of our lease components for balance sheet purposes. Furthermore, all variable payments included in lease agreements will be disclosed as variable lease expense when incurred. Generally, variable lease payments are based on usage and common area maintenance. These payments will be included as variable lease expense in the period in which they are incurred.

 

Capitalized Software Development Costs

 

In accordance with ASC 985-20 regarding the development of software to be sold, leased, or marketed, we expense such costs as they are incurred until technological feasibility has been established, at and after which time those costs are capitalized until the product is available for general release to customers. The periodic expense for the amortization of capitalized software development costs will be included in cost of sales.  Amortization expense for the years ended December 31, 2023 and 2022, was $0 and $10,475, respectively. 

 

Accounts Payable

 

As of December 31, 2023, two vendors accounted for approximately 59% of accounts payable. As of December 31, 2022, two vendors accounted for approximately 55% of accounts payable.

 

For the year ended December 31, 2023, two vendors accounted for 70% of cost of sales. For the year ended December 31, 2022, two vendors accounted for 67% of cost of sales.

 

Accrued Warranties

 

Accrued warranties represent the estimated costs, if any, that will be incurred during the warranty period of our products. We estimate the expected costs to be incurred during the warranty period and record the expense to the consolidated statement of operations at the date of sale. Our manufacturers assume the warranty against product defects from date of sale, which we extend to our customers upon sale of the product. We assume responsibility for product reliability and results. As of December 31, 2023, and December 31, 2022, our warranty reserve was $30,000 and $68,000, respectively. (See Note 15).

 

Income Taxes

 

Deferred income tax assets and liabilities are determined based on differences between the financial statement reporting and tax bases of assets and liabilities and are measured using the enacted tax rates and laws in effect when the differences are expected to reverse. The measurement of deferred income tax assets is reduced, if necessary, by a valuation allowance for any tax benefits that are, on a more likely than not basis, not expected to be realized in accordance with FASB ASC Topic 740, Income Taxes guidance for income taxes. Net deferred tax benefits have been fully reserved at December 31, 2023 and December 31, 2022. The effect on deferred income tax assets and liabilities of a change in tax rates is recognized in the period that such tax rate changes are enacted.

 

Net Income (Loss) Per Share

 

Basic net income or (loss) per share is computed by dividing our net income or (loss) by the weighted average number of shares of common stock outstanding during the period presented. Diluted income or (loss) per share is based on the treasury stock method and includes the effect from potential issuance of shares of common stock, such as shares issuable pursuant to the exercise of options and warrants and conversions of preferred stock or debentures. The computation of diluted EPS is similar to the computation of basic EPS except that the numerator may have to adjust for any dividends and income or loss associated with potentially dilutive securities that are assumed to have resulted in the issuance of shares of common stock and the denominator may have to adjust to include the number of additional shares of common stock that would have been outstanding if the dilutive potential shares of common stock had been issued during the period to reflect the potential dilution that could occur from shares of common stock issuable through a contingent shares issuance arrangement, stock options, warrants, or convertible preferred stock. For purposes of determining diluted earnings per common share, the treasury stock method is used for stock options, and warrants, and the if-converted method is used for convertible preferred stock as prescribed in FASB ASC Topic 260. Because of the net loss for the year ended December 31, 2023 and 2022, the impact of including these in our computation of diluted EPS was anti-dilutive.

 

Potentially dilutive securities as of December 31, 2023 consisted of 2,080,000 shares of common stock from convertible debentures, 2,772,096 shares of common stock issuable upon exercise of outstanding warrants, 617,542 shares of common stock issuable upon outstanding options and 63,750 shares of common stock issuable upon conversion of outstanding shares of Preferred A stock (“Convertible Series A Preferred Stock”).

Potentially dilutive securities as of December 31, 2022 consisted of 2,792,335 shares of common stock issuable upon exercise of outstanding warrants, 413,000 shares of common stock issuable upon outstanding options and 63,750 shares of common stock issuable upon conversion of outstanding shares of Preferred A stock (“Convertible Series A Preferred Stock”).

 

Options, warrants, preferred stock and shares associated with the conversion of debt to purchase approximately 5.5 million and 3.3 million shares of common stock were outstanding at December 31, 2023 and 2022, respectively, but were excluded from the computation of diluted net loss per share at December 31, 2023 and 2022 due to the anti-dilutive effect on net loss per share.

 

 

 

For the Year Ended December 31,

 

 

 

2023

 

 

2022

 

Net Loss

 

$(3,402,592)

 

$(2,880,060)

Net loss attributable to common shareholders

 

$(3,402,592)

 

$(2,880,060)

Weighted average number of shares of common stock outstanding:

 

 

 

 

 

 

 

 

Basic

 

 

19,834,476

 

 

 

19,743,544

 

Diluted

 

 

19,834,476

 

 

 

19,743,544

 

Net loss attributable to common shareholders per share:

 

 

 

 

 

 

 

 

Basic

 

$(0.17)

 

$(0.15)

Diluted

 

$(0.17)

 

$(0.15)

 

The following provides a reconciliation of the shares used in calculating the per share amounts for the periods presented:

 

 

 

For the Years Ended December 31,

 

 

 

2023

 

 

2022

 

Numerator:

 

 

 

 

 

 

Net Loss

 

$(3,402,592)

 

$(2,880,060)

Denominator:

 

 

 

 

 

 

 

 

Basic weighted-average shares

 

 

19,834,476

 

 

 

19,743,544

 

Effect of dilutive securities

 

 

 

 

 

 

 

 

Warrants

 

 

-

 

 

 

-

 

Convertible Debt

 

 

-

 

 

 

-

 

Options

 

 

-

 

 

 

-

 

Preferred Stock

 

 

-

 

 

 

-

 

Diluted Weighted Average Shares

 

 

19,834,476

 

 

 

19,743,544

 

 

 

 

 

 

 

 

 

 

Net Loss Per Common Share:

 

 

 

 

 

 

 

 

 

Basic

 

$(0.17)

 

$(0.15)

Diluted

 

$(0.17)

 

$(0.15)

Revenue Recognition

 

We recognize revenue in accordance with Financial Accounting Standards Board (FASB) Accounting Standards Codification (“ASC”) Topic 606, Revenue from Contracts with Customers, Revenue from Contracts with Customers (Topic 606). We recognize revenue when we transfer promised goods or services to customers in an amount that reflects the consideration to which we expect to be entitled in exchange for those goods or services. To determine revenue recognition for contracts with customers we perform the following five steps: (i) identify the contract(s) with a customer; (ii) identify the performance obligation(s) in the contract; (iii) determine the transaction price; (iv) allocate the transaction price to the performance obligation(s) in the contract; and (v) recognize revenue when (or as) we satisfy the performance obligation(s). At contract inception, we assess the goods or services promised within each contract, assess whether each promised good or service is distinct and identify those that are performance obligations.

 

We must use judgment to determine: a) the number of performance obligations based on the determination under step (ii) above and whether those performance obligations are distinct from other performance obligations in the contract; b) the transaction price under step (iii) above; and c) the stand-alone selling price for each performance obligation identified in the contract for the allocation of transaction price in step (iv) above.

 

Title and risk of loss generally pass to our customers upon shipment. Our customers include end users as well as dealers and distributors who market and sell our products. Our revenue is not contingent upon resale by the dealer or distributor, and we have no further obligations related to bringing about resale. Shipping and handling costs charged to customers are included in Product Revenues. The associated expenses are treated as fulfillment costs and are included in Cost of Revenues. Revenues are reported net of sales taxes collected from Customers.

 

Disaggregation of Revenue

 

The following table presents our revenues disaggregated by revenue source (rounded to nearest thousandth).

 

Product and Service Revenue

 

For The Years Ended

December 31,

 

 

               Change

 

 

 

            2023

 

 

                    2022

 

 

$

 

SteraMist Product

 

$5,695,000

 

 

$6,864,000

 

 

$(1,169,000)

Service and Training

 

 

1,660,000

 

 

 

1,474,000

 

 

 

186,000

 

Total

 

$7,355,000

 

 

$8,338,000

 

 

$(983,000)

 

Revenue by Geographic Region

 

 

 

  For The Years Ended

December 31,

 

 

Change

 

 

 

           2023

 

 

2022

 

 

$

 

United States

 

$6,125,000

 

 

$6,261,000

 

 

$(136,000)

International

 

 

1,230,000

 

 

 

2,077,000

 

 

 

(847,000)

Total

 

$7,355,000

 

 

$8,338,000

 

 

$(983,000)

 

Product revenue includes sales from our standard and customized equipment, solution and accessories sold with our equipment. Revenue is recognized upon transfer of control of promised products to customers in an amount that reflects the consideration we expect to receive in exchange for those products.

 

Service and training revenue include sales from our high-level decontamination and service engagements, validation of our equipment and technology and customer training. Service revenue is recognized as the agreed upon services are rendered to our customers in an amount that reflects the consideration we expect to receive in exchange for those services.

 

Costs to Obtain a Contract with a Customer

 

We apply a practical expedient to expense costs as incurred for costs to obtain a contract with a customer when the amortization period would have been one year or less. We generally expense sales commissions when incurred because the amortization period would have been one year or less. These costs are recorded within selling expenses.

 

Contract Balances

 

As of December 31, 2023, and December 31, 2022 we did not have any unsatisfied performance obligations for (i) contracts with an original expected length of one year or less and (ii) contracts for which we recognize revenue at the amount to which we have the right to invoice for services performed.

Arrangements with Multiple Performance Obligations

 

Our contracts with customers may include multiple performance obligations. We enter into contracts that can include various combinations of products and services, which are primarily distinct and accounted for as separate performance obligations.

 

Significant Judgments

 

Our contracts with customers for products and services often dictate the terms and conditions of when the control of the promised products or services is transferred to the customer and the amount of consideration to be received in exchange for the products and services.

 

Equity Compensation Expense

 

We account for equity compensation expense in accordance with FASB ASC 718, “Compensation—Stock Compensation.” Under the provisions of FASB ASC 718, equity compensation expense is estimated at the grant date based on the award’s fair value.

 

The valuation methodology used to determine the fair value of options and warrants issued as compensation during the period is the Black-Scholes option-pricing model. The Black-Scholes model requires the use of a number of assumptions including volatility of the stock price, the average risk-free interest rate, and the weighted average expected life of the options. Risk–free interest rates are calculated based on continuously compounded risk–free rates for the appropriate term. The expected term of the Company’s warrants has been determined utilizing the “simplified” method for awards that qualify as “plain-vanilla” warrants. The dividend yield is assumed to be zero as the Company has never paid or declared any cash dividends on its common stock, par value $0.01 (the “Common Stock”) and does not intend to pay dividends on its Common Stock in the foreseeable future. The expected forfeiture rate is estimated based on management’s best assessment.

 

On July 7, 2017, our shareholders approved the Company’s Amended and Restated 2016 Equity Incentive Plan (the “2016 Plan”). The 2016 Plan authorizes the grant of stock options, stock appreciation rights, restricted stock, restricted stock units and performance units/shares. Up to 2,000,000 shares of Common Stock are authorized for issuance under the 2016 Plan. Shares issued under the 2016 Plan may be either authorized but unissued shares, treasury shares, or any combination thereof. Provisions in the 2016 Plan permit the reuse or reissuance by the 2016 Plan of shares of Common Stock for numerous reasons, including, but not limited to, shares of Common Stock underlying canceled, expired, or forfeited awards of stock-based compensation and stock appreciation rights paid out in the form of cash. Equity compensation expense will typically be awarded in consideration for the future performance of services to us. All recipients of awards under the 2016 Plan are required to enter into award agreements with us at the time of the award, and awards under the 2016 Plan are expressly conditioned upon such agreements. For the year ended December 31, 2023 and 2022, we issued 60,000 and 51,750 shares of common stock, respectively, out of the 2016 Plan.

 

Concentrations of Credit Risk

 

Financial instruments that potentially subject us to significant concentrations of credit risk consist principally of cash and cash equivalents. We maintain cash balances at financial institutions which exceed the current Federal Deposit Insurance Corporation limit of $250,000 at times during the year.

 

Long-Lived Assets Including Acquired Intangible Assets

 

We assess long-lived assets for potential impairments at the end of each year, or during the year if an event or other circumstance indicates that we may not be able to recover the carrying amount of the asset. In evaluating long-lived assets for impairment, we measure recoverability of these assets by comparing the carrying amounts to the future undiscounted cash flows the assets are expected to generate. If our long-lived assets are considered to be impaired, the impairment to be recognized equals the amount by which the carrying value of the asset exceeds its fair market value. We base the calculations of the estimated fair value of our long-lived assets on the income approach. For the income approach, we use an internally developed discounted cash flow model that includes, among others, the following assumptions: projections of revenues and expenses and related cash flows based on assumed long-term growth rates and demand trends; expected future investments to grow new units; and estimated discount rates. We base these assumptions on our historical data and experience, industry projections, micro and macro general economic condition projections, and our expectations. We had no long-lived asset impairment charges for the years ended December 31, 2023 and 2022.

Advertising and Promotional Expenses

 

We expense advertising costs in the period in which they are incurred. Advertising and promotional expenses included in selling expenses for the years ended December 31, 2023 and 2022 were approximately $498,000 and $653,000, respectively.

 

Research and Development Expenses

 

We expense research and development expenses in the period in which they are incurred. For the years ended December 31, 2023 and 2022, research and development expenses were approximately $492,000 and $352,000, respectively.

 

Business Segments

 

We currently have one reportable business segment due to the fact that we derive our revenue primarily from one product. A breakdown of revenue is presented in “Revenue Recognition” in Note 2 above.

 

Recent Accounting Pronouncements

 

Recently issued accounting pronouncements not yet adopted

 

In November 2023, the Financial Accounting Standards Board (“FASB”) issued ASU No. 2023-07, Improvements to Reportable Segment Disclosures (Topic 280). This ASU updates reportable segment disclosure requirements by requiring disclosures of significant reportable segment expenses that are regularly provided to the Chief Operating Decision Maker (“CODM”) and included within each reported measure of a segment’s profit or loss. This ASU also requires disclosure of the title and position of the individual identified as the CODM and an explanation of how the CODM uses the reported measures of a segment’s profit or loss in assessing segment performance and deciding how to allocate resources. The ASU is effective for annual periods beginning after December 15, 2023, and interim periods within fiscal years beginning after December 15, 2024. Adoption of the ASU should be applied retrospectively to all prior periods presented in the financial statements. Early adoption is also permitted. This ASU will likely result in us including the additional required disclosures when adopted. We are currently evaluating the provisions of this ASU and expect to adopt them for the year ending December 31, 2024.

 

In December 2023, the FASB issued ASU No. 2023-09, Improvements to Income Tax Disclosures (Topic 740). The ASU requires disaggregated information about a reporting entity’s effective tax rate reconciliation as well as additional information on income taxes paid. The ASU is effective on a prospective basis for annual periods beginning after December 15, 2024. Early adoption is also permitted for annual financial statements that have not yet been issued or made available for issuance. This ASU will result in the required additional disclosures being included in our consolidated financial statements, once adopted.

 

Recently adopted accounting pronouncements

 

In March 2022, the FASB issued ASU 2022-02, Troubled Debt Restructurings and Vintage Disclosures. This ASU eliminates the accounting guidance for troubled debt restructurings by creditors that have adopted ASU 2016-13, Measurement of Credit Losses on Financial Instruments, which we adopted on January 1, 2020. This ASU also enhances the disclosure requirements for certain loan refinancing and restructurings by creditors when a borrower is experiencing financial difficulty. In addition, the ASU amends the guidance on vintage disclosures to require entities to disclose current period gross write-offs by year of origination for financing receivables and net investments in leases within the scope of ASC 326-20. The ASU is effective for annual periods beginning after December 15, 2022, including interim periods within those fiscal years. We adopted the ASU prospectively on January 1, 2023.  This ASU did not have a material impact on our consolidated financial statements.

 

In October 2021, the FASB issued ASU No. 2021-08, Accounting for Contract Assets and Contract Liabilities from Contracts with Customers (Topic 805). This ASU requires an acquirer in a business combination to recognize and measure contract assets and contract liabilities (deferred revenue) from acquired contracts using the revenue recognition guidance in Topic 606. At the acquisition date, the acquirer applies the revenue model as if it had originated the acquired contracts. The ASU is effective for annual periods beginning after December 15, 2022, including interim periods within those fiscal years. We adopted this ASU prospectively on January 1, 2023. This ASU did not have a material impact on our consolidated financial statements.

In August 2020, the FASB issued ASU No. 2020-06, Debt—Debt with Conversion and Other Options (Subtopic 470-20) and Derivatives and Hedging—Contracts in Entity’s Own Equity (Subtopic 815-40): Accounting for Convertible Instruments and Contracts in an Entity’s Own Equity. ASU 2020-06 was issued to reduce the complexity associated with accounting for certain financial instruments with characteristics of liabilities and equity. ASU 2020-06 reduces the number of accounting models for convertible debt instruments and convertible preferred stock and improves the disclosures for convertible instruments and related earnings per share guidance. ASU 2020-06 also amends the guidance for the derivatives scope exception for contracts in an entity’s own equity and improves and amends the related earnings per share guidance. For public entities that qualify as a filer with the SEC, excluding entities eligible to be smaller reporting companies, ASU 2020-06 is effective for fiscal annual periods beginning after December 15, 2021, including interim periods within those fiscal years. For nonpublic entities, ASU 2020-06 is effective for fiscal years beginning after December 15, 2023, including interim periods within those fiscal years. Early adoption was permitted, but no earlier than fiscal years beginning after December 15, 2020, including interim periods within those fiscal years. ASU 2020-06 must be adopted as of the beginning of a company’s annual fiscal year. ASU 2020-06 may be adopted through either a modified retrospective method of transition or a fully retrospective method of transition. The Company adopted ASU 2020-06 on January 1, 2021. The adoption did not have an impact on our consolidated financial statements.

 

In June 2016, the FASB issued ASU 2016-13, Financial Instruments-Credit Losses (“ASU 2016-13”), which provides new authoritative guidance with respect to the measurement of credit losses on financial instruments. This update changes the impairment model for most financial assets and certain other instruments by introducing a current expected credit loss (“CECL”) model. The CECL model is a more forward-looking approach based on expected losses rather than incurred losses, requiring entities to estimate and record losses expected over the remaining contractual life of an asset. ASU 2016-13 is effective for fiscal years beginning after December 15, 2022, including interim periods within those fiscal years for smaller reporting companies. The Company adopted ASU 2016-13 on January 1, 2023. The adoption did not have an impact on our consolidated financial statements.

XML 20 R9.htm IDEA: XBRL DOCUMENT v3.24.1
INVENTORIES
12 Months Ended
Dec. 31, 2023
INVENTORIES  
INVENTORIES

NOTE 3. INVENTORIES

 

Inventories consist of the following at (rounded to the nearest thousandth):

 

 

 

December 31, 2023

 

 

December 31, 2022

 

Finished goods

 

$3,980,000

 

 

$3,929,000

 

Raw Materials

 

 

742,000

 

 

 

662,000

 

Inventory Reserve

 

 

(95,000)

 

 

(95,000)

Inventory, net

 

$4,627,000

 

 

$4,496,000

 

XML 21 R10.htm IDEA: XBRL DOCUMENT v3.24.1
VENDOR DEPOSITS
12 Months Ended
Dec. 31, 2023
VENDOR DEPOSITS  
VENDOR DEPOSITS

NOTE 4. VENDOR DEPOSITS

 

On December 31, 2023 and December 31, 2022, we maintained vendor deposits of $29,335 and $447,052, respectively, for open purchase orders for inventory.

XML 22 R11.htm IDEA: XBRL DOCUMENT v3.24.1
PROPERTY AND EQUIPMENT
12 Months Ended
Dec. 31, 2023
PROPERTY AND EQUIPMENT  
PROPERTY AND EQUIPMENT

NOTE 5. PROPERTY AND EQUIPMENT

 

 Property and equipment consist of the following at:

 

 

 

December 31, 2023

 

 

December 31, 2022

 

Furniture and fixtures

 

$364,819

 

 

$364,819

 

Equipment

 

 

2,269,185

 

 

 

2,236,510

 

Vehicles

 

 

66,170

 

 

 

60,703

 

Computer and software

 

 

306,556

 

 

 

246,638

 

Leasehold improvements

 

 

393,381

 

 

 

393,381

 

Tenant Improvement Allowance 

 

 

405,000

 

 

 

405,000

 

 

 

 

 

 

 

 

 

 

Total Property and Equipment

 

 

3,805,111

 

 

 

3,707,051

 

Less: Accumulated depreciation

 

 

2,756,469

 

 

 

2,371,720

 

Property and Equipment, net

 

$1,048,642

 

 

$1,335,331

 

For the years ended December 31, 2023 and 2022, depreciation was $345,556 and $314,669, respectively. For the years ended December 31, 2023 and 2022, amortization of tenant improvement allowance was $39,194 and was recorded as lease expense and included within general and administrative expense on the consolidated statement of operations.

XML 23 R12.htm IDEA: XBRL DOCUMENT v3.24.1
INTANGIBLE ASSETS
12 Months Ended
Dec. 31, 2023
INTANGIBLE ASSETS  
INTANGIBLE ASSETS

NOTE 6. INTANGIBLE ASSETS

 

Intangible assets consist of patents and trademarks related to our Binary Ionization Technology. We amortize the patents over the estimated remaining lives of the related patents. The trademarks have an indefinite life. Amortization expense was $21,121 and $14,495 for the years ended December 31, 2022 and 2021, respectively.

 

Definite life intangible assets consist of the following:

 

 

 

December 31, 2023

 

 

December 31, 2022

 

Intellectual Property and Patents

 

$3,196,396

 

 

$3,108,063

 

Less: Accumulated Amortization

 

 

2,904,013

 

 

 

2,882,892

 

Patents, net

 

$292,383

 

 

$225,171

 

 

Indefinite life intangible assets consist of the following:

 

 

Trademarks

 

 

830,863

 

 

 

800,565

 

Total Intangible Assets, net

 

$1,123,246

 

 

$1,025,736

 

 

Approximate future amortization is as follows (rounded to nearest thousandth):

  

Year Ended:

 

Amount

 

 

 

 

 

December 31, 2024

 

 

20,000

 

December 31, 2025

 

 

20,000

 

December 31, 2026

 

 

20,000

 

December 31, 2027

 

 

20,000

 

December 31, 2028

 

 

20,000

 

Thereafter

 

 

192,000

 

Total

 

$292,000

 

XML 24 R13.htm IDEA: XBRL DOCUMENT v3.24.1
LEASES
12 Months Ended
Dec. 31, 2023
LEASES  
LEASES

NOTE 7. LEASES

 

In April 2018, we entered into a 10-year lease agreement for a new 9,000-square-foot facility that contains office, warehouse, lab and research and development space in Frederick, Maryland. The lease agreement commenced in December 2018 when the property was ready for occupancy. The agreement provided for annual rent of $143,460, an escalation clause that increases the rent 3% year over year, a landlord tenant improvement allowance of $405,000 and additional landlord work as discussed in the lease agreement. We took occupancy of the property on December 17, 2018 and the lease was amended in March 2019 to provide for a 4-month rent holiday and a commencement date of April 1, 2019. A 7% discount rate was determined using our incremental borrowing rate based on the information available at adoption date in determining the present value of lease payments. Lease expense for operating lease payments is recognized on a straight-line basis over the lease term.

 

The balances for our operating lease where we are the lessee are presented as follows within our consolidated balance sheet:

 

Operating leases:

 

December 31, 2023

 

 

December 31, 2022

 

Assets:

 

 

 

 

 

 

Operating lease right-of-use asset

 

$467,935

 

 

$528,996

 

Liabilities:

 

 

 

 

 

 

 

 

Current Portion of Long-Term Operating Lease

 

$115,658

 

 

$100,282

 

Long-Term Operating Lease, Net of Current Portion

 

 

642,527

 

 

 

761,132

 

Total

 

$758,185

 

 

$861,414

 

 

The components of lease expense are as follows within our consolidated statement of operations:

 

 

 

For the Year Ended December 31, 2023

 

 

For the Year Ended December 31, 2022

 

 

 

 

 

 

 

 

Operating lease expense

 

$157,315

 

 

$157,315

 

 

Other information related to leases where we are the lessee is as follows:

 

 

 

December 31, 2023

 

 

December 31, 2022

 

 

Weighted-average remaining lease term:

 

 

 

 

 

 

Operating leases

 

 5.00 years 

 

 

 6.00 years 

 

 

 

 

 

 

 

 

Discount rate:

 

 

 

 

 

 

Operating leases

 

 

7.00%

 

 

7.00%

 

Supplemental cash flow information related to leases where we are the lessee is as follows:

 

 

 

For the Year Ended December 31, 2023

 

 

For the Year Ended December 31, 2022

 

Cash paid for amounts included in the measurement of lease liabilities:

 

$160,290

 

 

$155,621

 

 

As of December 31, 2023, the maturities of our operating lease liability are as follows:

 

Year Ended:

 

Operating Lease

 

December 31, 2024

 

$165,098

 

December 31, 2025

 

 

170,051

 

December 31, 2026

 

 

175,153

 

December 31, 2027

 

 

180,408

 

December 31, 2028

 

 

185,819

 

Thereafter

 

 

33,751

 

Total minimum lease payments

 

 

910,281

 

Less:  Interest

 

 

152,096

 

Present value of lease obligations

 

 

758,185

 

Less: Current portion

 

 

115,658

 

Long-term portion of lease obligations

 

$642,527

 

XML 25 R14.htm IDEA: XBRL DOCUMENT v3.24.1
CAPITALIZED SOFTWARE DEVELOPMENT COSTS
12 Months Ended
Dec. 31, 2023
CAPITALIZED SOFTWARE DEVELOPMENT COSTS  
CAPITALIZED SOFTWARE DEVELOPMENT COSTS

NOTE 8. CAPITALIZED SOFTWARE DEVELOPMENT COSTS

 

In accordance with ASC 985-20 we capitalized certain software development costs associated with updating our continuing line of product offerings. Capitalized software development costs consist of the following at:

 

 

 

    December 31, 2023

 

 

December 31, 2022

 

Capitalized Software Development Costs

 

$125,704

 

 

$125,704

 

Less:  Accumulated Amortization

 

 

(125,704)

 

 

(125,704)

Capitalized Software Development Costs - net

 

$-

 

 

$-

 

 

Amortization expense for the years ended December 31, 2023 and 2022 was $0 and $10,475, respectively.

XML 26 R15.htm IDEA: XBRL DOCUMENT v3.24.1
CLOUD COMPUTING SERVICE CONTRACT
12 Months Ended
Dec. 31, 2023
CLOUD COMPUTING SERVICE CONTRACT  
CLOUD COMPUTING SERVICE CONTRACT

NOTE 9. CLOUD COMPUTING SERVICE CONTRACT

 

In May 2020 we entered into a cloud computing service contract with a vendor. The contract provides for annual payments in the amount of $30,409 and has a term of 5 years. The annual contract payments are capitalized as a prepaid expense and amortized over a twelve-month period.

 

We have incurred implementation costs of $66,857 in connection with the cloud computing service contract which have been capitalized in prepaid expenses and other assets as of December 31, 2023. In accordance with ASU No. 2018-15, such implementation costs are being amortized over the remaining contract terms beginning January 1, 2021, which was when the cloud-based service contract was placed in service. Amortization expense for the years ended December 31, 2023 and 2022 were $15,063 and $15,027, respectively.

XML 27 R16.htm IDEA: XBRL DOCUMENT v3.24.1
CONVERTIBLE DEBT
12 Months Ended
Dec. 31, 2023
CONVERTIBLE DEBT  
CONVERTIBLE DEBT

NOTE 10. CONVERTIBLE DEBT

 

On October and November 2023, we entered into a Securities Purchase Agreement (the “SPA”) with certain accredited investors (collectively, the “Investors”) pursuant to which we agreed to sell and issue to the Investors in a private placement transaction (the “Private Placement”) in one or more closings up to an aggregate principal amount of $5,000,000 of Convertible Notes (the “Notes”).  As of December 31, 2023, we issued and sold an aggregate of $2,600,000 of Notes to certain Investors pursuant to the SPA.

 

In October and November 2023, we  sold and issued pursuant to the  SPA convertible promissory notes (the “Notes”) to purchase an aggregate of 2,080,000 shares of common stock at an exercise price of $1.25 per share in exchange for aggregate gross proceeds of $2,600,000. The Notes mature and are due on the fifth anniversary of the issuance date in October and November of 2028. The Notes bear simple interest at a rate of 12% per annum, payable in equal monthly installments. The Notes are convertible into shares of our Common Stock, at the option of the holder, at a conversion price of $1.25 per share, which shall not exceed $1.55 per share. In addition, we can require Investors to convert the Notes at the then current conversion price at any time after 90 days from the issue date if the Common Stock has a closing bid price of $1.55 per share or higher on any twenty (20) days within a thirty (30) day period of consecutive trading days, or if a “fundamental change” occurs (as defined in the Securities Purchase Agreement). The Notes are unsecured and senior to other indebtedness subject to certain exceptions. Interest expense related to the Notes for the years ended December 31, 2023 and 2022 was $54,892 and $0, respectively.

 

Amortization of deferred financing costs were $10,413 and $0 for the years ended December 31, 2023 and 2022, respectively, which has been included with interest expense on the statement of operations. 

 

Convertible notes consist of the following at:

 

 

 

December 31,

 

 

December 31,

 

 

 

2023

 

 

2022

 

 

 

 

 

 

 

 

Convertible notes

 

$2,600,000

 

 

$-

 

Less: Debt issuance costs

 

 

(312,398)

 

 

-

 

Accumulated amortization

 

 

10,413

 

 

 

-

 

Convertible notes, net

 

$2,298,015

 

 

$-

 

XML 28 R17.htm IDEA: XBRL DOCUMENT v3.24.1
SHAREHOLDERS EQUITY
12 Months Ended
Dec. 31, 2023
Shareholders' Equity:  
SHAREHOLDERS' EQUITY

NOTE 11. SHAREHOLDERS’ EQUITY

 

Our Board of Directors (the “Board”) may, without further action by our shareholders, from time to time, direct the issuance of any authorized but unissued or unreserved shares of preferred stock in series and at the time of issuance, determine the rights, preferences and limitations of each series. The holders of such preferred stock may be entitled to receive a preference payment in the event of any liquidation, dissolution or winding-up by us before any payment is made to the holders of our common stock. Furthermore, the Board could issue preferred stock with voting and other rights that could adversely affect the voting power of the holders of our common stock.

 

Convertible Series A Preferred Stock

 

Our authorized Convertible Series A Preferred Stock, $0.01 par value, consists of 1,000,000 shares. At December 31, 2023 and 2022, there were 63,750 shares issued and outstanding. The Convertible Series A Preferred Stock is convertible at the rate of one share of common stock for one share of Convertible Series A Preferred Stock.

 

Convertible Series B Preferred Stock

 

Our authorized Convertible Series B Preferred Stock, $1,000 stated value, 7.5% cumulative dividend, consists of 4,000 shares. At December 31, 2023 and 2022, there were no shares issued and outstanding, respectively. Each share of Convertible Series B Preferred Stock may be converted (at the holder’s election) into two hundred shares of our common stock.

 

Common Stock

 

In January 2022, we issued 51,750 shares of common stock valued at approximately $54,000 to members of our Board pursuant to our equity plan (see Note 12). 

 

In January 2023, we issued 60,000 shares of Common Stock valued at approximately $51,000 to members of our Board pursuant to our equity plan (see Note 12).

 

Stock Options

 

  In January 2022 we issued an option to purchase 172,500 shares of common stock to our Chief Executive Officer at an exercise price of $1.12 per share pursuant to an employment agreement. The option was valued at $178,281 and has a contractual term of 10 years. We utilized the Black-Scholes model to fair value the warrant received by our Chief Executive Officer with the following assumptions: volatility, 156%; expected dividend yield, 0%; risk free interest rate, 1.65%; and an expected life of 5 years. The grant date fair value of each share of common stock underlying the warrant was $1.03.

 

In January 2022 we issued an option to purchase 57,500 shares of common stock to our Chief Operating Officer at an exercise price of $1.12 per share pursuant to an employment agreement. The option was valued at $59,427 and has a contractual term of 10 years. We utilized the Black-Scholes model to fair value the warrant received by our Chief Executive Officer with the following assumptions: volatility, 156%; expected dividend yield, 0%; risk free interest rate, 1.65%; and an expected life of 5 years. The grant date fair value of each share of common stock underlying the warrant was $1.03.

 

In January 2022 we issued an option to purchase 40,000 shares of common stock to our Chief Financial Officer at an exercise price of $1.12 per share pursuant to an employment agreement. The option was valued at $41,340 and has a contractual term of 10 years. We utilized the Black-Scholes model to fair value the warrant received by our Chief Executive Officer with the following assumptions: volatility, 156%; expected dividend yield, 0%; risk free interest rate, 1.65%; and an expected life of 5 years. The grant date fair value of each share of common stock underlying the warrant was $1.03.

 

In January 2023, we issued options to purchase 175,000 shares of Common Stock to Officers at an exercise price of $0.85 per share pursuant to an employment agreement. The options were valued at $132,361 and have a contractual term of 10 years. We utilized the Black-Scholes model to fair value the options received by Officers with the following assumptions: volatility, 139%; expected dividend yield, 0%; risk free interest rate, 3.59%; and an expected life of 5 years. The grant date fair value of each share of Common Stock underlying the options was $0.76.

 

In January 2023, we issued options to purchase 42,042 shares of Common Stock to employees at an exercise prices of $0.71- $0.85 per share pursuant to an employment agreement. The options were valued at $30,925, in aggregate and have a contractual term of 10 years. We utilized the Black-Scholes model to fair value the options received by our employees with the following assumptions: volatility, 139%; expected dividend yield, 0%; risk free interest rate, 3.59%; and an expected life of 5 years. The grant date fair value of each share of Common Stock underlying the options was $0.76.

 

The total stock based compensation for the years ended December 31, 2023 and 2022, was $163,286 and $653,843, respectively which has been in included within General and Administration expense in our statement of operations.

The following table summarizes stock options outstanding as of December 31, 2023 and 2022:

 

 

 

December 31, 2023

 

 

December 31, 2022

 

 

 

Number of Options

 

 

Weighted Average Exercise Price

 

 

Number of Options

 

 

Weighted Average Exercise Price

 

Outstanding, beginning of period

 

 

413,000

 

 

$1.65

 

 

 

143,000

 

 

$2.66

 

Granted

 

 

217,042

 

 

 

0.82

 

 

 

270,000

 

 

 

1.12

 

Exercised

 

 

-

 

 

 

-

 

 

 

-

 

 

 

-

 

Expired

 

 

(12,500)

 

 

-

 

 

 

-

 

 

 

-

 

Outstanding, end of period

 

 

617,542

 

 

$1.38

 

 

 

413,000

 

 

$1.65

 

 

Options outstanding and exercisable by price range as of December 31, 2023 were as follows:

 

 

 

 

Average

 

 

Exercisable Options

 

 

 

 

 

 

Weighted

 

 

 

 

 

 

 

Remaining

 

 

 

 

 

Weighted

 

Outstanding Options

 

 

Contractual

 

 

 

 

 

Average

 

Range

 

 

Number

 

 

Life in Years

 

 

Number

 

 

Exercise Price

 

$

0.71

 

 

 

7,042

 

 

 

4.06

 

 

 

7,042

 

 

$0.71

 

$

0.80

 

 

 

27,500

 

 

 

2.20

 

 

 

27,500

 

 

$0.80

 

$

0.85

 

 

 

210,000

 

 

 

9.08

 

 

 

210,000

 

 

$0.85

 

$

0.88

 

 

 

31,250

 

 

 

1.01

 

 

 

31,250

 

 

$0.88

 

$

0.96

 

 

 

12,500

 

 

 

1.02

 

 

 

12,500

 

 

$0.96

 

$

1.12

 

 

 

270,000

 

 

 

9.06

 

 

 

270,000

 

 

$1.12

 

$

1.93

 

 

 

10,500

 

 

 

4.06

 

 

 

10,500

 

 

$1.93

 

$

2.16

 

 

 

5,000

 

 

 

2.00

 

 

 

5,000

 

 

$2.16

 

$

4.40

 

 

 

12,500

 

 

 

3.05

 

 

 

12,500

 

 

$4.40

 

$

7.06

 

 

 

31,250

 

 

 

2.75

 

 

 

31,250

 

 

$7.06

 

 

 

 

 

 

617,542

 

 

 

7.05

 

 

 

617,542

 

 

$1.38

 

 

Stock Warrants

 

The following table summarizes the outstanding common stock warrants as of December 31, 2023 and 2022:

 

 

 

December 31, 2023

 

 

December 31, 2022

 

 

 

(Unaudited)

 

 

Weighted Average Exercise Price

 

 

Number of Warrants

 

 

Weighted Average Exercise Price

 

Outstanding, beginning of period

 

 

2,792,335

 

 

$2.25

 

 

 

3,381,021

 

 

$2.22

 

Granted

 

 

-

 

 

 

-

 

 

 

-

 

 

 

-

 

Exercised

 

 

-

 

 

 

-

 

 

 

(31,250)

 

 

(0.21)

Expired 

 

 

(20,239)

 

 

(1.11)

 

 

(557,436)

 

 

(2.23)

Outstanding, end of period

 

 

2,772,096

 

 

$2.25

 

 

 

2,792,335

 

 

$2.25

 

Warrants outstanding and exercisable by price range as of December 31, 2023 were as follows:

 

Outstanding Warrants

 

 

 

 

Exercisable Warrants

 

Exercise Price

 

 

Number

 

 

Average Weighted

Remaining Contractual

Life in Years

 

 

Number

 

 

Weighted Average

Exercise Price

 

$

0.64

 

 

 

31,250

 

 

 

9.89

 

 

 

31,250

 

 

$0.64

 

$

0.80

 

 

 

125,000

 

 

 

10.08

 

 

 

125,000

 

 

$0.80

 

$

0.96

 

 

 

442,708

 

 

 

8.98

 

 

 

442,708

 

 

$0.96

 

$

1.12

 

 

 

6,250

 

 

 

0.30

 

 

 

6,250

 

 

$1.12

 

$

1.20

 

 

 

156,250

 

 

 

1.09

 

 

 

156,250

 

 

$1.20

 

$

1.68

 

 

 

1,434,721

 

 

 

2.75

 

 

 

1,434,721

 

 

$1.68

 

$

2.18

 

 

 

172,167

 

 

 

2.75

 

 

 

172,167

 

 

$2.18

 

$

4.00

 

 

 

28,750

 

 

 

6.32

 

 

 

28,750

 

 

$4.00

 

$

6.95

 

 

 

375,000

 

 

 

7.75

 

 

 

375,000

 

 

$6.95

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2,772,096

 

 

 

4.62

 

 

 

2,772,096

 

 

$2.25

 

 

There were no unvested warrants outstanding as of December 31, 2023.

XML 29 R18.htm IDEA: XBRL DOCUMENT v3.24.1
COMMITMENTS AND CONTINGENCIES
12 Months Ended
Dec. 31, 2023
Commitments and Contingencies (Note 12)  
COMMITMENTS AND CONTINGENCIES

NOTE 12. COMMITMENTS AND CONTINGENCIES

 

Legal Contingencies

 

We may become a party to litigation in the normal course of business. In the opinion of management, there are no legal matters involving us that would have a material adverse effect upon our financial condition, results of operations or cash flows. In addition, from time to time, we may have to file claims against parties that infringe on our intellectual property.

 

Product Liability

 

As of December 31, 2023 and 2022, there were no claims against us for product liability.

XML 30 R19.htm IDEA: XBRL DOCUMENT v3.24.1
CONTRACTS AND AGREEMENTS
12 Months Ended
Dec. 31, 2023
CONTRACTS AND AGREEMENTS  
CONTRACTS AND AGREEMENTS

NOTE 13. CONTRACTS AND AGREEMENTS

 

Director Compensation

 

In January 2023, we increased the annual fee to the non-employee members of our Board to $48,000, to be paid in cash on a quarterly basis, with the exception of the audit committee chairperson, whose annual fee was increased to $54,600, also to be paid in cash on a quarterly basis. Non-employee Director compensation also includes the annual issuance of our Common Stock.

 

For the year ended December 31, 2022, we issued an aggregate of 51,750 shares of Common Stock that were valued at approximately $54,000 to members of our Board.

 

For the year ended December 31, 2023, we issued an aggregate of 60,000 shares of Common Stock that were valued at approximately $51,000 to members of our Board.

 

Manufacturing Agreement

 

In June 2020 we entered into a manufacturing agreement with Planet Innovation Products, Pty Ltd (“PI”).  The agreement does not provide for any minimum purchase commitments and is for a term of three years. The agreement also provides for a warranty against product defects.

Cloud Computing Service Contract

 

In May 2020 we entered into an agreement with a vendor for a cloud computing service contract. The contract provides for annual payments in the amount of $30,409 and has a term of 5 years. Approximate minimum future payments under the contract are as follows:

 

Year Ended:

 

Amount

 

December 31, 2024

 

 

30,000

 

December 31, 2025

 

 

-

 

December 31, 2026

 

 

-

 

Total

 

$30,000

 

XML 31 R20.htm IDEA: XBRL DOCUMENT v3.24.1
ACCRUED EXPENSES AND OTHER CURRENT LIABILITIES
12 Months Ended
Dec. 31, 2023
ACCRUED EXPENSES AND OTHER CURRENT LIABILITIES  
ACCRUED EXPENSES AND OTHER CURRENT LIABILITIES

NOTE 14. ACCRUED EXPENSES AND OTHER CURRENT LIABILITIES

 

Accrued expenses and other current liabilities consisted of the following at:

 

 

 

December 31, 2023

 

 

December 31, 2022

 

Commissions

 

$200,837

 

 

$442,805

 

Payroll and related costs

 

 

201,009

 

 

 

136,000

 

Director fees   

 

 

37,650

 

 

 

34,650

 

Sales Tax Payable  

 

 

5,707

 

 

 

(1,351)

Accrued warranty (Note 15)

 

 

30,000

 

 

 

68,000

 

Allowance for Sales Returns

 

 

128,390

 

 

 

-

 

Other accrued expenses

 

 

71,898

 

 

 

48,599

 

Total

 

$675,491

 

 

$728,703

 

XML 32 R21.htm IDEA: XBRL DOCUMENT v3.24.1
ACCRUED WARRANTY
12 Months Ended
Dec. 31, 2023
ACCRUED WARRANTY  
ACCRUED WARRANTY

NOTE 15. ACCRUED WARRANTY

 

Our manufacturers assume the warranty against product defects from date of sale, which we extend to our customers upon sale of the product. We assume responsibility for product reliability and results. The warranty is generally limited to a refund of the original purchase price of the product or a replacement part. We estimate warranty costs based on historical warranty claim experience.

 

The following table presents warranty reserve activities at:

 

 

 

December 31, 2023

 

 

December 31, 2022

 

Beginning accrued warranty costs

 

$68,000

 

 

$68,000

 

Provision for warranty expense

 

 

26,911

 

 

 

24,158

 

Settlement of warranty claims

 

 

(64,911)

 

 

(24,158)

Ending accrued warranty costs

 

$30,000

 

 

$68,000

 

XML 33 R22.htm IDEA: XBRL DOCUMENT v3.24.1
INCOME TAXES
12 Months Ended
Dec. 31, 2023
INCOME TAXES  
INCOME TAXES

NOTE 16. INCOME TAXES

 

The Company’s income tax expense (benefit) consisted of:

 

 

 

 

 

 

For the Year Ended

 

 

 

December 31,

 

 

December 31,

 

 

 

2023

 

 

2022

 

Current:

 

 

 

 

 

 

Federal

 

$-

 

 

$-

 

State

 

 

-

 

 

 

-

 

Foreign

 

 

-

 

 

 

-

 

 

 

 

-

 

 

 

 

 

Deferred:

 

 

 

 

 

 

 

 

Federal

 

 

-

 

 

 

-

 

State

 

 

-

 

 

 

-

 

Foreign

 

 

-

 

 

 

-

 

 

 

 

-

 

 

 

-

 

Total

 

$-

 

 

$-

 

 

The Company’s net income (loss) before income tax consisted of:

 

 

 

For the Year Ended

 

 

 

December 31,

 

 

December 31,

 

 

 

2023

 

 

2022

 

 

 

 

 

 

 

 

United States

 

$(3,402,592)

 

$(2,880,060)

Foreign

 

 

-

 

 

 

-

 

Total

 

$(3,402,592)

 

$(2,880,060)

 

Our income tax expense differed from the amounts computed by applying the United States statutory corporate income tax rate for the following reasons:

 

On December 22, 2017, the 2017 Tax Cuts and Jobs Act (“Tax Act”) was enacted into law making significant changes to the Internal Revenue Code. Changes include, but are not limited to, a federal corporate tax rate decrease from 35% to 21% for tax years beginning after December 31, 2017, the transition of U.S. international taxation from a worldwide tax system to a territorial system and a one-time transition tax on the mandatory deemed repatriation of foreign earnings. We are required to recognize the effect of the tax law changes in the period of enactment, such as re-measuring our U.S. deferred tax assets and liabilities as well as reassessing the net realizability of our deferred tax assets and liabilities. The Tax Act did not give rise to any material impact on the consolidated balance sheets and consolidated statements of operations due to our historical loss position and the full valuation allowance on our net U.S. deferred tax assets.

 

The reconciliation of taxes at the federal and state statutory rate to our provision for income taxes for the years ended December 31, 2023 and 2022 was as follows:

 

 

 

For the Year Ended

 

 

 

December 31,

 

 

December 31,

 

 

 

2023

 

 

2022

 

 

 

 

 

 

 

 

Income (Loss) before income tax

 

$(3,402,592)

 

$(2,880,060)

US statutory corporate income tax rate

 

 

28

%

 

 

28

%

Income tax expense computed at US statutory corporate income tax rate

 

 

(952,726)

 

 

(806,417)

Reconciling items:

 

 

 

 

 

 

 

 

Change in valuation allowance on deferred tax assets

 

 

2,121,178

 

 

 

553,005

 

Provision to prior year tax return

 

 

(1,188,884)

 

 

36,032

 

Incentive stock options and warrants

 

 

45,720

 

 

 

183,076

 

Gain Upon Debt Extinguishment

 

 

 

 

 

 

 

 

Meals and Entertainment

 

 

3,347

 

 

 

-

 

Other

 

 

(29,235)

 

 

34,304

 

Income tax expense (benefit)

 

$-

 

 

$-

 

Components of our deferred income tax assets (liabilities) are as follows:

 

 

 

December 31,

 

 

December 31,

 

 

 

2023

 

 

2022

 

Deferred tax assets:

 

 

 

 

 

 

 

 

 

 

 

 

 

Reserve for Bad Debt

 

$418,000

 

 

$470,000

 

Inventory Reserve

 

 

27,000

 

 

 

27,000

 

Accrued Vacation

 

 

53,000

 

 

 

38,000

 

Warranty Reserve

 

 

8,000

 

 

 

19,000

 

Intangible Assets

 

 

181,000

 

 

 

257,000

 

Capitalized R&D

 

 

148,000

 

 

 

67,000

 

Stock-Based Compensation

 

 

1,246,000

 

 

 

-

 

Operating lease right-of-use liabilities

 

 

212,000

 

 

 

241,000

 

Net operating losses

 

 

5,568,000

 

 

 

4,639,000

 

Valuation Allowance

 

 

(7,539,000)

 

 

(5,332,000)

Deferred Tax Assets

 

 

322,000

 

 

 

426,000

 

 

 

 

 

 

 

 

 

 

Deferred tax liabilities:

 

 

 

 

 

 

 

 

Operating lease right-of-use assets

 

 

(189,000)

 

 

(217,000)

Property and Equipment

 

 

(133,000)

 

 

(209,000)

 

 

 

(322,000)

 

 

(426,000)

 

 

 

 

 

 

 

 

 

Net Deferred Tax Assets and Liabilities

 

$-

 

 

$-

 

 

Deferred income tax assets and liabilities are determined based on differences between the financial statement reporting and tax bases of assets and liabilities and are measured using the enacted tax rates and laws in effect when the differences are expected to reverse. The measurement of deferred income tax assets is reduced, if necessary, by a valuation allowance for any tax benefits, which are, on a more likely than not basis, not expected to be realized; in accordance with ASC-740 guidance for income taxes. As of December 31, 2023, we recorded a valuation allowance of $7,539,000 for the portion of the deferred tax assets that we do not expect to be realized. The valuation allowance on our net deferred taxes increased by $999,000 during the year ended December 31, 2023, primarily due to U.S. deferred tax assets incurred in the current year that cannot be realized. The effect on deferred income tax assets and liabilities of a change in tax rates is recognized in the period that such tax rate changes are enacted.

 

For income tax purposes in the United States, we had available federal net operating loss carryforwards (“NOL”) as of December 31, 2023 and 2022 of approximately $20,796,000 and $17,479,000 respectively to reduce future federal taxable income. For income tax purposes in the United States, we had available state NOL carryforwards as of December 31, 2023 and 2022 of approximately $17,153,000 and $13,835,000 respectively to reduce future state taxable income. If any of the NOL’s generated prior to 2018 are not utilized, they will expire at various dates through 2037. NOL’s generated after 2017 carry forward indefinitely. There may be certain limitations as to the future annual use of the NOLs due to certain changes in our ownership.

 

We record uncertain tax positions in accordance with ASC 740 on the basis of a two-step process whereby (1) we determine whether it is more likely than not that the tax positions will be sustained on the basis of the technical merits of the position and (2) for those tax positions that meet the more-likely-than-not recognition threshold, we recognize the largest amount of tax benefit that is more than 50 percent likely to be realized upon ultimate settlement with the related tax authority. As of December 31, 2023, and 2022, the management of the Company determined there were no reportable uncertain tax positions.

XML 34 R23.htm IDEA: XBRL DOCUMENT v3.24.1
CUSTOMER CONCENTRATION
12 Months Ended
Dec. 31, 2023
CLOUD COMPUTING SERVICE CONTRACT  
CUSTOMER CONCENTRATION

NOTE 17. CUSTOMER CONCENTRATION

 

The Company had certain customers whose accounts receivable balances individually represented 10% or more of the Company’s accounts receivable.

 

As of December 31, 2023, two customers accounted for 27% of our gross accounts receivable.

 

As of December 31, 2022, one customer accounted for 14% of our gross accounts receivable.

 

For the year ended December 31, 2023, we had 2 customers who represented 20% of revenue. For the year ended December 31, 2022, we had no customer who represented 10% or more of revenue.

XML 35 R24.htm IDEA: XBRL DOCUMENT v3.24.1
SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Policies)
12 Months Ended
Dec. 31, 2023
SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES  
Principles of Consolidation

The accompanying consolidated financial statements include the accounts of TOMI and its wholly owned subsidiary, TOMI Environmental Solutions, Inc., a Nevada corporation. All intercompany accounts and transactions have been eliminated in consolidation.

Reclassification of Accounts

Certain reclassifications have been made to prior-year comparative financial statements to conform to the current year presentation. These reclassifications had no material effect on previously reported results of operations or financial position.

Use of Estimates

The preparation of the consolidated financial statements in conformity with GAAP requires us to make estimates and assumptions that affect the amounts reported and disclosed in the accompanying consolidated financial statements and the accompanying notes. Actual results could differ materially from these estimates. On an ongoing basis, we evaluate our estimates, including those related to accounts receivable, inventory, fair values of financial instruments, intangible assets, useful lives of intangible assets and property and equipment, fair values of stock-based awards, income taxes, and contingent liabilities, among others. We base our estimates on historical experience and on various other assumptions that are believed to be reasonable, the results of which form the basis for making judgments about the carrying values of our assets and liabilities.

Fair Value Measurements

The authoritative guidance for fair value measurements defines fair value as the exchange price that would be received for an asset or paid to transfer a liability (an exit price) in the principal or the most advantageous market for the asset or liability in an orderly transaction between market participants on the measurement date. Market participants are buyers and sellers in the principal market that are (i) independent, (ii) knowledgeable, (iii) able to transact, and (iv) willing to transact. The guidance describes a fair value hierarchy based on the levels of inputs, of which the first two are considered observable and the last unobservable, that may be used to measure fair value, which are the following:

 

 

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 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 and that are significant to the value of the assets or liabilities.

The carrying amounts of cash and cash equivalents, accounts receivable, accounts payable and accrued expenses approximated fair value because of the short maturity of these instruments.

Cash and Cash Equivalents

Cash and cash equivalents includes cash on hand, held at financial institutions and other liquid investments with original maturities of three months or less. At times, these deposits may be in excess of insured limits. At December 31, 2023 and December 31, 2022, there were no cash equivalents.

Accounts Receivable

Our accounts receivable are typically from credit-worthy customers or, for certain international customers, are supported by pre-payments. For those customers to whom we extend credit, we perform periodic evaluations of their status and maintain allowances for potential credit losses as deemed necessary. We have a policy of reserving for credit losses based on our best estimate of the amount of potential credit losses in existing accounts receivable. We periodically review our accounts receivable to determine whether an allowance is necessary based on an analysis of past due accounts and other factors that may indicate that the realization of an account may be in doubt. Account balances deemed to be uncollectible are charged to the allowance after all means of collection have been exhausted and the potential for recovery is considered remote.  Bad debt expense for the years ended December 31, 2023 and 2022, was approximately $272,517 and $142,188, respectively.  At December 31, 2023 and December 31, 2022, the allowance for doubtful accounts reserve was $1,494,347 and $1,678,000.

 

Long-term trade accounts receivable, are principally amounts arising from the sale of goods and services with a contractual maturity date or realization period of greater than one year and are recognized as “Long-Term Accounts Receivable” in our Consolidated Balance Sheet.

Inventories

Inventories are valued at the lower of cost or net realizable value using the first-in, first-out (FIFO) method. Inventories consist primarily of finished goods and raw materials.

 

We expense costs to maintain certification to cost of goods sold as incurred.

 

We review inventory on an ongoing basis, considering factors such as deterioration and obsolescence. We record an allowance for estimated losses when the facts and circumstances indicate that particular inventories may not be usable.  Our reserve for obsolete inventory was $95,000 as of December 31, 2023 and December 31, 2022.

Property and Equipment

We account for property and equipment at cost less accumulated depreciation. We compute depreciation using the straight-line method over the estimated useful lives of the assets, generally three to five years. Depreciation for equipment, furniture and fixtures and vehicles commences once placed in service for its intended use. Leasehold improvements are amortized using the straight-line method over the lives of the respective leases or service lives of the improvements, whichever is shorter.

Leases

We recognize a right-of-use (“ROU”) asset and lease liability for all leases with terms of more than 12 months, in accordance with ASC 842. We utilize the short-term lease recognition exemption for all asset classes as part of our on-going accounting under ASC 842. This means, for those leases that qualify, we will not recognize ROU assets or lease liabilities. Recognition, measurement and presentation of expenses depends on classification as a finance or operating lease.

As a lessee, we utilize the reasonably certain threshold criteria in determining which options we will exercise. Furthermore, our lease payments are based on index rates with minimum annual increases. These represent fixed payments and are captured in the future minimum lease payments calculation. In determining the discount rate to use in calculating the present value of lease payments, we used our incremental borrowing rate based on the information available at adoption date in determining the present value of lease payments.

 

We have also elected the practical expedient to not separate lease and non-lease components for all asset classes, meaning all consideration that is fixed, or in-substance fixed, will be captured as part of our lease components for balance sheet purposes. Furthermore, all variable payments included in lease agreements will be disclosed as variable lease expense when incurred. Generally, variable lease payments are based on usage and common area maintenance. These payments will be included as variable lease expense in the period in which they are incurred.

Capitalized Software Development Costs

In accordance with ASC 985-20 regarding the development of software to be sold, leased, or marketed, we expense such costs as they are incurred until technological feasibility has been established, at and after which time those costs are capitalized until the product is available for general release to customers. The periodic expense for the amortization of capitalized software development costs will be included in cost of sales.  Amortization expense for the years ended December 31, 2023 and 2022, was $0 and $10,475, respectively. 

Accounts Payable

As of December 31, 2023, two vendors accounted for approximately 59% of accounts payable. As of December 31, 2022, two vendors accounted for approximately 55% of accounts payable.

 

For the year ended December 31, 2023, two vendors accounted for 70% of cost of sales. For the year ended December 31, 2022, two vendors accounted for 67% of cost of sales.

Accrued Warranties

Accrued warranties represent the estimated costs, if any, that will be incurred during the warranty period of our products. We estimate the expected costs to be incurred during the warranty period and record the expense to the consolidated statement of operations at the date of sale. Our manufacturers assume the warranty against product defects from date of sale, which we extend to our customers upon sale of the product. We assume responsibility for product reliability and results. As of December 31, 2023, and December 31, 2022, our warranty reserve was $30,000 and $68,000, respectively. (See Note 15).

Income Taxes

Deferred income tax assets and liabilities are determined based on differences between the financial statement reporting and tax bases of assets and liabilities and are measured using the enacted tax rates and laws in effect when the differences are expected to reverse. The measurement of deferred income tax assets is reduced, if necessary, by a valuation allowance for any tax benefits that are, on a more likely than not basis, not expected to be realized in accordance with FASB ASC Topic 740, Income Taxes guidance for income taxes. Net deferred tax benefits have been fully reserved at December 31, 2023 and December 31, 2022. The effect on deferred income tax assets and liabilities of a change in tax rates is recognized in the period that such tax rate changes are enacted.

Net Income (Loss) Per Share

Basic net income or (loss) per share is computed by dividing our net income or (loss) by the weighted average number of shares of common stock outstanding during the period presented. Diluted income or (loss) per share is based on the treasury stock method and includes the effect from potential issuance of shares of common stock, such as shares issuable pursuant to the exercise of options and warrants and conversions of preferred stock or debentures. The computation of diluted EPS is similar to the computation of basic EPS except that the numerator may have to adjust for any dividends and income or loss associated with potentially dilutive securities that are assumed to have resulted in the issuance of shares of common stock and the denominator may have to adjust to include the number of additional shares of common stock that would have been outstanding if the dilutive potential shares of common stock had been issued during the period to reflect the potential dilution that could occur from shares of common stock issuable through a contingent shares issuance arrangement, stock options, warrants, or convertible preferred stock. For purposes of determining diluted earnings per common share, the treasury stock method is used for stock options, and warrants, and the if-converted method is used for convertible preferred stock as prescribed in FASB ASC Topic 260. Because of the net loss for the year ended December 31, 2023 and 2022, the impact of including these in our computation of diluted EPS was anti-dilutive.

 

Potentially dilutive securities as of December 31, 2023 consisted of 2,080,000 shares of common stock from convertible debentures, 2,772,096 shares of common stock issuable upon exercise of outstanding warrants, 617,542 shares of common stock issuable upon outstanding options and 63,750 shares of common stock issuable upon conversion of outstanding shares of Preferred A stock (“Convertible Series A Preferred Stock”).

Potentially dilutive securities as of December 31, 2022 consisted of 2,792,335 shares of common stock issuable upon exercise of outstanding warrants, 413,000 shares of common stock issuable upon outstanding options and 63,750 shares of common stock issuable upon conversion of outstanding shares of Preferred A stock (“Convertible Series A Preferred Stock”).

 

Options, warrants, preferred stock and shares associated with the conversion of debt to purchase approximately 5.5 million and 3.3 million shares of common stock were outstanding at December 31, 2023 and 2022, respectively, but were excluded from the computation of diluted net loss per share at December 31, 2023 and 2022 due to the anti-dilutive effect on net loss per share.

 

 

 

For the Year Ended December 31,

 

 

 

2023

 

 

2022

 

Net Loss

 

$(3,402,592)

 

$(2,880,060)

Net loss attributable to common shareholders

 

$(3,402,592)

 

$(2,880,060)

Weighted average number of shares of common stock outstanding:

 

 

 

 

 

 

 

 

Basic

 

 

19,834,476

 

 

 

19,743,544

 

Diluted

 

 

19,834,476

 

 

 

19,743,544

 

Net loss attributable to common shareholders per share:

 

 

 

 

 

 

 

 

Basic

 

$(0.17)

 

$(0.15)

Diluted

 

$(0.17)

 

$(0.15)

 

The following provides a reconciliation of the shares used in calculating the per share amounts for the periods presented:

 

 

 

For the Years Ended December 31,

 

 

 

2023

 

 

2022

 

Numerator:

 

 

 

 

 

 

Net Loss

 

$(3,402,592)

 

$(2,880,060)

Denominator:

 

 

 

 

 

 

 

 

Basic weighted-average shares

 

 

19,834,476

 

 

 

19,743,544

 

Effect of dilutive securities

 

 

 

 

 

 

 

 

Warrants

 

 

-

 

 

 

-

 

Convertible Debt

 

 

-

 

 

 

-

 

Options

 

 

-

 

 

 

-

 

Preferred Stock

 

 

-

 

 

 

-

 

Diluted Weighted Average Shares

 

 

19,834,476

 

 

 

19,743,544

 

 

 

 

 

 

 

 

 

 

Net Loss Per Common Share:

 

 

 

 

 

 

 

 

 

Basic

 

$(0.17)

 

$(0.15)

Diluted

 

$(0.17)

 

$(0.15)
Revenue Recognition

We recognize revenue in accordance with Financial Accounting Standards Board (FASB) Accounting Standards Codification (“ASC”) Topic 606, Revenue from Contracts with Customers, Revenue from Contracts with Customers (Topic 606). We recognize revenue when we transfer promised goods or services to customers in an amount that reflects the consideration to which we expect to be entitled in exchange for those goods or services. To determine revenue recognition for contracts with customers we perform the following five steps: (i) identify the contract(s) with a customer; (ii) identify the performance obligation(s) in the contract; (iii) determine the transaction price; (iv) allocate the transaction price to the performance obligation(s) in the contract; and (v) recognize revenue when (or as) we satisfy the performance obligation(s). At contract inception, we assess the goods or services promised within each contract, assess whether each promised good or service is distinct and identify those that are performance obligations.

 

We must use judgment to determine: a) the number of performance obligations based on the determination under step (ii) above and whether those performance obligations are distinct from other performance obligations in the contract; b) the transaction price under step (iii) above; and c) the stand-alone selling price for each performance obligation identified in the contract for the allocation of transaction price in step (iv) above.

 

Title and risk of loss generally pass to our customers upon shipment. Our customers include end users as well as dealers and distributors who market and sell our products. Our revenue is not contingent upon resale by the dealer or distributor, and we have no further obligations related to bringing about resale. Shipping and handling costs charged to customers are included in Product Revenues. The associated expenses are treated as fulfillment costs and are included in Cost of Revenues. Revenues are reported net of sales taxes collected from Customers.

 

Disaggregation of Revenue

 

The following table presents our revenues disaggregated by revenue source (rounded to nearest thousandth).

 

Product and Service Revenue

 

For The Years Ended

December 31,

 

 

               Change

 

 

 

            2023

 

 

                    2022

 

 

$

 

SteraMist Product

 

$5,695,000

 

 

$6,864,000

 

 

$(1,169,000)

Service and Training

 

 

1,660,000

 

 

 

1,474,000

 

 

 

186,000

 

Total

 

$7,355,000

 

 

$8,338,000

 

 

$(983,000)

 

Revenue by Geographic Region

 

 

 

  For The Years Ended

December 31,

 

 

Change

 

 

 

           2023

 

 

2022

 

 

$

 

United States

 

$6,125,000

 

 

$6,261,000

 

 

$(136,000)

International

 

 

1,230,000

 

 

 

2,077,000

 

 

 

(847,000)

Total

 

$7,355,000

 

 

$8,338,000

 

 

$(983,000)

 

Product revenue includes sales from our standard and customized equipment, solution and accessories sold with our equipment. Revenue is recognized upon transfer of control of promised products to customers in an amount that reflects the consideration we expect to receive in exchange for those products.

 

Service and training revenue include sales from our high-level decontamination and service engagements, validation of our equipment and technology and customer training. Service revenue is recognized as the agreed upon services are rendered to our customers in an amount that reflects the consideration we expect to receive in exchange for those services.

 

Costs to Obtain a Contract with a Customer

 

We apply a practical expedient to expense costs as incurred for costs to obtain a contract with a customer when the amortization period would have been one year or less. We generally expense sales commissions when incurred because the amortization period would have been one year or less. These costs are recorded within selling expenses.

 

Contract Balances

 

As of December 31, 2023, and December 31, 2022 we did not have any unsatisfied performance obligations for (i) contracts with an original expected length of one year or less and (ii) contracts for which we recognize revenue at the amount to which we have the right to invoice for services performed.

Arrangements with Multiple Performance Obligations

 

Our contracts with customers may include multiple performance obligations. We enter into contracts that can include various combinations of products and services, which are primarily distinct and accounted for as separate performance obligations.

 

Significant Judgments

 

Our contracts with customers for products and services often dictate the terms and conditions of when the control of the promised products or services is transferred to the customer and the amount of consideration to be received in exchange for the products and services.

Equity Compensation Expense

We account for equity compensation expense in accordance with FASB ASC 718, “Compensation—Stock Compensation.” Under the provisions of FASB ASC 718, equity compensation expense is estimated at the grant date based on the award’s fair value.

 

The valuation methodology used to determine the fair value of options and warrants issued as compensation during the period is the Black-Scholes option-pricing model. The Black-Scholes model requires the use of a number of assumptions including volatility of the stock price, the average risk-free interest rate, and the weighted average expected life of the options. Risk–free interest rates are calculated based on continuously compounded risk–free rates for the appropriate term. The expected term of the Company’s warrants has been determined utilizing the “simplified” method for awards that qualify as “plain-vanilla” warrants. The dividend yield is assumed to be zero as the Company has never paid or declared any cash dividends on its common stock, par value $0.01 (the “Common Stock”) and does not intend to pay dividends on its Common Stock in the foreseeable future. The expected forfeiture rate is estimated based on management’s best assessment.

 

On July 7, 2017, our shareholders approved the Company’s Amended and Restated 2016 Equity Incentive Plan (the “2016 Plan”). The 2016 Plan authorizes the grant of stock options, stock appreciation rights, restricted stock, restricted stock units and performance units/shares. Up to 2,000,000 shares of Common Stock are authorized for issuance under the 2016 Plan. Shares issued under the 2016 Plan may be either authorized but unissued shares, treasury shares, or any combination thereof. Provisions in the 2016 Plan permit the reuse or reissuance by the 2016 Plan of shares of Common Stock for numerous reasons, including, but not limited to, shares of Common Stock underlying canceled, expired, or forfeited awards of stock-based compensation and stock appreciation rights paid out in the form of cash. Equity compensation expense will typically be awarded in consideration for the future performance of services to us. All recipients of awards under the 2016 Plan are required to enter into award agreements with us at the time of the award, and awards under the 2016 Plan are expressly conditioned upon such agreements. For the year ended December 31, 2023 and 2022, we issued 60,000 and 51,750 shares of common stock, respectively, out of the 2016 Plan.

Concentrations of Credit Risk

Financial instruments that potentially subject us to significant concentrations of credit risk consist principally of cash and cash equivalents. We maintain cash balances at financial institutions which exceed the current Federal Deposit Insurance Corporation limit of $250,000 at times during the year.

Long-Lived Assets Including Acquired Intangible Assets

We assess long-lived assets for potential impairments at the end of each year, or during the year if an event or other circumstance indicates that we may not be able to recover the carrying amount of the asset. In evaluating long-lived assets for impairment, we measure recoverability of these assets by comparing the carrying amounts to the future undiscounted cash flows the assets are expected to generate. If our long-lived assets are considered to be impaired, the impairment to be recognized equals the amount by which the carrying value of the asset exceeds its fair market value. We base the calculations of the estimated fair value of our long-lived assets on the income approach. For the income approach, we use an internally developed discounted cash flow model that includes, among others, the following assumptions: projections of revenues and expenses and related cash flows based on assumed long-term growth rates and demand trends; expected future investments to grow new units; and estimated discount rates. We base these assumptions on our historical data and experience, industry projections, micro and macro general economic condition projections, and our expectations. We had no long-lived asset impairment charges for the years ended December 31, 2023 and 2022.

Advertising and Promotional Expenses

We expense advertising costs in the period in which they are incurred. Advertising and promotional expenses included in selling expenses for the years ended December 31, 2023 and 2022 were approximately $498,000 and $653,000, respectively.

Research and Development Expenses

We expense research and development expenses in the period in which they are incurred. For the years ended December 31, 2023 and 2022, research and development expenses were approximately $492,000 and $352,000, respectively.

Business Segments

We currently have one reportable business segment due to the fact that we derive our revenue primarily from one product. A breakdown of revenue is presented in “Revenue Recognition” in Note 2 above.

Recent Accounting Pronouncements

Recently issued accounting pronouncements not yet adopted

 

In November 2023, the Financial Accounting Standards Board (“FASB”) issued ASU No. 2023-07, Improvements to Reportable Segment Disclosures (Topic 280). This ASU updates reportable segment disclosure requirements by requiring disclosures of significant reportable segment expenses that are regularly provided to the Chief Operating Decision Maker (“CODM”) and included within each reported measure of a segment’s profit or loss. This ASU also requires disclosure of the title and position of the individual identified as the CODM and an explanation of how the CODM uses the reported measures of a segment’s profit or loss in assessing segment performance and deciding how to allocate resources. The ASU is effective for annual periods beginning after December 15, 2023, and interim periods within fiscal years beginning after December 15, 2024. Adoption of the ASU should be applied retrospectively to all prior periods presented in the financial statements. Early adoption is also permitted. This ASU will likely result in us including the additional required disclosures when adopted. We are currently evaluating the provisions of this ASU and expect to adopt them for the year ending December 31, 2024.

 

In December 2023, the FASB issued ASU No. 2023-09, Improvements to Income Tax Disclosures (Topic 740). The ASU requires disaggregated information about a reporting entity’s effective tax rate reconciliation as well as additional information on income taxes paid. The ASU is effective on a prospective basis for annual periods beginning after December 15, 2024. Early adoption is also permitted for annual financial statements that have not yet been issued or made available for issuance. This ASU will result in the required additional disclosures being included in our consolidated financial statements, once adopted.

 

Recently adopted accounting pronouncements

 

In March 2022, the FASB issued ASU 2022-02, Troubled Debt Restructurings and Vintage Disclosures. This ASU eliminates the accounting guidance for troubled debt restructurings by creditors that have adopted ASU 2016-13, Measurement of Credit Losses on Financial Instruments, which we adopted on January 1, 2020. This ASU also enhances the disclosure requirements for certain loan refinancing and restructurings by creditors when a borrower is experiencing financial difficulty. In addition, the ASU amends the guidance on vintage disclosures to require entities to disclose current period gross write-offs by year of origination for financing receivables and net investments in leases within the scope of ASC 326-20. The ASU is effective for annual periods beginning after December 15, 2022, including interim periods within those fiscal years. We adopted the ASU prospectively on January 1, 2023.  This ASU did not have a material impact on our consolidated financial statements.

 

In October 2021, the FASB issued ASU No. 2021-08, Accounting for Contract Assets and Contract Liabilities from Contracts with Customers (Topic 805). This ASU requires an acquirer in a business combination to recognize and measure contract assets and contract liabilities (deferred revenue) from acquired contracts using the revenue recognition guidance in Topic 606. At the acquisition date, the acquirer applies the revenue model as if it had originated the acquired contracts. The ASU is effective for annual periods beginning after December 15, 2022, including interim periods within those fiscal years. We adopted this ASU prospectively on January 1, 2023. This ASU did not have a material impact on our consolidated financial statements.

In August 2020, the FASB issued ASU No. 2020-06, Debt—Debt with Conversion and Other Options (Subtopic 470-20) and Derivatives and Hedging—Contracts in Entity’s Own Equity (Subtopic 815-40): Accounting for Convertible Instruments and Contracts in an Entity’s Own Equity. ASU 2020-06 was issued to reduce the complexity associated with accounting for certain financial instruments with characteristics of liabilities and equity. ASU 2020-06 reduces the number of accounting models for convertible debt instruments and convertible preferred stock and improves the disclosures for convertible instruments and related earnings per share guidance. ASU 2020-06 also amends the guidance for the derivatives scope exception for contracts in an entity’s own equity and improves and amends the related earnings per share guidance. For public entities that qualify as a filer with the SEC, excluding entities eligible to be smaller reporting companies, ASU 2020-06 is effective for fiscal annual periods beginning after December 15, 2021, including interim periods within those fiscal years. For nonpublic entities, ASU 2020-06 is effective for fiscal years beginning after December 15, 2023, including interim periods within those fiscal years. Early adoption was permitted, but no earlier than fiscal years beginning after December 15, 2020, including interim periods within those fiscal years. ASU 2020-06 must be adopted as of the beginning of a company’s annual fiscal year. ASU 2020-06 may be adopted through either a modified retrospective method of transition or a fully retrospective method of transition. The Company adopted ASU 2020-06 on January 1, 2021. The adoption did not have an impact on our consolidated financial statements.

 

In June 2016, the FASB issued ASU 2016-13, Financial Instruments-Credit Losses (“ASU 2016-13”), which provides new authoritative guidance with respect to the measurement of credit losses on financial instruments. This update changes the impairment model for most financial assets and certain other instruments by introducing a current expected credit loss (“CECL”) model. The CECL model is a more forward-looking approach based on expected losses rather than incurred losses, requiring entities to estimate and record losses expected over the remaining contractual life of an asset. ASU 2016-13 is effective for fiscal years beginning after December 15, 2022, including interim periods within those fiscal years for smaller reporting companies. The Company adopted ASU 2016-13 on January 1, 2023. The adoption did not have an impact on our consolidated financial statements.

XML 36 R25.htm IDEA: XBRL DOCUMENT v3.24.1
SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Tables)
12 Months Ended
Dec. 31, 2023
SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES  
Net Income (Loss) Per Share

 

 

For the Year Ended December 31,

 

 

 

2023

 

 

2022

 

Net Loss

 

$(3,402,592)

 

$(2,880,060)

Net loss attributable to common shareholders

 

$(3,402,592)

 

$(2,880,060)

Weighted average number of shares of common stock outstanding:

 

 

 

 

 

 

 

 

Basic

 

 

19,834,476

 

 

 

19,743,544

 

Diluted

 

 

19,834,476

 

 

 

19,743,544

 

Net loss attributable to common shareholders per share:

 

 

 

 

 

 

 

 

Basic

 

$(0.17)

 

$(0.15)

Diluted

 

$(0.17)

 

$(0.15)

 

 

For the Years Ended December 31,

 

 

 

2023

 

 

2022

 

Numerator:

 

 

 

 

 

 

Net Loss

 

$(3,402,592)

 

$(2,880,060)

Denominator:

 

 

 

 

 

 

 

 

Basic weighted-average shares

 

 

19,834,476

 

 

 

19,743,544

 

Effect of dilutive securities

 

 

 

 

 

 

 

 

Warrants

 

 

-

 

 

 

-

 

Convertible Debt

 

 

-

 

 

 

-

 

Options

 

 

-

 

 

 

-

 

Preferred Stock

 

 

-

 

 

 

-

 

Diluted Weighted Average Shares

 

 

19,834,476

 

 

 

19,743,544

 

 

 

 

 

 

 

 

 

 

Net Loss Per Common Share:

 

 

 

 

 

 

 

 

 

Basic

 

$(0.17)

 

$(0.15)

Diluted

 

$(0.17)

 

$(0.15)
Disaggregation of Revenue

For The Years Ended

December 31,

 

 

               Change

 

 

 

            2023

 

 

                    2022

 

 

$

 

SteraMist Product

 

$5,695,000

 

 

$6,864,000

 

 

$(1,169,000)

Service and Training

 

 

1,660,000

 

 

 

1,474,000

 

 

 

186,000

 

Total

 

$7,355,000

 

 

$8,338,000

 

 

$(983,000)

 

 

  For The Years Ended

December 31,

 

 

Change

 

 

 

           2023

 

 

2022

 

 

$

 

United States

 

$6,125,000

 

 

$6,261,000

 

 

$(136,000)

International

 

 

1,230,000

 

 

 

2,077,000

 

 

 

(847,000)

Total

 

$7,355,000

 

 

$8,338,000

 

 

$(983,000)
XML 37 R26.htm IDEA: XBRL DOCUMENT v3.24.1
INVENTORIES (Tables)
12 Months Ended
Dec. 31, 2023
INVENTORIES  
Inventories

 

 

December 31, 2023

 

 

December 31, 2022

 

Finished goods

 

$3,980,000

 

 

$3,929,000

 

Raw Materials

 

 

742,000

 

 

 

662,000

 

Inventory Reserve

 

 

(95,000)

 

 

(95,000)

Inventory, net

 

$4,627,000

 

 

$4,496,000

 

XML 38 R27.htm IDEA: XBRL DOCUMENT v3.24.1
PROPERTY AND EQUIPMENT (Tables)
12 Months Ended
Dec. 31, 2023
PROPERTY AND EQUIPMENT  
Property and Equipment

 

 

December 31, 2023

 

 

December 31, 2022

 

Furniture and fixtures

 

$364,819

 

 

$364,819

 

Equipment

 

 

2,269,185

 

 

 

2,236,510

 

Vehicles

 

 

66,170

 

 

 

60,703

 

Computer and software

 

 

306,556

 

 

 

246,638

 

Leasehold improvements

 

 

393,381

 

 

 

393,381

 

Tenant Improvement Allowance 

 

 

405,000

 

 

 

405,000

 

 

 

 

 

 

 

 

 

 

Total Property and Equipment

 

 

3,805,111

 

 

 

3,707,051

 

Less: Accumulated depreciation

 

 

2,756,469

 

 

 

2,371,720

 

Property and Equipment, net

 

$1,048,642

 

 

$1,335,331

 

XML 39 R28.htm IDEA: XBRL DOCUMENT v3.24.1
INTANGIBLE ASSETS (Tables)
12 Months Ended
Dec. 31, 2023
INTANGIBLE ASSETS  
Definite Life Intangible Assets

 

 

December 31, 2023

 

 

December 31, 2022

 

Intellectual Property and Patents

 

$3,196,396

 

 

$3,108,063

 

Less: Accumulated Amortization

 

 

2,904,013

 

 

 

2,882,892

 

Patents, net

 

$292,383

 

 

$225,171

 

Indefinite Life Intangible Assets

Trademarks

 

 

830,863

 

 

 

800,565

 

Total Intangible Assets, net

 

$1,123,246

 

 

$1,025,736

 

Approximate Future Amortization

Year Ended:

 

Amount

 

 

 

 

 

December 31, 2024

 

 

20,000

 

December 31, 2025

 

 

20,000

 

December 31, 2026

 

 

20,000

 

December 31, 2027

 

 

20,000

 

December 31, 2028

 

 

20,000

 

Thereafter

 

 

192,000

 

Total

 

$292,000

 

XML 40 R29.htm IDEA: XBRL DOCUMENT v3.24.1
LEASES (Tables)
12 Months Ended
Dec. 31, 2023
LEASES  
Lease Expense

Operating leases:

 

December 31, 2023

 

 

December 31, 2022

 

Assets:

 

 

 

 

 

 

Operating lease right-of-use asset

 

$467,935

 

 

$528,996

 

Liabilities:

 

 

 

 

 

 

 

 

Current Portion of Long-Term Operating Lease

 

$115,658

 

 

$100,282

 

Long-Term Operating Lease, Net of Current Portion

 

 

642,527

 

 

 

761,132

 

Total

 

$758,185

 

 

$861,414

 

Operating Lease

 

 

For the Year Ended December 31, 2023

 

 

For the Year Ended December 31, 2022

 

 

 

 

 

 

 

 

Operating lease expense

 

$157,315

 

 

$157,315

 

Other Information Related to Leases

 

 

December 31, 2023

 

 

December 31, 2022

 

 

Weighted-average remaining lease term:

 

 

 

 

 

 

Operating leases

 

 5.00 years 

 

 

 6.00 years 

 

 

 

 

 

 

 

 

Discount rate:

 

 

 

 

 

 

Operating leases

 

 

7.00%

 

 

7.00%
Supplemental Cash Flow Information related to leases

 

 

For the Year Ended December 31, 2023

 

 

For the Year Ended December 31, 2022

 

Cash paid for amounts included in the measurement of lease liabilities:

 

$160,290

 

 

$155,621

 

Maturities of Lease Payments

Year Ended:

 

Operating Lease

 

December 31, 2024

 

$165,098

 

December 31, 2025

 

 

170,051

 

December 31, 2026

 

 

175,153

 

December 31, 2027

 

 

180,408

 

December 31, 2028

 

 

185,819

 

Thereafter

 

 

33,751

 

Total minimum lease payments

 

 

910,281

 

Less:  Interest

 

 

152,096

 

Present value of lease obligations

 

 

758,185

 

Less: Current portion

 

 

115,658

 

Long-term portion of lease obligations

 

$642,527

 

XML 41 R30.htm IDEA: XBRL DOCUMENT v3.24.1
CAPITALIZED SOFTWARE DEVELOPMENT COSTS (Tables)
12 Months Ended
Dec. 31, 2023
CAPITALIZED SOFTWARE DEVELOPMENT COSTS  
Capitalized Software Development Costs

 

 

    December 31, 2023

 

 

December 31, 2022

 

Capitalized Software Development Costs

 

$125,704

 

 

$125,704

 

Less:  Accumulated Amortization

 

 

(125,704)

 

 

(125,704)

Capitalized Software Development Costs - net

 

$-

 

 

$-

 

XML 42 R31.htm IDEA: XBRL DOCUMENT v3.24.1
CONVERTIBLE DEBT (Tables)
12 Months Ended
Dec. 31, 2023
CONVERTIBLE DEBT  
Schedule of Convertible notes

 

 

December 31,

 

 

December 31,

 

 

 

2023

 

 

2022

 

 

 

 

 

 

 

 

Convertible notes

 

$2,600,000

 

 

$-

 

Less: Debt issuance costs

 

 

(312,398)

 

 

-

 

Accumulated amortization

 

 

10,413

 

 

 

-

 

Convertible notes, net

 

$2,298,015

 

 

$-

 

XML 43 R32.htm IDEA: XBRL DOCUMENT v3.24.1
SHAREHOLDERS EQUITY (Tables)
12 Months Ended
Dec. 31, 2023
Shareholders' Equity:  
Stock Options Outstanding

 

 

December 31, 2023

 

 

December 31, 2022

 

 

 

Number of Options

 

 

Weighted Average Exercise Price

 

 

Number of Options

 

 

Weighted Average Exercise Price

 

Outstanding, beginning of period

 

 

413,000

 

 

$1.65

 

 

 

143,000

 

 

$2.66

 

Granted

 

 

217,042

 

 

 

0.82

 

 

 

270,000

 

 

 

1.12

 

Exercised

 

 

-

 

 

 

-

 

 

 

-

 

 

 

-

 

Expired

 

 

(12,500)

 

 

-

 

 

 

-

 

 

 

-

 

Outstanding, end of period

 

 

617,542

 

 

$1.38

 

 

 

413,000

 

 

$1.65

 

Options Outstanding and Exercisable by Price Range

 

 

 

Average

 

 

Exercisable Options

 

 

 

 

 

 

Weighted

 

 

 

 

 

 

 

Remaining

 

 

 

 

 

Weighted

 

Outstanding Options

 

 

Contractual

 

 

 

 

 

Average

 

Range

 

 

Number

 

 

Life in Years

 

 

Number

 

 

Exercise Price

 

$

0.71

 

 

 

7,042

 

 

 

4.06

 

 

 

7,042

 

 

$0.71

 

$

0.80

 

 

 

27,500

 

 

 

2.20

 

 

 

27,500

 

 

$0.80

 

$

0.85

 

 

 

210,000

 

 

 

9.08

 

 

 

210,000

 

 

$0.85

 

$

0.88

 

 

 

31,250

 

 

 

1.01

 

 

 

31,250

 

 

$0.88

 

$

0.96

 

 

 

12,500

 

 

 

1.02

 

 

 

12,500

 

 

$0.96

 

$

1.12

 

 

 

270,000

 

 

 

9.06

 

 

 

270,000

 

 

$1.12

 

$

1.93

 

 

 

10,500

 

 

 

4.06

 

 

 

10,500

 

 

$1.93

 

$

2.16

 

 

 

5,000

 

 

 

2.00

 

 

 

5,000

 

 

$2.16

 

$

4.40

 

 

 

12,500

 

 

 

3.05

 

 

 

12,500

 

 

$4.40

 

$

7.06

 

 

 

31,250

 

 

 

2.75

 

 

 

31,250

 

 

$7.06

 

 

 

 

 

 

617,542

 

 

 

7.05

 

 

 

617,542

 

 

$1.38

 

Stock Warrants Outstanding

 

 

December 31, 2023

 

 

December 31, 2022

 

 

 

(Unaudited)

 

 

Weighted Average Exercise Price

 

 

Number of Warrants

 

 

Weighted Average Exercise Price

 

Outstanding, beginning of period

 

 

2,792,335

 

 

$2.25

 

 

 

3,381,021

 

 

$2.22

 

Granted

 

 

-

 

 

 

-

 

 

 

-

 

 

 

-

 

Exercised

 

 

-

 

 

 

-

 

 

 

(31,250)

 

 

(0.21)

Expired 

 

 

(20,239)

 

 

(1.11)

 

 

(557,436)

 

 

(2.23)

Outstanding, end of period

 

 

2,772,096

 

 

$2.25

 

 

 

2,792,335

 

 

$2.25

 

Warrants Outstanding and Exercisable by Price Range

Outstanding Warrants

 

 

 

 

Exercisable Warrants

 

Exercise Price

 

 

Number

 

 

Average Weighted

Remaining Contractual

Life in Years

 

 

Number

 

 

Weighted Average

Exercise Price

 

$

0.64

 

 

 

31,250

 

 

 

9.89

 

 

 

31,250

 

 

$0.64

 

$

0.80

 

 

 

125,000

 

 

 

10.08

 

 

 

125,000

 

 

$0.80

 

$

0.96

 

 

 

442,708

 

 

 

8.98

 

 

 

442,708

 

 

$0.96

 

$

1.12

 

 

 

6,250

 

 

 

0.30

 

 

 

6,250

 

 

$1.12

 

$

1.20

 

 

 

156,250

 

 

 

1.09

 

 

 

156,250

 

 

$1.20

 

$

1.68

 

 

 

1,434,721

 

 

 

2.75

 

 

 

1,434,721

 

 

$1.68

 

$

2.18

 

 

 

172,167

 

 

 

2.75

 

 

 

172,167

 

 

$2.18

 

$

4.00

 

 

 

28,750

 

 

 

6.32

 

 

 

28,750

 

 

$4.00

 

$

6.95

 

 

 

375,000

 

 

 

7.75

 

 

 

375,000

 

 

$6.95

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2,772,096

 

 

 

4.62

 

 

 

2,772,096

 

 

$2.25

 

XML 44 R33.htm IDEA: XBRL DOCUMENT v3.24.1
CONTRACTS AND AGREEMENTS (Tables)
12 Months Ended
Dec. 31, 2023
CONTRACTS AND AGREEMENTS  
Approximate Minimum Contract Payments

Year Ended:

 

Amount

 

December 31, 2024

 

 

30,000

 

December 31, 2025

 

 

-

 

December 31, 2026

 

 

-

 

Total

 

$30,000

 

XML 45 R34.htm IDEA: XBRL DOCUMENT v3.24.1
ACCRUED EXPENSES AND OTHER CURRENT LIABILITIES (Tables)
12 Months Ended
Dec. 31, 2023
ACCRUED EXPENSES AND OTHER CURRENT LIABILITIES  
Accrued Expenses and Other Current Liabilities

 

 

December 31, 2023

 

 

December 31, 2022

 

Commissions

 

$200,837

 

 

$442,805

 

Payroll and related costs

 

 

201,009

 

 

 

136,000

 

Director fees   

 

 

37,650

 

 

 

34,650

 

Sales Tax Payable  

 

 

5,707

 

 

 

(1,351)

Accrued warranty (Note 15)

 

 

30,000

 

 

 

68,000

 

Allowance for Sales Returns

 

 

128,390

 

 

 

-

 

Other accrued expenses

 

 

71,898

 

 

 

48,599

 

Total

 

$675,491

 

 

$728,703

 

XML 46 R35.htm IDEA: XBRL DOCUMENT v3.24.1
ACCRUED WARRANTY (Tables)
12 Months Ended
Dec. 31, 2023
ACCRUED WARRANTY  
Warranty Reserve Activity

 

 

December 31, 2023

 

 

December 31, 2022

 

Beginning accrued warranty costs

 

$68,000

 

 

$68,000

 

Provision for warranty expense

 

 

26,911

 

 

 

24,158

 

Settlement of warranty claims

 

 

(64,911)

 

 

(24,158)

Ending accrued warranty costs

 

$30,000

 

 

$68,000

 

XML 47 R36.htm IDEA: XBRL DOCUMENT v3.24.1
INCOME TAXES (Tables)
12 Months Ended
Dec. 31, 2023
INCOME TAXES  
Income Tax Expense

The Company’s income tax expense (benefit) consisted of:

 

 

 

 

 

 

For the Year Ended

 

 

 

December 31,

 

 

December 31,

 

 

 

2023

 

 

2022

 

Current:

 

 

 

 

 

 

Federal

 

$-

 

 

$-

 

State

 

 

-

 

 

 

-

 

Foreign

 

 

-

 

 

 

-

 

 

 

 

-

 

 

 

 

 

Deferred:

 

 

 

 

 

 

 

 

Federal

 

 

-

 

 

 

-

 

State

 

 

-

 

 

 

-

 

Foreign

 

 

-

 

 

 

-

 

 

 

 

-

 

 

 

-

 

Total

 

$-

 

 

$-

 

Net Income (Loss) Before Income Tax

 

 

For the Year Ended

 

 

 

December 31,

 

 

December 31,

 

 

 

2023

 

 

2022

 

 

 

 

 

 

 

 

United States

 

$(3,402,592)

 

$(2,880,060)

Foreign

 

 

-

 

 

 

-

 

Total

 

$(3,402,592)

 

$(2,880,060)
Effective Income Tax Rate Reconciliation

 

 

For the Year Ended

 

 

 

December 31,

 

 

December 31,

 

 

 

2023

 

 

2022

 

 

 

 

 

 

 

 

Income (Loss) before income tax

 

$(3,402,592)

 

$(2,880,060)

US statutory corporate income tax rate

 

 

28

%

 

 

28

%

Income tax expense computed at US statutory corporate income tax rate

 

 

(952,726)

 

 

(806,417)

Reconciling items:

 

 

 

 

 

 

 

 

Change in valuation allowance on deferred tax assets

 

 

2,121,178

 

 

 

553,005

 

Provision to prior year tax return

 

 

(1,188,884)

 

 

36,032

 

Incentive stock options and warrants

 

 

45,720

 

 

 

183,076

 

Gain Upon Debt Extinguishment

 

 

 

 

 

 

 

 

Meals and Entertainment

 

 

3,347

 

 

 

-

 

Other

 

 

(29,235)

 

 

34,304

 

Income tax expense (benefit)

 

$-

 

 

$-

 

Deferred Income Tax Assets (Liabilities)

 

 

December 31,

 

 

December 31,

 

 

 

2023

 

 

2022

 

Deferred tax assets:

 

 

 

 

 

 

 

 

 

 

 

 

 

Reserve for Bad Debt

 

$418,000

 

 

$470,000

 

Inventory Reserve

 

 

27,000

 

 

 

27,000

 

Accrued Vacation

 

 

53,000

 

 

 

38,000

 

Warranty Reserve

 

 

8,000

 

 

 

19,000

 

Intangible Assets

 

 

181,000

 

 

 

257,000

 

Capitalized R&D

 

 

148,000

 

 

 

67,000

 

Stock-Based Compensation

 

 

1,246,000

 

 

 

-

 

Operating lease right-of-use liabilities

 

 

212,000

 

 

 

241,000

 

Net operating losses

 

 

5,568,000

 

 

 

4,639,000

 

Valuation Allowance

 

 

(7,539,000)

 

 

(5,332,000)

Deferred Tax Assets

 

 

322,000

 

 

 

426,000

 

 

 

 

 

 

 

 

 

 

Deferred tax liabilities:

 

 

 

 

 

 

 

 

Operating lease right-of-use assets

 

 

(189,000)

 

 

(217,000)

Property and Equipment

 

 

(133,000)

 

 

(209,000)

 

 

 

(322,000)

 

 

(426,000)

 

 

 

 

 

 

 

 

 

Net Deferred Tax Assets and Liabilities

 

$-

 

 

$-

 

XML 48 R37.htm IDEA: XBRL DOCUMENT v3.24.1
SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Details) - USD ($)
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES    
Net Income (Loss) $ (3,402,592) $ (2,880,060)
Net Income (loss) Attributable To Common Shareholders $ (3,402,592) $ (2,880,060)
Weighted Average Number Of Common Shares Outstanding:    
Basic 19,834,476 19,743,544
Diluted 19,834,476 19,743,544
Net Income (loss) Attributable To Common Shareholders Per Share:    
Basic $ (0.17) $ (0.15)
Diluted $ (0.17) $ (0.15)
XML 49 R38.htm IDEA: XBRL DOCUMENT v3.24.1
SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Details 1) - USD ($)
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES    
Net Income (Loss) $ (3,402,592) $ (2,880,060)
Basic Weighted-average Shares 19,834,476 19,743,544
Diluted Weighted Average Shares 19,834,476 19,743,544
Basic $ (0.17) $ (0.15)
Diluted $ (0.17) $ (0.15)
XML 50 R39.htm IDEA: XBRL DOCUMENT v3.24.1
SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Details 2) - USD ($)
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Sales, net $ 7,355,000 $ 8,338,000
Changes In Revenue (983,000)  
Geographic Region Member    
Sales, net 7,355,000 8,338,000
Changes In Revenue (983,000)  
SteraMist PRoduct [Member]    
Sales, net 5,695,000 6,864,000
Changes In Revenue (1,169,000)  
Service And Training [Member]    
Sales, net 1,660,000 1,474,000
Changes In Revenue 186,000  
United States [Member]    
Sales, net 6,125,000 6,261,000
Changes In Revenue (136,000)  
International [Member]    
Sales, net 1,230,000 $ 2,077,000
Changes In Revenue $ (847,000)  
XML 51 R40.htm IDEA: XBRL DOCUMENT v3.24.1
SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Details Narrative) - USD ($)
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Jul. 07, 2017
Bad Debt Expense $ 272,517 $ 142,188  
Allowance For Doubtful Accounts 1,494,347 1,678,000  
Inventory Reserve 95,000 95,000  
Warranty Reserve 30,000 68,000  
Advertising And Promotional Expenses 498,000 653,000  
Research And Development Expenses 492,000 $ 352,000  
Cash Balances At Financial Institutions $ 250,000    
Common Stock Issuable Upon Conversion Of Outstanding Shares 63,750 63,750  
Common Stock, Shares Authorized 250,000,000 250,000,000  
2016 Equity Incentive Plan      
Preferred Stock Shares 5,500,000 3,300,000  
Common Stock, Shares Authorized     2,000,000
2016 Equity Incentive Plan | Director [Member]      
Common Stock, Shares Issued 60,000 51,750  
Stock Options      
Potentially Dilutive Securities 2,792,335 413,000  
Two Vendors | Cost of Sales [Member]      
Concentration Risk, Percentage 70.00% 67.00%  
Two Vendors | Accounts Payable      
Concentration Risk, Percentage 59.00% 55.00%  
Software Development [Member]      
Amortization Of Capitalized Software Development Costs $ 0 $ 10,475  
Warrants      
Potentially Dilutive Securities 2,080,000 2,772,096  
XML 52 R41.htm IDEA: XBRL DOCUMENT v3.24.1
INVENTORIES (Details) - USD ($)
Dec. 31, 2023
Dec. 31, 2022
INVENTORIES    
Finished Goods $ 3,980,000 $ 3,929,000
Raw Materials 742,000 662,000
Inventory Reserve 95,000 95,000
Total $ 4,627,000 $ 4,496,000
XML 53 R42.htm IDEA: XBRL DOCUMENT v3.24.1
VENDOR DEPOSITS (Details Narrative) - USD ($)
Dec. 31, 2023
Dec. 31, 2022
VENDOR DEPOSITS    
vendor deposits $ 29,335 $ 447,052
XML 54 R43.htm IDEA: XBRL DOCUMENT v3.24.1
PROPERTY AND EQUIPMENT (Details) - USD ($)
Dec. 31, 2023
Dec. 31, 2022
PROPERTY AND EQUIPMENT    
Furniture And Fixtures $ 364,819 $ 364,819
Equipment 2,269,185 2,236,510
Vehicles 66,170 60,703
Computer And Software 306,556 246,638
Leasehold Improvements 393,381 393,381
Tenant Improvement Allowance 405,000 405,000
Property And Equipment, Gross 3,805,111 3,707,051
Less: Accumulated Depreciation 2,756,469 2,371,720
Property And Equipment, Net $ 1,048,642 $ 1,335,331
XML 55 R44.htm IDEA: XBRL DOCUMENT v3.24.1
PROPERTY AND EQUIPMENT (Details Narrative) - USD ($)
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
PROPERTY AND EQUIPMENT    
Depreciation $ 345,556 $ 314,669
Amortization Of Tenant Improvement Allowance $ 39,194 $ 39,194
XML 56 R45.htm IDEA: XBRL DOCUMENT v3.24.1
INTANGIBLE ASSETS (Details) - USD ($)
Dec. 31, 2023
Dec. 31, 2022
INTANGIBLE ASSETS    
Intellectual Property And Patents $ 3,196,396 $ 3,108,063
Less: Accumulated Amortization 2,904,013 2,882,892
Intangible Assets, Net $ 292,383 $ 225,171
XML 57 R46.htm IDEA: XBRL DOCUMENT v3.24.1
INTANGIBLE ASSETS (Details 1) - USD ($)
Dec. 31, 2023
Dec. 31, 2022
INTANGIBLE ASSETS    
Trademarks $ 830,863 $ 800,565
Total Intangible Assets, Net $ 1,123,246 $ 1,025,736
XML 58 R47.htm IDEA: XBRL DOCUMENT v3.24.1
INTANGIBLE ASSETS (Details 2)
Dec. 31, 2023
USD ($)
Amortization  
December 31, 2024 $ 20,000
December 31, 2025 20,000
December 31, 2026 20,000
December 31, 2027 20,000
December 31, 2028 20,000
Thereafter 192,000
Total $ 292,000
XML 59 R48.htm IDEA: XBRL DOCUMENT v3.24.1
INTANGIBLE ASSETS (Details Narrative) - USD ($)
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
INTANGIBLE ASSETS    
Amortization Expense $ 21,121 $ 14,495
XML 60 R49.htm IDEA: XBRL DOCUMENT v3.24.1
LEASES (Details) - USD ($)
Dec. 31, 2023
Dec. 31, 2022
Assets    
Operating Lease Right Of Use Asset $ 467,935 $ 528,996
Liabilities    
Current Portion Of Long-term Operating Lease 115,658 100,282
Long-term Operating Lease, Net Of Current Portion 642,527 761,132
Total $ 758,185 $ 861,414
XML 61 R50.htm IDEA: XBRL DOCUMENT v3.24.1
LEASES (Details 1) - USD ($)
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
LEASES    
Operating Lease Expense $ 157,315 $ 157,315
XML 62 R51.htm IDEA: XBRL DOCUMENT v3.24.1
LEASES (Details 2)
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
LEASES    
Weighted-average Remaining Lease Term: Operating Leases 5.00 6.00
Discount Rate: Operating Leases 7.00% 7.00%
XML 63 R52.htm IDEA: XBRL DOCUMENT v3.24.1
LEASES (Details 3) - USD ($)
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
LEASES    
Cash Paid For Amounts Included In The Measurement Of Lease Liabilities: $ 160,290 $ 155,621
XML 64 R53.htm IDEA: XBRL DOCUMENT v3.24.1
LEASES (Details 4) - USD ($)
Dec. 31, 2023
Dec. 31, 2022
LEASES    
December 31, 2024 $ 165,098  
December 31, 2025 170,051  
December 31, 2026 175,153  
December 31, 2027 180,408  
December 31, 2028 185,819  
Thereafter 33,751  
Total Minimum Lease Payments 910,281  
Less: Interest 152,096  
Present Value Of Lease Obligations 758,185  
Less: Current Portion 115,658 $ 100,282
Long-term Portion Of Lease Obligations $ 642,527 $ 761,132
XML 65 R54.htm IDEA: XBRL DOCUMENT v3.24.1
LEASES (Details Narrative)
1 Months Ended 12 Months Ended
Apr. 30, 2018
USD ($)
ft²
Dec. 31, 2023
LEASES    
Term Lease   10 years
Area Of Lease Facility | ft² 9,000  
Annual Rent Lease $ 143,460  
Increases Rent Percentage Escalation Clause 3.00%  
Discount Rate 7.00%  
Landlord Tenant Improvement Allowance $ 405,000  
XML 66 R55.htm IDEA: XBRL DOCUMENT v3.24.1
CAPITALIZED SOFTWARE DEVELOPMENT COSTS (Details) - USD ($)
Dec. 31, 2023
Dec. 31, 2022
CAPITALIZED SOFTWARE DEVELOPMENT COSTS    
Capitalized Software Development Costs, Gross $ 125,704 $ 125,704
Less: Accumulated Amortization (125,704) (125,704)
Capitalized Software Development Costs, Net $ 0 $ 0
XML 67 R56.htm IDEA: XBRL DOCUMENT v3.24.1
CAPITALIZED SOFTWARE DEVELOPMENT COSTS (Details Narrative) - USD ($)
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Capitalized Software Development Costs Member    
Amortization of Capitalized Software Development CostsAD $ 0 $ 10,475
XML 68 R57.htm IDEA: XBRL DOCUMENT v3.24.1
CLOUD COMPUTING SERVICE CONTRACT (Details Narrative) - USD ($)
1 Months Ended 12 Months Ended
May 31, 2021
Dec. 31, 2023
Dec. 31, 2022
CLOUD COMPUTING SERVICE CONTRACT      
Annual payments on contract received $ 30,409    
Prepaid expenses and other assets   $ 66,857  
Annual payments on contract term   5 years  
Amortization expense   $ 15,063 $ 15,027
XML 69 R58.htm IDEA: XBRL DOCUMENT v3.24.1
CONVERTIBLE DEBT (Details) - USD ($)
Dec. 31, 2023
Dec. 31, 2022
Convertible debt    
Convertible notes $ 2,600,000 $ 0
Less: Debt issuance costs (312,398) 0
Accumulated amortization 10,413 0
Convertible notes, net $ 2,298,015 $ 0
XML 70 R59.htm IDEA: XBRL DOCUMENT v3.24.1
CONVERTIBLE DEBT (Details Narrative) - USD ($)
2 Months Ended 12 Months Ended
Nov. 30, 2023
Dec. 31, 2023
Dec. 31, 2022
CONVERTIBLE DEBT      
Proceeds from convertible promissory notes $ 2,600,000    
Convertible promissory notes issued 2,080,000    
Convertible note description The Notes are convertible into shares of our Common Stock, at the option of the holder, at a conversion price of $1.25 per share, which shall not exceed $1.55 per share. In addition, we can require Investors to convert the Notes at the then current conversion price at any time after 90 days from the issue date if the Common Stock has a closing bid price of $1.55 per share or higher on any twenty (20) days within a thirty (30) day period of consecutive trading days, or if a “fundamental change” occurs (as defined in the Securities Purchase Agreement)    
Principal amount   $ 5,000,000  
Convertible Notes Sold Amount   2,600,000  
Interest rate 12.00%    
Interest expense   54,892 $ 0
Exercise price $ 1.25    
Deferred financing costs amortization   $ 10,413 $ 0
XML 71 R60.htm IDEA: XBRL DOCUMENT v3.24.1
SHAREHOLDERS EQUITY (Details) - Stock Warrant [Member] - $ / shares
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Outstanding, beginning of period 413,000 143,000
Granted 217,042 270,000
Exercised 0 0
Expired (12,500) 0
Outstanding, end of period 617,542 413,000
Weighted Average Exercise Price    
Weighted average exercise price outstanding, Beginning balance $ 1.65 $ 2.66
Weighted average exercise price, Granted 0.82 1.12
Weighted average exercise price, Exercised 0 0
Weighted average exercise price, Expired 0 0
Weighted average exercise price outstanding, Ending balance $ 1.38 $ 1.65
XML 72 R61.htm IDEA: XBRL DOCUMENT v3.24.1
SHAREHOLDERS EQUITY (Details 1)
12 Months Ended
Dec. 31, 2023
$ / shares
shares
Number of outstanding shares 617,542
Average Weighted Remaining Contractual Life in Years, Outstanding 7 years 18 days
Number of Exercisable Options 617,542
Weighted Average Exercise Price, Exercisable Options | $ / shares $ 1.38
Range $4.40  
Number of outstanding shares 12,500
Average Weighted Remaining Contractual Life in Years, Outstanding 3 years 18 days
Number of Exercisable Options 12,500
Weighted Average Exercise Price, Exercisable Options | $ / shares $ 4.40
Range $1.12  
Number of outstanding shares 270,000
Average Weighted Remaining Contractual Life in Years, Outstanding 9 years 21 days
Number of Exercisable Options 270,000
Weighted Average Exercise Price, Exercisable Options | $ / shares $ 1.12
Range $7.06  
Number of outstanding shares 31,250
Average Weighted Remaining Contractual Life in Years, Outstanding 2 years 9 months
Number of Exercisable Options 31,250
Weighted Average Exercise Price, Exercisable Options | $ / shares $ 7.06
Range $0.80  
Number of outstanding shares 27,500
Average Weighted Remaining Contractual Life in Years, Outstanding 2 years 2 months 12 days
Number of Exercisable Options 27,500
Weighted Average Exercise Price, Exercisable Options | $ / shares $ 0.80
Range $0.96  
Number of outstanding shares 12,500
Average Weighted Remaining Contractual Life in Years, Outstanding 1 year 7 days
Number of Exercisable Options 12,500
Weighted Average Exercise Price, Exercisable Options | $ / shares $ 0.96
Range $1.93  
Number of outstanding shares 10,500
Average Weighted Remaining Contractual Life in Years, Outstanding 4 years 21 days
Number of Exercisable Options 10,500
Weighted Average Exercise Price, Exercisable Options | $ / shares $ 1.93
Range $2.16  
Number of outstanding shares 5,000
Average Weighted Remaining Contractual Life in Years, Outstanding 2 years
Number of Exercisable Options 5,000
Weighted Average Exercise Price, Exercisable Options | $ / shares $ 2.16
Range $0.88  
Number of outstanding shares 31,250
Average Weighted Remaining Contractual Life in Years, Outstanding 1 year 3 days
Number of Exercisable Options 31,250
Weighted Average Exercise Price, Exercisable Options | $ / shares $ 0.88
Range $0.71  
Number of outstanding shares 7,042
Average Weighted Remaining Contractual Life in Years, Outstanding 4 years 21 days
Number of Exercisable Options 7,042
Weighted Average Exercise Price, Exercisable Options | $ / shares $ 0.71
Range $0.85  
Number of outstanding shares 210,000
Average Weighted Remaining Contractual Life in Years, Outstanding 9 years 29 days
Number of Exercisable Options 210,000
Weighted Average Exercise Price, Exercisable Options | $ / shares $ 0.85
XML 73 R62.htm IDEA: XBRL DOCUMENT v3.24.1
SHAREHOLDERS EQUITY (Details 2) - $ / shares
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Outstanding, end of period 617,542  
Warrants    
Outstanding, beginning of period 2,792,335 3,381,021
Granted 0 0
Exercised 0 31,250
Expired (20,239) (557,436)
Outstanding, end of period 2,772,096 2,792,335
Weighted average exercise price, beginning of period $ 2.25 $ 2.22
Weighted average exercise price, Granted 0 0
Weighted average exercise price, Exercised 0 (0.21)
Weighted average exercise price, Expired (1.11) (2.23)
Weighted average exercise price, end of period $ 2.25 $ 2.25
XML 74 R63.htm IDEA: XBRL DOCUMENT v3.24.1
SHAREHOLDERS EQUITY (Details 3)
12 Months Ended
Dec. 31, 2023
$ / shares
shares
Average Weighted Remaining Contractual Life in Years, Outstanding 7 years 18 days
Exercisable Warrants 617,542
Weighted Average Exercise Price, Exercisable | $ / shares $ 1.38
Stock Warrants  
Average Weighted Remaining Contractual Life in Years, Outstanding 4 years 7 months 13 days
Outstanding, Beginning Balance 2,772,096
Exercisable Warrants 2,772,096
Weighted Average Exercise Price, Exercisable | $ / shares $ 2.25
$ 2.18 | Stock Warrants  
Average Weighted Remaining Contractual Life in Years, Outstanding 2 years 9 months
Outstanding, Beginning Balance 172,167
Exercisable Warrants 172,167
Weighted Average Exercise Price, Exercisable | $ / shares $ 2.18
$ 4.00 | Stock Warrants  
Average Weighted Remaining Contractual Life in Years, Outstanding 6 years 3 months 25 days
Outstanding, Beginning Balance 28,750
Exercisable Warrants 28,750
Weighted Average Exercise Price, Exercisable | $ / shares $ 4.00
$ 6.95 | Stock Warrants  
Average Weighted Remaining Contractual Life in Years, Outstanding 7 years 9 months
Outstanding, Beginning Balance 375,000
Exercisable Warrants 375,000
Weighted Average Exercise Price, Exercisable | $ / shares $ 6.95
$ 0.64 | Stock Warrants  
Average Weighted Remaining Contractual Life in Years, Outstanding 9 years 10 months 20 days
Outstanding, Beginning Balance 31,250
Exercisable Warrants 31,250
Weighted Average Exercise Price, Exercisable | $ / shares $ 0.64
$ 0.80 | Stock Warrants  
Average Weighted Remaining Contractual Life in Years, Outstanding 10 years 29 days
Outstanding, Beginning Balance 125,000
Exercisable Warrants 125,000
Weighted Average Exercise Price, Exercisable | $ / shares $ 0.80
$ 0.96 | Stock Warrants  
Average Weighted Remaining Contractual Life in Years, Outstanding 8 years 11 months 23 days
Outstanding, Beginning Balance 442,708
Exercisable Warrants 442,708
Weighted Average Exercise Price, Exercisable | $ / shares $ 0.96
$ 1.12 | Stock Warrants  
Average Weighted Remaining Contractual Life in Years, Outstanding 3 months 18 days
Outstanding, Beginning Balance 6,250
Exercisable Warrants 6,250
Weighted Average Exercise Price, Exercisable | $ / shares $ 1.12
$ 1.20 | Stock Warrants  
Average Weighted Remaining Contractual Life in Years, Outstanding 1 year 1 month 2 days
Outstanding, Beginning Balance 156,250
Exercisable Warrants 156,250
Weighted Average Exercise Price, Exercisable | $ / shares $ 1.20
$ 1.68 | Stock Warrants  
Average Weighted Remaining Contractual Life in Years, Outstanding 2 years 9 months
Outstanding, Beginning Balance 1,434,721
Exercisable Warrants 1,434,721
Weighted Average Exercise Price, Exercisable | $ / shares $ 1.68
XML 75 R64.htm IDEA: XBRL DOCUMENT v3.24.1
SHAREHOLDERS EQUITY (Details Narrative) - USD ($)
1 Months Ended 12 Months Ended
Jan. 31, 2023
Jan. 31, 2022
Dec. 31, 2023
Dec. 31, 2022
Share based compensation expense     $ 163,286 $ 653,843
January 2022 [Member]        
Common stock share issued     51,750  
Common stock value     $ 54,000  
January 2023 [Member]        
Common stock share issued     60,000  
Common stock value     $ 51,000  
Cumulative Convertible Series A Preferred Stock        
Preferred stock shares     1,000,000 1,000,000
Cumulative Convertible Preferred Stock; Shares Issued     63,750 63,750
Cumulative Convertible Preferred Stock; Shares Outstanding     63,750 63,750
Cumulative Convertible Preferred Stock; Par Value     $ 0.01 $ 0.01
Cumulative Convertible Series B Preferred Stock        
Preferred stock shares     4,000 4,000
Cumulative Convertible Preferred Stock; Shares Issued     0 0
Cumulative Convertible Preferred Stock; Shares Outstanding     0 0
Stock Options | CEO [Member]        
Grant fair value of per share   $ 1.03    
Volatility rate   156.00%    
Expected dividend yield   0.00%    
Risk free interest rate   1.65%    
Aggregate shares purchase of stock option   172,500    
Fair value of stock option   $ 178,281    
Contractual term   10 years    
Expected life term   5 years    
Exercise price   $ 1.12    
Stock Option [Member] | CEO [Member] | January Twenty Two [Member]        
Grant fair value of per share   $ 1.03    
Warrants issued upon purchase share of common stock   57,500    
Volatility rate   156.00%    
Expected dividend yield   0.00%    
Risk free interest rate   1.65%    
Fair value of stock option   $ 59,427    
Contractual term   10 years    
Expected life term   5 years    
Exercise price   $ 1.12    
Stock Option [Member] | Officer [Member] | January Twenty Three [Member]        
Grant fair value of per share $ 0.76      
Warrants issued upon purchase share of common stock 175,000      
Volatility rate 139.00%      
Expected dividend yield 0.00%      
Risk free interest rate 3.59%      
Fair value of stock option $ 132,361      
Contractual term 10 years      
Expected life term 5 years      
Exercise price $ 0.85      
Stock Option [Member] | CEO [Member] | January Twenty Two One [Member]        
Grant fair value of per share   $ 1.03    
Warrants issued upon purchase share of common stock   40,000    
Volatility rate   156.00%    
Expected dividend yield   0.00%    
Risk free interest rate   1.65%    
Fair value of stock option   $ 41,340    
Contractual term   10 years    
Expected life term   5 years    
Exercise price   $ 1.12    
Stock Option [Member] | Employees [Member] | January Twenty Three [Member]        
Grant fair value of per share $ 0.76      
Warrants issued upon purchase share of common stock 42,042      
Volatility rate 139.00%      
Expected dividend yield 0.00%      
Risk free interest rate 3.59%      
Fair value of stock option $ 30,925      
Contractual term 10 years      
Expected life term 5 years      
Stock Option [Member] | Employees [Member] | January Twenty Three [Member] | Minimum [Member]        
Exercise price $ 0.71      
Stock Option [Member] | Employees [Member] | January Twenty Three [Member] | Maximum [Member]        
Exercise price $ 0.85      
XML 76 R65.htm IDEA: XBRL DOCUMENT v3.24.1
CONTRACTS AND AGREEMENTS (Details)
Dec. 31, 2022
USD ($)
CONTRACTS AND AGREEMENTS  
December 31, 2024 $ 30,000
December 31, 2025 0
December 31, 2026 0
Total Minimum Payments $ 30,000
XML 77 R66.htm IDEA: XBRL DOCUMENT v3.24.1
CONTRACTS AND AGREEMENTS (Details Narrative) - USD ($)
1 Months Ended 12 Months Ended
Jan. 31, 2023
May 31, 2020
Dec. 31, 2023
Dec. 31, 2022
Committee Chairperson        
Increased annual fee $ 54,600      
Board of Members        
Issued shares of common stock during period     60,000 51,750
Issued shares of common stock during period, value     $ 51,000 $ 54,000
Executive Agreements (Elissa J. Shane)        
Term of agreement   5 years    
Options full consideration of the amount entitled   30,409    
Base annual salary $ 48,000      
XML 78 R67.htm IDEA: XBRL DOCUMENT v3.24.1
ACCRUED EXPENSES AND OTHER CURRENT LIABILITIES (Details) - USD ($)
Dec. 31, 2023
Dec. 31, 2022
ACCRUED EXPENSES AND OTHER CURRENT LIABILITIES    
Commissions $ 200,837 $ 442,805
Payroll And Related Costs 201,009 136,000
Director Fees 37,650 34,650
Sales Tax Payable 5,707 (1,351)
Accrued Warranty (note 14) 30,000 68,000
Allowance for Sales Returns 128,390 0
Other Accrued Expenses 71,898 48,599
Total $ 675,491 $ 728,703
XML 79 R68.htm IDEA: XBRL DOCUMENT v3.24.1
ACCRUED WARRANTY (Details) - USD ($)
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
ACCRUED WARRANTY    
Beginning Accrued Warranty Costs $ 68,000 $ 68,000
Provision For Warranty Expense 26,911 24,158
Settlement Of Warranty Claims (64,911) (24,158)
Ending Accrued Warranty Cost $ 30,000 $ 68,000
XML 80 R69.htm IDEA: XBRL DOCUMENT v3.24.1
INCOME TAXES (Details) - USD ($)
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Current:    
Federal $ 0 $ 0
State 0 0
Foreign 0 0
Current Income Tax Expense Benefit 0 0
Deferred:    
Federal 0 0
State 0 0
Foreign 0 0
DeferredIncomeTaxExpenseBenefit 0 0
Provision for Income Taxes $ 0 $ 0
XML 81 R70.htm IDEA: XBRL DOCUMENT v3.24.1
INCOME TAXES (Details 1) - USD ($)
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
INCOME TAXES    
Income (Loss) from Continuing Operations before Income Taxes, Domestic $ (3,402,592) $ (2,880,060)
Income (Loss) from Continuing Operations before Income Taxes, Foreign 0 0
Income (Loss) from Continuing Operations before Equity Method Investments, Income Taxes, Noncontrolling Interest] $ (3,402,592) $ (2,880,060)
XML 82 R71.htm IDEA: XBRL DOCUMENT v3.24.1
INCOME TAXES (Details 2) - USD ($)
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
INCOME TAXES    
Income (Loss) before income tax $ (3,402,592) $ (2,880,060)
US statutory corporate income tax rate 28.00% 28.00%
Income tax expense computed at US statutory corporate income tax rate $ (952,726) $ (806,417)
Reconciling items:    
Change in valuation allowance on deferred tax assets 2,121,178 553,005
Provision to prior year tax return (1,188,884) 36,032
Incentive stock options and warrants 45,720 183,076
Gain Upon Debt Extinguishment 0 0
Meals and Entertainment 3,347 0
Other (29,235) 34,304
Income tax expense (benefit) $ 0 $ 0
XML 83 R72.htm IDEA: XBRL DOCUMENT v3.24.1
INCOME TAXES (Details 3) - USD ($)
Dec. 31, 2023
Dec. 31, 2022
Deferred tax assets:    
Reserve for Bad Debt $ 418,000 $ 470,000
Inventory Reserve 27,000 27,000
Accrued Vacation 53,000 38,000
Warranty Reserve 8,000 19,000
Intangible Assets 181,000 257,000
Capitalized R&D 148,000 67,000
Stock-Based Compensation 1,246,000 0
Operating Lease Right-of-use Liabilities 212,000 241,000
Net Operating Losses 5,568,000 4,639,000
Valuation Allowance (7,539,000) (5,332,000)
Deferred Tax Assets 322,000 426,000
Deferred tax liabilities:    
Operating Lease Right-of-use Assets 189,000 217,000
Property Plant and Equipment (133,000) (209,000)
Total (322,000) (426,000)
Net Deferred Tax Assets and Liabilities $ 0 $ 0
XML 84 R73.htm IDEA: XBRL DOCUMENT v3.24.1
INCOME TAXES (Details Narrative) - USD ($)
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
INCOME TAXES    
Net Operating Loss Carryforwards $ 20,796,000 $ 17,479,000
State Net Operating Loss Carryforwards 17,153,000 $ 13,835,000
Net deferred tax assets increased valuation allowance 999,000  
Net deferred tax assets valuation allowance $ (7,539,000)  
Description of federal corporate tax rate federal corporate tax rate decrease from 35% to 21% for tax years beginning after December 31, 2017  
XML 85 R74.htm IDEA: XBRL DOCUMENT v3.24.1
CUSTOMER CONCENTRATION (Details Narrative)
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Concentration Risk Percentage 10.00%  
Two Customer    
Concentration Risk Percentage 27.00%  
One Customer    
Concentration Risk Percentage   14.00%
Two Customers | Revenue    
Concentration Risk Percentage 20.00% 10.00%
EXCEL 86 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 " F@(%8+E*$ NX K @ $0 &1O8U!R;W!S+V-O&ULS9+! M2@,Q$(9?17+?G>S6>@C;7"J>% 0+BK>03-O@)AN2D=V^O=G8;A%] "&7S/SY MYAM(IX/00\3G. 2,9#'=3*[W2>BP84>B( "2/J)3J$EO,[<$C**%(P ZNP$)GLC!8ZHJ(AGO%&+_CP&?L",QJP1X>>$C1U TS. M$\-IZCNX F88873INX!F(9;JG]C2 79.3LDNJ7$'E_*NI7U MB937F%\E*^@4<,,NDU]7V_O= Y,M;V\KGD^S:[G@7*S7[[/K#[^KL!N,W=M_ M;'P1E!W\^A?R"U!+ P04 " F@(%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 ": @5A5\&U&PO=V]R:W-H965T&UL MM9O_;^(V&,;_%8M-TR:5DCC0PJU%HE V[EK*"G>GNVD_N(D+41.;.4YI__O9 M 1(RF1=R,O=#22#O0_(Y?WF>Q%RMN'A)%I1*]!9'++FN+:1=^�=79 =\26DJV1G&^E+>>+\1>^,@NN:H\^(1M276H*HEU?:IU&DE=1Y M_+L1K>7?J0MWM[?JP^SBU<4\D83V>?0U#.3BNM:NH8 ^DS22CWSU)]U<4$OK M^3Q*LK]HM3Y6G3?RTT3R>%.LSB .V?J5O&U [!:X>PKPI@#_K\!M[BGP-@7> ML07-34$S([.^E(S#@$C2O1)\A80^6JGIC0QF5JTN/V3Z_WTJA?HT5'6RV^>O M5* Z^CP=H%]__NVJ(96H_JCA;P1NU@)XCX"+T3UG3GQ+> MGM(-!A4'U#]'GGN&L(,]PPGUX?)[(LX1;F?E34/Y "[_F#+U[8[IVTM7X^6 MO4S/ P'_W7M*I%"-_!\3X;5"TZR@>_Z'9$E\>EU373NAXI76NK_\Y%XXOYOH MV!0;6!(KD6OFY)J0>O>6R5"^HT[S;/0PGIZAT;A_;L((:E;%:$FLA+&58VP=@[%/F8(8H9'JI6_H M$WTW@825'/7/26(G/9<[G$KS GH(39("&$9F; ,'USR1*3%S[8%E50I;$2H3: M.:'V,5WN"X]2)I6;0L,PHB(QH8*%QMS$":RIRLF26(E3)^?4 2^OGPJ1M:,P M\=70](T2H5T$4D[&V/%@M7K=Q77/-1$#"ZL2LR16(N8ZA5]SCFE;7Y531I\8 M7S$TI23AC 9HE"0I%48+!VN:FQE<5)6:+;4RMAV;ZQZ#;1H3Q>TF3=3'B;%# M'M"1(C6.77!995B6U,JP< $+'P5KH1M9G\=+PHQVX8#,WH$>KJL,RY):&5;A M[UW0!&]AW<94S$,V1W\H!;D L<&"^[%9M?:VU,K8"G/O'N7NMU/ (UUR(36_ MJ20R-7=-6/$;-57UX:K*U$YAY=W"R[NP!<^]Z82*D ?@;'E(:ANS]^9L6* R MN5-X>KVA5J. +;4RL2(,N+!_W\X(/(ZY@AE8DD+%#S@Y&>37_? MWZBU,C5]W_RUZW8ZK19V6E>-UQ*P4T0!7$0!?%04F*1/4>BK,,Z)--&!5:K2 ML:HVV*A=[+#N7+C8<9P<=1E.8?@Q;-3S_M=C+%7];VTPC'Q^S/'#995!G,+Q MX\+Q8]BJ%_>\!&%)F#V2 8C]H.^'ZRHC.X7OQX7OQ[!-WQG@]6@52W0K!%?> M@BM'NWZHM>_^V 'E_?RL!@!;:F5^10# 1P4 [9_0.(V?S'J<.0Z7;KS0&]=M-ST'09:F?WE9A"6!]6J,SO%%$ M%U$ '_4X8,NMKW<>!)KQ%3/2@]6&@@8J??DO1FY6 X$MM3*W(A#@HP+!EMMZ ML%/@)H*_ALPWCW6PY/W 2,WJ\P%;:N7E!D4J\(Y*!5MJ$ZZ24X2^A\N]\\,! M0>Q>.L:G*G!=Y:4&IWA X!5YP8-M?M8K>X*2_9A@@;;.+ 9(5F."+;4RI"(F M>+"S'_G/ O72()3*Z/:DI*IM@4[W@-Y>IPO75:9VBJ3@[:P @OW\%M@P%+'R M'T9.L$*[8X1D=ZG/*>* 5\0!#W;R=SR[K[C@#(H#!T1:N%5W+SI&2P:75J9U MBC3@%6G @SW[E/JIT".6BY_0+)21><2"17;OM)VA)1'HE40I13\[YX[CHB45 M*-'WWXPTK<8#6VIEFD4\\& O/Q,DR!X]O<=//#*2/"#P$S>G>]7@'A,:]Z:#WEY&75=MO2ZW,J[#]WE&V?\0D%>OE MS?I1'=D^\C2"@Q7W/.&$JRI3.X7I]PK3[\$.?3M9[FU;V7KY?'YN_GO%WK9 MJOU&D?R9;;"_HE+R>-L&PO=V]R:W-H965T&ULK5K;;MLX$/T5PEOL!7!B7G1M$P.. MDT4#9-N@;KO/BLW$0G5Q)3II]NMW*"F6)8X8!_!#&\D>CLZ0G#EG*)\]Y<6/ M/O@2/ZR5_F R M/=M$#W(AU;?-;0%WDYV759S*K(SSC!3R_GPT8^_G#M4#*HOOL7PJ]ZZ)#N4N MSW_HF^O5^8AJ1#*12Z5=1/#G4Z8>N'_]XOWO*G@(YBXJ MY3Q/_HU7:GT^"D9D)>^C;:*^Y$\?91.0J_TM\Z2L_B=/C2T=D>6V5'G:# 8$ M:9S5?Z-?S43L#6#.P #>#."'#A#- %$%6B.KPKJ,5#0]*_(G4FAK\*8OJKFI M1D,T<::7<:$*^#:&<6HZ__QI\?GF^G+V]>J27,QN9I_F5V3Q\>KJZX*I0=,EHW;B]HM'W![*9>G1+ QX90+9/C\\.&\.WP" >ZBY+LH M>>5/#/B;+180$!9&/<[!Q^D<>E]NHJ4\'T&2E+)XE*/I[[\QCW[ @CJ2LTZ( M8A>BL'F?SJ-R3:)L1:J+JY_;^#%*9*9*+.K:E5>YTHG^..5"A-0-SR:/^P&9 M=B+P/%^(G5T'J[/#ZEBQSI;+? O0R!>YE(#S+I&PV3*I,*RU*WQ M(G:^SX5#<:SN#JMKQ?I9K66Q!Q2=3]=X-O,Q%?-.@B]'4+/BO Z>X1U MSHM8EN3/3[F21* 9ZQE/=SSN,RIZ*!$[)W3#,,1A^CN8OA7F=YFM\H) MQNH%JH-"]T!-*\?QJ5O(312OR-4OH,H27^_ >++P M&0^#'D#$+ B$.S"1X0Y@: 7X-5=10N;;HH!E)[.RE'B2A\;3P]"C@>_T4)IV MC#/A>$-9SFC++?25J02Y4:CGJB[IDK1)->0JU9OU=W%RH28FZ@2>PWO8,4/8 M*$*P >Q[O,BLE%'G?3V[[U&,[)C4<2QOW6A;?F16;H(:HJ+L(=:%N ZYLT@> MODC\_B(AAI2[OO &%JGE/&8GO<^PO2(59P_D1H*6 ]"5#B7Y/?E6 M-J$T,9P0'X]"(&71#XUB@]BY/(",&HBAY4)F)\.;'.!_E45*WD2+#.$[ZG&G MSSF(W0#?L)82V2&<.%QYF$ETKDL]W^]C,^T-R2=9R9S^EK3N.I-N05&[O$_+B!T4*S:8/RTM&LXK(JN_KZG:!L' 9N5=+>41(I:!Z7,KV#VO9RM%1]IP^)Q@3F M?R.K0\'D^:7.47P>$#H'-J>LK_D0PZ&"W3(^/X3QT?V,8L5:88>Z1B>$&%H7 MK65_;N^'&\"OP#1;7= >@<^-VHP84I>Y0RJ%MX3-0VN)6*RC0J[S9"6+\H^J MVU3/>(6P$O^;*\21O'4/_5K^%W;^G^=I"FE?JGSYXP/91 5YC)*MA'PYI8Q MT2"EGA?(%I>.*:W^U1^!5-BJ=5[$_\G5!\+"<@-28D>1"+]>QB:70QJYWM#AWNBE1S"+CEFJU6L"R=L\=LH M7IU<9V0>;6+8\BA<4UFX/I0H[O1+!VKI^<(=.OT1K0H1=A4"DF^;;I-(P7* M8HJ7,=H@"E,[G#AAP#UNR%/4%*A!>&* N<7>L?0A2@-+3A2TJ2"@RPJ"L-_N M((:,.4[ Z="6:+6&L#?D1L&K]O/!$9C]]D#'AEE:.S;1Z@9AUPWS>H- VI%] MSEW(ZI!X1FZ+%Z6]T(4#C5Q3 QJV*1X\T5?WKQAU0;;R0MCEA7VK7ART58]Z[G L;]WY:&6, M.)*,$4>5,5I=KF4$BZ0-X/O['!J.YD:_E]_] M#F/Z/U!+ P04 " F@(%8U%VJ='D# ,#P & 'AL+W=O0II *BA+ M$8?UU)CCVP7VM$&.^$%A+VIMI*4\,_:B.P_AU+ T(X@AD-H%48\=+"".M2?% MXY_2J5'%U(;U]JOW3[EX)>:9"%BP^&\:RFAJC P4PIIDL?S*]I^A%.1J?P&+ M1?Z/]@76'1LHR(1D26FL&"0T+9[D9SD0-0,\.&-@EP;VI09.:>#D0@MFN:PE MD60VX6R/N$8K;[J1CTUNK=305$^C+[GZ2I6=G"V>'OVG+P_+^;?[);J;?YD_ M+NZ1__G^_IN/WJT(AU1&(&E XO?H3_3=7Z)WO[^?F%*%U@[,H QS5X2QSX19 M0G"#'/P!V9;MM)@O+C>WF^:F$ERIMBO5=NYO<,;?H]H?;(U"*@*6I;)-3^' MRQWHO;";.18>C]R)N:OS/H59%:)!S:FH.9W4%BQ)U/+V)0M>/B(U ^@'B3-H MHU@X&M9CWUCXB& /J,%Q4'$V\[8/5X";<"AUP V^'H57^_M?)\R*21) M0YINVDA[EY)N W:1'E:DA]VDLR2+B4[-:,'2'7!)GV- /G"JUPA:J2P-G$-8 MZ&K3T!E 'VNW8DL"F!KJW!+ =V#,_O@->];'MKQR)6>-L1A58S'Z/V-Q- 0] MFWQTR2;O 378CROVXZNPOVC[CT^76^OF[\H4/6?H M'@OIA35UU(YK?$T=/>FB#-8KI@_6%',XA7'W,=R=+.XN21;=$=Z:+:[EK3D> MAZ,?]YS]ETZN)%+USN:,,HQWM(V.9[4'U11QJ UP3W%PS;R!3ZN!08N2'E13 MR:%>P#T%P]5RQFF)<"*A"]+D?Z@?<$\!<=U<<5HRG(CH@A0BS-I51=\3_R)\ M0U.!8E@K&^MFJ(QYBZ@(\ M^P502P,$% @ )H"!6*N< JE:!0 \A4 !@ !X;"]W;W)K4B.#EQ\EQO&%'I/XE1>#S9*;:^& M0[G8L"24EWS+4OAGQ442*O@4ZZ'<"A8NQ'C$=^I M.$K9BT!RER2A^/N6Q?QP/<"#8\-KM-ZHK&$X'FW#-9LQ]77[(N!K6'E91@E+ M9<13)-CJ>G"#KR;$RPQRQ)\1.\B3=Y2%\L;Y]^SC87D]L#)&+&8+E;D(X;%G M$Q;'F2?@\5?I=%#UF1F>OA^]W^?!0S!OH603'G^+EFIS/? ':,E6X2Y6K_SP MA94!.9F_!8]E_HL.!=:!'A<[J7A2&L-W$J7%,WPO$W%B@-T> U(:D+:!W6- M2P.:!UHPR\.:ABH7Z:/?_Q M,+V9WTW1; Z/Q[NG^0P]WZ/GE[O7F_D# - %^CJ;HK-?ST=#!9UFIL-%V<%M MT0'IZ0 3],A3M9'H+EVR9=/!$-A6E,F1\BTQ>IRRQ26B^!,B%J$:0I,?-R<& M.K3*(,W]T9_)H"YOA5M;[S:;OE=R&R[8]0#FIV1BSP;CWW[!KO6[+N8/:YMZ_FY%3_7R.^SX%*B M%\%7D39];J=;F_B!0]T6O2[.L5S+=AP]/:^BYQFK^WG+1*BB=(WNWD$Z))-7 M.I;>1];R!SEKQ.M7\?K&X<@&@LE,I,(8W3-]R?C=7'N.UZD8#8RZ%&/]B 05 MP\#(<,H@[$44%BJ8+M%-PH6*_LD;=&R#;N&ZKNMY+;8:& FPVU/>V*H%QC*O M#B#1I_6CE1"KTSFF#K9=IT52!_1=S\*TA^:)#F(CS5T<[)TU9B4 ?:"=@%H<-0AA/H]9$E-EOS'HI9*V*=D:>VKT=+#:=_$)X[= MX:C!80?[5@_'6A:Q47/&GUD*2T=SG*!=ICJ@ M:S<":Q*N50R;96S.%=#M+GA:NG:'A>=2WS^IPY*N!AC8Q';ZYE6M:]@L; _I M@B<,G<6@'^=H)7ARY [%H>7<5; +2NV =)8"'9) <$&?&.-:[;!KUA.U80(= MN9G;A4(H[ M7+NX_G226O6(6?6:L_.-P8&;H:AH5.&[?E4A776[H+9%G("T6.N0,$/A[-Z3 M:%(+(3$+(>R ]E%^2@?.QU3/,\KH[(DKAK"K33CIBEV[=(V0)MU:"HE9"I^8 M0HUD:[F1SN&B+[$:I#FQM2 2\T$Q8QHURN(%:GG"DP1R/=N$0COGR(<>$S_* M6S,%M<02L\3>AC)::*,L[+S3M%N7N"U,/;">,PZIM928M70:Q3O5OIPHF3D_ MQDP/ZV-6ZR4Q'P_SC*%O^6T4@XW4'A1^S1I5(]'S3DD%^RS8M6A#Z)X-<>!3 MV_;:AT@MTK/AO-ZS72&U !*S )8I_ME0=.*G#T6'U(8R/+D]2YA8YY>*$BWX M+E7%K5356EUAC*-91*E',5N#2NO2 EB@N&(L/ MQ;?Y'=T;5XHG^>N&A4LF,@#\O^*P\I8?60?5->_X7U!+ P04 " F@(%8 MC-JBG4\% "='0 & 'AL+W=O8R"Q)21 V^3B](K[R$A,+$0/EZ*3]-\?)2NR1=*L MC1((8LG>G25GR!4'FKY4]*E>$<+ :Y&7]=EHQ=CZTV12)RM2X/ICM28E_^6A MH@5F_)8^3NHU)3AMDXI\8EN6-REP5HYFT_:[&SJ;5AN69R6YH:#>% 6F/R]( M7KV#H[8O;[''%FB\FL^D:/Y(E8=_6-Y3?37J4-"M(66=5"2AY.!N=PT\Q M])N$-N+?C+S4>]>@F=X@\7'\Z$!' M?C8 12\H W.;NM7BY)-R'4X"557K?_ MP;S0G.RF9E M+1GEOV8\C\WFUU^7UY^O%N=WT0(L[_C'E^CKW1)7X;75Y_7D2W2Q#] M\^WJ[C\P!M^6"_#NS_?3">/5&XQ)TE6ZV%:R#U2ZJQC.%6ES?=J2T(S4X!S< M\"5'*"4I6+(J>5(@+?1(\ZHH^%H^E!WIL\_3-&OV L[!#<[2\54)YGB=J><4 MZ[%N">-[GL\DPK3,RL<:O#M/DDVQR3'CWR[(0Y9D3.!XPI7MY;5[>>VVDGN@ MT@7.<9F0#Z!>8WEAE;/64K2MWZC M$DI;XM3V8A)L@20%$)1Z562R9&P(;*"FUZOIF5)SVZ14:GHR9ZXC-INY=B"G MRN3)+0D*!2/%L)S %J2,#0UKP+[?L^]KV?^.*<4EXX_D,@77ZZ:MU2!Z)33) M:OT&TN*>NH%,@BU\B74'VM(&,EDR-@0VD##H)0Q^2\+#NR:0B.(T6>)C7%O] M5&T":=W!.2'%/Z-LIRE9Q'TJ3'-M!P(VX2+]V)*?2;Q(L,@D6'\''0"IH[:RE M]3OF0ZF.'O+4[M:A_I=R&*H(9Y5WQF*,HBW_,=A$0?HH@S"*%ITY!QB4U6'BNQ<--3;:"..1%_CY)YC$FW1H0UUL*2S M0F2T:FP*;:CJSO%#O>4WXDR@;*@ADIF;Z\=RLEZNW- \62W%V-S %>-B4V,; MZK"S^U#O]PV.:]DHM$4=C'IYHVB14;3X&$Z&BNTL/=1[^E\'%IM"&^NQ,/]2[_E\S 1R\/+C+'M>5>C":G&[I(UNPZMMV M7LJ[4>=EF6U8(3)>@)*MS@93>#(C6!6H+;YG[%GL70/5E ?.?ZJ;Z^79(%"* M6,[22KF@\L\3F[$\5YZDCK]:IX.N3E5P__K%^U7=>-F8!RK8C.<_LF6U/ALD M [!D*[K+JSO^_)FU#0J5OY3GHOX?/#>VL:PQW8F*;]K"\GZ3%.B M*N6OF2Q736:W7Q>W-]<7T_O+"["XEW^^7'Z]7X#;*S";+CZ#JYO;'PLP!-\6 M%^##'Q]/1Y6L5!4=I6T%YTT%R%$!1. ++ZJU )?%DBT/'8RDVDXR>I%\CKP> M+UCZ"6#X)T !PA9!L[<71QXYN(L@KOUA5P2I6(,K.1W -\&6("O [9:5M,J* M1S!5@S2K,B9.;)%K'!.[8S6!3\26INQL(&>H8.43&TS^^Q\8!?^SM?I(S@YB M0+H8$)_WR5>9;VZX$+9&-B6CNJ1**D^3(28!"LBR-M_%TPZ33/:9-9B":8;7E;9W_4#6\L;=^%>7^$HBN*XUZ46,S2&$;%W M:-RIC;UJ]\4!O@(U>]2%[$ P%8)5-LFQH06&,89A3_*K9@>2DTYR\B[)"[ZJ MGFG)P(R+RCIM$D-'T%-J6L" Q ZAXT[H^%U"+]B*E:6<%U=90>6TD9/"*7EL M$P1Q3[9IY9C?,- ,"[RB+__:9=5O*6PC5S>BT7[Y2UTS*[ "4VB$41+UE%KL MHA G!#OT[C$7>O5^I_F.J>BVPJ^%V,D0RT496,B9G:7,&M_6Z^'8#.2_OF[3 M+B08)P[92,M&7MEW3=ZI=9[3I1P;#]:9UKK9KW\($RQCUQ=J&KK&@J8Q]()N MK,>Y/1 MARQOF",CG,JUN:A1@Q'ZR?B= M%4N93^0*A(O,SA5HDH[ .(9)7Z-I-X1A0B*72 U%Z*?B;;5FY=YHM,OTD:U5 M:)K$, X=XQ!I "(_ &^X3"+WK-R -TX=9*)MB(((D;YB?\7_,A,@34KD)V43 M^"8]6MMAHFX8AV'79*U2M'6[@+QX?6^. M/I:WPW9KSB(_9[N!-J>_G:/,9.B0C$F,^MG%8A@'5/]P84F7@=0IA$V*": MQ9 $8>Q8W6,-8NP'\7Q7IFLU3^3F;EYR.?;D]DZI5SN]K3J#LIX#6F@\3O8/ MOMHC/BNU@R1V+'"PYBSV<]:8-K:A9Y5N 2N"430VM-L,"23$I5T3&/L)W)LT M^J#BM=/7H^+X6-X.@[!W".W'L1QL*6-+ 59UXA!B)X-0#\,9EUU95MF#.O'D ME:,;30#+#4@R'M%O[HN+ISWK^_*!E20O[M,:W9C/[N[>?/.H6="VA%NBZ%'MX8Y?NW MUVU7A>-?A7C^D(EJB>:,U>L MK>1&<60LN:V6) QBZ%*O(8_]D'%FX;]%AX*UUC&8V^:7>RVVYPI MA-$L8B&B($S_$O_)B6 O7"P\U2=Z<4&"CHO'9$TM85^7K5-"$8[[W-:]HQVOO,0.Y7'^NO M+P2HSP&:U_?=T^X+CVG]74/O^3D\F37?:6@WS63B4\**J4?VXH,3C+K M2AGPZ?*)KQS)-"J5>C+;W?TX*:4R@]/CN'?O3H]M';0R=.^$K\M2NLTY:;L^ M&4P'W<:#RHO &Y/3XTKFM*#PI;IW^)KT**DJR7AEC7"4G0S.IH?G^RP?!;XJ M6ONMM6!/EM8^\<<\/1GL,B'2E 1&D/BWH@O2FH% X^\6<]";9,7M=8?^.?H. M7Y;2TX75?ZHT%">#@X%(*9.U#@]V?4VM/Q\8+[':Q[]BW^D@F=#- (GMR*!J?O?IM^W#UZ@^9^3W/_+?3_0O-MH-N[QRLQ M'8M? (K'NYLYDK52SAJT69!:+*RNN5G\4,Q-,AX**3YKZU0J16)=99V,K;3S M[K>#V6SWB!'BY?V+*29M,?M=MK>KUC:]=N"6G2;K?V[>9[H3PH MY-HN0:YR=J52F:SK;*BFE*#Z)#JDH4C>PR4EM03"D&A _1:&;SL;B#4=]F-.[" M4(+ ".E(T';B]49D3I%)L9 ^IM(:K)>;44L.Y[:,;KR.= >*5-GG#9-B4VL) M!^!/Q.+(L:-%7:I4A$Q(W#QR";W<$9DNF!BCH1#& EFLR#%J")I$(MT2)C-K0^64"0V598URZIR( M5+Y%!L&*#)<&RFVE^!KRA^(/E9%8) @6O!Z*:Y(Z%$!%UF-#+=K4WU+@^V@H M/EL+^C*CL&GHV[(DEZ TQVBR%>(/4TU52;Y/N(+@BS2!0R"]MY"-<8HN<4PN M6ZFS="5!(Q4/F$+2H2+OG?T+7>'%&1*1;/I.O3Q[N#_KNPJIB*$=+S =J)(N M[.QO386K+08!5S& M"4/D]&-I+M3,2V3LFKW( 8XM)/(="Q$I.H0G)<'5LQZ:M0>.S% ;8]@(;HB0![ 0S* MV('!#D5A?:4"#U5VKZ0FEIA_"NVE&&"I[,@WQ:[E$AM5(?%X2@BM_EJV)!FZ MN103V(X2#L6V7&V0<^?C5Y1W7;EO2ZW42CH%[QJ[%FEQ?0B421$UQP O,S9Q MM4(7^4)5K)!E++FLE>93S]X&THVG<>6L+;&-A['%JVO(-(*LN5/9&2;"=\I2 M.B>3)W;=ZNX2R%3,3==J?.B4CQL,/V*FRA"XF.6O+L;">O;29O MVZ_33T<>4P\7RRTW2:\6B[0@77$M+;&^N/LZOQQ-?V\\8KZQ6?D:(0YW9(ZK M )H8*57MN$W'/WLQ3;;>LZC2/+[:/>S4)C1/VWZW_V%PUKR'7\2;7Q4WTN7* MH(\H@^KN^-.'@7#-2[WY"+:*K^.E#7AKQV6!'S?D6 #G?%-T'VR@_[ET^@]0 M2P,$% @ )H"!6 D)=1+F)0 Q'< !@ !X;"]W;W)K2F0$SB[C# 1*::W=75]7ZT?EJ7U9=Z84P3?5WF1?WS MDT73K%X\>U9/%V:9U(-R90KZ9E96RZ2A/ZOYLWI5F23EEY;YL_%P>/9LF63% MDU]^XF?OJU]^*MLFSPKSOHKJ=KE,JLTKDY?KGY^,GM@''[+YHL [_\M$KF MYLXTGU;O*_KKF9LES9:FJ+.RB"HS^_G)Y>C%JQ.,YP'_R,RZ#CY'V,FD++_@ MCYOTYR=# &1R,VTP0T+_W)LKD^>8B,#X7>=\XI;$B^%G._L;WCOM99+4YJK, M/V=IL_CYR<63*#6SI,V;#^7Z;T;W\_^CM8P].7X23=NZ*9?Z,D&P MS KY-_FJ> A>N!CN>6&L+XP9;EF(H7R=-,DO/U7E.JHPFF;#!]XJOTW 904. MY:ZIZ-N,WFM^N?OT]NWEAW]&MV^BNYM?W]V\N;FZ?/_W5S=7-_]]*RA]?#6LZG._4KF'N^9>S2.WI9%LZBCZR(U:7>"9P2H@W9L MH7TU?G#&UV8ZB(Y'<30>CH\?F._8[?Z8YSO^C^Q>YC[9/3>XZ46]2J;FYR?$ M+K6I[LV37_[Z7Z.SX*/MV]OHJ1(HXS^7B_*/-]$Y;J@:>IV4F=I1G(EEE'7 MQ7U6E07FH[GORKP%,'44YK-Z92:/WB M6+2IDJ).6)K4T2*Y-]'$F"(R>4:,R9O)BF!S/.,',\V3NLYFV52P0;NXM)-> MF:HAN4G"K3LHG'V9 ]EM*JRLCK:F*2*&#B 3&-VHH^&$QB0V/@()$[;JJ*O M(GZ?R9'0(A#2\=1F)PAI5)2T/J$#\YO9C"1I1%N@]^^SLJT)^94AY&'G-"7) M03XD4AB5SE%6 8"KLLYDR4^T( V\KIL,T]=,(C2K[$J0Q% _@E#L3K-F0Z*S M642_7EZ^)W!^;S."*6H9&\ODBXF,6PZ'29MMERL!LUDD393(_ICDEG(^;G=X M((CNIDU+HRT2B3QR+$@05>X "-NSJEQBCCK8 MS""Z)=U&*"OF)68D%941E:]IR'V2MS0D*MO*CX^5N3"V691\]#E#37ARY$[D M8++[9)(;C+^G#93@K%F251&F%3[W^\R*NJE:WBA>:))BGM'+P++!H[8VLS:/ M MIQ-I:).@^CQ+)EE.Q,??+0E544EHK AYGPTK]2Z.0.2+C):IB!N(\K\25)DI MIH8GIB_ODPH,(+/L(*4*S)MGYE[0.@&2D[HL!*&@@H!?UHMLNHB$6Q=&#A!_ M@FIQ2O]JT[F2T(3,*N&,I*J8@#Q6L(, E\&>!]$;(/ ?&!J])4#:2FF217-+ M9%!EC4LTC)T" (_W:!F^1E8/J8PZ_#ZI&2[S=;J@@P4W9U,CV%@S-3,. M0%3@#YJ;2):AA8Q8)1GCB04L:#YQX&^B QIIOF:-3'EHN6\E&H>.AR; @V59 M$^;3^X1(:VYP.F1E?J$%9CK +>?GSH1UJM14Q%Z!?"=PF[6(7YZ#)%.383E6 M1 )!@)((?#^(WNX8S+30;HC8^%C('LWQ>6L7NI"CGX,,6TT-6=\I,\%!1D^^ M%.4Z-^G<""71,WJ(SPY]!+_0_T%V?T@2,<^9T_VW+/'].:>FGE;9!%(Q/,]% M1D*\FBXVD?"9[CDGDLZ5@U914=0K,N>0N0B1FA%J]/8 QH%8. MDKIIHK;PW\2R^66R ;&TM?".8CF +=8%L00O2F9 N:9=OHA^ WC1Z$7TWVT) MD<8DP\@6ZU^Q+.R5 :_,X,HV 6DPU\ALXQ=D,F"ORNT$9&$7\L<5;L-D/# E M!31M8*%4.$G]*R93!<#7T>\=& %1389$GE2[X7G9>R$KW&X<%*1.=*U"U2,(?NG*B>P@&CJR2;\5DF2:#L1\,C&(K'=B#)BU+=D,)%Z6EJ-_2 F MCU]$GX+SW@*L;E>J;PD.>K41"-D(84AX:YGJ!_]:-B_8;B$^5'-':/AAF#Z& M8M1J?'IEFM0+42#X "U$LXEBVZD>W<-5LG$$3@^KEC8"U5'48*X5*;>OK%[2 MD,\F9IJTM8.U)E$,%FC:"ON4I[4)]>L@NK(0\H=K#Z'_I@^[M:AK^0;ZC8;% MT<*0:"8\=C5YUHBQ+.J.B2C/:+*4;8&Z$2W UA9ICCF]FUN8,U%&S:(R$,GL M_0'SIH:90P=$'GT=ZZY(NL$FK"W/9Y#T1-LJ8,#W4&1DV\G+Y/Z9Y82@L2X@ M ]A_.N;IB3#6AEEB"QD#;X%_< <9W4)_;A^PB)G-"H+"FF!3@BMKCM9T5B0@ MQ4N'4"^KF!EEJG8]NQ(%F[2$(3EG3)'JOF\CUCV.TK MF378*@EP4K%")O9=%@_.O?VZ( EEO2 V6MS9X(P)F>6](=QD=:CQR3 J81.] M(C=#3TG\3')Q:$^.S\(AX.AZ3I MR+DX8HU(]E9J]JB,*K#\:$-6^Y!743/KJ)\7U4G.O#$OR]3:C\1=.':6O@E[ M.54B[J-3&RFS5-4A*V$*GHP>-]:0*0LY"=%:%1OI)>G3/W#>=?37_[H8CX5D+=JSK<6-5#-S9O;0R)ODJ5I=W$FU)I] M"K(MLGRC[FQ6+P@&C^XJ63L'7+Q%2\: 2V,+*DHA]7V-/CY#"**5C M1S FY=E4.CD76T5+SYFW;,6TH=+$6I$LO3*-8(G4F=!29-7#8=5%R,A+NU(- M1&ZE;VJ%*\D_,?.QB"!@FE73=@FS3VS.4'*)G]/"8LT"W$)DP1!E(UZ$,G2K M92"L+" V)M@X\]7S4W 1MD5H>R3[#J+W8=C@VH8-L',K15FU[0PN@-[XG&"A M8'R[;"4<0L8)(2[3*-EGPV&WMC&=+P(*) ,M00K@".%4);H(DE$<8X?K?BC$ MFZAQ-#<%N5UB7<. (B*:P6UA63F@O0X#@%*4B%C44N9#M#13LW(D-'8[5T M8_$TP6W,9/S"Y=U5='$R9A(BLSH'5,[4%U4AZRK0?+CFJY&(DH-!H.0@K=AC MX#X;]RF+(Q$82O#XV-(!5G[UCPM"%6OZ6%4P[$O=&;/S[Z1#LMFK$#9B) M/28)9:$KU4$5.U0?//QQ)S@BH3T?MG'6.%BJ9C*>DI:$2&>S2JT_S"MQA5)#>18-=!;5 M-,.";]H*%AU./F:\"Q:LX2ZQ'FLA(GCS-:HXGLB$@$66[9+04;3L:$TKQKX/ MP2N2P+WP\]VTJIJGR:IAETB#1[.6^=W.VP.&S%_(9A%?-]V-XFW$LUDX5BS0 M2_ ZQ]/M>SK. N5\ZNXZ@GG>$$_) M7Y#[9"85&C;:8D8F=H8/7UE=K58 & OA7)QH+)&@(XVC0-[*8R:S27# /?;> M"8AUI:#" "4EW3$:AL6Z] ./S'02-FT.& M6R.(#09OT/QJU5?Q>^LN%*3<,A0?[*EEE#2Q+FN^NG#5K?/T:(:M2;(0KMO5N=LOVYQ>G1^,A M<>\\J5+'7,';R%C86<5+@RD8"[A"%!+?8E+P&V +3\Q,B:YWX8X@YQ%]FRZ* M,B_G3-DSFC-3[;6@M\2#(VJ;Y&S:QLQCD"?L_2E*,F1.)-X@RXFP<4C1E9B' MRK2=,DE[M@4UJN6"9!*? LQ?&[N06)N/3?0<0;4AG&H(5W:("Q$J0&Z1 N<" MQ>*&WX0P3SCSG_$_GP[5T1O&)^>G6ZZF]8G>:P3P% :\JFJ; M#NEXN*?/_\)Q@%YH<;!GYO%WS'RZ9^8W 5KV8>6A9DJA"/)@UK'ZW](Z]/NP8XDP^9:HBS;#3I$!"3,%?:5I:7==4@VI MF+A?RZ1HX=:1?@&6D;(T72"2>8+@K^/QU" A7DLT(IS0)F!\*)(@!$I\M+(E M3>6B%X'@8&3IXF B*,O V+9+DQ1Q1K@@A;.E^^C_.-X7V0%4;H.=$,[Q4%Q- ML/49!V_Z;'UP1Q[8NY+V/3H]A G%&>:/R##34C-3B2EF\\Y[DJ^12"\-,:9> M^4EZ7]PQFVV42,96\8 6(K") 6S38A/QEF9[5U6;4>WPT#\CU2HV46+-4WXY M64MT5H+Y;8- K.H(IQ^\42$+90R"+=<.J,K"GUUG>-AZU M>Z#NN#5-Q4RPT:4T]L$%:S;_UOCS8\'J@^D9B47Q=??![G/'^CV_PJ9]6^%E MEP"U/JMH!Y_,4UE8VPH9\*]-$M'6E9@4414"]P0< DF:+^4C.\YDB.%*@Z-0S MP9& Y$O$Q6 @'\=4O.- (D(4VVF-D/IBBE@D\+JB:#P;?/M,7%:$@"NY M#G#W/NA36-7HR31)TTPSA'M6"*IHO @)R3B;J:C6G7J:VC,C:OMX%NRO:Y-8 MQH=TG^6V(L[/*(M8UU8JU<^"CE";156V7!/1A2[DL=B11C8[4DCIK1V3/+ -#@546J/#9-G33>.SX2!ZU:TB@,!D MOI@]PJ@/7!T-M";31A+PODY0:A#$R-LO SA51Z=Z9"EQ$+W_!B?N"_5K@L:P MN3V.AQ=BKNTA+\G*!UCT@HOFB\_/:8;G9]\D3K9:.Z(S8#)_K&>C\_CT9/RX MZ<(I0DE\=AR?G^[=4'<.+ZC[0/G7WSNZN=0Y;*S[*L#+G>$4S64P_ Z#;3#\ M1P]LW#^P\^?C^/CX]-^%\I/1\4/G__\;Y;?;LFU+"B#U*POW=9VZA@&TG&Y' MR7A;D;&&Z%XW!# XC9:H"]1\X?'@V/V]!S=<21,B8:_%*H(D=*3(JF\;F8$4 MOX1J7()[CS!Q LR;6@^NR*47ML(A%$"!J;P]IP]/_!/R\7J/?.0%8.#"L(V> M1@?'\'^',<7T ZG0WISW=VD:1I2&*WC2TR"74+ZO.? ML6Q?J-4]>AY?')_$)^=G^'A^M&:"JL"Q:ZIO8'_ MHG/Z]3>.WYJH+QY+":^].6A18WV5(WNBNIG=QW"ME#O;*88_6T/^B/X+QJE3ASSW1P\_LH3@ZNU2H[AZ"RNT>_MV5$,3=GSG_#^;>%,2]0?:PF\&M M=, N-]V%2BY]WO,.+("F@.A52?]$!S"8#G>/N"I3GV^TPIML*Y<;%AOK;'@6 M.T!9=EUIV8VF]JY\:=^CAD4';N+#P>[M<@!F;7Q-/+'&,JM==8I/E->=8+O6 MM&LE'1OI:LC7+HH8Y*?*,):W8G.?HR.P 9IZJ"(L5/3+?4/9%>LZA=2$\]5V[.-W0Q/=U ?NH(HG?*E%,QWANL* MXM!-\FS.2,#+ZN[9^5YJ9;W?D'@#OC^ B[!?2I$]PE13&_S=&F3UTGJCB 2XP=HT"LR>IO[8Z+X>SL,.O-2I+T:ZD\J84RMNG*D1QP"T)(.",E M$\7V75LUR=]VJ#2LYB!_)^6ZS:DDH(*# 4$YCWSW+B3*OH0C#3_'ML1TRC=? M1,EAS[?>,UDW:&,GT((>+IL P0D!)9/R7G*4=I\"\+ZI.=QK-\I"0*I ]XW? M.OS)X1XZZD)F01-JF1YJZ0W]<93DJ.I#IXFH5%O9(P>T$PY[')D/?3B"<7DZ M(7.KC+?@0QV1 '>OL)%0@!"1$'Y6?^%T/92'KW-:)76]+WVPD-HFR5^$ D[" M*$@\$#%P-H-(F=/R=)A);GMM< QLP""OM%[X-@+MP^FE<:1(395-S2'C($;! M()%>1$Y#8X^R%L?)_$H: ] BA*)$81830'CH0M(M7:=EC=-G$G$7);96S=@"N?)GZ=U%DP8#%^?,ABO!)%Z0W'IV1M$*F_1;&IG?EI=!J?::GCT^@LOC@[ MT<\'HWAT]IS_.'2+ Y"/52*!JU%\=B:AD!&99O+>Z.*,__U8HNSF:70>'Y_: MV2_("[^PLS^_.-:Y[88(/[^:/^177XB)<_F):<4L*O1V.]P M?#9R.SP^4QAN.MT1HWBL*;EQ/#P_YT\'%R?G.O@[]O;>)1&MX:BA=R%"D1 M<"US";NKQK22Z$^8E!2 MKB:V+E7:I::]I1QF79*W4X*C&8"MA(/M%'#M7 2I5^2N:BFQE<99+:FE3I&8 M:WC[\66E),Q7*DG%A+=2K>%C%=S X_J5;9KYOCH"G'F:I6P22&UAL2%S3(QO MF$S[C#NRTCDQ"^3);&O+VL[;F0 MI*50(0NW7])2]Z4U$;WI+SM"'O329V,4_K=MWN"R#P0!W+YO@WVSP;;/U9,6 M*!$K2SO30V8_PC7(LLNU%CJII)^2PDUE>_*)]"8JBS2MJ6(U;)\)>XA]#TC' M0>E54=6^2'0OK'=!)^K?7=?^@\@(JEYZ#3[EK#&H$IDVSK7DTG/-W$K24"\0 M,(')+EI%:VYZFB4\81*>5B-5OC_,R09W785KR=N*'(0M_=L"T.S>UX [-)H- M@D?@3YGM6J5'KV?#R-!I.#2H[]Q;MG$^NH@C%XOW+^/1:/Q2@F#A%P/;Q/2) MG2R%_CYSR?'NU _"50>U9LJ'<\3JI(:JXWKR[14,U/G+\#H%,=9](8SD#$4W MVL;X;FPB:"G>E_+77&]2=^'>SOUFHO9>Y& MFVQAQ8,W?BA+=II-Z9^RYZ MAT8#9D8:L%A)=,2 HQ=2&FH0NQ/E1F@)I6FTHR#E0>1T#N-C="Y%C)VD"]// MO;8U]"GDK*$.ZG@8GOKD)#;I'MO+ M8OY0SA:Y9J_D\640FK1UJ;&[4G!ILB)T;F]K,;<]UF-S'<.3W.!%F8A>1=E4GK1+W;W\ F/U16[AAB.[+UDH]@()DOW0V M*%L8>U-3__ZFCBIB.V$?Z:BP:)N )9?VP@YG5>Q4R5S=[>]PF*CB->["-F_6 M6!&MO54=4V_6R;BTM=P7!SA7F=';0W27NPA'?!76BRQ[ K.6W^HVX9 YT[IR M;N[0L+VB&"MZ[AN+T?;IS$0SJ;WH'&.N(W3K/:[\/VR*,)9%SGP=]>GH@?J* M?E$ #E)W%+#?5+L'1Z: IW+7F/W0AC.0D7/LWOG6W,NR_4T4<#]1 J@"W=_.],2FWT+R6 M6U%(3I/@8,J[\G<4"E,"K*?C4T6]WJH26G(X1KV,X#>VSR^E*/C&V5J74Z7$ M&W\5FP[Z[-)".2;(>0*M*NY>$H)BL:S2SB[MLRBX HAS#8""I4 /,NF]B."K M-OZ>HK#5W'6:Z_&N3=A6;@L2].H)P6+W*I].9S7W/]HK4= _NG-;?C-,W_;B M*5W$MB.X*WGTS&F4HF9YN:X]L-ME]A)DP64: M-]H/N 5_[[HM;3GA#4$0V\(^V9[WW6SHS,#VJT-_C[;EK_7JWC;70:T2KR?3N(Y4U]?M;:2>![-SFZY[E*M_V0PB.O/2J_>%[4V-$G<7 M#Y>U22^92:-=1Z$>C'1N:NBX>VM@W$M1!\[,"[B-_S)3MT>7E^!;!US*A7M: MQ)<(:,#?+J,V=.YN$YE7Y9I4@N_72,U2 K:P7%\&=JB067A1$T@(U\L69BU6 ME.0,/>H[KX')$OAW,;DYN280QD;8DH#P810"[I2Z^FNN_QI18(%_,>@\"07E':IY.0U"57UJV$_7;7'VGVE"MJ M:IN"(]-L66JJXMH>8W =2!*,E]#DX_M/^VNM@K4[.J+(G3"X%%"CI+XC[4/ *?510C7=&PWN?G0;/M>B_+&P"E!75Q+Y2RRMAL2(Z\IR&PPTO M]R9,9P:Q24F]%$$GW64T(>O]2UJNBT#2P/%T-6Y JKWQ8KO.*KBXA]OG+:6$AL<5 M8=\)1'0_*9;\*;2@C9'_QYZ,DAVXP&=[XF1>NQQA?# M0[TJ S.VJY3E;7"8[@S=R]:FEZ4XX8R_IFCP< MK%.P7%R!0)AEC6VY";#$%RVX@%^ &%7QC:L!L3= NTM="HZ]\&T8OO[$1HL( M=O%RV)$CN]KE#A>DS-R0MM9@1'\;]6/VP6%D-G:YMEN/(G3[1(1,I1V-5RY] MQ1>MPF4%&@T#.A#XX=+-[-[V+?)]'[8 =6+F62'717 /OI-CH],P"<7V2K9T MK^F!S0B]-)D(PF]-=0+=HO=I*,H!8;VP-_(BT0B45Z:I2B_F=(MRY_AVY:QS MP'=<<_AZS% M^0\5,-)@7(4R.3#\M^/ZC:-B-6$DK\NS8?ARJX=&V:VC>T[8PW!/ \&&M,%. M&?5\6T;Y#M-=LNG\9'CHJ2SDMZ#>I7.O"A<4)4'S,!=U^DBA)U/7W-DKN@X* MJX)#"!?ABVY\^RL':?;P C?IKCR=!3==?R>+G'R;RL)I=]^1#R&K-5JBHL*& M..[AP_5]G4LN;+2M3\*>=D4.*8T&* O)=6*X9R^PYZ2MZAL7R,=R:9>C# MK6K=KX1OH!=@#ODVKSYAXINC(7WYL2K;2<[VU:3A '+5XM8 [I(#D_PCXPNV M0Q(-\.%^#$&]20]3IV6ZL:MPKTK5704N-8=EW*V9DG37?0JXH[.C$3'9VV[7 MN4:+?I/[[%#+Y#!Y$UY1[]+A=E(:^O>$J(5\%F'I85_#F6(AH1TN_=NC_L/; M7_,RX=^M$0C4MG]HJR+']-XDN=O,.552"FWW@J9\W+S7;%CP6$*+G8A/EIS0 MX!B]Q3MM\5[/+B3'QBEOD0^9/+/7_[CPE)KIY$FBYAQ&1TW.<_)N2DXYYD7<]'I\=R:'\>]3L./PAA#W* M5JIX0I4KZD5IQB)[U=&=6Y1T'%!2MXK$_[B&[;I\I"S@4[^=-J5JF]&#VF9T M-+R(0\L:Z'(U,9?^N@#W[+?@WH!'-3)<#$]#P]EI)[[)EC]7;&EY9ZB3 "G# M&_L*;XBZRJ7@3@/W++S#;FY MFL493:V:7>ZHIG,R'K(>C!MOG"W5;: MU]C;L__0?NW41K@VLPOKN^BK5]USD2>)',/4D= MZ<5VRP0_;Q*X'/);1_S#.R'"MN2:BI_O%&^C'Q1O;_AG)8H>&AX'XN-<[^,? MA*SGUX"9G4]C,_,X7](S>H/W=X$U_$&P0L1P%];$*XC$)7/\ZG+94*\RQ;EC M;N;>Q%)9X16/7!5B*RT@&R1"U E7N!N&M2=)(TQXP5ZS]*W1HF]M>5+7SQ#0 MMK3=2/MIW'6EW?+@'])T?V\+28;O<]'4Y]GITQQU71_?S.I>M(% Z_VX7FOD MA?;\"A0+ (V V]AC[Z*O[N\SE'NTAAH'$E%U=TCU\I)B*_%/7Z&]R$\4FG^J MF^QOVWC)/4%9<GWUFPN1!E6->*X (;@@MXL1:"BY M.,K+DG^:RR8:?>;.5QD*/JJD<3\:Y&K@Y;LXB!2'GI>[2S"X#E!G<[.[M#>= M@W9LA+\$8$L<[8]L#4("^I.2[<=,2JDNWZ\>'F)!@7JWP?EO9,%=O\KY+/AE M5?)WYOS[L?P#?44C/[+JGD;V)VHOY9=9_7#Y?=NW246(KV_G^U QK26 M2?L2WYWO>?Q<[+O)5JH772(2O-:5T%.O)&K&OJ_3$FNF^[)!879RJ6I&QE6% MKQN%+'.@NO+#(!CZ->/"2R8N]J"2B5Q3Q04^*-#KNF;J;8:5W$Z]@;E/'\CB7C-0K-I0"%^=2['(QGL!;Y1T2TX?A]L^V&L&Y;BU#,/7J/:H)=\^308!E^/ M2(L[:?$Q]G]).PI^7]K=_=,LBW<,D+%6:7A/ Y==#ALU[WJ-UBVQ<')Z,SMG!Y8 M75;/R"5#'_>&X?GNJ+@7CX;.?N^N_(..J5$5;B[8/[06U#9/%^U&SV7;<;_3 MV[EURU3!A88*&PO=V]R:W-H965T MJU*:,2NLK:^"P&0% M5MST58V2=M9*5]S25&\"4VODN1=591"%X7E0<2%9.O)K"YV.U-:60N)"@]E6 M%=>["9:J&;,!.RP\B$UAW4*0CFJ^P27:;_5"TRSH*+FH4!JA)&AKW@#9:E Y&-'WLFZS[IA,?C M _V+SYUR67&#-ZK\+G);C-DE@QS7?%O:!]5\Q7T^0\?+5&G\$YHV=G#.(-L: MJZJ]F!Q40K9O_KH_AR/!9?B.(-H+(N^[_9!W.>66IR.M&M NFFANX%/U:C(G MI/M3EE;3KB"=39]F]]/Y TQGB_GR]G$Y"BQ!W5:0[0&3%A"] QA$<*>D+0S, M9([Y[X" W'26HH.E2722.,6L#_&@!U$8Q2=X<9=B['GQ_Z?8 I*W :XNKDS- M,QPSNO@&]0NR]..'P7GX^82]I+.7G*+_B[W3@/OYXPR2/OP!@KD$.DJL5JB[ MXP0N\[]6HQXT"*Z"+?TPAQ>4N=)TN6MEA#6@UG 6?>K%\=#KSY+DHA<.24:G M4:.OJW+7 VH1X+H%U%N=%50JH'2.VO@-(8EJE=[UWSJSX.@&5Z@WODX-9&HK M;7N9N]6N%5RW%? KO.TC=UQOA#10XIJD8?]BR$"WM=E.K*I]/:R4I>KRPX+: M&6H70/MKI>QAXC[0-TL"'118=N;:.6<]F9F@O<*-!=TS#U?(FU/"R\R'M9N.?[RMB%8#EOV1Z_H/G:;A3- M@@&EY T*S:4 A;N%MXIFEZG5=PK?.![TB0PVD@X-(:GLHOZ)]<[!3+ ]-X)>N_>&FJA3?QH,0=ZVIS+P^_ MXS&>S.(5LM;N#X=>-TX\*#IM9',T)@8-%_W(GH[G<&(P"3\PB(\&L>/=.W(L MKYEAR[F2!U!6F]"LX$)UUD2."YN4+T;1+B<[L]S5;@(!(#E8%&]8C>\M=?HCS\[0S+ M=&"9GD/_"9;G<>X^;]>0C>!]/-@H*FMEGH&)$O!'QULJ- .%I&K3!N0.3(6P MDS45+1=[8&8&E!!L'E -2?G/2@R?.B6XZ10ZX!U_LK*&"TCRU)]$TQ-I/7B- M_3B?^M$DLU*2^UD4PC>L>%&3:9[[T3B$//3'80)7LFD[0QXMO)8[MDH]HW6A(IHF?3*)AW*)@Y/[F50=6-F F"H0T MS/PP#(=Q*PVKWY[;:P2)/R&U*")LHCGVPRPB$EK/8%447=/5S&!)S8(N3,&9 M:T>Q/\YR/\VG)"7CR!_'X0?H/@AJSA<0^6$Z\?,T=G*29/1%0+W)Y>H9F=* MMOC>R90%M GRWY(X,,I-DF;N]*S.11*E?D[9H(:K6W0MLWX>_;07UDAE^#^] M%WN;^J,^20>PX:A[%G0#IJF#L'/B*)7U0G)MTPGX1 ^1[B\6%T7=V=T#-Q47 ML$>!BM)C]UA);9(NL6*6_&!&/&P ]H;+FIO5?'P4F/ M;5#MW4NB":\3IF^WP^KP6*WZ'OVJWK]TMTSMN;!Q[<@T'(TS#U3_>O03(UO7 ML1^DH?[OQ(H>7%16@?9W4IJ7B74P/.'+?P%02P,$% @ )H"!6(<3]_NI M P &ULI59MC^(V$/XK MHW15M5)$WB ;*"#![?:*=+=%!^VI'[W)A$27V*GM++OWZSMV0H[3+JAJ/P#V MC.>99SSC&>9'(;^H E'#S4KN+.=6MI7+N6AU57+<2E!M73/YLL9*'!=.X)P$G\I#H8W M6\X;=L =ZC^:K:2=-Z!D98UFS.VP-_EGA49VLPD3P*\<5L M-MG"\0TAK##5!H'1SQ.^PZHR0$3C[Q[3&5P:P_/U"?U7&SO%\L@4OA/5YS+3 MQ<))',@P9VVE/XGC;]C',S%XJ:B4_89C=S:@PVFKM*A[8V)0E[S[9<_]/9P9 M)/X%@[ W""WOSI%E><YI@C=)+>XAU!Q%>@ A"^"BX+A3<\PRS[P$\XC.0"D^D MUN%5Q#M,1Q %+H1^&%W!BX8@(XL7_9\@.XCQVQ#F;J'*,# '3NYZRQ'L27A& MIV!/Y(-#2567D[U&LL]Q!*O.;\<)GZE_*80C4W 3!FX0!C:NFV#LCJ<3H+YF MO;T@DPK05#!0_6']2#S[&@RM!2UH2W?;H&TE%45Y=^Z9F%RY5.,D%Q5U08IT M]LI'](972A*U*_+6L@JVDCJQU"^6R[:_S1N(W& :N]$T[M9^XOIQ!!]0J1FL MTK2MV^X6O[N4T)WZ8]A&2616X<0-;@-BD_WG M:/??TI9$OIL0Q<3WW4D\@;W0%-U9/:XLV(F'R5CDAN/8KGWBZE8.U=8%6%+QJIZ @I^D:&UBJ7(YY9E*CPB*5M%5ZN+G&?Q%PJY[P_&\4:3)-60J]N9:%6E]THL[N MPY=\N;+\H7]Y7HNEO)?VK_I.8]9O4;*\E)7)545:+BXZ5]'L>LCR3N#O7*[- MP9C8D[E2WWCR/KOHA$Q(%C*UC"#P]RAO9%$P$&A\WV)V6I.L>#C>H;]SOL.7 MN3#R1A5?\\RN+CJ3#F5R(9K"?E'K/^76GX3Q4E48]TMK+QL-.I0VQJIRJPP& M95[Y?_%C&X<#A4GX@D*\58@=;V_(L7PKK+@\UVI-FJ6!Q@/GJM,&N;SB3;FW M&JLY].SEA]NK^]O[\[X%%G_IIUN]:Z\7OZ 7Q?11579EZ+;*9/84H \2+9-X MQ^0Z?A7QK4Q[-(@"BL-X\ K>H/5LX/ &_]LSKS<\K<=5,#.U2.5%!VENI'Z4 MGT.G*33+YB,*OG1G' M'USH'3A)G:?? OJ(3E! L$TS(/^9(6>]U536B@!H6U(+.HN$@&([" LD M32H*X7I'6@BXZ$.05ZEFFL99=YJ#-^3BJA[!CD?0)_:J4#HC*RL!H;QDRYZ# M*- ,04XZH\,PX;"[>(DLR]DD2+4 W-<(SF6Y04

!CR8;W>!Q' ;S,&_KH]A)R4V#OHK=-F6&WY";@H[!219Z)C7>C MW3KG;R:L<]6GIZOQ:-JC*QJ_<5ZI!D*:A=AX)I&UZ'6PWYB\6I)JM \[@R$R M* M7<%IQD(1&[=7++*U1.X(F='GIW;,;)\NN]Y\]"6F*]BVYDB;M'-8+;I';XFV>Y/COP:'94I\_-#1TU''O3 MR=%:@H,I#,(D.EH9824)HN0XJ<843<)@&!ZC3;"2!!.<7@^\BV)A>6T0C('O MZYR/@+(IG[?P:<3M)((#!LZ]=S$? ^W7]BEUY5\0>W'_ M#L-YO^0;7B$74 U[XZ3C^_AN8E7MWA-S9?$Z<<,5KEU2LP#6^=JXF["!]H%Y M^1]02P,$% @ )H"!6(AL4P_T @ ]08 !D !X;"]W;W)K&ULK55M;]HP$/XKIZR:-JDE(4!?&"!1H%JEOJ#"6FG?W.1" MK"9V9CM-VU^_LP,9U5I4:?L N;/OGGL>L)\,*JD>=(IHX"G/A!YZJ3%%W_=U ME&+.=$L6*&@GD2IGAE*U\G6AD,6N*<_\, @._9QQX8T&;FVN1@-9FHP+G"O0 M99XS]7R*F:R&7MO;+-SP56KL@C\:%&R%"S0_BKFBS&]08IZCT%P*4)@,O7&[ M?]JU]:[@EF.EMV*P2NZE?+#)>3ST DL(,XR,16#T>,0)9ID%(AJ_UIA>,](V M;L<;]#.GG;3<,XT3F=WQV*1#[]B#&!-69N9&5M]QK:=G\2*9:?<-55W;.?$@ M*K61^;J9&.1YIC1N^@]L.X5(*DVJ8B1CCUP ^D6R8AANFI^%.Q"E&+>BT M]R$,PLX.O$ZCO./P.O]=>8W;?1O7WJ*^+EB$0X^NB4;UB-[H\Z?V8?!M!^MN MP[J["_T?6._&O;I>SN"X!1_#AW-[GR*I8B8BI"-K4A@O)G!RW#L( Z@0(E9P MPS+^@C%$J S9 VB9F(HII%OS2&Y0T-TV$$EM-#"M9<29H6H'5A8Q,URL0):* M2@3%I4TM;9 )%$K&960H3%#1AB;F6Q-W3"(PS;7M!),B)#(C7[+0S/2!SACF M]ZB:<_;72OAJSF(S9[HU9^+F[$$[[.T?!=VMZ *U[L,XBLJ\S)S8<2Z5X2_, M.=273=W7[?"#\PY D(7OT=-^7N'B$UFXMEJ5T_R,3&E >R_?4,Q$7 NM&*D( M7+[7#O:[1[U]LF%=H#/2[+GUUG'VMZPH1[5RAFM_]5*8VI6:U<;3Q[65_2FO M7PB73*VXT)!A0JU!ZZCG@:I-MDZ,+)RQW4M#-NG"E-Y+J&P![2=2FDUB!S1O MNM%O4$L#!!0 ( ": @5A!6NO2?@, /0' 9 >&PO=V]R:W-H965T M@9,>[S7IG.GV1> $.S@%)8-)H\\7FB Y>RT+9:9 [5UU& MD4US+(4-=86*=M;:E,+1U&PB6QD4F7ND H? M#=BZ+(7976&AFVG0#_8+3W*3.UZ(9I-*;/ 9W4OU:&@6'5 R6:*R4BLPN)X& M\_[EU9#MO<$GB8T]&@,K66G]A2>WV32(F1 6F#I&$/3;X@*+@H&(QE\=9G ( MR8['XSWZKUX[:5D)BPM=?):9RZ?!10 9KD5=N"?=_(Z=GA'CI;JP_@M-:SL8 M!)#6UNFR3ARN(B_XY!T#HGGW0;R+*^%$[.)T0T8MB8T'GBI MWIO(2<6'\NP,[4KR<[/%GP\OU[!XN'M\6=[>_P;/-T^?;AAI6#1;#&8__]0?Q[^ M0O]/?$\CWC\L;^!C"#]"AEL%=V+'B8^A04#ET& &4CD- M)"UQFDNJQJ)]4& M6+A,D5:4,_3>Z"Z[G.RVJ#)M0ECF1WN5T5N9H06J+""4JD4!E=C1@W>6 H C M8U'J6CG0:_@PB'O#^",99I +2Z#$I.2=$>Q0&-NB=SAO0?: PE!H44DG"ODW M*? 0=%:5D!G@*]4XBQZ<0AKG3?06#<=IL-CB6;5%L*RKS'X][%Z)P%$2G5U2*?%Q;XXPSF,LW;6"M$]94&POQ& M@?42-"$3DO.&=?<[)W$D&55T)/S>>BV0YBW;%JJ^W/E&\: _J+0)::R].^,^-31(*&+ M3N(^D/YXW*[Z<7+>(V&V0M]'BEWXWLN.CBIQB6;C^XTEUG2-VZ)\6#VTM'E; MR=_,VWYX)PPERT*!:W*-P_-1 *;M,>W$ZVC(8-:'^MM=M/ M.,"AT<_^ 5!+ P04 " F@(%8$5S-7K$% ![#0 &0 'AL+W=OP/5TKIZ;:NM#L> ME=XWAY.)RTM9"SCT^GAV2ZO#PN^*[ER@V=B)7-C?O#@4W$\2IF0K&3N&4'@YT9^ MD%7%0*#QL\,<;4SRQN%SC_YKT XM<^'D!U/]H0I?'H_V1U3(A6@K_\VL?I.= MGCW&RTWEPG]:Q;73=R/*6^=-W6T&@UKI^"MN.S\,-NRGSVS(N@U9X!T-!98? MA1/YV?71 MQ .5WTWR#N$L(F3/($PS^F*T+QV=ZT(6]P$FH+/AE/6P)MM-,X"WNQ_:(P(NT\C<&4M7T[?I^Q?X[6[X M[;Z$_J_XO8CP-+^O%]?G-$W']!"?+C1=Y-[,I26A"_IJ;F3- _9W0BM)4GMI M94%*>T."KF3>6N65='39VKQ$%=#ITDJ)ZO2T[4M)KU_M9UGZ_NKR-#Q-W^\@ MD7U)N;0>K0'5EP-0^0!Z(Y'7UM$VLC>4YXVLU@D-<#[U:S9H36M=*V .C%:E MRDOF*9A$P5.H\RJ(4 #(:$G&4FVLI+PR3NFEH[9AHP)FEB"U#&:LTKEJ!(C5IH4ULZ"MO21- M4_[CT0<#@M:K>241!0__#DF$F=[PF$X=;T%QQ&#U!1("%E07P0'.5,5]'FPV M2][>F8VF0+>/SIV?AFYF*@CH&*__(5\ZFT7/XPD4R@=:&VMJ+#5V3?IEV8S0 M]#GW4%66I/M1E"L%\I[G-XC;Z7-E0L!R:,[IN-LCQI("!LY MJ/(6-O12$@ZZ@96E-#CT'X!?M*:! JV)!ZQLI@M:T3:L1:S*LH\V>+?*RY85=K3#@OJHH3W TML(1AO$(?N/.Q:2U2-_CY MBOV/Z06(!#]-! MBC"M'2V0N9OH]:&+(>0KBX[=@>:JN*=ZJ(9;28F[ \=:1[,KD%K3=I;N M1*/<24,#PX_E-[/XAD&4*6+::XW;D=0*%! +XUFCPB5ACF- M2]25:^=_HO\/6Q&'/&21XS!WR2UO<0F%42LKX6/#OXLH%RR/UB@+AZ,+EY#' M73)PP4-&*^C;VMM-]@^R,+F5)L!U37\.H=&BLWOUE^AS&=Z0EO7 *2A8=FUN MG$=

>PRY17=GRQ:]H<\(+&/- M_5V'B^[:GDVS9':P3SM8=HILJ]L83C%T>.?.-X]-):3QE<+VLH/]))WN!7M/ M7< F@PMQ+>TR7/M9/4[A>#?>S&Z^+$[CA?IN>?PL^2+L$FV2*KG UG3\;F]$ M-E[UX\";)EROY\;CLAX>2WP=2+(Q9'@Z'=;80 M):]]M1054&9*E]Q 5\^']5(+GA-360RC($B')9?5X.2(QB[UR9%J3"$K<:E9 MW90EU_=GHE"KXT$X: >NY'QA<&!XL).2RU)4M505TV)V M/#@-#\]&.)\F_"K%JNZU&5IRH]1'[+S)CP+X\%DP'(QXTUAKM3JM7#V)"@O4T5- MOVQEYT;1@&5-;53IF$E;VR>^<'WH,D^ )AL@Q1*2W78BT?,D-/SG2:L4T MS@9IV"!3B1N4DQ4&Y=IHH$K@,R?7KT^OSE]?_/SR_.J:G?_S_9MWOQT-#0A& M\C!S0LZLD.@)(6'$?E&56=3LO,I%OBY@"!IU:D6M6F?13HDO1>:S./18%$3Q M#GEQ9V9,\N*GS%QP+1:JR(6N?V3GOS?2W!]N,]2*&6T7@QER6"]Y)HX'D *U MT+=B$YD:H?/#P!Q]QX@TRP@K]FLT3!1 M4T9!8MW<,P7RZIZ+/3;3JF0&TI<914^/Y;0.PS5D73>\R@0NSZM[QAN0K.6_ M1,YN8(&FP@G041K:SM&Y7:%&'G#^3&B-8T9E'YFL&,R10.15SKA=A%:'R>UB MH($P0D,2":)K3%A0U0H3,,.R%[*4AJ-IM);@V<))]]D[X',V(JUN@+:I#/B* MW0@F*B-- :/@ #!<0/%AO+<86_)[J&X&E4=UQ"UVG$,*"1#-20ET7%VKHB%G M@T=6LLIE-7_6+-'U30V+07$6Q-?)K$&-W#I_764,5:;*$F21NCY[9<-9@@R/ M9EMD9*HI>&0B(H'=*@-JD,L4X<$Z%$1 "PWSV]A65% A&>S-OB.;ZE6 MP ,:?5+!%ZH",4;>%()=VS"?LLM.I6M2"2'=@]'G\'AL+_"#$)RFV2TO&C _ M@Z#+VI BH1<$ ?XYX/GLU# H3**\ <7;XD3V0R,BWT$85OB3QMXX:1F90S-Y MJC&UX11 BZ;/,@["F?7F.8!K;@C@"@!-*V&G[SH&N%BG?LYJ6QU^]A4.?\0# M#@^M0R&_8- Y?>PGW\->5S8%QRT:\'XK$RWH4(AO==A"RL7?&M67L6.8"> M7>M-Q?[!JP8.4,[4E6@-2\(^Z#:Q0,ZFXLB72ZWN)!QI,#/W$NM94*@D?W9: MV#JP;#363X,3<%30YLF6!:_8?BT$>ZL AF%TX&_H%O=U2_N99!W;,^IIW<)O MI9L#[=+6]0TO]A0%3D634";(SQ9PYF/A./*2X$G?NN5?+*28L?,[D34$Y(O9 M3&:X41H4*^Z$SF2-U53:K6\O].'HM!1N\UPS!QG*9:%L/>=S+02V;-%P&JYX MW7/=7CB>>-$D)("#UK#; "*-AFVZX07#K8_*6L#N!=>00Q\$ ST+2E^J^P7/ M/CZ[S@"U8&.IKH]K2\W?^?,I[V"F2!7]#ZK\"4FN;M'*[X_K.E^S:N6&JX[K;W1Q MY,5IN]'1O>K/P%"[?!]#G;%?!)AX^M6 B?UD^HT!LQ; #/PV;<'3AQXTRCQ\,K-Y\ R1U?]!U!$9]7.#?\_ M4$+)1AGPKJU6^#X5WS242U'5]+:#KJS(3;HP@>\3=][T;&6#^W8T26EX+TUB M;S**U^]U;+60H#AN.#="5(@ 665%@^+1_]#_251PR"I(R&E>R@INGMHJA;ZJ M:G2H?=6%U]?2O:Y1]F@&EEK['H)H.-X:[>MN $WMC&[]TKN#0KSI3=R3=AYN MH6V.1.QM0WTUZ^XY'^BM--AX"C=3/A>X\]EDNZ3J_.4<%_V;\XV8RZI" _"E M'%R/5%0BGFSJ=+$M L#O*A&%#;+4;F"@ M,'CAJ0!1A0&BC3HDZX;;2-8CWUX)_%Z"RW9#/6.Z^2]ZY:B5>T7JN+C]C*D+ MH/R-DL4-;@1LCV$Q9=;=(S](7=.-XV,20 C(M9$?=6U'H4<" ;,QFOK!I.LX M&CTFZ)0HP2@&8=MV%'Q,4^;B!Q.BMNTH>S;V+1"FJ&;;<31\3&,HQ\1'AKBV MHR#"PI39XTKDPT_2(2_$)48^'#O=NK$?) \Z$&6/C5&HTSSRQ\F#%41I035& MW@V$V0KXP1ZWZD\5 BJ/O8"O'>%6K9!O4Q3VWU>\R25@[. +RD%GR1^N!Y$W MGL)Q+4XH$!$XU8LGH1=$H1V(NIKPD._]"K#O@G# ]@,?F X>ZD$4>%$\10H@ M!"G["=RI1W&*31 =PW-'D0#-QG!8(?B19H]4[;SP9U2*?L9W"_7+QN;@1I3: M@&RI*OW"L;5&?"JJF);IJ,7_U)],^QD-%%<"A)"#$O>AZ^A4 M!";T'B],QVZ2ZS@:E@&L'!-ZBYKZ<=2V'64/!J> 7W^FFNH73&9Y MN)L.Y#\;5\:A[TOP*70<_K.C1\-FLK8C\'=:/&PO M=V]R:W-H965T-0%-%)JS0;#M^D6DB3S*=Q[\[- MI[8-2AJ\<^!;K84[7*.R^UDR2DX;GV55!]Y(Y]-&5'B/X4MSYVB5]BB%U&B\ MM 8,EUOE MXQ?VG>UDF$#>^F#UT9D8:&FZ4?P\UN&1P[OG'+*C0Q9Y=X$BRQL1Q'SJ[!X< M6Q,:3V*JT9O(2<.7E@O-P_W<+6Y@<7MYF&U^;C<+%;+ M^VD:* 0;IOD1[KJ#RYZ!&V6PMB;4'I:FP.)/@)2X]02S$\'K["SB#>8#&(\N M(!MFXS-XXS[A<<0;/Y>PU5H&>E;!@S %+(BN-!6:7**'EQL;$$;9JZ=2[X G M3P-S]USZ1N0X2Z@]/+H=)O,7_XW>#-^?H3WI:4_.H?_[/9V'V]P^+"G- 9S% MA4]8"?57B;XAO;\#;#&W&D% (UPX0+"@9)"5B+TF#80:P7#?*,AMZSR"+6'; M>B+B_0!6G85MI&$'.M/"D KPQ5SPD2-LQQ"@(@EJP(#.$_3.JAW1@=:3G0C4 M]JTJH!8[9D-FZ"39BV*''!7+D@0 VH:CM Y*:00E$FF90C+="U(73UWLF0;) MG8M)T,I!+GP-)2E71UD4)X_260V!Y(DSY_$"]EUA(A':+*5"R)60FAY:1?+H M0ZP5US#REJ9T7%8X,I,FD#@1V9;(-8Z)A,, [IPM6LK@DQ1;234^P%4D2HV! M>HNN;X[XG&F2G>JWQZZ ?Y&@NI&8>:?I(6C2Z*@JHYRLUH5.9 M?K?7Z*M.FGZ;=P*_%JXB G2?);D.!V]?)^ ZT>P6P391J+8VD.S%:4W_&71L M0.>EI>8\+CA _^>:_P)02P,$% @ )H"!6,Y+8I]2! 6@H !D !X M;"]W;W)K&ULK59M;]LV$/XK!S4H-L"U9-E.L\0V MX#CIEJ%)C=C;L(^,=+:(B*1*4G;\[W1"G-."JLK<[CV&0%"F:ZJD)))RNE!;.TU.O85!I9[I5$&:=);7_# MO3]#AY>ITOA?V ;9=!A!5ANKQ%Z9& @NPS][VL>AI7"6O*&0[A52SSL8\BRO MF&63D59;T$Z:T-R'=]5K$SDN75(65M,I)ST[F7VY6]Y/9\L%3.^N8/KK_?7U M[?7=(59 M%_J]#J1)VC^"UV]\[7N\_O_@:T :O([D.N7<5"S#<42M8%!O,)J\?]<[32Z. M\!PT/ ?'T/\5SZ-(K_.\^[*\AEZ_"V_9@2NNJ6F4AID2U/V&^0:ZD? [DS6U MKD](![8(7&9T%1C,P18(3-)Q"2M$L,KO2"4_H*A*M:,]@>(!M0&U E5KN%1, MYT[P9'#629*DX[X?$"K&@IUSBUD2@AN+=G,"L9U15:5)+5"F6]8;IEINT!4AH/.J:/"2J-^E$\7[MIN M-M'+VM'S@&2KK',T[6AQ8VHF,SR$A6(N2'YA5?;8!;IZO/ .F09TC074%CZ0 MA]9(0R8(A@X965JO-:Z9]8C#7N?C, %3,,J_VVC#$S*SI*P1-JSTZA9856GU MQ.G"0W+0!81RXT+Q6OI^B&#_&,'3Q./_!X*]XP1OJ697=/G7FLLU3,DTTJ-B M?3G7$AW!Q/&C/;+C,DU0C.[8MAIKU'SIS4LFT4%(M0GIG6N5UYFEVIS;'7RV M.?ST_MU9FB87\QO_T;OXN0M+E_8&*E?DL506R)\-SQ'HC:7X[-P]ST4MH*HU MU2^5;*AGIV1(@#B:( M$6832)U"? _/2BB^\O86#VI9IS20196MZMXUGX.B[ M]XQJES!FI:ISW_^U=0%8T-W!J4AG=,5K"HL+WRW;O1$]^3)@##94&V0[V,\\ M>M:@FSUZMD*HM>*TO 0 MH>ES"37!7M64:WS&K:F60VDW/*A$@3D6)R4'MM?!*!\/0WN\W@- WSPK-X MF+INF5Y3!4")*U)-NA]I3M%AD@D+JRH_/3PH2[.(_RQH^$/M!.A\I90]+)R! M9IR<_ -02P,$% @ )H"!6*\%J4$! P K08 !D !X;"]W;W)K&ULM55MC^(V$/XKH_14W4GIYIV$+2#Q5AW2'8N ;?O5 M) -8Y\34-L?NO^_88=.]=@^I4OLE'H]GGGEFXCP97*3ZHH^(!IYJT>BA=S3F M=!\$NCQBS?2=/&%#)WNI:F9HJPZ!/BEDE4NJ11"'82^H&6^\T<#Y5FHTD&(,K!?I#$#KA!\WA:*=H%'4K%:VPTEPTH MW ^]<70_26V\"_B5XT6_LL%VLI/RB]TLJJ$76D(HL#06@='R%:S>*44VCWA MTL:FN0?E61M97Y.)0.-?2D;H^B44YX9C:?3]>-\!O/?5_/E9KZ!\7(&#]N/\S5,']?K M^7(+GQ;CR>+38KN8;P:!H9HV,RBO^),6/_X.?A3#9]F8HX9Y4V'U+4! 9#O& M\0OC27P3<8;E'221#W$8)S?PDFX"B<-+_K<)M/CIV_CVJ[K7)U;BT*//1J/Z MBM[HQQ^B7OCS#?9IQSZ]A?X?L+^)_S;[Y<-V#E%Z!_^N.HS+4IVQ GPB3=&H M@3452'-$15==*6P,",YV7'##Z;24].UK0PER#Q0%>RE(1'AS &;N@2X"UCO* M?;D,__#$,)5US;55$ WOR!7Z19*3E::Q7X09K-BS(E!'1*%@ME@IM=$4&_EA MV(0G600? MNL8O3"G6F&=XOY0&(K@A-*^ M@G-C6C7IO)T6CUL)^BN\%?+/3!TX\16XI]3P+L\\4*TXMALC3TZ0=M*0O#GS M2/\35#: SO>2AG/=V +='VKT)U!+ P04 " F@(%8:--ANSP# !8!P M&0 'AL+W=ONA5IMV*/BDW'0F7)D^2Z_?M1LN.F71<,V(NM"WEX2(E'LT;I M.U,@6G@HA33SH+"V.@U#DQ98,C-4%4K:R94NF:6IWH:FTL@R[U2*,(FB:5@R M+H/%S*]=Z<5,U59PB5<:3%V63#^N4*AF'L3!;F'-MX5U"^%B5K$M7J/]7EUI MFH4]2L9+E(8K"1KS>;",3U=C9^\-?G!LS-X87"8;I>[._T+2V\7$ :6VL*CMG8E!RV?[90U>'/8>3Z"\.2>>0>-YM(,_R MG%FVF&G5@';6A.8&/E7O3>2X=(=R;37M;G[/0 M$JK;"],.8=4B)']!B!.X5-(6!BYDAMES@)#H])R2':=5;S1?^38(HQ?1W"=<6HJEN(\H*MO4-]CL'CW)IY&'P_P&_?\QH?0 M_XG?0837^7W]=G,!\60(+_'A6ZWI#LDZIYZH-6H#S%!7(M@"H6%:,VD?@6VI MIXV%2JNL3JV[Z]1*!G*M2LB815 Y&"9P $W!TP(:!'RP*#.P"A3%:.^OPZ\K MZD!GZWQX"T[$R 3!2V[14V%./6IRZV(KS;=<,@%5K=."6IKB\/0E-3+SGI6@NI(,42&8 M;@FCL;QT!>A#I\I099P\4!0)!:?$"9-B/)D(QDLJ4(6:HTRQ)9\K0;K(Y18L MVP@7G(Y/$E;OUYUGJU_<G)((JBI\&55O?<*ZZK?V_N:$LJ5#(=?(AC2,:#>'(")-E6M+6AVCW/U,#1 M=.R-W\-19__>2<1!.J/H.9W7NBO<4SNZ7%NOZ88@:FE;X>M7^V=CV:KEDWG[ MYEPR314R(# GUVAX/ E MSK>3JRJO'9NE*6;[(<%/7VHG0'MYTK9W<0%Z!_3 MQ6]02P,$% @ )H"!6.Q/\)0D"@ Z!D !D !X;"]W;W)K&ULK5EI<]LX$OTK*$TR95=1,@_)DIW$58Z3V?56KHIS['Z$ M2,A"A20T(&A%\^OW=0.D:,?VI++[(1$/]-W]NIM^OC7V6[-6RHGO55DW+T9K MYS:G1T=-OE:5;"9FHVJ\61E;28=;>WW4;*R2!1-5Y5$:Q\='E=3UZ.PY/_M@ MSYZ;UI6Z5A^L:-JJDG;W4I5F^V*4C+H''_7UVM&#H[/G&WFMKI3[O/E@<7?4 MI&FUI8M7HQ.D].7T[I/!_XHM6V&5P+LF1IS#>ZN2Q>C&)22)4J=\1! MXN=&7:BR)$90X\_ <]2+),+A=R9$;_T2W M::_;]#'N?ZO;X]3OWG]Z+9+CB1BR$9_62ER8:B/KW>^_+=)D_JP1NLY-I823 MWX7ZCFINE#A8JEJMM#L4N4&!-4X5PJQ.!3)=.+#XCY+6QU0@(JI:*LM1N75# M(:+_4G'16JMJ!WI5*"M+\42,^=^5DT[A=TR<42$U7X_!9Z5 4NPIQH^<'HM/ MQ@VXWF=D#0 +AAZ4IFD.Q5(!L]30^O^+K9]K31Q8UP;J'&31-$ZCV4DJ#NDV MC1:+.(J/8]P.S>A,>.S\^];>%ZU"K^ N"%U94['.LC)M[1I85&U:4F>Y$W*S M*7>ZON8#M[5L\-,Z8W<@L!MCRUWMGI"DY M(YE'?)BNQ">PN&BAC:P+\2^S;,1Y[L0!A2:-G]%;W/-=\NQ0;&4C5 TTAGJZ M=D:4<@M$^T82&SA+KW0N:R?RM:ROH3M.D*3+VBE;PX,?U8VJ6TJ 0DW$13@% M:\JV4)%8MDY(A+TV3I2Z8B\X$PDI5B'3]B[H;2]43L8J[^!L]I2DILE3[Q2< MVB%'&F34M:YK4E2NH,W=#.F7(U(4-)>WH&#<"1+[TX28VK M+(#[7J-FAQ2M2 ,I0&4U J=!%9Z3DZ4PM1H[7=T21L3T Q4JG)(<\$*I"BZP M:B,=V'1:K4)FPBXRJ)F(KXK]9M6?K;;L-%SG!@'Y2S%/A21$7$',1D(812[O M \"/-\IJ0_7E8XSV[2)T_'PM$':KQA7. M12.*EN60QFN $V*=0Q)!F-B8$%GBQK79P@(AGWI; M*:1U#O/[3, ) =OF2\IAMK;C0/9E0A>R@!IPY'?,FH'W&5 MH90$,)P2',@FH$[SRZA\&:#_S0/0_SCN?K[Z*8A,%^*I_^_R1Y#NH1BN_$E^ M!R>S-)JGQ]#@8!$?1U. Z2$ +H0("0[XJN 4CW)48P\$_[Y<3Z,D3:)DOA"S M61;%\4Q\Z*.&,&Y0J):CY!52KK6U. #%8@'73*%)=AS%&?L6>4M%@?3,OR%Y M?>92#+?2 H @;3J#);%(%A U/Q;_P#X@/F\,=8ZE$Z^_.YC3ZF9-)2#>HEX] M_6L"1H?#_#R+LND%;D67LK"^^")F"8+Q"&FJWG,5Y2SOE%^#G/<]N"^1>9^ZAS)&.1>49?O??WU/YQ5N^]'E_WN?]P3R:A=/6=(F3 M+'K)&$##)0H,M(@'IS8:Z8;3^B#)LOYPW--U&N&R4^J0/7*?^L3QS<"37;J_ M>CBY?VBBEB8=U!OV2.Y8%%,"#S]>PJ4TXKBM4KZ_K70-/_/HT34OFB.,9=]P M3X(P8L.E]I!4FE<@V7=^2&S[UMV-@1T@!F*YY7$BS!O;=5!GJ"8Q) CPY#2I MW"C;*-_C@B36%WH]4OZ:QHFBS541";U"^P3O1MI=Q//TO6!+)4TS 9ONL:>) MH*2F$<=B *73HJ+V4^IOJL1)@#?/%?"4QEFZ'.J^5&%^4<4SLEOFZ!@%"]MJ MMQ;G5Q?C^306@,^B5V'8=YLG)B5>L\$-C-U@\-%=$U-8J M:37\'@:K!V=,"&I#7OAQSB^QH262==A#.&YW#>HFX?JQW+I;!U0A85IFB7W. MS&CP^]T-#-W!S"?@"FO#4-%!ATV+D:/93^:UMD+-BC:XD;Z0N M);6';NRK?X!C^,#:'=("C;YH^J7NW?LW_4(G[T^^_8A'EF\P,7[7-$@C,D_2 M.)J?>,2C4T\ H-.Y#[15#242I@TJ'1/J$Y,OQI.]HK1!D>+>YO_9?C_JPJ@[ MYOZ":3 E"4W:FY9%BVSV$Z9Y'>X:=KEBM EU&-S.'SRN 3Z65PL_R='&&B>+ M?OEMG>:4Y9UT!RC!ZH BU33C.-0DB%IL'YR";FU->[T&@VP^>4"*7WEYX6 EJ(HJT.3A]AW9K_3!]%'8O! MGDG 8;;0JUGK#2^N'N-$6W>G.0G"]M0\ *J"0#6L<@S-OD3=UHRQ:&]HQZ%V M0 W(*F#107+(>-=U4'K!GL#=V#= +ZGS QL]B@C#:&WJ?W.H,HJ7=H"T=%XX M8KK2=VP.C^-5M93=="!;V [X_[OX&\A9J%4CCR7PV\M-G=^/,AK_E+XUSIN++M9+ 1#J ]RMC7'=# OH_[IS]%U!+ M P04 " F@(%8^H_84\4" "_!@ &0 'AL+W=O%1;R+I%ZP^]V,['")P!)AGE"4MLVF!4$N)$LK9Y5! M&M/R35ZKF"D&F^57$SU1UE* MKG9CY2?[_GJYFDU&"_!G4W\T72T&J_%LVK6E8FL+.Z@XPY+C?<)Q/9@P*B,! M(QIB^!Y@JZ3JS+QC9D/O(O$)@P8TW5OP'*]Y@=>LE38-K_F9TM^S]9.2.9FO M5^/I3UB.%L]C?Z2%*]7^ZISFDM@Z3]3U\B R$F#/4@4AD._1ZM]5&(+K7 /CD#*.P+8@ MWX+=7'4\M_THSH$;,!#:7-T!3#?(ZWMP"[)@)ZE5OBJ0ZD_@M:^U%\LY[#@3 MWT)[M\ HUN@/9+?U%;+J$T;A 0D'U'5P3D&!YIR]]R?\[M0\QX3CN$>:?PWL MU6#Z=D#_@3]\CF. <]?5/FDJ"K4SK5. D5WVEWJU[LZ#LBF]F9>M?4+X+J8" M$MPJ5Z?1OK. E^VRG$B6F1:U85+E;8:1^L,@UP9J?\N8/$YT@/J?U?\'4$L# M!!0 ( ": @5@/K11T0R< &F! 9 >&PO=V]R:W-H965T%#BN;77[WZ08JBG

[@X+[#@265U=75WO*KW5)OE89?#//BU54P3^+Q;-R7:@HH9=6Z;/Q<'CQ;!7I[,FK ME_397?'J95Y7J<[471&4]6H5%;O7*LVWOSP9/3$??-*+984?/'OU#!$CE:JX0A 1_&>CIBI-$1+@\8< ?6+7Q!?]OPWT=[1YV,PL*M4T3[_J MI%K^\N3R29"H>52GU:=\^T\E&R($XSPMZ?^#+3][?OXDB.NRRE?R,F"PTAG_ M-_HNA/!>N!P>>&$L+XP);UZ(L'P35=&KET6^#0I\&J#A'[15>AN0TQF>RGU5 MP+<:WJM>W7_Y\.'ZT[^#VW?!_W4RO/WX.KJ?3VR\?/]]\_#6XNWU_ M,[UY>Q\6ICK4JCU\^JV!I!/ LEF5>\S+C \N,QL&'/*N69? V2U32!/ , M<+:(CPWBK\>]$-^H^"0X'87!>#@^[8%W:@EQ2O!._S(ANG;/L,^Z8>/-NBK7 M4:Q^>0)7IU3%1CUY]8^_C2Z&+WHP/[.8G_5!?W57Z"S6ZU2503X/IGE6PCDE M$3)]%ZK]P#XO%=R4.%^MHVRGLT406W@J">8ZBV"M* W*"CZ VUF5 :R>UHD* M*GFUQ@\!D\^W'VZ"*$L"#?_>+O,TW07Y-@,P93TK=:)!"H3\U-MLHXL\0W@ M^SY/:\2^#(.;+#X)@RCXJ#91$@$RQ3HO:&LGP76:PMJ5*@1;MS@N6A515D9T M],WE^Y)^[4L!WS@=L55#4^; M@;H%DV2)'B* U-=SE+3RRB=(:'@GR MNG#/AR)"\-EJF1.WI80UT,E>:N! I3?1+%7X_ 8VD*/\F$>Z"! LBS^W3YV5 M55'31O&%*LH6&EY&*BO\J"[5O$Z#%&X)O;GW")%G72"[PD'B/_ $UPAQ;UG0 MT_&W 9H'<#+;J$AX4_D*[F;T';>([\.)5+!)O&BICF8Z!7ZG[U9 JB ',A9 MO*^*[(PFC?!>+34L4\ %A,OV';#2*HL5 88O-U&!=XZA=+!2@?(BU6K#9)TA MD:,RSYB@R 7>%=TN=;P,6$ L%1\@_A.Y%D_I]SI9" O-P-3CFQ$5!3&0HPKN MP*.EM^>^.SZQ=WS2>T/?X1'\"Q<+/L!6ZH*YNNNJ]P,BG5<#YQ6Z8JFYJ.': M('%QS^ZH@Y6W#MI^ *CTOX]*(H7Z'B^!EU" Z%CQ 6SI A'9D8_Q2@)LN"5$ M()2$ZTC3T9#FPFL668KM@B-X4GW7%8,\-A=^S;H?. ( X >KO(3#3C81)_>H=\#=Q ECE*?Z]MPM9R++LD<:M)@JLV=2XUJ*HB7NX" MOMJRYQ1N42I"8UVC,+%W!K^>ZP(.H=KFM 44PQI(BZ_/T/8C1(WH!:5:!77F MO@EY\ZMHA\Q2EWQ=A;J$LB$O0HF!?Y5O8Y57P'M$+1E?!?]4Y2E%B&2(V M^T!"9;[1&NE*,D5NJL<:>%$%VO@*;#'A-#V8@,Z+*S3] M"CQ)^5<(-B B7P9_-'!$C$JPT-*HZ,;G1>L%G=G=6"Q @\E.7^#;C#"?5!>J M^ P8ED4^0],20,]V_K?"DL#;$:,'QBMHBHKU'Y&^!DL4-.+*& F]E#R]"KYX MY[V'6%FO1<4#'O!JQ1B2J468T-:TJ"3WFEYD9)W!/12CCGFX'Z?/ON0V1@:\ M$D?EDG46_H&*#Z"Q+NW4R/;#=;2S# X?%C5L!+555N+E6H,^_4X:+?'OV4S% M45U:7$L0Q7@%JKK ??*GI?)5>I\"N;0*Y++?O#9[I#_>NCUVJ9!>4-T>WO00 M#8W+5/(WJ-KAL3!8*E 1<)Y-(T97[ VQIB=F3C4 2\@,*BO61F1H@@9;P+NI MH9UF/5PM"X6J@1QPY !5HH4'C*)7:'\P=4'*H@5>&MFC4>/ '1-!A_('=3B8 MM?PR>.!J-0-LC!=."+8_'1-X8-"MHJNY1XR3H.SW-VM47(:,S@& NEJL 7F!8W!P1O4@\@EB2?0 _ ZZ#ZC%02Z M'SQ!A9P"'CW9K^2>1O!:JF.ZOTQ.E#%$B 80JUK17 057%FKU\HNDDOXKT.( M$*^">4Q2;/^T""E#!3HP=%'5EBW4CM,%LB8*13JP"!!8L5'MT24 @]CNV6T! M'X%#W:&]C.BB=D]JU0Q-\!V>@QS/B]*I>]2.,>Z:/F&+/$KUG];_1. ,Q[NB M25[/JA,39 !,4CXV.1X59!HX'-P6QB MWB4Y90,IWY<@LHTG2E:#Q\0;OZC+OJD+_T MS.@%\BC>LJD?C7C-7!K<8]RZ5P&,ABZ0/>Q5 3<2$]#=T9['OTW[);N$E#%9 MZ3EH+[X*)3E/&=AA0D:\46S%U"5',,0#&.@LE+_01SYZ=_/N]AAN%8CPY"3P M%Z3[49)O!S:>3G<2R=#E$G!PIUQ$6QM[X4"!N3V(EX251(*CLG%A2(KXE95C M&C@+.DG@-@S])01-A**-KHA$:\5QS&TFEA0A9JQY$II:0K0L[&:P%'A7&*N0 M1<#83IK"%.^6$?J)D>D@=MG=PD68 +$NXGJ%YC?;_K[ 9'^S1L]!>[1%28D. M 3E3K M0I9M[BRLSBI7R-D[7^?DY7E[<%I#MD5*CSRX=>4F9T0,A?2_J]-9$ MG3K9NA_05RMJ6(]W1K.0RXD[T"[$Y^M5S?$W, GAN+1$@K\J"BW7E6I\X?$] MF.<1IL$&B(>P>H!J@,,B]H3;L3?GH(3!0F7@=+-OA68KL.X@54W)@(:D'6"7#>G_3DXPC1V+?33T#_"!D?G4Q!IO&D MO[*X_PI!@H8ECTD5O=PW=MPW[F4:VFNW$.U_\:NG)T )%42!?#Y U^Y(=,:G MVR^B&8XE%D6A05S2"TE1; QL$*$(:354GT0+H+=B-34:BU<3LC;F=05I8BGU77'@U.+ 6%+Z@TU>E#0FO)EG Q:. M@7DR&IRJN."J.^26T(DE!D8 M6[)@Q?J)HW5%[J\$+.!BHAUAHWC0WBF]CVH9$>\B73*WBP&C9G\ M;";J?;0?0,=S_-(R#ZCN0HEG@*:HS5LD6G&,"KF\Y R;W 9WBO^%V@8L MT4Q"E7N7D9B=\,.OC%TB%@]>+,Q:X(F&''T<2.P.I3Q_3&PV\PZX=;T[\1 ? M*^"RF75=K'-BI@:3(D:8DR'R6M:0P \QDNP8[&YE0CB,C$OK 386!C]N##XR MCISQ]JM1FF'[A>XK J;00DE.:K5"5H ;P<:CHFMOKH9]W2!G=W 8-Q/59]<" M_F5#XSO"PJ+=IZUY@NZ9'. J461+N$M]M>!\610A77<4;>3KR^EH MS%5R=(F78[EG:2LKT77.DSJFV^4D"%X,,=TP?4L,@5Z'B51QJ-E%HEINOQA1 M5DOY*UO"^01E)/>XDK+O[.B@EXR12A_R7XDV/!V*6S\,SR;G[R;6](+JY]KK;A0DI204^3X(^G%@P)C/9B*V"9EB'1PF,' R%B=[)3BVFJ55622!FT2BR'A. M[/BOHJS&@ )H>SQ=K ML!MLN,Z3G40L61SE")HNGNMCE@9!:ETB)@J5:!RZ=J?AH5 F8F4WV(A9G@XY MR(&2[8*BE6W)=G0/7OC''/8].C_NU=FN.FO47UQUPZ4QG[$TII/)^U]_ R=2 ML#EN2FP.U)D$K#8DDI\X X@KF3@08*H<.'*W5R=\#:;"Y&Q(A:"68YKE.7Z9U4GP M455N\PU\7>H"\_7V%E",]['!/2*U*W3LH7*;(Y!7 JD*0OO8GCX=AXVM-TUG M(C%9@.9Y 2',P*S4>R5=,=6HOP@*"2=$/GJ?E^5Q< <[OU_"0ITWM!_::SCX MF*+D0AHXJ*.4P,+>P',B([8T\41*=B9ZH\EV1F'5^>J,ZRVV5&J/)P<7 /V8 MK*9C0K&,@"5I17X-%>8!Q K]/H+NZ1TALZA']*/>Z+2NW($>P+KA4%<%7;V= M+"6Q/JI[-EG^RG$-*1&7*=.@ CC*<@AW5RDCW],KY%36!;YLRSU,M(0UH2L9 M$+E?FA)$E!HF PQ;%Q860A68E0/D,' JU2%T1-8P3X1";^_N*? HQ3I6-S<> MGA$;X*-82;"N7&H3C@QU-;D].[Z;6.R9_ ZJT\H;X@B*40DYY4SP2/"BY1@' M1F,'I88E:KIC)#&B6JK8U$'82AE6NR2(:%U6JN[R/7PF-N4)R.543MZ]#_C+ M+XYW;!HEB9;T_X$5O)I!)[A\-M9S41"R4\=3!R!BO39!P?TU[2\C;E"GS%-3 M3UPJ0EI0#6YV;*.R.3+A0'\H49U](% M8#@XY%(MY&#.9+?8E\U[$Y!A/>AB6(9SP?+'?Y=TIPW&2])DA^^S+CG41A5@ M3>S\.Q9:UM#S@6 *;W4 Z=D&!:$*J4@DMFQIQ/'%\"1XW:R90H%)]V+^"+_) M\VPEL1#%%9?YN$)LKKAB@_:P#* \/)SJP'#B27#WP$T\E%"3-*@BUV(<#B_9 M-#W 7EQRXU'1"2Z %TXF .'YQ8/,219Z0W1ZE\P=Z\5H$IZ?C1\'S@?A2^*+ MTW!R?G!#31A.4+>19,K=X5J:[*E"_Y L@ST/=AN@C0OU$^OCT@'VD!-(G1% Z>!D>GX=EP M')X_'P?'^,]Q>(G2Z6((__QH%HFJ"B1V79D*,E^W8/8+ P+]H+[^%_0\O#P]"\\F%_CGY.P4!->9M6R[O_VA/5ABFA5A%\.3T83W W^=PU]FO:[O M/OOUZACL0#,/4XKH"8'WG>I&SY5LO99&I[TTF>,7*9@R*I#MFM(9^%>-TR\? M.'YCHEX]EA/>.'/0D,;X*@-SHK*9[F-X*YP[[Q3#7XTA/X#_^>+F#5Y^_%"D M"OW=$CWTF3D4RV?7@M5]'U9V]^@13IDA[O_"^??YJZYV>]1?O/U);50&$L#+ M?7?ZJ?U0&A4+A8#L"DG8L-"UR_/?X\7#7J_@=0[_"8[03#ON?F*:)RZ_;E0& M6'2V%H(MNXOA11B8K9'$G$HEGZ2RIZY:^%&/!4<6\+$MOVINEX)-6^7ZCN!" MKG1I*\]<.4K9R.A(WY 4YY)K(.Y#:>.T7CXV]Z.E:W(R*!*$ED>5\M6VC5.N M3F(/!_!*_>)P\9;?@#BU.+% ^P!5'Z(CCCK'FM-+E0[NC^EH#'9T)M>:BE"W7=Y7, M&?M\95D.:8N,$%':DP&%YEU3B$W?-KC4KYD"+RNA4O"8LYS>P2!#V3A ]RXX MC[%"]QV]*]/IV*@(OPJBXY9'?P!8,U1D $C9')4)(<,Q T6S?,,Y>;-/1O@0 M: IMFXV2$.#"\D//[QW^[/@ 'S4Q,Z@QM\3'4N &_QA$*18*8S0JJ+%=-N([* M\E""9LD5A)PA\@4J);V. MK409%Z"*LBDI/.Y%1@@ET,:8-9*()Z]%T3FWDD0>I.@FR['\D1C /W2ODWJ& M\1XRY*EGEU#-7U*8+NTR:.N;C"QG TSC@G$^ MIJX6X8TNH\4"RS4,EQEMVK1-V0X6^[&D8RS,ZHF#P0%LE3D-=F7 M6.JDT+Y"+9G7)>RR6J+;+83#7=^+\#)HH)WZN<].G;*B=.;J4[ V@-4_8"&Y M@?PT. \OI(SY:7 17EZ2JPS8: /K^J?%%$:[ "X-,%TOUG M=OD%E#P9M90^P5V-QFZ'XXN1W>'IA>!PTVBX&H5C27J.P^%D0G\=79Y-Y.$? MV-N=3=,:PU$"_LR$+)/K@H5E5'!6@"\297N\TN529IZ8ODE0=UR_3H7ZW-Q7 M>\7.]A:T$D@D/*PE1]XB"-<\Y6"_:$PCB?Z".=>PXJ2E_8 %Y^2>SV>5X;,6 M\=JT6X*G,J"&:Y""N)G(*E"O\05$]"):F-+H361FNI@B!:_6'=T)R:\FP3,JXVVE/W?Q/T=@9QU-3:W$[XTX^ZQH8N]6( M02I!6*^QT>A0A6:SO<1K%Q$36Y;*S5)Q:RE+69O0;M1Y2=YA+\UAFH]LJRI@ MZA2Y+8V+3#V_+CFAU2B*M$W%/[\LET"ZOLE@.^3J<5$"2 .6D5Y194&;4"K#> M3&21)%-%K/H=>?ZU^]=1&NL7S4WUF.W5?5#L->>,<9H[=\WSOC3?W06OU8BH'' M/G"OBOI@871B$14I,7_J <=A%54-SF&K5,WTT*"^.352K^Q!&31B1W,L?^-I@6@[X 2P>67]XI@G'C7 MCR\KK7UZG8+8,-E$&7FADWC88,-*F!"78:1S.H4N_? 3$TI^JR(T]*'LA MU#/JS*.13E13$Z<1M9? US0 PY6V8$BD*ELU/R#_A=N?#D^&H^#(V[")P/L) M18Y"Y(J#"=RZ2.G :+>_E _ =C3EZ.,J+N6G[J;6H<$#<\7-E:2:&F+ \@NH M*C'#[8G21 <.X$F,)0.5!>PT09-G-.'BU$:"B?AG(\U#;0ZY7G%1 ^[XDZ(J M34P(CBX"$=4W("\SRIW<@0W6(!T]AI^Z1"QNTGYLQH#]*3>;Y9J9[^9*/B1! MN_9:4TF2[GZ7?Z]!FGATZ"+VL\OC'5XS:3X(W3 MHZR7P9E9WE;4U%;4V_V=F$2/R,J.1\QH"1G?Y ''E"X@R6\R/J%7+2,?2.F6 M9QLA_$+E67>,E-V,O2*)BJ,5N1@)A[OE&2K1!$R0"E9>AC<;= MB/Z(0G2J:J?3>,9B:*5]D9I\Z8,B):.A@;!N:\D>>I M2QZQBGBNM9*Y4++++L9A#XGT(LD>SYBFMYJM;F#.U+9,GYJ/3!\X/LMZ[H'% M8/MP9JR9Q$JU[CC53-KU'M=-XO?[*'-%+EQ]_/FHIY:D70"!!RD[O;^ZQ M&W0Q[A]5,0#.>A2+PWW,).-ND;,,;Y%SO& K^U0VT.S\9B)PNK3$5MF(FV[U1"/6EO M>+H5: <05\3O4S=,F$4!HO5T?"X'+M.Q?/L1F:?W#-V AW'_7 ::G/*>_)EK M+AB_L5;B=2QWZ,9-).6'.@_WX0$0G#Q+<9D)RP"U(7TBDJO4$:5 M793-P;V3Q&O1@_N' HP&5&[:GC^HP\[I$*;:*G\HARDTD7E!?';-@72-"1'4 M46WF6&%'>N>VW&;H+IOQB;*(::FQ@^7DS=E.9B>;#>Y-QA/?5:0G""9IY5;" MQ_,TWY8.V?VF#0YCX02D&^DPWL._-312VJ9H0ZAT3,$F;\]YQR8XJ=#.+7V/ M&K;EAE,VQ[0V2"O7IR0CD1PN26.)SV8&TS(8V^-NYU,X>[#EK75NT_:C4U4W MF7S 9TY2M[XPW>Y!9 >H4;DBMX2J).@Z"O'6N!=<@O/-<;MAJPC <]RNT$7^ M7<5VCS;S0]-3;%*+^K+8;_)XP(T$$W\AM2.@%B N0/VY[I]$K3@DCE;Z"\_F M9C;SQ_PA"Z&TR=26+4;.RCK2-X8+E(U#*U7#+Y6):]Y489IQ:3;'XX71<$IJ M4 L[GQIAL-(Q.CXT,P[_,JV_&*+/X4NGDIOOT4@@#,C3'KW0FXP3;_.)S^J< MC6Q6.#_+YP8DIQHB+O!4X MY/SH/OJ@C=W:P\XRJI]4;4>N?Y"F7-K9&K]V]OS2:R4\/^WH)>P["M?P/^YO M^ >G3^%07HF@NY;PWG/HA^F=0^&#]SO./4(^]ES>_1!5PT>LW4WXL2/\Z?GX M!PGONM/'_=WIK[&+$4V)>[4X.&K[ 1A?K6662KM,GIDD/ID",[-(R8OX9;[8 MMVMM")Q ME%^2MZ+KW/Z,//Z;:^#&?B"WY)\FWFR',,8MCH4C]),*=JO+O3F MV5$S[%@J3_I(ZWJ_QP_^;@3NU2L=! &3P=_QX:'FCP*9[FQ-V"3);93 M,@&&[$[8X8:95+KL@?B/*X$4^F$XV<:F!('K^R\ ]X1 #H:3,+CQ)VG!$7]R M7" /XBDHU\-_<%>16 M0 _8\VLZ0-I[:*O("K7 F7/ISM0QVP3'=*G5/+BULY/@XE/P(_@0?0/*VKZ! MVSQOE8_9!J1!R M8J@70X["#UVPN(RY?916SEVM)*Q"!3D2T45R8/"22JWUQG0WTV0H4S ^4PN= M\6 A&I%B9?;HW$_?DAVJ5_8U.; YD!> L=!_"-09:F^9O"0D1PS+I?F] $S1 M(\D+516Y$^FR1?[=E_U*=QM$ZOC=CY/@+3&LG?B$46UD$([!42.LY1R*+4E? M-W=*(NC:3VN0 ^$Z&FT,R+]:E#D4 MH6?/R'.TGWJ"#5-?G3+J^;Z,O4JPQ@8M* M\2)OQ "50[MHMV-3VP+>:I+P2A*]0_ 7H9%HKDF> HT'[@*U\J\=GWD__?&# M5^3L82[SP7;_3A$*6:EN9!7E-[!2SRW.TFW,(#(1XS8+.]YE.20\ZI',9]>9 MHAY;SV+F-L@'?E$GY*&2EL^M#C:J]; 2OD&]@*:?:\ML,R9^,QC"EY^+O)ZE M9$O.*DJ"%#5.-*&N5KPD_]+T\Q\^BWKTL+^!)5$"AU-CL$)E5J'>LJ*Y"H9* M*,AG1UASN8KLD]$=70Q&<,D^-&=32+3R/4]YQ2I 2\D;_S=[;"&) 0J/_A8! MMX ORE=ZV-9P*EMRH)"*9@^H?W\4>YI'].."C(%X3WU;93DF$_9X]J9UEKF) MP.P%1W?@/-IJ1X+',%IH17RTHJ0[L]VS9PA:FO^O,DG]C-_!,J1'9+^QM 6QM=Q/_G@6),P G-FQ")1/V4]PAFU-E SA'";&\<1[H MBD)1YIJHQ'_=P_'_&)?+H?XOL?EUO<"&&13)O5P^'&!_&VHMJ50B!<;LZMJ9 MD8-N*8U@^AF/[NM912=]-AF"B#F6V$\!\JJB$">U?\L(<0,JE96.R91N#ZE2'<@Q.GQ#O(HF MMSQ=EW)OB@69";I%H-XQ%YF=IMW6V/O0VX!-R+TQS8/;@(U\:&Z+#(0NG6N< MA\1C)U9K/+1FOZ.0S[IEJ6-@2>KF&ALC]]@M^RB\>8S)+,5!F5;?MVJ8<$(S M-@79@0#W;Z>AM-M;1P)?!'./DX@R=W05X8^O>2X'__@C_1*A3[ ]N2;BYP?% MV^@GQ=L[^M&KK$6&QZ'X.-?[]")FM3V.J2_!\0<_(SVG\$%K#GT3+ M)PSU+\Z<@HALDLZMSB/)6M55UAVSD%N N3K(*1X>[6.JA5 V<(2H$:ZP$_"E MFT\B3/B"&<;VT-.L;TV)7=//8-3VM-U(.M'L8.MF8?U/:;K?ZHP+.@ZY:.+S M=/HT@Z;KX]K [8LF$&B\'SL; ?-]!WZCD@2 1/M-[+$U#K#Y8TGY :TAQ@%' M5.VDN5:^F6TE^BU0;,QS@'SS3W23^>4])[EG6)!?44R>+H#U7-RL4(>J"Y&^ MG;ZW(5*O,A<_%X0PN, S" $U+!L:I'E.OU5J$L@N(^LJ99D>1539GS2TW2/\ M7>A%BGW/R\XY]4:5"C0+W98SP#E(KY/_LSRF3-?\!.B)ST!_4;+]G$G)?1F' MU4/?%62LNPW._^ 5[$JV/*,Y[&^B*GKU$OR=A9JJ-*5?+,XJ_.%[[U-T];'D M_^IZ_.09O.D>?_5R#4[WAZ@ PI;@Y\[AU>')Y/P)5^>9?X"EB"#!_Z_ N:(_ MERH"RP$?@._G>5Z9?^ "V[SX1NB]^F]02P,$% @ )H"!6$$%M&KT P M^0D !D !X;"]W;W)K&ULI59M;]LV$/XKA!8, M":!&KY:5S#;@V$UKH$F,V%G0C[1TMHA(I$=2D@&NVZTP8!W)N^>> MN^.1'!V$?%$%@";?JI*KL5-HO;_V/)454%%U*?; <64K9$4U#N7.4WL)-+=& M5>F%OI]X%67.PE$35547EWS=0BL/8"9QNXI'M"FTFO,EH M3W>P OVT7TH<>3U*SBK@B@E.)&S'SC2XOAD8?:OP)X.#>B<3$\E&B!$H(1,&P2*GU>805D:(*3Q5XOI]"Z-X7NY0[^UL6,L&ZI@)LIGENMB[*0. MR6%+ZU(_BL-G:..Q!#-1*OM/#HWN('1(5BLMJM88&52,-U_ZK0[YOP$\9-S3#CO:-^%)Q#EDER0*7!+Z870"+^K3 M$%F\Z)?3<"SZ!CL^CFW:ZEKM:09C!_M&@7P%9_+[;T'B_W&">=PSCT^A3^ZQ M<1<\$Q60\R]"J0NR!$E6!95PC.I)L.-4"6Y_H@L@7X'*IH($\P_5!AUU-3!_ M(3%D# ER1LXC-_9#=W 5D@LS#-TT]5T_\7%HU$JC1K66;%-KL[&(%@3#J+!5 ME6%?B#('^2.H9]MVR(B^@L13A/#:\A+;!D49J8/5(GLA>#(I37G.^.Z:W%#% M,A)(PCMQ!'),Y*VN#?'SU/\6P1T9VHO.(4?B7P;")!Z4!2IV_ M8VOO2Z!^4(.ZPDQH(:]_MAQSX */EL:FX7=HT_JA2VN;S..Y^+C=XB%K,IV; M&/"8)0JR6C+-T.:92DFY5N0#_F:"(Z)F)EESV&@[^; W)W2CL,13&:3$^%:V M7&:NRTQ?[&G+:G6*51^]:8A94Y75+Q3A1+,.^F8=G&S6.5-TMY.PH_9*PH0] MPBOP^FBKGH8R.V)]:D?,"LHQ16\;XPPSBFF[8TICED5>8\G.R,!-K@:N[_LH M)VZ:Q*U\'KA!NI&4=JA7Z51B_U_ GGB3-L=0C4H2SP(WX((DZ /(DI:-PN.P7.; M=V06N&'4< ]=?SBTTGD:#UOEGZ=_;%-X[ZYC[,6=?70H/!AJKIN;N9_MWS73 MYCI_4V\>17=4[AAV1@E;-/4OA[@I9//0: 9:[.WEOA$:GPI6+/!M!M(HX/I6 M"-T-C(/^M3?Y!U!+ P04 " F@(%8QP\D]U(" !%!0 &0 'AL+W=O MD2T1*4Q M]64]\[[:7!=5X+?E/5IAR$EU$4."2KKF9R^8>VW[.'%\NN?9?:$(N ML17SM3:R:L'6KY@(*WUOSV$'<)%\ B M@'C=H9!7>4,-S<9*-J!3;*[C*+,]GL\?7V\>7[?';[#,+[!__O< MUUX I_O!;C N=4USG$3VYFM4&XRRKU_ZP^3; 6EI)RT]Q)[-Q :%D8JAWB?M M('B_-+"GA]4"57>"_T0(W#'![+TI8"5EH>$(!KW11=)+DB389.3M.6W@@1I4 MC'(-YRGQT>$PK%OM'S /Q>%X=.9W3G:L+JL'PKXS1Y#VAN2\+97VTM'0V_O. M,MZYVA6JE1]@#;E<"Q-N>1?MWHBK,!I_TL,#\T#5B@D-')<6FIR>GT6@PM & MQ\C:#\I"&CMVWBSM.X?*)=C]I91FZ[@"W&ULE55A;]LV M$/TK!ZT8-H"(*%&2G4'-7#' /[ M(/..O'OWCM(]SP[:?+4EHH.7NFKL/"B=:V_"T.8EUM)>Z18;.MEI4TM'KMF' MMC4HBSZIKL*8\RRLI6J"Q:S?6YO%3'>N4@VN#=BNKJ7Y?HN5/LR#*'C=>%+[ MTOF-<#%KY1X_H?O<$\(*\R=1Y"T/.,=5I4'(AK?CIC!6-(GGMJOZ._[WJF7K;1XIZN_ M5.'*>3 -H,"=["KWI \?\-A/ZO%R7=G^%PY#K(@#R#OK='U,)@:U:H95OASO MX21ARM](B(\)<<][*-2SO)=.+F9&'\#X:$+S1M]JGTWD5.-?RB=GZ%11GENL MG_Y8KYXV?\/RXSVL_OS\L'Y M=>-*"ZNFP.+? "&Q&RG&KQ1OXXN(]YA?@8@8Q#P6%_#$V++H\<3_:OE030&K;YUJ M:13<.987<-LP@7P/+/._JKI(."QI\NLU%2.F)X-QG$Y[,=HUFWRN8 MA5QWC1O&?-P=17(Y:,./\$%A'Z79J\9"A3M*Y5>3- SJ-;@.-WV2K'5CG2G M-TL2>C0^@,YW6KM7QQ<8_SH6_P!02P,$% @ )H"!6+]#2#0) P N0< M !D !X;"]W;W)K&ULE55AC],\#/XK5D$(I.J: MIENO&]ND#0Z8=*")[07Q,6N]K:)-2I*R@U__.NW6]]!MUL!2F!M5H23-3NE26%KJ?6 JC2)KG,HBX(S% M02ERZHC2YDJ!Q-_7FX7@1._O&X$N.1_-(!L=DJ]1WMUAF4X^Y@+# MU#H$07\_\0T6A0.B,'Z<,+WN2.?X6#ZCOVNX$Y>M,/A&%5_SS!ZF7N)!ACM1 M%_:S.G[ $Y^APTM589HO'%O;:.!!6ANKRI,S15#FLOT7#Z<\/')(V!4'?G+@ M3=SM04V4;X45LXE61]#.FM"30)+^,XJ2$]8BQ:+7\$*.7Q4TAX,W,D,LS\! @JLBXZ? MHUOP7L2WF-Y %/K &8]Z\**.;=3@1?^7[262+<3@,H0KDK&I1(I3CZK H/Z) MWNS%LS!FKWL"''0!#OK0B? NE[E%N,]W"$MIA=SG=!TP-P:MN11N+^#E<('R MBN46=9?;)SO<'4ZU0L53BP)6FMJ MK] R Q6PJ*T!IY#Y(>CV(]&<2NSQ&=Q M!/=HS!CF:5J7=4&V&C M)'(2'_KA;0@]N1UVN1WVYG9)C_*OL]L+>3F[&RTRZIS452&)F)]01A+&_&$\ MA(VRE,PG!Y]IAW[((Y\/XD9F1/TVBONHQQWUN)?ZO*JT>LBIB2&\JVVM\8\K MN42\%_ R\6\H=%OZ,';XM;1/WM6 /CYC[(EB>$T17U/<7E,D9\7F@#2H=I94 M(;VH9JNY@?:%N?6EY :/VFF)>M\,#0.I(]1VUFZWFTOSMAW_9]X.M8]"[W-I MH, =N;*;6WI/NAT4[<*JJFG.6V6IU3?B@68K:F= ^IU2]KQP!W33>O8O4$L# M!!0 ( ": @5A-MA(E#P0 '4+ 9 >&PO=V]R:W-H965TV@22;Q09(6B-)N^@C;8]M8BE1 M):DX^?L.*5OVQHJP+WVQ*7'F\,R9X6C&6ZF^Z0VB@=="E'KB;8RI+H- +S98 M,'TA*RQI9R55P0P]JG6@*X5LZ9P*$<1AF 8%XZ4W';MW,S4=R]H(7N),@:Z+ M@JFW:Q1R._$B;__BD:\WQKX(IN.*K?$)S5_53-%3T*(L>8&EYK($A:N)=Q5= M7N?6WAG\S7&KC]9@(YE+^_3/+G:*90@KM?F';V"8# M#Q:U-K+8.1.#@I?-/WO=Z7#DD(@K#6AV84+ MU7D3.5[:I#P91;N<_,ST_O;JZ?8)?GUF-"#-VA#'#B\06^(79$U M?L-N/WL=+G7%%CCQJ-XUJA?TIK_\%*7A[SVLABVK81_Z]!ZIEN#VE6Z7QBYR MO>[=Y/ZL4#'#RS4(BZXO@;3$8HZJU?/D30Q76J,AVW?>H&Q!G\O5>4T/S!K! M&0S3S!\-$EHE<>Z/1BG<Y M99K3SC :0D_6DC9K26_6WI'JRELO0'?>@!H,F W"/\A4B1MGJD_7H0(05W9?-UL.EX1,$,43.RD4AW:=0+^H%&/U+* M7UT3QN4Y>R$9UE3#:#],!SD,5=9)I6M(+L(0WDA7#>EA^8GKA:RIU,@8.[PR M:_KS[J]'S*P5,^L5\ZFN*H'TQ;,%?,/T!C[3-_,[==5!7?&ANKVG_.\5Z(A7 MC"^!: ,KK((:>+D0M77@I8,HB'VM7+#V4C?9$<>MA.HTI9XP"EW%4I^(H[Z* MS5N1\UZ1'YBIE3O"-2=W[HR]62*=8O:B=8MYD.?RI.>]UVOHXDS\<)2?["40 M9:$?)M')3DH[B1\EIW<@@R@/_6%XBI;33N+GT0B>Z!K5[2Z M;<4-PKZ!5[L&OO\(N-9O+VB[TPEVUG;\KFH(CD:A M7:#7P:W#UNIJ+V;3M3 M7C6CU,&\&4@?F%IS.E#@BES#BXPZNVJ&O.;!R,H-5G-I:$QSRPW-Q:BL >VO MI#3[!WM .VE/_P-02P,$% @ )H"!6/(]TZEI @ J04 !D !X;"]W M;W)K&ULI53;;MLP#/T5P2N&#NAJQTDOR!(#SJ58 M@78-FJP%]J;83"Q4%T^BZZY?/TE.O Q+@P)[B$52/(>'"LA!K?23*0"0O @N MS3 H$,M^&)JL $'-J2I!VIN5TH*B=?4Z-*4&FGN0X&$<1>>AH$P&R<#'9CH9 MJ HYDS#3Q%1"4/UK!%S5PZ 3; /W;%V@"X3)H*1KF -^+V?:>F'+DC,!TC E MB8;5,$@[_5'/Y?N$!P:UV;&)ZV2IU)-SKO-A$#E!P"%#QT#M\0QCX-P161D_ M-YQ!6](!=^TM^Y7OW?:RI ;&BC^R'(MA?,\66*&_\E M=9/;L\E995")#=@J$$PV)WW9O,,.X#)Z Q!O +'7W13R*B<4:3+0JB;:95LV M9_A6/=J*8]+]*7/4]I99'";C=':]2&^N?TPG9'YWM7A,[Z=D,GV8WMS-;J?? M%F1\-U_,R?&"+CF83X,0;5$'#;--@5%3('ZC0""MY%!]DG$!V2KJ=$Q)'=UX]0W)J1_=XVW>IUWSG?4^$VEWVY$]W6_?RX<[XR- K_V2,"13E<1FDMIHNX?2 M9OS^I#=+[);J-9.&<%A9:'1Z<180W2R&QD%5^F%<*K2C[KY3" MK>,*M-LY^0U02P,$% @ )H"!6##)@Y-K @ 804 !D !X;"]W;W)K M&ULC51A3]LP$/TKIVR:0,J(DQ16NC82+9V&!!L" MQCZ[R;6)<.S.=BC;K]_9"5D1I=J7Y,Z^>_?NDG?CC=(/ID2T\%0+:29!:>UZ M%$4F+['FYDBM4=+-4NF:6W+U*C)KC;SP2;6($L9.HII7,LC&_NQ:9V/56%%) MO-9@FKKF^O<4A=I,@CAX/KBI5J5U!U$V7O,5WJ+]L;[6Y$4]2E'5*$VE)&A< M3H*S>#0=N'@?<%_AQFS9X#I9*/7@G(MB$C!'" 7FUB%P>CWB#(5P0$3C5X<9 M]"5=XK;]C/[%]TZ]++C!F1(_J\*6DV 80(%+W@A[HS9?L>OGV.'E2AC_A$T; MF[( \L9857?)Q*"N9/OF3]T;>%/,MS;GDVUFH#VD43FC-\ MJSZ;R%72?91;J^FVHCR;S;Y_NY_?W%U,+^=P/I_>P<$=7P@TA^/($KP+BO(. M:MI")6] Q0E<*6E+ W-98/$2(")>/;GDF=PTV8MXCOD1I'$("4O2/7AIWVSJ M\=+_;'97CRW"8#>"D\C(K'F.DX T8% _8I!]>!>?L,][^ UZ?H-]Z-DM2:YH M!():PDS)1]2VHH\!4EDTN\CNA=M-%FBH6"]0^\&^<-R4W2-Y71S>0Q*>,!8R MQLC^")=HS(C2%Q8J8QHN5Y4S>"6RR UXH@_W"O MQIB%@SBEB%>E0I"TBUR]Y'08LOC8U]LUW6CKMZ]1K[RX#=%HI&T5T)_V^^.L ME?C@/0K:!;QZJU%]%"69*D-TO:@:A= -TO%7'O M'%>@WZK97U!+ P04 " F@(%8JI9+M*,$ !E#0 &0 'AL+W=O5K32U8\Y)E8CZW80AE=IMM"S-CN MFNKS!#+?@A6U^H]VS=Z 6&BQK04K=3 @*/.J&=-G_1PZ 3%^)X#H *)P-X44 MRJM4I),19SO$Y6[()B?JJ"H:P.65;,J=X.#-(4Y,[J[/9]/KFT]7T]D=FOY] M__'+5S3XDLX+6I^.A@(JR'W#AC->T86#/-=&!!.O)Y]GSNNI?-Y[YUVGG*Y9D5%>_X:FW[:Y>#D[=M F MC7\\C;PJ9_4F7="Q!7>AIOR)6I-??W%#_$H8T-Y4QX$B>*JTG%-NGNR;%8+^VBJ;+0V0!T5QFJ'S)\KAQJ+I M,^6+O*;HEN<+^@,1G:/9:$Y7>57!5&;84)ZS#/FN9V.,T0ERG3! KM^:Q E# M]"=/*YF=N)&-?8*P$Q-$(JSVN ZPL:V7H=_UW_1YDW.P!RZQ ]AVJM=?0:%5 MU@$10OH TDL07GR(J:??@>EWT-OO(YU&,+3HY6U$\Q?]S&9IM:+'B-!;XQTB M'/1%57K3O!F5ZBY!F:4NTG;_)=Q\#BJ[30N35X%MB?$I7U*45^@K37G=+AXP MX@2:&+FHZ:?OX%!/];H<8@P]5KTC#C%S[5%# (QH2) X.#:&]JDAED0G@:0) M=MNY]L@A"9$F"&P@[5Q[3AIRM4Q+),S6T#XY)!Z"RC).'43/M4=2V U1H(*( M _\"0VU7EO ='[=U/0<'>PS*SH:&L^%_ MT*B'E,L[^%V1ZLWU$R(UN*_2;98#)4__ASP9U#^M3\2.$F)[7J#Z1J 'MA>[ M-B9NLT",1NWUIZM( ]VS4S3 #@2=[O6)8)MXB?0 H:1G$ 21[7NAG$)J#\8> MT0)D$;&Q8JM"]@9J#PDB0X*HEP3'VO\#RM5;Y#@[N@4-BF[5P\4#%K0-/R)R M71T[*EG?8XU4B=!OKV/BQ$E78,"CM%A/.Q($^N@&82MTB3&T3_V$06F@E6]'P#^E(WM3^Y4FP38@E!M& M>I,VM$^JDA2RV(X@?>AXI)UKSPDL)G _HN:4D1*LJ#VR\NTIZSLA>?/JO-_>?(!\3CE<\!H5= FA\',#/ZB\ M>:EO#,$VZD5ZS@2\EJOI&KZ#*)<;P+]D3+2&+&"^K";_ E!+ P04 " F M@(%8.5PA T," F!0 &0 'AL+W=O'!0^L&4 )8A>: M2@,M/$CP,(ZB7B@HDT$Z\+Z%3@=J;SF3L-#$[(6@^FD$7!V&03LX.Y9L5UKG M"--!17>P ON]6FBTPH:E8 *D84H2#=MAD+7[HXZ+]P$_&!S,Q9ZX3#9*/3CC M:S$,(B<(..36,5!<'F$,G#LBE/'[Q!DT5SK@Y?[,_LGGCKELJ(&QXC]98$"3F=SJ9S--^NZ8:#>3<(+5[C@L/\1#FJ*>,7*-LQF2EI2T.FLH#B M7X(0]34BX[/(47R3<0)YBR3M.Q)'<7*#+VF23CQ?\I])7\NU9NI<9W(CTS<5 MS6$8X$P8T(\0I&]>M7O1QQLZ.XW.SBWV-*LJK8X,>P_(C$DF]H*,L;0:>YDL MZ!,.AS771-^DO2[Z%U!=_S#2)YE0>VD)UAW$!O2Y]AV21'=1%#T[Z)+WSWP] M]*V5I9R\/L.NE22\Z%T!>NBIKPZK*3\)&69PKORWQ(0/M O!\JY0]&^Z"YFE,_P!02P,$% M @ )H"!6!5L8.SO @ ,08 !D !X;"]W;W)K&ULK55;C]I*#/XK5GI4[4HYFSL)6T#B5A5INT7 MGT=$@.C3C)T9EAV_WT] M2:![="A/?6%LC_WYLR.5,^C5MKD:].3!"%[A7($^E"53KR,4\MAW M N=D6/#MSEB#-^CMV1:7:)[V(F5YK("A9N^,PSN1['UKQV^VCZ\"/R^D2AH\3^++Z-%W ^&FQF#ZNX&$V',T>9JL9W=ZL MV%J@ONUYAI);""]O$XV:1.$?$@4A?):5V6F85@46_P7PB/69>GBB/@JO(DXP MOX,H<"'TP^@*7G1N153C17^E%9-WK/OPLZ M_H"!LS47W'#4E]A? MQ;_,'N@-L%Q3CM,[_,\2PEB6)==VBC7\0R;?S:*4I#@.WE12B)JQ0 M,$-5Y%(;3;Z!Z_M="*(.G3Y,N*)AE@HV2 5&J=M)?(CB^E@R^BYAQ5XLGOU( M(7%3/X6;P(V2 &[AU* C4XI5YA5N'J5!"));B/P:OI/5QU#0IF)5CD [K\5= MH#DHXA^$F1MU??BW;2UK0?'4]31PLVX&<>8FW2ZLI&&"2NVDB1MW Y)2 DC] M""Z]N/=FC$M4VWI9:>K%H3+-1)^MYWTX;-; ;_=FF7YF:LN)K\ -A?IW:>* M:A94HQBYKY?"6AI:,;6XHYV.RCK0_492,:Z6?3(EHX5EP:291:6UU%<+A>$__%FIWM:RHP;GBCZRP MY20:15#@FFZY7:KZ.[;U7'I>KK@)3ZB;6#*,(-\:JT2;[!0()ILW?6[OX2!A ME+R30-H$$G0W!P65U]32;*Q5#=I'.YH?A%)#MA/'I/\H=U:[7>;R;#:=SYW$SD(3T3_#Z7;']P.O_9['':FP(@^,$;Y$K4]$<)Y'S M@$&]PRC[]"$=)E]/Z!MT^@:GZ-DCU9I*^P++!@U3_\\R^W),Z$G4<:'@+A3% M"G5WJ?^L$)CAADG)Y,8Y)M=;+*#>R\J5L08^PG#42Y+D=;#0:L>"35V7> W' M9]A\;4&M#]B<,F'@;#@(P>=PUL:?^]_II)Q^ M\E;.L2\1'UA$H-Z$1F <8BMMXY9NM>LUT\9BK^%-H[JEVMV0 8YKEYI&PO=V]R:W-H965TC+=O=1L9G$F&UYDMRT]^N/DAPG MQ5*C.-R'Q*),/B+YD))\MN'BAUPC*G@N\E*>]]9*59/A4"9K+)C\Q"LLZ<_K;2?NLM5:Z8GA]*QB*[Q']5C="I*&+4J:%5C*C)<@<'G>N_ FL['6-PK? M,MS(O3'H2!:<_]#"=7K><[5#F&.B- *CQQ/.,<\U$+GQL\'LM4MJP_WQ%OUW M$SO%LF 2YSS_GJ5J?=Z+>Y#BDM6YNN.;/[&))])X"<^E^8>-U0UIQ:26BA>- M,V[RL&<0NV\8^(V!;_RV"QDO+YEBTS/!-R"T-J'I@0G56)-S6:E) MN5>"WF9DIZ;77^9?;Z[@X>*OJWOH/[!%CO+X;*@(6BL,DP9F9F'\-V \'VYX MJ=82KLH4T]< 0_*I=> [_I!!U[0!AH8O. =@1Z*SUJ' MAZUU:TQDQ1(\[U'M2Q1/V)L>??!&[FF';V'K6]B%/KTN$UX@/+!GN'JF=I-X MR,-.C,,>/JP1YKRH6/ER]"'VO?&IA,PNIF@QM(M!?X$E+C-U# FG=I,*4^#+ M"5#=@R*(OY$)2RP0+5@L4!AJ7@F:)_WGP[P6 DM%]IBB8#E\A('YW2NFD)X# MC4S]4IKQ@'"62";ISF+0H3V !Z[V4#L(B%H"HDX"OM#NUY#0_\RE/(89TH:' ML&/F$".=H(<9^:\Y?2PSS8K)B:2P^X$3NKX3G?APK$7?B6/7<4A \EL1/Y_TWB:XH7EN*] M?NA.Z^,]2$I_K;AXH481%1&)Y36SAUY.IRXK$P02TJ;-##:3 M$I4$W_%\S_'&,411X+AN!+>"/V7FS%4<*I%1JE]TFHU#J&I10I\LXIA2$Y(G MP3$N-1_ '71K@L:*E M+G&A:.]3%$Z=R36=^@IND.76_JI4*!0IF_G "<(QE?97J@!!%)TX?A!I1T(G M<,-#6=_M;^_8,\9MS8\[:WZ[:>V7_(5-:O]SQA;$C.$P[D=^H^?<4^.6O M#$^H5 P$4+7#C*4VUQ\A]&+BV]6CL6M&U^43Y5=7X];$'YL7S>,B241-X-]8 M8JO+5(P+@07Z;EG>6=MI[Z0!5U2>&=TOMEGR8L^B1Q9^SJJ,-JOL'UKB[H@5 MU>DE>*$%&5F5>UU:@QG=PE)SKA&[UA//\<.14:&ZJ.@(T94$.9(F"'TQ&_#E MH"8AWS$#ON=;!T+KB#X%^,Z8-@E2BIQH9'T(G5%@8_G6]M=%VU_]L1,UKZE1 M(R<(_$9H2=FKD,"W;T/?>OV*N#T?)]W1-$W<]^)V93KDFR$U,MD2'Z:%?M99 M9=JG[P5!J^RV=EN/:+AUZMADY)#[&G&OQCO;:KAW.2U0K,P57-*&5Y?*WE/; MV?:6?V$OMSMU^XEPP\0JHSTEQR69NI_&= +>^VV@N*5N>HNN**+LQFNZ4L% MA5:@]TO.U5;0"[3?/M-_ 5!+ P04 " F@(%8D7A]ISL# ?"P &0 M 'AL+W=OD93G+- M[ZNY.?7[I.!IDL.<(E9D&:9_1I"2W4 SM>>)NV0=!:8"J(@?">S8WC.25I:$/,G!)!IHAE0$*81<4F#Q MMX4 TE0R"1V_*E*M7E,"]Y^?V6^4>6%FB1D$)'U,(AX/M*Z&(ECA(N5W9/<- M*D.NY M)RM0OVI6QGJNAL&"<9!58*,B2O/S'OZM$[ %,[Q6 50&L8X#S"L"N M +8R6BI3ML:88[]/R0Y1&2W8Y(/*C4(+-TDNMW'!J7B;"!SW%P^WM\.[GVAV M@Q:3K]/)S2083N_1, AF#]/[R?0KFL^^3X+)]0)=C('C)&4?T6?TL!BCB_,W2=1Q =$NA"?.W >G8PLEH9QQ!>(MO\ MA"S#LAL$!:?#K18Y=IU06_'9_YW0IN25W$XSMSS25VR#0QAHXLPRH%O0_ _O M3,_XTF3\3&0':7#J-#AM[/Y4W$"3/"09H(OOA+'&4BDI/$4A[YNM_]EV#,OM MB8W8[CMI"+2Z77%3&77@@4JW5NF>K#*5*M&0*V6<28 M0DS2""AKZJ0AL-6)5SOQ6LON4=U7$*'A%JBX?]&TR)9 T6QU8(&A6<$9 MQWF4Y.NK)B?>.2OP3&0'&>G4&>FT[NT(LR1L-05V M'-MUG.:]ZM;*NJW*QDE:\..[K]36/55;4V";MEZMK==:1V\Z$6@N*DU--)94 M[YPE=2:R@^28QLO7TGA;456XSO[!-B[-SM&VO1+F-F^:N?<5-]]:4A7RG\J: MPXZ5Z7NM1@9TK3HPAD)2Y+S\9M>S=9?R[,_'1VQ#ZPC( CE[+HF)]+>-\>:7K+,F@Q*Q# MEE"))W-"2\S%E"YTMJ2 4R4J"]TR#$\O<5YI04^M36G0(RM>Y!5,*6*KLL3T M]Q *LNEKIK9;>,@7&9<+>M!;X@7$P&?+*14SO7%)\Q(JEI,*49CWM8%Y%?HR M7@7\R&'#]L9(9O),R(N<1&E?,R00%)!PZ8#%UQI"* II)#!^;3VU9DLIW!_O MW&]4[B*79\P@),53GO*LK_D:2F&.5P5_()OOL,W'E7X)*9CZ1)LZUG,UE*P8 M)^56+ C*O*J_\>NV#GL"TWM'8&T%UJ' >4=@;P6V2K0F4VF-,,=!CY(-HC): MN,F!JHU2BVSR2IYBS*EXF@L=#^+9>#QX^(GN;U ,71=I9"^-= %?I.#MCLCC#6^E.I+3QE(2^<=7!A.X;E7HJ#6.]GTA)H^;ZXJHPF\ VE MVU"Z1RF'F.4)>E)O.Z07> U47%XHSK"H2!MQ;>?N@9B7ONTX7>^ N"VPZ]BN MX[03>PVQ=Y1XE!X#5 M'N6V,_D-DW]*'=NH_).HVJ,.J?2]N[D$NE MBZ&$K"I>7W'-:M,5!ZH9'*P/ M1;>LF]M?F[K5CC%=Y!5#!1&S3_(8(_4$L#!!0 ( ": @5A#3ZETY0, '$1 9 >&PO M=V]R:W-H965TV4 MQ-0:]+*Y*1_TV$8F,84I1V*3IH3_=PT)V_4M;+U,S.+E2NH)>]!;DR7,02[6 M4ZY&=HD2Q2E0$3.*.#SWK2&^&N&N=L@L_HAA)_:>D:;RQ-@7/1A'?R1&1_T2ZW]=L6"C="LK1P5AFD,B$'L.V#_BX!8. M[K<.K2,.7N'@943SS#):-T2208^S'>+:6J'IAZPVF;=B$U.]C'/)U=M8^EX94F]#*]UK*0D ?$)49!-Q%^S;'237*I-K&9,;K0A=@D!CBF:P!;J!IB1S MC/9>\(MNX-63-,;2.]"56),0^I;:8@3P+5B#7W["OO.KHJZTQ@![2[ M)>WN.]35K2U_<=6BN<]Q<1^[[3L(8- MAJV.06U5%\?F-GZBVKQZ_,!OR-,8[*W5KKH^-K?]!8TE1&@NB524C"([4T\O M:/^($P*NC@C8?$;XCLC:]9T*NPT[6I.AZ^/C(JO:.3;W\Q-%5F_8%]AK4IDQ MVEO+7?5_;#X C*GJFY3H^QE)S"H[4WDU; M65 [\KM.IW-<955;Q^:^?J+*NK7X%T&KTY"H,=IKRVWO75Y3X,OL3B]0R#94 MYG? &ULM5EA;Z,X M$/TK5NYTVI7V&C !DEX;*85V-Z=K&S7;79U.]\$)3H(*.&N;9+NZ'W\VT!# M\:81_=("F7GV&V;&#_MB2^@36V',P?C2"*)>7PK0#N[,:7C M_O4+^DU&7I"9(88]$GT- [ZZ[/0[(, +E$;\@6P_X8*0+?'F)&+97[#-;5VK M ^8IXR0NG,4,XC#)_Z/O12#V'$SG@ ,L'&#=H7? P2HH5#+XM,3B6+ M@X\X&EY0L@546@LT>9$%,_,6],-$OOXOP'3\<>[ M\_ X>ISYX M]^O[BRX7LY&8W7DQ\E4^,CPPL@G!+4GXBH'K),!!%: K:.RXP!'2KS-6AM<[@'>% N#C&0?7 MWT61,ZR*<([@9 BRPC=#Z$);#K_9Y]TT,WO0[/>K9KYV/K(!G;,UFN/+CN@P M#-,-[@Q_^\5TC#\T;'L[MCTMVU$D.A!*YAB(<@8^26=\D49@-)^3-.%,13X' MM"NL!CVK5V>OL'/"+]P8[^0$O?0VP% MKE D>QL#(PYNPD13F_0+L!/,[,U\_]U-CL"37SZ-A\*$B#4H$Y$5]8F%(<%/6FJ2.KD1RVK+#?P'_)"*KWSMU#%9BF+3;TN MSEO._?J@^-'[OSIOVD3SVT*KQJX4U*9>44\(EX6(HNA9U&"49C4YQ?.4ACP\ MT,&;@AJZ VA9=CU[%,K;5'Q1Z*=X:@A*46WJ5?7G+0%?%5MT[*[4W_)GVSOJ[W-D33>DA9*(G33"5S]!2^8U> M /;WY0>(DGM+(K@(4IMH M?EMHU6"6 AWJ!?H)B005.6(/ZIFDM++KF?06HAJ6HAKJ1?64+/A6+.25G0Y= M1]+CO3J1VD3SVT*KQK)4Z? G>\(QH3S\D>>1^.CWT#KD*)(*'2CC+->_DI:PF3'_K>(KH,$P8BO!"08FD7'&E^CIK?<++.3A9GA',29YET" "K!@ M&0 'AL+W=OW;SS8$$4'27HP+\,\YQ^=@_!&57+S( M-8!"KQG+Y=A9*U5<8+R/7,DHN,*-T5*U<6 DAJ21ESL>>%;D9H M[L21';L7<<0WBM$<[@62FRPCXNT*&"_'SL#9#.Q<.2F%)-DS->?D+ MZCQ#HY=P)NT=E176QPY*-E+QK"9K!QG-JR=YK=]#BS (#A!P3< ?)?@UP;=! M*V"ET@8M%8S#?MN+%NGH;G9Q842>I9JGHIG=T_7=P^_Y[/K!3J9 M@B*4R5/T#3TNINCD\VGD*KV(@;I)+7A5">(#@E-(SI _^(JPA_T>^N3C=+Q/ M=W6T)A]N\F&KY[^?KR]+10[ZR>8$7U^R_R2V ME]-OI[(M:\4/+-V=[&_NC"T]?D;MMI^C#X5$;MV

OU5]&'K77/ ]RUUX6%(3[H;MBX&QYU-\NWD"LNWM"\ MVIH^A\/.TJ-AU^![J#U_8>,O/.KO@2O"^CR%G=T*0GS>==6#"T9AUY?;*B6F MC-\2L:*Y1 R6FNF=G>M@HBJ-54?QPE:79ZYTK;+-M?Z;@# /;_D7.TZIF U M_Z?X'U!+ P04 " F@(%8826%.A " #E! &0 'AL+W=OB1KJ.S*5JJ2&1NJ'=&U I9[42D(#8(9*1FOP5$CO MRY*IW]<@9!OC,3Y,K/BN,&Z")%'-=K &\U OE8W(0,EY"97FLD(*MC'^,IXO M0I?O$QXYM/IHC)R3C91/+KC-8QRX@D! 9AR!V5<#"Q#"@6P9OWHF'C[IA,?C M _VK]VZ];)B&A10_>6Z*&'_$*((!C0\(5^<+Z;8Q-]9D\E5,*5#6E<>.6I"=P%\ M9VK'*XT$;*TP&%U-,5+=H>H"(VO?EQMI;)?[86'O(5 NP:YOI32'P+7Z<+,E M?P!02P,$% @ )H"!6).$Z.5" P -@H !D !X;"]W;W)K&ULK99K;]LV%(;_"J$-0PMT$2E*E)S9 EP[Z0*TJ9=+AWUD MY.-8J"2J)&6G_WZDY&BRS3C=L"\V*9WS\GD/Q04+B513EEQ^?P^%V$X\XCT_N,D?U]H^\--QS1_A%O1]O9"FY_D36@CON2P58,VLE8>A/AJ.U?+B8OV8-G'8?E:_;,T;,P]6L.)-H6_$]G?8&8JL7B8* MU?ZB;1<;4@]EC=*BW"4;@C*ONG_^M"O$((&$+R0$NX3@1Q/H+H&V1CNRUM:< M:YZ.I=@B::.-FFVTM6FSC9N\LM-XJZ5YFYL\G2YN/B\N;N[^0M/K.;KXX_YJ M\>GB^@Z]F8/F>:'>HE_1_>T==O""]ARR,T3).Q3@ M@#K29S^>'NRG^\9E;S7HK0:M'OU75EVV.IW0K6,7UKFJ>083SZPQ/7C:QRW4A TVJ)+O,GVU8NRYT.:W7LTM^DE(4) M&8W]S=#,JV%[F&&/&9[$O/C6Y+79&[2+K$N-!D,& 1N1)#I <\51%A'L9HMZ MMN@DVQ=8YUGA+EIT-"1C),8'8(XH'&/JQF(]%CN)-1-EW6B0[<3>BI7><@DN M1G8T.L4LBM@!Y'%8$#)&$S=EW%/&)RD_@MEAUZ)8HJNREF(#=I*=I8R/,4>4 M)N0 \]6P/MC1 M2=B%-&>XU-_;F>]7SCOT00KE+.WHN&8)C@@YK*TC+C8?:O1"<0G^YXC!KWP% M2IVC:98U95-P#4LT![/993FW)[GS7,''GV,N0!J3.'BAR&1P+I+_ M5.9K<.Y2.[7ASDAPF+ P."1V!%(:47I89G]PJ-L;U2+NCWG'X0VMX:VN387.Y VP+Q?":&?._;JT%\5T[\!4$L#!!0 ( M ": @5@^HQO*? ( %$& 9 >&PO=V]R:W-H965T--3^"[;:#7X_MI*$; M60&)+XWMW'/N.;?U:;85\EY5 !H],,K5T*NTKL]\7Q45,*Q.1 WGKFSN^#G68U7< WZMIY+L_,[EI(PX(H(CB0LA]XH.)LDMMX5?":P57MK9)W< M"7%O-^?ET!M804"AT)8!F\<&)D"I)3(ROK6<7M?2 O?7._8/SKOQX @?080MH#P*2!^!A"U@,@9;90Y6U.L<9Y)L4725ALVNW"S<6CCAG#[+5YK M:=X2@]/Y?'$UGRUNOJ+1Y13-/MV>SR]FES?H: H:$ZK0)982VTD?HS?H]GJ* MCEX>9[XVG2W>+]HNXZ9+^$R7($07@NM*H1DOH7Q,X!O)G>YPIWL<'F2<0G&" MHN U"@=AU"-H\O?P\("N90*Y :\ M_-6+(!V\[S/YG\@>68X[R_$A=C-"0UH0;&]CG]$&G3JTS9)-'L5)DJ29O]FW MT%,6Q&EZVI4]$I=TXI*#XD9,2$U^.''H:HEN@&.NT3FKI=B 22&-1M0D&.8% M](E/?E=U&IS&3[3_J:J1[N_=3@9RY4)+H4*LN6Y^\-UIEXLC%P=/SL04W4J2BC,R5K(G&I3RHVO2@DT'%D=M;R#@2E>:L M@(5$JLIS*A_/@8O]Q N]IXT;MMEJN^''44DWL 1]5RZDJ?Q6)6,Y%(J) DE8 M3[PD'$_[%N\ /QCLU<$:V20K(>YM,<\F7F - 8=46P5J'CN8 N=6R-CXU6AZ M[2LM\7#]I'[ILILL*ZI@*OA/ENGMQ!MZ*(,UK;B^$?MOT.1Q!E/!E?M%^QI+ M##BME!9Y0S8.R]0L - ;^70!H"<4%K9R[6C&H:1U+LD;1H MHV87[FXN?/])[%E:TJ8E;ZG' M\T*;MC!]4E&.%M)TO-2/*"DRM* :"JVZTM>2 R=I6W\7DW T(*-!Y.\.@W7A M@F$P("WNF>=>Z[GWIN&^_^Z9%ILV(H#2I0"K4[0->@NH_V_;@R/,!F^]-D! MP_WP+'QATS_H=3MGOU.Y885"'-:&&)R>&1U9SZZZT*)T[;\2V@P3M]R:<0_2 M LSY6@C]5-B)TGY XC]02P,$% @ )H"!6*G5U5\W @ C 4 !D !X M;"]W;W)K&ULK51=;]HP%/TKEC=-K=0UGZ2(D4A\ M=!W2AE"AV[-)+F#5B3/;D.[?SW9"!%U:\;"7V->^Y_@<1\?#BHMGN0-0Z"5G MA8SQ3JERX#@RW4%.Y"TOH= [&RYRHG0IMHXL!9#,@G+F^*X;.3FA!4Z&=FTA MDB'?*T8+6 @D]WE.Q)\Q,%[%V,/'A4>ZW2FSX"3#DFQA">JI7 A=.2U+1G,H M).4%$K")\<@;3$+3;QM^4JCDR1P9)VO.GTTQRV+L&D' (%6&@>CA !-@S!!I M&;\;3MP>:8"G\R/[5^M=>UD3"1/.?M%,[6+T,7HW0O%<\;L%:0TZ(>R4MS#R< +WP#X#< _U) T ":[169FU-B2+) M4/ *"=.MVT,']QJ83>I1JGDME\-9H_S,;?[]%HN;Q?+='5%!2A M3"+O&GU&3\LINOIX/724/LQ G+0A'M?$_AO$4TAO4>#=(-_U@P[XY'*X?PYW MM,76I]_Z]"U?<*G/+DLV>(\]60F2Z;3KEZ#+9HV-+-:D_)#T [:ZO:C7MIU)"UMI MX?O2N"(,S0I%BBU=,T C*4')&S0'U24V_$>%Y_F!'T:OU';TN7[O+HA>R75. MLF+>J1]$;&DA$8.-1KJW=SV,1)W]NE"\M/%9T#G/P%4$L#!!0 ( ": @5@M]R9]2P( ,,& 9 >&PO=V]R:W-H M965TV M+9(,PSJ1?L*"CQ'F*0S^6:JYG=JNQ(#H4@K$ S!->]D. V":[Q78.,RR66. HXJQ#7T4I-#TRI M)EN9(X5^*;'D:I>H/!FM'C?SQX?5XML]FL?Q_29&-TN0F%"!W(^!+15"!]I) M([>HY=P+BQ F$ECJY O@1K.C#NZ'O?+[B;=1Z&UU3US5#O@5^JGO< M9;"6\(V$_E".D?IL'">PCQWD<4L>]R)[7>1:POL_LM>2O5YDOXOL]2'[+=GO M19YTD?T^Y$E+GO0B3[O(DS[D:4N>7B5O,E --Y7 NY#3-\CAS+W(G+7,V74F MDYAVX69O3W(7SC[K2;J]?\=\3PJ!**0JT1E,E&%>M\QZ(EEIVM262=7TS#!3 M?QG@.D#MIXS)TT1WOO:_%?T%4$L#!!0 ( ": @5BQ8III2@( )(% 9 M >&PO=V]R:W-H965T@-68JMJLPO/;C)MK$WB8+M-X>OQ)0W=I:WV@9?$,YYS9LXD,V'#^*/( M 23:ET4E(B>7LAYA+-(<2B)ZK(9*W:P9+XE4)M]@47,@F0&5!?;Z_2$N":V< M.#2^)8]#MI4%K6#)D=B6)>&_)E"P)G).PYIL( 'Y4"^YLG#' MDM$2*D%9A3BL(V?LCJ:!CCNU@ M"D6AB509/UM.ITNI@#@S)8DVTA[UCS%5H] M \V7LD*8)VIL;*""TZV0K&S!JH*25O9-]FT?C@#N\ S :P'>&+120RO]%1/)U2U5.!G?+.['BR\WDV]S-$Z2 M^7V"KF8@"2T$6A#.B6[R-7J''I(9NGI]'6*IDFHH3ML$$YO .Y/ ]= MJV0N MT+S*('M*@%6U7H>2)=Y%Q!FD/^>Y;Y/4]_T1!TY?#O0OE^%T'?&ULK95K;]HP M%(;_BI5-4RNU3>)7WH:+%[D$4.BU8*7L.TNEJAO7E?D2"B*O> 6EGIES41"ENV+ARDH MF5E1P5SL>;%;$%HZ6<^.C476XRO%: EC@>2J*(CX=P>,;_J.[[P-/-'%4ID! M-^M59 $34,_56.B>V[K,: &EI+Q$ N9]Y]:_&20FW@;\IK"16VUD2*:IUJEL M='\[N9^@LR$H0ID\1Y?H>3)$9Y_/>Z[2_B;*S1NON]H+'_$:0GZ% O\"80\' M'?+!^^5X5^YJJA8-MVC8^@5'_&ZE!"6[,&I=V*TSY^9&5B2'OJ,/A@2Q!B?[ M\LF/O:]=4!]DMH,8M(C!*??LL0)!%"T7: 1Z+R-["-'C'#WKCN7OPJ\]8^MI M3ODZ"^/D.HAZ[GH;[# LPNGU==R&[:0%T$\4%J<8@CG.P1'(8EL>\'1PB2EB Y M2?"+*\*ZLDH.=G42I7ZZO_D/P]+8#_UP+RMWZ^8UK]X/(A:TE(C!7 N]JT1S MB?HEJ3N*5_8RGG*EKW;;7.K'%X0)T/-SSM5;Q]SO[7.>_0=02P,$% @ M)H"!6/5)1;\W @ >04 !D !X;"]W;W)K&UL MK51K;],P%/TKED%HDZ!YM1V4)-+ZF$#:1+5J\-E-;A-KB1ULMRG_'C_2T$UM MX0-?$M_K>X[/<7)OW'+Q+$L A?9UQ62"2Z6:B>?)K(2:R %O@.F=#1S6A#*>QS2U%&O.MJBB#I4!R6]=$_)I"Q=L$!_B0>*1% MJ4S"2^.&%+ "]=0LA8Z\GB6G-3!).4,"-@F^#2:SH:FW!=\IM/)HC8R3->?/ M)OB:)]@W@J""3!D&HE\[F$%5&2(MXV?'B?LC#?!X?6"_L]ZUES61,./5#YJK M,L$?,N3M%^C\C Q?QBMIGZAUM>$GC+*M5+SNP%I!39E[DWUW#T> M8'P&$': \#5@> 80=8#(&G7*K*TY422-!6^1,-6:S2SLW5BT=D.9^8HK)?0N MU3B5WB]N5XL5NIJ#(K22*+A&']#3:HZNWE['GM(GF#HOZ]BFCBT\PQ:$Z($S M54JT8#GD+PD\+:W7%Q[T3<.+C'/(!B@*WJ/0#Z,3@F;_#@\OR(GZZXHL7W3Q MNDY=C,,-3^-,+TYD0S)(L&XV"6('.'WW)AC[GT^9^D]D+RP.>XO#2^SIMP8$ M4905Z!YT?Z#%7D\,":<\.Z*Q)3+C8I<&HYLH&,7>[MC-7\N<3N_H+ZY!%+:Y M)+&P!\:-Y0>B"@HDZB"C:;T!S67.E.\\N2ST;09@"O;_A7!T"&PO=V]R:W-H965TX()0Y<6AC*Q&'_*!RRF ED#P4!1&_9I#S*G(\YQ18TWVF3 #'84GV ML 'UO5P)O<,M2TH+8))RA@3L(F?J3>8CDV\3?E"HY-D:&2=;SI_,YBZ-'-<( M@AP291B(?AQA#GENB+2,GPVGTUYI@.?K$_MGZUU[V1()8 M!'$$)W[[QAN[G[I,_2>R"XO#UN*PCSU^M/]W2#^2(PC=OF@-9@90MD?WH-L$ M?0-13-#74I^J-BJ[:M)_T6C@NEWF^U'COU 7+D>MRU$OS8+*A!^80FNBX'5N M:L);2VA&XC%V!^Z->_'Q0GP\]_)OF-H)/NOA L3>CC:)K-RZ<=IH.SVG=FB\ MB,_T5*V'X!^:>B0_$+&G3*(<=IK2'=QHG:(><_5&\=).BBU7>N[89:;?#"!, M@C[?<:Y.&W-!^ZZ)?P-02P,$% @ )H"!6,R3KY=< @ J04 !D !X M;"]W;W)K&ULK51=;],P%/TK5P&A38+FJ^V@I)'Z MA9C4B6IE\.PFMXTUQPZVTXY_C^VDH9NZB@=>$E_[GN-S;G)O$Q%WK'C7NZ*[3=\-.D(CM2TQ*Y MHH*#Q.W8FX2C6=_FNX0?% _J9 W6R4:(1QO V!EME#E; MA"'[R$*HOB,H-F_PZ,+R9Q;[G<7^)?9T1E0!*T)S,'T"DU+47"NXY1FKS2 M(-PA4;5$T\\:OFUA:4*$)24;RJBFJ$;G:M1[<,%"06<'-#];M=O-FXMKLQ?[4S*%F;/RE:8;8'9$[ MRA4PW!K*H'^!) H-G0MDCB#$4-\G::$ MO5U#0K=] QN[&X_Q8BG4#3/JK<@"QB">5B,F1V;E,HM3R'A,,\1@WC>N<'> M'27(9SS'L.5[UTBA3"A]48.[6=^P5$:0P%0H"R*_-C" )%%.,H^_I:E1Q53" M_>N=^\\<7L),"(E"<\_T;:8ZW0, M-%US0=-2+#-(XZSX)J_E0NP)L/N!P"X%]F<%3BG(5\XL,LNQ;H@@48_1+6)J MMG13%_G:Y&I)$V=J&\>"R:>QU(EH>'LUOAVCLQL0)$XXS T2G0G1T[FK)()T VRV; MVT1;6/BYA3K7FPC[GM4)>^9FGT,;J26'6W&X)W%X31R%A;?/$5B6AVLJ M_#OZ_*D@";J/LSA=IV@(LO*B$7F3#8'@342=(Z(.EKM71](&;8F$K??::6FA MAL!Y%]UE B\9R:1V_6IYM=?P:ASY06Y"])@!K04;*-!/HF21K0 _S M)DF\(*K=:MRCTG0?+I#')O3J<-K@;>'>FP"L+<#E+@W6C"G$$64*J)''/MXL M[/E>_?>LG'=03RWY^MD^ M3/UX7N!C[-13-_I;J_\IT3]02P,$% @ )H"!6/V9%KC] @ !PH M !D !X;"]W;W)K&ULK99K;]HP%(;_BI5-4RM- MY,JM@TC"H:'XAO[^OSV'%\>EO& MG\0*0*+GG%#1=U92%E>N*Y(5Y%@T6 %4]2P8S[%45;YT1<$!IT:4$S?PO):; MXXPZ<<^T37G<8VM),@I3CL0ZSS%_&0)AV[[C._N&6;9<2=W@QKT"+V$.\J&8 MG*3=IW/!T0$$BD M=L#JL8$1$**-5!B_=IY.-:46'I;W[M>&7;$\8@$C1GYFJ5SUG8Z#4EC@-9$S MMOT*.YZF]DL8$>8?;2@9"TDRW=B%4&>T?*)GW?K<" (6B<$P4X0' G\ M4X)P)P@-:!F9P1ICB>,>9UO$]6CEI@MF;8Q:T614[^)<#^62. M+L8@<48$^H8YQWIE+WNN5/YZE)OLO(:E5W#"RT=WC,J50!.:0EJC'_U#'U@, M7 56T05[NF%@=1P4O(%"[S,*/+^#'N9C=/'Q$BWDIP]^N_.E+D*[WQ@2Y>=K MOR"TQ!=6JQ\:O]"Z^G4K7>JB>IT^VE>BP GT'75V!? -.+&":GFU4/_)[!5B M5"%&-O?X'GB.;D&=M#I,J_:]F/9 ? ^] .;"PM2LF)I6JX'Z7J+OBQ(+7>,D M(YE\0;]M;]:PM&P:2_UMW<1=S_-Z[N80P3KOF3O5JJA:=BI*UYB@&5!Y>L-* MB]8!A1^%4>N8PSK3F1SMBJ-MY;BA"=?ABQ)E"CQ13W4EH8E(,,'F^A@1O*XG M+,T[!X1>PPN/^*P1G,G7J?@Z5KYQ)A*V5F0S+&L).G4$;>_5SS\"LDYY)E"W M NI:@6XQ30GC*;H'BA7735YPMH%<[]Z J#P#TZ06M/OF98R\YMM#99W]O6SN MP5V; U^:%$0@LR/EM5NU5EG.P%SN[M_A98ITA_DRHP(16"BIUVBKT\_+M*.L M2%:8F_N1294'F.)*96K ]0#5OV!,[BMZ@BKWB_\ 4$L#!!0 ( ": @5@K MYU]4<@( (L& 9 >&PO=V]R:W-H965TE(;A#L"I=A9(^WD@;%' M'8SG \O1@H!"*C4#5J\-1$"I)E(R?M6<5E-2 W?76_9SXUUY>< "(D;OR5RN M!M97"\UA@==4WK#R!]1^C,"446&>J*QR_6\62M="LJP&*P49R:LW?JK[L /H M=%\ N#7 ?2_ JP&>,5HI,[9B+'$8<%8BKK,5FUZ8WABT#:\'/\3Z=7H>H:B23)+T$$,$A,J#M$QNDUB M=/#Y,+"EJJ]9[+2N=5;5?]EO:^QA MA LB,27/,$<)6\@2\VZKNOJK\$(?IHF*;K;$VQ5!Z&&>.2/&,](=KD5GS^CH[C M5KUOY^T)]AO!_H>T^QIDFWK_GRXZ?^E^+:-2;.^,"CVFKS!?DEP@"@N%<4Y. M%06O1E\52%:8Z?' I)I%9KE2?PO@.D&=+QB3VT /I.;_$_X!4$L#!!0 ( M ": @5CMPG>!>0( .,% 9 >&PO=V]R:W-H965T2&E!9V)[C].R2T,H*?',VY8'/EK*@%4XYB&59$OY[@ 5;]RW7 MVA[*"X%CMK MT$KFC#WIS3CM6XXN" M,I&8@ZK7"(1:%)E)E_-IP6FU*#=Q=;]FOC':E94X$ M#EGQ2%.9]ZVO%J28D64A[]CZ!V[TG&N^A!7"/&'=Q/:^69 LA63E!JPJ*&G5 MO,GSQH<=@-L[ / V .\MH'L T-D .D9H4YF1%1%) I^S-7 =K=CTPGACT$H- MK?17C"57MU3A9# ,I^-9>#W^.8H@OKV:/89W(XA&#Z/KV^ED=#.#X6T\B^$D M0DEH(>"&<$ZT\Z?P!>[C"$X^GOJV5)5H/CO99!TT6;T#65T/)JR2N8!1E6+Z MFL!6$EH=WE;'P#O*&&%R!AWW,WB.U]E3T/#]<.](.9W6UH[AZQZRE=14DH*^ M8 HQR^2:<(0(5ZIK:M4#$H9,2 $3+.?(]_EWE%ZW]J6H28)]2_6N0+Y"*_CT MP>TYW_=I_T]DKYSHMDYTCSH1EHQ+^D),T[(,WN=,&.TSI%H%CF^O M=I7^&^$ZW8OS-JJ18._T2XE\8<:(@(0M*]G\>0P@T%.6$MXW8B'R2]/D M80P9YN?U@?L$UGQGC%0D#Y0^JLEUU#+Z%.S7PX/_A=D,P3G6=CN9SWGB==1=6,+;K&579N>0Y#J%OR+K" M@:W \#Z\:[G6USJU3DD6G(AL3\EVI62[B=T;$++$*F9JUV9&FT?*].)R/9DZE0R=1IE&C/( M<1(A>)(/$0>.,(D0%3$PA#D'P>LT:J0\-N,Z+P1WW8M.=U_PX$0F]S1R*XW< M-Z>2 );52=3(>*Q$S>YUT 8PJ[NHX$1>[*G6K53K-JN642:2/UBW!V5ZU2G5 MR'*L4MT7R=3J6*YSD$RUI^SGE"OB-7=>Y0S80G:I6JP9JH/N& M@W5?-E9%'_1,4W1E(\P6">$HA;FDM,Z[,LU9T>D4$T%S_?8_4"$["3V,97,( M3!V0^W-*Q7:B#%3MIO<74$L#!!0 ( ": @5CR_I"B> ( ,@& 9 M>&PO=V]R:W-H965TZ_?K93IIQ":B3Q@/QY9SC<^SX2[SAXD6N !1Z MS2B3?6>E5-YS79FN(,.RQ7-@>F;!18:5[HJE*W,!>&Y)&74#SXO<#!/F)+$= M>Q!)S M%"8,'@62195C\&@#EF[[C.V\#$[)<*3/@)G&.ES %]90_"-US:Y4Y MR8!)PAD2L.@[-WYO&!F\!3P3V,BM-C))9IR_F,[=O.]XQA!02)51P/JQAB%0 M:H2TC9^5IE,O:8C;[3?U6YM=9YEA"4-.?Y"Y6O6=KH/FL, %51.^^0)5GH[1 M2SF5]A]M2FQXY:"TD(IG%5D[R @KG_BUVH0E@10ANT=&9C MC;#"22SX!@F#UFJF8??&LG4:PLPI3I70LT3S5#+\_NUY/'F\&]R/T6@\>$1G M(U"84'F.+M'3=(3./I['KM(K&;R;5JJ#4C4XHCJ"M(5"_P(%7A VT(?OIP>[ M=%?GJT,&=Y*=Y_$ML)&]9APU/J.V$95R";TI82D94P%WV=!)%G?K&[W@YRB/N+ MV''7KMVU3[J[!RE[:*0/ 1$I"\Q20"F7JM%E*=796OTR](/PNKOG\A!WQ&6G M=MDYZ?(F38NLH%C!'.&,Z]W\C4W5:3+9.5C<]]I^N&?Q$'7$8E1;C/[MF"\0 M@\8W.SH\Z^"ZZ_F=/8N'N'V+[E:=,37^*Q9+PB2BL- F9&PO=V]R:W-H965T725IE$ M%N:@)+8]QQG8">.I-1WG=?=R.A8K'?,4[R6H59(P^7J-L=A,+-=ZJWC@RTB; M"GLZSM@2YZA_9O>22G;%$O($4\5%"A(7$^O*O?!=SP#R'K\X;E3M&XPK3T(\ MF\)M.+$<,R*,,="&@M&_--W26I5-@VP_OW&_CUWGIQY8@IG(OZ' MASJ:6",+0ERP5:P?Q.9/+!WJ&[Y Q"K_"YNB;V]H0;!26B0EF$:0\+3XSUY* M(6J D;,'X)4 ;P?@#O8 NB6@NPOH[0'T2D O5Z9P)=?!9YI-QU)L0)K>Q&8^ M7B\O?[K!OR;ZT'GX/?HA41PINTA##!ORL'>^V$=CD;.6Q M]^;QM=?*>"?6'>@Z9^ Y7K=I0.UP'P."NWOA_N?A7HLWW6K^NCE?]Y/SUS1# M!4.OF<$$E@N5L0 G%D4.A7*-UO3;%W?@7#:IS3>RD" MQ%#!0HH$ I&N46K^%"-D5,&5$O(54J%1-6E:< ]R;A-;UU-OX)B?L;VNR]4Z MAD/E.A+9EES]2JY^JURS%H& "JO&W7U=D/;K.CFC!IU:C1^JTY'(MG0:5#H- M/JV3$8>2D HDSTR6:Q*HG>TQ0KC+)682MQ8I3[4 %5&U K$ L9(P$TE"J72N M1?!\!DR#)K3(+9LNIA2).$29-[*2+L_@F>0!FDY?W8[7APQEP7T&FX@'D2G$ ML?$'\,7L&M.O7^O7@5O*X6'(C3$"T5B9.1?\7G$:]RW9H4PF%="82R?RX92N M%07Z32GE28FI_C@V,^+T%30=.H M-!D^=R!DK^7^-03Y*J0Z$IT7[M85@8@I MXW0L%$^7\,3#+:_KWH"0$-&!@%T0W7$:D6 M+8:$B]"0D@L*@Y5)H: E"XU5@STS]#1 !M^^C#S/N5RLTI#164JS&(*(I4O, M&]Q+$ 'IH>"$1DYG&5H;(VP8;7#AO\3N'D:\(S$8HE8I;II5[4R')KRAA]B?=]IB/7^D8QNB3*J M1!E].NP4NVI.6QVN]BK42G>H0J./4;XI&_I',KJET'FET'FK0KZ/S'8W]LEM]P[TOI&UG:]<4 5=8Q/Q&5PN"8*&6-56CQ97^55]IWYF'C/R M"_8[3?$2\H/))4\5Q+@@2J%HJ!%EE^WGX2FRWO^&2&C4Y?I0.T+ M0>&Y+!@#U1//]#]02P,$% @ )H"!6&.4-!UL P X0L !D !X;"]W M;W)K&ULK5;;;MLX$/T50BT6+9!:-UMV4MM G'@W M!1HT&V\;%(L^T-+8)B*1*DG;Z=^7I&1%]W:1?9%XF3ES#H>7F1X9?Q0[ (F> MDIB*F;63,KVP;1'N(,%BP%*@:F;#>(*EZO*M+5(..#).26Q[CA/8"2;4FD_- MV!V?3]E>QH3"'4=BGR28_UA S(XSR[5. _=DNY-ZP)Y/4[R%%X8\ MQ_-;"%W]OKO70\,,.O$][*22F$:';,[2&+:%4-1';H!0X85';DF6( M(X.H#]]A/G1]QW&F]J$LI&GF#BMF%<+#@O"PE_!?.KWU3&2\AHV GCMVAEZ- M5XO9V.GD-2IXC7IY+9^ AT2T,QLU0M87J\^BPB_O-:!1_RX;-\('[GC4R&;3K+89*U0G!=6)\?,[J#Z82Q4B M='D KAX)=$HONN,DA#:^DS[M^HV[$"D.86:I1TP /X U_^.5&SCOVRZ!_PFL MHOV\T'[>FZ9".\ZUPTE[JK4C5D[CHK@RUCC&M'UILGCC\DTP"$:U1#:-O$$0 MM*?1=9X?#>._=EQ'LOG!R\[\;I M-:F2]IY)>R\EW7DKY="]E/M,JI2?WS^W_P'\3[M]:?Y]6SV/5MWK_J0NI,VJ M="(R+7:I6$J ;TT-*5#(]E1F!4.#E!4]?.?4$L# M!!0 ( ": @5@:#EN?1P4 $@E 9 >&PO=V]R:W-H965T'?'H(45.#['XEFPYE^ I#*)DYFREW)V[ M;K+<\I E@WC'(_7/.A8AD^I0;-QD)SA;I49AX"+/&[HA\R-G/DW/W8GY--[+ MP(_XG0#)/@R9>+[D07R8.= YGECXFZW4)]SY=,(J0U/]X_>?T]O7MW, TOX^SCXXJ_D=N:,';#B:[8/Y"(^ MW/#\AJCVMXR#)/T%A^S:X= !RWTBXS W5@I"/\JV["E/Q(D!1A4&*#= J>XL M4*KRBDDVGXKX (2^6GG3.^FMIM9*G!_IIW(OA?K75W9R?G]SL;B^N?UX=;VX M!]=_?O[PUU?PRQ67S \2 '^=NE(%T9>ZR]SA9>8053B$"'R*([E-P'6TXJO_ M.G"5ND(B.DJ\1+4>K_AR # \ \A#&+P#+DBV3/ DW]1$P$42P?YT,XH@1-W4>+"E*H(+4J+AZY4(4 MOJ0MB:_ @NNRTE+>JXP*U8#W+ ?_34'?@2^/W&Q]!/V$'!PN],E:,TE?5$NAX6,8:V,(H?'I.9J.+@3 M_I*?V=2![R>-RR8U"SDZD0H'>&P7.BJ$CFJ%+EBDU+TC ^+90M8:ZS?V>;)C M2SYSU"LYX>*1._.??X)#[[>:1SDNI(T[K8IQZ4E"1#W/GI])(6+RXXNB/B1N M7130,V]9K]NRR/VUS"8\>=W#'U\8>Y1,UU( ]8*,AYB0O$00;2\2 W9,#EA&1VUM@#_" M-GK "LQ!@P_8BA^C@3>T1GT+@$!#$-@M0F"9(5B_]BJR9" ">Z!(0TR4U\@$ MA&E_N*XG;#B".N8(*G.D)J/(< 3UP!%4YDC6L*U:#4A0*Y!X@[&UCU5O_FP "C) 01T#!=F 4IU9PQ/4 M T]0F2>J@5=(-3A!K7#B#296G-1;O[94#$Y0MSA!+QJ2((,3U -.&F+"M%3 MJ*D^L&$)[I@E^$5C$FQ8@GM@"2ZS)&O55JV&);CEH&2"K5'?@B7XY#M6QQ^R MRBR!7O43-2S!/;"D(29I/2;!!B&X8X3@,D+J$FH0@GM "+8-272[MFHU#,&M M&((&T,J0>NO7EHAA".Z6(;C,$%HYQL0&(;@'A#3$S'M;-6DD!AZD8WB0,CRJ M\T@,.T@/["!E=F2MV:K5L(.T'8>,K5'?@AW$L(-TRPY29D?-R)*1S);YU*<+98)762+8\SE MV1JC3TQL?"4LX&MEJ@I2)4IDRW:R QGOTJ4R#[&4<9CN;CE;<:$O4/^OXU@> M#W2 8O'4_%]02P,$% @ )H"!6"P1CWM> P >PP !D !X;"]W;W)K M&ULK9=MCYLX$,>_BL55IY[4!FP")'M)I'W(W59J MM7N[MZWZT@N3!!5L:CO)]MO7!I8D!)Q([9O$-C-__P9[[&&RY>*;7 $H]))G M3$Z=E5+%A>O*> 4YE0-> --/%ESD5.FN6+JR$$"3TBG/7.)YH9O3E#FS23EV M+V83OE99RN!>(+G.Z%[;J.2 MI#DPF7*&!"RFSB6^N,9#XU!:?$YA*_?:R(3RS/DWT_F03!W/$$$&L3(25/]M MX!JRS"AICN^UJ-/,:1SWVZ_J_Y3!ZV">J81KGGU)$[6:.B,');"@ZTP]\.TM MU $%1B_FF2Q_T;:R#7P'Q6NI>%X[:X(\9=4_?:E?Q)X##GL<2.U V@[#'@>_ M=O#+0"NR,JP;JNAL(O@6"6.MU4RC?#>EMXXF9689'Y703U/MIV:/MY\\EX1J^(-Q /DXW>(>,3O +H^WYU8OVC,L4\9TT[YVP=':D6A,?#]H+=ZQG>^/L$=P8W> '#;(H17Y7[,J M[0RJR,*C&;T6D\WB@"9J:"(KS?P%1)S*;I[H),^QA8])T,,T:IA&)YB*5'03 MC8[F>V^.CW$+J\,L"**A'W:#C1NP\6\\(\8=^RPBWCALP7;9'>[' UCL[2X$ MSWX"E#"L.13 M+6W;P%:30V2R0R:_AFQ-NEK<"EV9C/?WMS?H.YCP[@K$]COP#/#>S*RE#YCP M .,V>H>9WB9^#_KNLL,G;KM3Z"?3M9[@U"X_857ANWME7 YB65:W$L5\S515 M(36C305]6=:-K?$K4UF7Y>%.IBK+/U&ADU>B#!9:TAM$>L.(JM*M.HH79;'X MS)4N/62-4[32O/CQUR"V05,&M'D M2P($G_,4C]"T#/^(W B7K,&3B]8('\68Z MP(/M@5O_<2G3 ]9LLF*/_([+KZL;H?:L,LK"#WF4^'&$!'^8#L[QV87CI VR M,_[Q^2:I;*.T*_=Q_)3N?%Q,!W;JB =\+M,03'T]\P\\"-)(RL>_1=!!J9DV MK&YOH_^9=5YUYIXE_$,::%QW*#,[C(,D^T28_ MUW4':+Y.9!P6C96#T(_R;_927(A* P(M#:!H )GO7"AS>RKF:ME3D_2D?E3@KUJZ_:R=G=]?GMU?673Y=7MW?HZJ^O'__^CGZ[Y)+Y M08+([Q-+*I'T5&M>!+S( T)+0 SH I=R5%F%K\0*,$2_Y M?(@(/D5@ T$GR$+)D@F>%%\&!5)>!)(IT!:%\VA&^'-^BJKV?E1&LZ\PZ?@69)6F2@A\*\7C'I2L51 MV9N1,73%URFZX(]^E/7D@@4LFO,FJZ-:4H+G@3UVFP=]7!H9]U(3X[?)8UO? M7>W#E46A5:T+&(+3XK%" &ST>()@J&Y#/U!WB9@C[5DC&+13.'R5=&A"42;C MHDQ,'=&\P>:[_]L+I A835'L 7:]EM'7U,#]8 /7N6$TH,&!#T@.7$='FMPM M'C4[L!D>)X@.;7NW$GD/C&#-$7P$D'1HND6)D"U)P.DB"=8HP7VS!#? 9.0Y M=DL2:);@?F""&VC2K@^:)7! EA1:;L4D;3&H00)=('&'8V>G*C%'VK-*0(,$ MC@"2#DUO=Y" !@GT#1*H@X2HY+3;TE.#!/H!"=1!8C2@00('! G409(F=XM' M#1+H HD]=.EN)?(>( $-$C@"2#HTQ]N78KLDB=U%$M D@;Y) G62$ RM=W)- M$NB')% GB4&?:)*0 Y*$U-]*TAQO\:AA0KI@8@]'NSURF2/M62E$PX0< 28= MFJI"\E*!<5>!D,J_8'W#A#2\E4#[O9QHF)!^8$(:WDI,!C1,R %A0NHP4?_6T2SA/3-$E)G":7@V6UI MH&%"^H$)J"6N1NJ M44*[4(*'L-O#ECG2ON6A44*/@)(.39RA!!4@0=!9(QHCM&^,T#I&L&-(4XT1 MV@]&:!TC)@..QHAS0(PX=8RH#&^QJ"GB=%/$W6VFQ!QISS)Q-$6<(U"D0_,- M,R6.IHC3-T6Q!+W_X^#5F5M M2!W)?)E)>;1KTW1I^=+?#XSH<8O00%_4$WMH:<,B'S5 M3+XCXU6V4N4^EC(.L\TE9PLNTA/4[P]Q++<[J4"Y=FGV$U!+ P04 " F M@(%8#9L?CA * "T:@ &0 'AL+W=OUOH\@=Q_^5D5M5=U(;\VPGET3:F+GN5MTF36[W5%5]0>QQC-: #W >I/OC M#S#Q>(#\8.)O]\VN[3"?'WP'#WP8$LZ?DO1;MA(B9\_1.LXN1JL\WYR-Q]E\ M):(@.TDV(BY^LDS2*,B+M^G#.-ND(EA4C:+UV#(,;QP%83RZ/*\^NTDOSY-M MO@YC<9.R;!M%0?IR)=;)T\7('+U^9Y MB0B*_Q[%3*S7):E8C]]JZ&A?LVQX^/J5_G.U\<7&W >9F"7K7\-%OKH834=L M(9;!=IW?)D\?1;U!;LF;)^NL^I<]U/=_\%P'<="@ MX'0WL.H&5K.!\T8#NVY@-QMX;S1PZ@;.T INW:#:]/%NVZO@_" /+L_3Y(FE MY=(%K7Q1I5^U+O(*XW)'N0ID'9D3^RO[$O=S[[X<\_GH_SHFS9>#RO2USM2EAOE##9YR3. M5QGC\4(L.MK[/>TM C NMG>_T=;K1E]9)/$?07S";/.OS#(LNV.%9L.;6UW; M0S?WQ9RLSH8%<\YZT]8!6DHOJR+=@\B8H1* NJ[[!X+E^+K@XG MB>78=I9M@KFX&!6#5R;21S&Z_,N?3,_XJ2ML),S?P;P*5@Z2CY>F9UM3[WS\ M>!AQ>S'/M:>.O5],B=+91^F0418[QK88;:N>8?_]+*)[D?ZO*S\2HYL?$N8C M81P$4_K"W?>%2_;%+(FB8BB*1.GV!Q+F[V#NP8[J MFA/7:.S.H))*T-X^:&]XT(_!>MLY8I ,W821,-]K#06N8QC-A$$EE80G^X0G M0X<5FQQ62(QNR$B8CX1Q$$SIB^F^+Z:X885$Z?8'$N9/6\.*9[1W>E!))>C3 M?="G@&&%9.@FC(3YI^UAQ6PG#"JI)&P:\MS?H#/>1MMU=8+/9DG\*-(\O%\+ M=B?24&3L [LII$VD:7%B>%=V0^>I/UE!MP>@-!]*XRB:VE<'GF:2?27[XF#L MR3J[A 1I=PF2YM>TPX&G_%:TOQ@#%E2#M&20UGMV^L:^_A.KO"ACG]XDZ MVCDC:7Y-4P9XNWW>V+N8FK%42I-V2LV,K[=YE@?Q(HP?.H.&ZB:4YM>TWJ#[ M%E.#EL)ITL8Y-.B;(&5?WSJ(TC6T\X7Z:$V;' 1GG!AF,]Z>I=1TI4*:/0Y) M'A^O!AT?H6H)I?E0&D?1U+Z2%FK2&JIQ?(2Z*)3FU[3#<:)#1ON64B.4FFG2 MGHD[,D)%%$KS:]IA=JUXJ474;*4VFCW>B#TB0LT22O/-MENV J8640.6NFC2 MOECEQZXWY:7KC/W.9OR:O%9"X[0CA+HCE,91-'6J14JF14OFW],@SMDR"-.= MQK-DR38BW0W073U#\W1[IJ8=GAJ8)X:M[I$^M"9'T=3$I2I:M"I^3A(_A0L0+]A** M=>?1D"9I9VVULC::02,+'A(Q4,1<'T"S3;;=+X*LFK8WIU9)]4Q MMK,#H")9TY1+0!/+;9X-^]"J'$53\Y?*:='*^;-RG.P-'&J7-4V9/)],K:G9 M#!SJC2B:&KCT1JMO^C+.TV">;X,U*\:7J#-FJ#'VK)!IL!<1I%WJZD-7A*-H M:O)2-RU:-_>'T'6X%&]G#W7)GE5RB>BA4Y@HFAJ]M%&+ME'^+-)Y6 SJFS2< M=Q]+H899T]23<--JCBO(FAQ%4R.6/FH-]]&]B#:\M'C[.K?_RY.(\_*_A+16 MNJAVMT"M%4KC*)IZ3YRT5AMLK31/^YZX0=8*K;QGE6 MWT_!MIOBB[,_^]S=:E%TPOS@OH#.?H":K=V>AG0G[5-0:%&.HJD=(=76IM5V MP.4#FJ =6]IJ-2X?T"3MK.W>RP?0@AQ%4X.6/FO3 M/JMQ^8 F:0?M#+Q\ "W+430U;JFO-E)?:9AVXFU]=4\=:]+,&VJO*)J:M[17 M^WA[I1':*;_?7J$KPE$T-7EIKS;"7FF(=O;OME?H>G 438U>VJM]K+W2 .W8 M!]DKM"9'T=2(I;W:[[/7Z^6RB#RE#'95'FPIAZ5+:W<.U&&A-(ZBJ;^,)!W6 M 3NLT[9.XV32.!&?T56U?^$(ZK HFIJX=%CGNSBLTW'S:VF=1K,GH/?F0FD< M15-[0DJL<[3$.EW::9\V,X;>EPNE<11-S5A*K .36*=7.V=T,>V@H1*+HJE! M'_Q:*4QBG6[MM-W6?HW43A]*XRB:&K>46 Q=*XRB:&K&T6.?_-0=['=,.2Q?6=5@HS8?2.(JF M_A$'Z; NV&%IGF[/N(/F8:$U.8JF)BX=UOTN#DM7T>Z'MA$[[=\:]:%%.8JF M=H146/=HA:4)VB$/FH>%UN0HFIJQ5%@7IK T23OK_GE8:$&.HJE!2X5U80I+ MD[2#'CH/"RW+430U[H,_?H146!JFG7A;B!W3=EJ[-]1@430U;VFP[O$&2R.T M4W[_/"QT13B*IB8O#=9%&"P-T<[^W?.PT/7@*)H:O318]UB#I0':L0^:AX76 MY"B:&K$T6/=]!LNCS3IY$2([:B:6+J[=/5"+A=(XBJ;^A3QIL1[88KU!,[%T M5=W$H32.HJF)2XOUOHO%>AW>:1F.U>P(Z$0LE,91-+4CI,5Z1UNL-V@BEJZC MG3'48E$T-6-IL1[,8KW^B5BZF';04(M%T=2@I<5Z,(OUAD[$TB6UXX9:+(JF MQBTMUD-:K-?V3MLXM9KS)71-[;RA%HNBJ7D?_"7?XRVV!T'-P])-M9.'6BR* MIB8O+=9#6&P/A)B'I5MJ1P^U6!1-C5Y:K$=;+$ZQBI]_#N,PVD:D=='KHVM= M4)H/I7$43>U9*<\>+<_]UR=J0$.SFG?NT&6T(X:*+8JF_F%R*;836FRQ7Y[@ MN??+0Z^/[I<'2O.A-(ZBJ3TK!7I""W3_EZ<&]-R>0I?1CABJQBC:+N+QP5-X M(I$^5(\_RM@\V<;Y[G$L^T_WCUCZ4#U8J/'YE7DV,SL^]\TSOGN DL3OGN?T M.4@?PCAC:[$L2A5#6'$>F>X>D;1[DR>;ZAE ]TF>)U'UP=B#,O\/W(XX06.(W=W$JFL3AI1@M8 M2:1.G!/Y,@$FJ@3W\65B38^YMA->&I?D"!O0C^5*FLAK6?:40Z&H*)"$0X+' M_=$DLODNX3>%2EV-D:UD)\23#7[N$^Q;0\ @TY:!F,\9IL"8)3(V_C:T/)E@BGW1E6=.P@Q MRDY*"]Z C0-.B_I+GIM]N ($P0U T "Y[L6+^=*$#S/0A#+U,?:TT;'9 M7M9P3FK.X ;G#+(>&O0_H< / O2XF:&']__1>,9FZS5HO0:.=_!&KUT.:Z9A M-Y,]Z2-5D@P2;(ZR GD&G'YXUX_\KW=\#EJ?@WOLMG[@.Y"7/1AV&:PI(D=A M.^><#GSSQ-ZY0WG8*@_?I!QV*=<4X97R#=6P50W?I!IUJ8:O58U:U>BNZE9H MPM""%I2?.%J1%W-5:-4E';UJJ[VK)K+WT8+((RT48G P.+_WV7B7=8_7@1:E MZZN=T*9+W3 WUR)(FV#6#T+H2V!;M;UHTW]02P,$% @ )H"!6%3HD"'K M P 9A( !D !X;"]W;W)K&ULK5AM;Z,X$/XK M%K4_X^@XQMQY9K[3H>TU4B M58<]&:WI"IY _EP_<&S9+4NB7'EA M[%4UOL5CRU$S@@PBJ2@H_FU@#EFFF' >_S2D5FM3 ?>?=^R_5\ZC,R]4P)QE M?Z>Q3,;6C45B6-(RDX]L^R _0:0.\8T#\#Z#> _C%@< ;@-0#O&."= ?@-H'+=KGVOA NHI),1 M9UO"U6AD4P^5^A4:]4H+E2A/DN/;%'%R,O]Q__PXG3\_D>E]0*9_/(;A(KS' MYE4 DJ:9(/>4.2!2MD(DA8 MQ!!WX(/_P/VWD^ZVD9O]/BFO3=+Z3G]/H=$YKKX0OZOD,[7>[H MT0%$6N/A_X?W-%KTVRSH5WS>N2Q@>9Y*"4#F"4WY&KA@15>0M32JJ-V)-8U@ M;&'5$L W8$U^_<4=.+]U"6R2+#!)%AHB.XB%U\;"T\;B6Q%AQ1<0$UH4)@79^60*3LP@-D1UH[CH?IP='Z^6/M3KN";(L MLPPK#9X?8U"G!2PX& N9 *$Y*PM),""IS#IW_C.]C4O#TK#ME]6^XSFWAQ4B M,&HT-,5V&(:]0YRKW\_@?G&W710TPQ-_I\[N257T;DYJYUQOZ]("8Y0M-,56 MZVSOG9MSX*OJPD)@'F/&UH>GMK>]%)E65P%'_3/W;NYV] ?J$J4ZIW_0US

8K[R^E*C;DBVKD[M+TQ*EE>/"5!<76H OE\R)G<-9:"] M6IK\"U!+ P04 " F@(%8<_%,IBL# "+"0 &0 'AL+W=O M.;7:F%JX/W[S?E4GKY)Y( (R1N^+A5SUK=A""UB2#953MKV&74*!]IYQM$=?6RIL>U+6IU2J;HM+;.)-B#7)H6^IDR: /X.5?OK@A/B;*?G_Y.R@%%Y;"N^4]S1C95D(?42%*<]& M'-9B?3\\I^JVB+VH9S_O9] U\WTWQD%K=L#FMVS^2;8)>>6,4C2H%F@*E$A8 MH(P):21M7 4'I [&R1%IU\SQ0HRQF31H28.3I,."JTN*<70%8*0+.F&]* SP M$9S!RM^W.F +6[;P)-N,4!!H3EZ0JB=YH&#B"SN1@P@?[W+7Z*OC!8X9+VKQ MHI-X@SSG&[6Q]X1S4LE7=%8Q"I]2?*=\)?RPJ@2@LE1"?1RHUWG3^9B+9NFZ>#TRJ5EP/5^IK";@V M4.M+IM[/W43WX_;[*_T#4$L#!!0 ( ": @5CEQQ@LL ( )@' 9 M>&PO=V]R:W-H965T570KJ. M("6DT_;0+4K757MTX1*L&CNSG:3][V<;0FE#6!_V K:Y^_ISAWT7[[AXD 6 M0H\E97+L%$JM+UU79@646)[S-3#]9BI4KUP)P;IU*Z@:>%[DE)LQ) M8KLV%TG,-XH2!G.!Y*8LL7B: N6[L>,[^X4%617*++A)O,8KN %UNYX+/7,; ME9R4P"3A# E8CIV)?YF.C+TU^$5@)UMC9"*YY_S!3+[E8\ [)(RU5C,#FQOKK:,AS/S%&R7T5Z+]5#))T\7MU0S=31:+ MR?>?O]')#!0F5)ZB,W1[,T,G[T]C5^F=C+V;U:K32C4XHNH'Z)HS54ATQ7+( M7PJX&K'A#/:]"#$S9I"ZU>^,:T=:6H4AAT M*YC;>2G7.(.QHZ^?!+$%)_GPSH^\SUWA_2>Q%\$.FF '?>K)%%:$,<)6:))E M8@,YNL-"8*:>4,JEDEW!5XJ153259)M$%Y[GQ>ZV'=6_K%[@#AO<82_N7/ M ML55&7_1GU*M'7?DD=,%6>L,61A!]\OU7L!U6 W]XT0T;-;!1+ZPNDXJ"+HL* M_5BV\DHQ*3L3&QU0G$6#0]@.LQ[:44,[ZJ75M_GH,>B"'1W\W] [/ 6'5EVG MP&T5N1+$RM9^B3*^8:JJ(\UJTUXFMJJ^6I_JME-UB6>9JF==8Z%/ND04EEK2 M.Q_I_(FJ#U03Q=>VE-YSI0NS'1:Z=8(P!OK[DG.UGY@-FF:<_ 502P,$% M @ )H"!6,RW_Y_[ @ #@L !D !X;"]W;W)K&ULK99K;YLP%(;_BL6FJ96VS M#2&A(LY4]4NPS7E?GN-PS!EN*7OA*8! NR(G?&2E0JP&MLVC% K,K^@*B+R3 M4%9@(:=L:?,5 QQK49';GN,$=H$S8H5#O39GX9"N19X1F#/$UT6!V=\QY'0[ MLEQKO_"0+5.A%NQPN,)+6(!X6LV9G-FU2YP50'A&"6*0C*P;=S!Q?270$3\S MV/*C,5*I/%/ZHB9W\5E Q/(<^4D.?Y4IE;]3"4\'N_=;W7R M,IEGS&%"\U]9+-*1U;=0# E>Y^*!;K]!E5!7^44TY_H7;B<$/B50.^<79+IM*98X'#(Z!8Q%2W=U$#O MC5;+;#*B_L:%8/)N)G4BO/L^^7$_0X\WOV<+=#$%@;.<7Z(OZ&DQ11V MD$]1L794.8Y+1^^$H^NA>TI$RM&,Q! W#6R)5S-Z>\:Q9W2<0G2%?/\0[-=O*,YX#&0"#)1!MH[RRH*:(!VJ]!^\:JF4("$C5N+9O^>Y;-.YDU MLKRNL[Q^:]E"JED<@4TB3R M#D2>D6C_7I8%).NG*A]#]52.1E)32)/T\-EQC0=^.&=TD^GV279O1P4/O!72 M/WM,&T-*2/NHLRB +77#Q5%$UT24'_!ZM6[J;G0K\VI]K)H]W;$<;,I.\1ZS M948XRB&1ELY53VX:*YNON[WFAFU/&G:AOUVYDU!>ESAB'&TE4 MF>=4/@\A$YN!TW&V"[=LE6JSX$;]@JY@#OJ^N)$XLG^SVE'+@BH8B>P72W0Z<,X=DL"2EIF^%9OO4.OI&;Y89,K^DDT=ZSDD M+I46>0W&#'+&JR]]JNNP ^B$KP#\&N"_!'1? 00U(+!"J\RLK#'5-.I+L2'2 M1".;&=C:6#2J8=QT<:XE[C+$Z6AZ-;J>3_)G!R-05.6*=(Y)J?D?CXF M1Q^/^Z[&>$^)X?M"0T>CO2#H4L:"?3/]ITQV^M:,M@>T==7=L+0>Y MLFZO2"Q*KBOO:%:;!^72^NB+]2$^--6[\(^F>J5F5*X8%B:#)5)Z9Y^Q*[)R M_FJB16'-R8.Q5#QZ6$\/21)!!++4$43\;F$*6:27%\>]>U&B>J1W;U^_J7ZK@53 + M(F#*LK_3I4PF1FB@):Q(FT3T7*P_3,.>.^ 3QW<,P[.WL&I JW)JK!F1))HS-D6<6VMU/1%E9O* M6T634KV,<\G5W53YR>CAV_3[XSWZ\_:?^SFZF($D:280OD17Z&4^0Q<_7XY- MJ9ZCK?;-_Z MK2^T3Q(["M1M G6'U*,'&K,R.5^$T[KAY#'(;J]+$:PR-FKV'V!IE?YDA((DO)^!N*&2\8)[)-C?2X M#[W6#5M$UC4.3[!_8'2$[#?(_D?2K-E@IPYH 0H\+TH)2T0D^O\1^=T*W5P#:V M[>#T5>S:>9YC65[_HHV:*$:#43QQMDFK*BT9*GC*.'H#PNOW#&3):1_SJ,-R M9=NA^K@GT%U#Q[<(T"7:$LX)[<_U M7K;-XWH!MDZH>\SLT+$"_PQWJ_S:@]R_JTX+O10JVS-82'2_DVJSE*E(5*LD M>X'M#DD'=LCDF!,?./$@YR.0K,[F/97 59M SQ+B[A([;G *V;4Z!WDHR_9@ M,8R^RP1X+Y+3?3WQ"#O>*537SG$=RST#=BBC]H?J:/N OU@ A54J^_NK;G'L M+/*028UIMMK"'/BZZI:%JB EE77OU>S-_I3KUJ-P\R=9O_2/@Z M5=LL@Y62M*X#E3I>=\[U0+*B:CX73*I6MKI,U+\-X-I W5\Q)M\'^@'-_Y?H M/U!+ P04 " F@(%87EE0 ?0# <#P &0 'AL+W=OD<-))_6[!TPG;"TH* MO."@VNM\P EGDX :MP1ROA"GAAB6N652Y'](0 M)I[G3=Q#/Q4#;.SU86F+ M.GV15=]UEO&]7#2/*$-JPS')B[2.HT"7IZ."9%!>W,F+K?)^(,Y1(:RC%VL= M&V97!\'+077C3MWXE"94^C&^E1:S!CN33N M:G E7NHZ_3#6A>JX 9'0.QF(9Y7YK<1E7@),+E:S4*B7>A0;5H(!&,;! M<$7!DXM!JV>DCXCNZ_D'UU0>OE"1&8N^9>D+&(VCEJKQO,!M!K:_ST@_"ZV M\\Q/[@;M]F:M6LN,Z68&$]/:TG$^'-X2X8+CTO065]@=0L0:W M/_>DE#<+XQD'ZOXV@H'!I4U W[,4[LD+H=T,'Y@T&J,VW=I&YO5O %H+X.2" MT&Z#:O\S%&L]KJ_MW8EV+M1TVR"-8K=W=5'WQB^(;TE1 8HW,L:[&,ND>7,5 M:QJ"E?5M9L6$O!O5CSMY?<5< >3W#6/BI:$N2-V%./T/4$L#!!0 ( ": M@5@C^9A:$0, %L) 9 >&PO=V]R:W-H965T(D%DR>\PI+>I%P43-%4 M+&Q9"62) 16Y[3E.WRY85EK1R*S=B&C$5RK/2KP1(%=%P<3].>9\,[9:Z)2,;/+:?5;*F!N^,']O?&.WF9,XD3 MGG_/$K4<6P,+$DS9*E>?^>8#;OT$FB_FN32_L*EC@YX%\4HJ7FS!I*#(ROK) M[K9YV $,G , ;POP_@"XAW;PMP#?&*V5&5M3IE@T$GP#0D<3FQZ8W!@TN%4='D]^71U 5_.?ES,X/44%PQOX>ML"J]?'H]L M1?MIE!UON<]K;N\ M^O!%2_54L)%F6#RF, FH8U:[T'MN=?).,7X!'SW#7B. MY[<(FCP=[G7(\9OD^8;/?T+RVM)3HWOM:/U]GLJ*Q3BVZ .4*-9H1:]>N'WG M79NU_T3VR&BO,=KK8H^NJ9U\JE#71+F CUQ*F%")W%,7V3"1R#;S-6/?,.I> MLHX\)QSV'<<9V>M=8_N!;M@+A[N!CT0'C>B@4_1,,87P'.DU;_!(D1OX^]*# M?>G^P \.2N\WTOM_S3?U(A0"$U#L#IB4J"1D94RM6M+BFN4K5C?"G#HQ*V-L M<]+?AH'?XK%3Q3,]#AJ/@TZ/4Y2Q MR"KCAJ>08D(%F4/,1<6%KE+M6P_:''93'^:BK-;5 JG@!?C!$2@.GGL$5/LF MZAZ9D##'15:6^NM@J4(!U"6QF-.@[I1NV-:-.D7]:S;MG?.K0+$PQ[HD2ZM2 MU4=9L]K<',[,@6G_#J^O'5=,D!L).:8$=4Y"JGU1'^7U1/'*G(9SKNAL-<,E MW7Y0Z !ZGW*N'B9Z@^8^%?T"4$L#!!0 ( ": @5CO/ [0L@( -\) 9 M >&PO=V]R:W-H965T MNQ"II)W6#[R(TNVSFQPD:F)GMB&=M!\_VP$/4(C:B2_$/OMY?,^=#U]04?;" M4P"!7HN<\+&5"E'>V#:/4R@P[] 2B%Q94U9@(:=L8_.2 4XTJ,AMSW'Z=H$S M8H6!MBU8&-"MR#,""X;XMB@P^SV!G%9CR[4.AF6V284RV&%0X@T\@G@J%TS. M;,.29 40GE&"&*S'UJU[$XW4?KWA1P85/QHCI>29TA4C&EJ,<@AQBH1BP M_.P@@CQ71-*-7WM.RQRI@,?C _LWK5UJ><8<(IK_S!*1CJVAA1)8XVTNEK3Z M#GL]/<47TYSK7U35>[N^A>(M%[38@Z4'14;J+W[=Q^$(X/8O +P]P#L'="\ M_#W UT)KS[2L.RQP&#!:(:9V2S8UT+'1:*DF(RJ+CX+)U4SB1!@]/:[FT_LE MBN:SZ'ZV6MZN'N8S].D.!,YRCF:8,:PB_3FPA3Q/H>QXSSVIN;T+W*Z'II2( ME*-[DD!R2F!+1XVWWL';B=?*> =Q!_GN%^0YGM_@4/1VN-?BCF^"YVN^[J7@ M41(#$2I \D8N,_Z"%L"4219 4[QJNJ&F4_6U"YV.&]B[8PFM1ZJBON$ECF%L MR:KEP'9@A1\_N'WG:XN@KA'4;16TJBB*]*4#UN1_*_KMOM5"KT1V(K1GA/:N MF[E>0^:\P5GJ6L_\3T5]HZC?JFA.H#5UK>CWINY*9"="!T;HX+JI:Z5[K_)! M4P5WS3TX430TBH9OKCJ._J E[(!L&[6T$KU7RY7(3C2/C.;1=;,X:BK L_IK MVN.>Y<8^>BMEO#>ZA> HIELBZH?(6$V7ET!O)_@=7M1#T1M-0O\C,5,NEZF,H.#)C:(-?7E(K#1!U@>KKP+U!+ M P04 " F@(%8*;TA7B,# #L$0 #0 'AL+W-T>6QELAF1M3?8SC>CIG):W/5,6D10JE M2VIL5\_BNM*,YC602A'W.ITT+BF79#20B_*Z-'4T50MIAN2\#47^]B4?DFYZ M3B(O-U8Y&Y+[D_<_%\IC#T5'G_O1J/W[B@%,2!T4O7B!ZUL%U+89) MI[O2;OBQ%?+$8XQV&:#9+!LF=!PY;M9M-"B4W"Q?0GS JM.210]4#,F8"C[1 M'%@%+;E8^7 / E,EE(Z,W3>;K@N1^M'#7=^#+6UT2BZ5=KE]!O]WT@S? ]8] M,,B%: WVB ^,!A4UAFEY;3MNL L^@:*F?;>JK,.9IJMN[X)L".YFDTR4SIEN MTW3).C0:"%: 'QH[TL MMO:M [LFVZ8UU#2]C.^ _K::U]Z6?9UN5/$'93XO['2DZT.!LAO-"KYT_671 M&L#4N[@ZK2JQ^B3X3);,3_[%"4<#NN9%G.3:76$$XW@LC "&Y<$<8!S/ MPO+\3_/IH_/Q&.:M'T3Z**>/(4\7P?8GCY7(=A,\4K$9HJO-2#A=0-&EH5W M&\L##&P7L-J!_.$\4%-A3I+ KF+>L"<81[(,0Z 6PS6:ILCJI/ )[P_VE"1) MEH41P,(.D@1#X&G$$,"0)''GX-YY%*_/J7CS^\[H-U!+ P04 " F M@(%8EXJ[', 3 @ "P %]R96QS+RYR96QSG9*Y;L,P#$!_Q=">, ?0 M(8@S9?$6!/D!5J(/V!(%BD6=OZ_:I7&0"QEY/3P2W!YI0.TXI+:+J1C]$%)I M6M6X 4BV)8]ISI%"KM0L'C6'TD!$VV-#L%HL/D N&6:WO606IW.D5XA-/E_G;@2=&A(E@6 MFD7)TZ(=I7\=Q_:0T^FO8R*T>EOH^7%H5 J.W&,EC'%BM/XU@LD/['X 4$L# M!!0 ( ": @5A&JS$:7 4 $4P / >&PO=V]R:V)O;VLN>&ULQ9I= M;Z,X%(;_"LK5[,TF?,]4324*;H.40A9(=KHW(YJ0*1H2*J#M[/SZ-:2=VJG[ M:F].>Y4 $7DP]GF.CWWZ6#<_;NKZA_9S5^W;Z>BVZ^Y.QN-V?5OL\O;/^J[8 M\RO;NMGE'3]LOH_;NZ;(-^UM472[:FQ,)LYXEY?[T=GI\[T6S5@\J+MBW97U MGI_L3ZS*XK%]N=X?:@]E6]Z45=G].QT-WZMBI.W*?;DK?Q6;Z6@RTMK;^G%6 M-^6O>M_E5;INZJJ:CO3#A571=.7ZU>FTA\SRFW8XT^4W2;P M;!V'$EJJ.2GYA2;<#'B$*'&4QO,P\#(6:.?>W(M\IJ4SQK)4 #0 H/%A@-JG M12Y F@#2?$?(-.,?5RSB@/&%%B]8(D!: -+Z,,ATYHF0-H"T/PS2]]*9 .D M2(<6,F"IGX2++(RC'NQ\F8812\4!XP(XEQ8N75Y=>%&CLKV6XZ(>#2 ?=02R/,,J\Z#(\GS/-2U-9&3IRADXLC3GS M4JEGZ4@..K4=O$68>?/PGSZDQ1?9WU[">$];L7G ML"0=AFIV+:(A(^C$2N#O]"K,#B+M TG_1OD;9I$OQU\=&4$G5L)3-WM"]"X3 M=E"_R(<$H1,;@@LT6?(1S+XN6,2CRX 99S.6:/XR$=,G QG#(#;&,R8/,@GW MOM@'#>0*@]P5O!9E:H=3>00D]@ABA1+ MR8B<8M+7JY1IS!.HB D+5L1R@=F,W"617$QBN1QG,\K7C;1BDFOE):U1PB&O MF-13$JAF2\1$7C$_LF+US18QD5Q,8KE@3$?$1+(QB66#,5VQ%HUD8Q'+1LK' M@J++RTH:.!82C44LFJ-JX&] +P:B"FY MQH++(\2N4:2WJGZ);&.1V^8M1$V7()%U+&+K $A#@D3.L=Y_+B..<1$3.<=Z MIPF-JB,BR5C$DCGBDGN?C;QB$WOEF$SJD@I3C$2D&0 MLOD1<%SRVIB*3PKA+C*-^XYK^6_$;A24'XIM$-!*LONVG(%]4 ]Z$G%&J$!<_@'ZA(#'EW)HQGU[ M&G;[;EA\'@^G857MQK'[5=?#>E>.S7#7=N5T/K)I^V,SGI?]MNZ:]7NS+;4L MEU'WMS.JI\?;F8O7KZ[\S\1VL]FOR^]V_>=83N,_!M@WD*@MZ#>0J"W3!ZV"?06 MU%L(]!;46PCT%M1;"/06U%L(]!;46PCT%M1;"/06U%L(]%;46PGT5M1;"?16 MU%L)]-;)RQ("O17U5@*]%?56 KT5]58"O17U5@*]%?56 KT5]58"O0WU-@*] M#?4V KT-]38"O0WU-@*];?*RFT!O0[V-0&]#O8U ;T.]C4!O0[V-0&]#O8U M;T>]G4!O1[V=0&]'O9U ;T>]G4!O1[V=0&^??*PDT-M1;R?0VU%O)]#;46\G MT-M1;R?0.U#O(- [4.\@T#M0[R#0.U#O(- [4.\@T#M0[R#0.R8_FQ#H':AW M$.@=J'<0Z!VH=Q#HG5'O3*!W1KTS@=X9]F?4.Q/HG5'O_)-Z#^/7H0S7 MGN\U7O\GJ1[/YY;KY2_+[YV3N_>"!7J;)% MC>O?,(BR ;8#BWD!3W+;1DUBRW8[Y>UQ4D":$52@(LW9-&IMWW/C*WVK7O]Z M\A1GA[X;XK+8I.2O&(OUAGH;2^=IR"LK%WJ;\M>P9M[66[LF)A8+PVHW)!K2 M/(TUBIOK.UK979=F]X?\9WMA^:?E/E+ M0IE/3GOBIO7Q(F\HV+L)X\K' 2_G'O840MO0[-&&]-/V>1<[="RFIXYB>;K$ M.SVZU:JMJ7'UKL]'RN@#V29NB%+?E<>B%Z>34[YA.G[RL_.G,J<"\\['X'S, M$POT];C7D8RGYSX7HI#:TZ_XEIA+G_U^-$Z[H>:3V?EZ_[BPG>81V?0X_X[_ MGO%;_2_V(4#ZD"!]*) ^-$@?!J2/"J2/2Y ^?H#TP1I:];8?7?#;]H?7F&5!+ 0(4 Q0 ( ": @5@'04UB@0 +$ 0 M " 0 !D;V-0&UL4$L! A0#% @ )H"! M6"Y2A +N *P( !$ ( !KP &1O8U!R;W!S+V-O&UL4$L! A0#% @ )H"!6)E&PO=V]R:W-H965T&UL4$L! A0#% @ )H"!6&P7\R1.!P DR$ !@ ("! MX0\ 'AL+W=O0, P/ 8 " @647 !X;"]W;W)K&PO=V]R:W-H965T&UL4$L! A0#% @ M)H"!6(S:HIU/!0 G1T !@ ("!I" 'AL+W=O@( )P% 8 " @:I: !X M;"]W;W)K&PO=V]R:W-H965T&UL4$L! A0#% @ )H"! M6(<3]_NI P &PO=V]R:W-H965T&UL4$L! A0#% @ )H"!6$%:Z])^ P ] < M !D ("!L' 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ )H"!6,X-4\LB P Q08 !D M ("!XH, 'AL+W=O&PO=V]R:W-H965T M&UL4$L! A0# M% @ )H"!6&C38;L\ P 6 < !D ("!_(X 'AL+W=O M&PO=V]R:W-H965T&UL4$L! A0#% @ )H"!6 ^M M%'1#)P :8$ !D ("!QI\ 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ )H"!6.T)&FWJ @ 1@8 !D M ("!],T 'AL+W=O&PO M=V]R:W-H965T&UL4$L! A0#% @ )H"!6/(]TZEI @ J04 !D ("! MF]@ 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% M @ )H"!6#E<(0-# @ )@4 !D ("!M^( 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ )H"!6$-/J73E P <1$ !D M ("!J_8 'AL+W=O8% #9'@ &0 @(''^@ >&PO=V]R M:W-H965T0 0!X;"]W;W)K&UL M4$L! A0#% @ )H"!6&$EA3H0 @ Y00 !D ("!> ,! M 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ M)H"!6*<)=!!S @ 3 8 !D ("!ZPL! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ )H"!6,-G]K9? @ =P8 !D M ("!2AL! 'AL+W=O&PO=V]R:W-H M965T&UL4$L! M A0#% @ )H"!6/V9%KC] @ !PH !D ("!X",! 'AL M+W=O&PO=V]R:W-H965T!>0( .,% 9 " M@;TI 0!X;"]W;W)K&UL4$L! A0#% @ )H"! M6$ TN-W^ @ >@H !D ("!;2P! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ )H"!6&.4-!UL P X0L M !D ("!6C&PO=V]R:W-H965T&UL4$L! A0#% @ )H"!6 1. IR!0 QR0 !D M ("!$$0! 'AL+W=O&PO=V]R:W-H965T M(@( '0% 9 M " @0!4 0!X;"]W;W)K&UL4$L! A0# M% @ )H"!6%3HD"'K P 9A( !D ("!658! 'AL+W=O M&PO=V]R:W-H965T&UL4$L! A0#% @ )H"!6,RW M_Y_[ @ #@L !D ("!Q& ! 'AL+W=O&PO=V]R:W-H965T1F 0!X;"]W;W)K&UL4$L! A0#% @ )H"!6%Y94 'T P ' \ !D M ("!_FH! 'AL+W=O&PO M=V]R:W-H965T&UL4$L! A0#% @ )H"!6"F](5XC P [!$ T ( ! M6G4! 'AL+W-T>6QE $ 7W)E;',O+G)E;'-02P$"% ,4 " F@(%8 M1JLQ&EP% !%, #P @ &1>0$ >&PO=V]R:V)O;VLN>&UL M4$L! A0#% @ )H"!6,?7 XML 87 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 88 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 90 FilingSummary.xml IDEA: XBRL DOCUMENT 3.24.1 html 131 375 1 false 60 0 false 5 false false R1.htm 000001 - Document - Cover Sheet http://tomz.com/role/Cover Cover Cover 1 false false R2.htm 000002 - Statement - CONSOLIDATED BALANCE SHEETS Sheet http://tomz.com/role/ConsolidatedBalanceSheets CONSOLIDATED BALANCE SHEETS Statements 2 false false R3.htm 000003 - Statement - CONSOLIDATED BALANCE SHEETS (Parenthetical) Sheet http://tomz.com/role/ConsolidatedBalanceSheetsParenthetical CONSOLIDATED BALANCE SHEETS (Parenthetical) Statements 3 false false R4.htm 000004 - Statement - CONSOLIDATED STATEMENTS OF OPERATIONS Sheet http://tomz.com/role/ConsolidatedStatementsOfOperations CONSOLIDATED STATEMENTS OF OPERATIONS Statements 4 false false R5.htm 000005 - Statement - CONSOLIDATED STATEMENTS OF SHAREHOLDERS EQUITY Sheet http://tomz.com/role/ConsolidatedStatementsOfShareholdersEquity CONSOLIDATED STATEMENTS OF SHAREHOLDERS EQUITY Statements 5 false false R6.htm 000006 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS Sheet http://tomz.com/role/ConsolidatedStatementsOfCashFlows CONSOLIDATED STATEMENTS OF CASH FLOWS Statements 6 false false R7.htm 000007 - Disclosure - DESCRIPTION OF BUSINESS Sheet http://tomz.com/role/DescriptionOfBusiness DESCRIPTION OF BUSINESS Notes 7 false false R8.htm 000008 - Disclosure - SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES Sheet http://tomz.com/role/SummaryOfSignificantAccountingPolicies SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES Notes 8 false false R9.htm 000009 - Disclosure - INVENTORIES Sheet http://tomz.com/role/INVENTORIES INVENTORIES Notes 9 false false R10.htm 000010 - Disclosure - VENDOR DEPOSITS Sheet http://tomz.com/role/VendorDeposits VENDOR DEPOSITS Notes 10 false false R11.htm 000011 - Disclosure - PROPERTY AND EQUIPMENT Sheet http://tomz.com/role/PropertyAndEquipment PROPERTY AND EQUIPMENT Notes 11 false false R12.htm 000012 - Disclosure - INTANGIBLE ASSETS Sheet http://tomz.com/role/IntangibleAssets INTANGIBLE ASSETS Notes 12 false false R13.htm 000013 - Disclosure - LEASES Sheet http://tomz.com/role/LEASES LEASES Notes 13 false false R14.htm 000014 - Disclosure - CAPITALIZED SOFTWARE DEVELOPMENT COSTS Sheet http://tomz.com/role/CapitalizedSoftwareDevelopmentCosts CAPITALIZED SOFTWARE DEVELOPMENT COSTS Notes 14 false false R15.htm 000015 - Disclosure - CLOUD COMPUTING SERVICE CONTRACT Sheet http://tomz.com/role/CloudComputingServiceContract CLOUD COMPUTING SERVICE CONTRACT Notes 15 false false R16.htm 000016 - Disclosure - CONVERTIBLE DEBT Sheet http://tomz.com/role/ConvertibleDebt CONVERTIBLE DEBT Notes 16 false false R17.htm 000017 - Disclosure - SHAREHOLDERS EQUITY Sheet http://tomz.com/role/ShareholdersEquity SHAREHOLDERS EQUITY Notes 17 false false R18.htm 000018 - Disclosure - COMMITMENTS AND CONTINGENCIES Sheet http://tomz.com/role/CommitmentsAndContingencies COMMITMENTS AND CONTINGENCIES Notes 18 false false R19.htm 000019 - Disclosure - CONTRACTS AND AGREEMENTS Sheet http://tomz.com/role/ContractsAndAgreements CONTRACTS AND AGREEMENTS Notes 19 false false R20.htm 000020 - Disclosure - ACCRUED EXPENSES AND OTHER CURRENT LIABILITIES Sheet http://tomz.com/role/AccruedExpensesAndOtherCurrentLiabilities ACCRUED EXPENSES AND OTHER CURRENT LIABILITIES Notes 20 false false R21.htm 000021 - Disclosure - ACCRUED WARRANTY Sheet http://tomz.com/role/AccruedWarranty ACCRUED WARRANTY Notes 21 false false R22.htm 000022 - Disclosure - INCOME TAXES Sheet http://tomz.com/role/IncomeTaxes INCOME TAXES Notes 22 false false R23.htm 000023 - Disclosure - CUSTOMER CONCENTRATION Sheet http://tomz.com/role/CustomerConcentration CUSTOMER CONCENTRATION Notes 23 false false R24.htm 000024 - Disclosure - SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Policies) Sheet http://tomz.com/role/SummaryOfSignificantAccountingPoliciesPolicies SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Policies) Policies 24 false false R25.htm 000025 - Disclosure - SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Tables) Sheet http://tomz.com/role/SummaryOfSignificantAccountingPoliciesTables SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Tables) Tables http://tomz.com/role/SummaryOfSignificantAccountingPolicies 25 false false R26.htm 000026 - Disclosure - INVENTORIES (Tables) Sheet http://tomz.com/role/InventoriesTables INVENTORIES (Tables) Tables http://tomz.com/role/INVENTORIES 26 false false R27.htm 000027 - Disclosure - PROPERTY AND EQUIPMENT (Tables) Sheet http://tomz.com/role/PropertyAndEquipmentTables PROPERTY AND EQUIPMENT (Tables) Tables http://tomz.com/role/PropertyAndEquipment 27 false false R28.htm 000028 - Disclosure - INTANGIBLE ASSETS (Tables) Sheet http://tomz.com/role/IntangibleAssetsTables INTANGIBLE ASSETS (Tables) Tables http://tomz.com/role/IntangibleAssets 28 false false R29.htm 000029 - Disclosure - LEASES (Tables) Sheet http://tomz.com/role/LeasesTables LEASES (Tables) Tables http://tomz.com/role/LEASES 29 false false R30.htm 000030 - Disclosure - CAPITALIZED SOFTWARE DEVELOPMENT COSTS (Tables) Sheet http://tomz.com/role/CapitalizedSoftwareDevelopmentCostsTables CAPITALIZED SOFTWARE DEVELOPMENT COSTS (Tables) Tables http://tomz.com/role/CapitalizedSoftwareDevelopmentCosts 30 false false R31.htm 000031 - Disclosure - CONVERTIBLE DEBT (Tables) Sheet http://tomz.com/role/ConvertibleDebtTables CONVERTIBLE DEBT (Tables) Tables http://tomz.com/role/ConvertibleDebt 31 false false R32.htm 000032 - Disclosure - SHAREHOLDERS EQUITY (Tables) Sheet http://tomz.com/role/ShareholdersEquityTables SHAREHOLDERS EQUITY (Tables) Tables http://tomz.com/role/ShareholdersEquity 32 false false R33.htm 000033 - Disclosure - CONTRACTS AND AGREEMENTS (Tables) Sheet http://tomz.com/role/ContractsAndAgreementsTables CONTRACTS AND AGREEMENTS (Tables) Tables http://tomz.com/role/ContractsAndAgreements 33 false false R34.htm 000034 - Disclosure - ACCRUED EXPENSES AND OTHER CURRENT LIABILITIES (Tables) Sheet http://tomz.com/role/AccruedExpensesAndOtherCurrentLiabilitiesTables ACCRUED EXPENSES AND OTHER CURRENT LIABILITIES (Tables) Tables http://tomz.com/role/AccruedExpensesAndOtherCurrentLiabilities 34 false false R35.htm 000035 - Disclosure - ACCRUED WARRANTY (Tables) Sheet http://tomz.com/role/AccruedWarrantyTables ACCRUED WARRANTY (Tables) Tables http://tomz.com/role/AccruedWarranty 35 false false R36.htm 000036 - Disclosure - INCOME TAXES (Tables) Sheet http://tomz.com/role/IncomeTaxesTables INCOME TAXES (Tables) Tables http://tomz.com/role/IncomeTaxes 36 false false R37.htm 000037 - Disclosure - SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Details) Sheet http://tomz.com/role/SummaryOfSignificantAccountingPoliciesDetails SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Details) Details http://tomz.com/role/SummaryOfSignificantAccountingPoliciesTables 37 false false R38.htm 000038 - Disclosure - SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Details 1) Sheet http://tomz.com/role/SummaryOfSignificantAccountingPoliciesDetails1 SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Details 1) Details http://tomz.com/role/SummaryOfSignificantAccountingPoliciesTables 38 false false R39.htm 000039 - Disclosure - SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Details 2) Sheet http://tomz.com/role/SummaryOfSignificantAccountingPoliciesDetails2 SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Details 2) Details http://tomz.com/role/SummaryOfSignificantAccountingPoliciesTables 39 false false R40.htm 000040 - Disclosure - SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Details Narrative) Sheet http://tomz.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Details Narrative) Details http://tomz.com/role/SummaryOfSignificantAccountingPoliciesTables 40 false false R41.htm 000041 - Disclosure - INVENTORIES (Details) Sheet http://tomz.com/role/InventoriesDetails INVENTORIES (Details) Details http://tomz.com/role/InventoriesTables 41 false false R42.htm 000042 - Disclosure - VENDOR DEPOSITS (Details Narrative) Sheet http://tomz.com/role/VendorDepositsDetailsNarrative VENDOR DEPOSITS (Details Narrative) Details http://tomz.com/role/VendorDeposits 42 false false R43.htm 000043 - Disclosure - PROPERTY AND EQUIPMENT (Details) Sheet http://tomz.com/role/PropertyAndEquipmentDetails PROPERTY AND EQUIPMENT (Details) Details http://tomz.com/role/PropertyAndEquipmentTables 43 false false R44.htm 000044 - Disclosure - PROPERTY AND EQUIPMENT (Details Narrative) Sheet http://tomz.com/role/PropertyAndEquipmentDetailsNarrative PROPERTY AND EQUIPMENT (Details Narrative) Details http://tomz.com/role/PropertyAndEquipmentTables 44 false false R45.htm 000045 - Disclosure - INTANGIBLE ASSETS (Details) Sheet http://tomz.com/role/IntangibleAssetsDetails INTANGIBLE ASSETS (Details) Details http://tomz.com/role/IntangibleAssetsTables 45 false false R46.htm 000046 - Disclosure - INTANGIBLE ASSETS (Details 1) Sheet http://tomz.com/role/IntangibleAssetsDetails1 INTANGIBLE ASSETS (Details 1) Details http://tomz.com/role/IntangibleAssetsTables 46 false false R47.htm 000047 - Disclosure - INTANGIBLE ASSETS (Details 2) Sheet http://tomz.com/role/IntangibleAssetsDetails2 INTANGIBLE ASSETS (Details 2) Details http://tomz.com/role/IntangibleAssetsTables 47 false false R48.htm 000048 - Disclosure - INTANGIBLE ASSETS (Details Narrative) Sheet http://tomz.com/role/IntangibleAssetsDetailsNarrative INTANGIBLE ASSETS (Details Narrative) Details http://tomz.com/role/IntangibleAssetsTables 48 false false R49.htm 000049 - Disclosure - LEASES (Details) Sheet http://tomz.com/role/LeasesDetails LEASES (Details) Details http://tomz.com/role/LeasesTables 49 false false R50.htm 000050 - Disclosure - LEASES (Details 1) Sheet http://tomz.com/role/LeasesDetails1 LEASES (Details 1) Details http://tomz.com/role/LeasesTables 50 false false R51.htm 000051 - Disclosure - LEASES (Details 2) Sheet http://tomz.com/role/LeasesDetails2 LEASES (Details 2) Details http://tomz.com/role/LeasesTables 51 false false R52.htm 000052 - Disclosure - LEASES (Details 3) Sheet http://tomz.com/role/LeasesDetails3 LEASES (Details 3) Details http://tomz.com/role/LeasesTables 52 false false R53.htm 000053 - Disclosure - LEASES (Details 4) Sheet http://tomz.com/role/LeasesDetails4 LEASES (Details 4) Details http://tomz.com/role/LeasesTables 53 false false R54.htm 000054 - Disclosure - LEASES (Details Narrative) Sheet http://tomz.com/role/LeasesDetailsNarrative LEASES (Details Narrative) Details http://tomz.com/role/LeasesTables 54 false false R55.htm 000055 - Disclosure - CAPITALIZED SOFTWARE DEVELOPMENT COSTS (Details) Sheet http://tomz.com/role/CapitalizedSoftwareDevelopmentCostsDetails CAPITALIZED SOFTWARE DEVELOPMENT COSTS (Details) Details http://tomz.com/role/CapitalizedSoftwareDevelopmentCostsTables 55 false false R56.htm 000056 - Disclosure - CAPITALIZED SOFTWARE DEVELOPMENT COSTS (Details Narrative) Sheet http://tomz.com/role/CapitalizedSoftwareDevelopmentCostsDetailsNarrative CAPITALIZED SOFTWARE DEVELOPMENT COSTS (Details Narrative) Details http://tomz.com/role/CapitalizedSoftwareDevelopmentCostsTables 56 false false R57.htm 000057 - Disclosure - CLOUD COMPUTING SERVICE CONTRACT (Details Narrative) Sheet http://tomz.com/role/CloudComputingServiceContractDetailsNarrative CLOUD COMPUTING SERVICE CONTRACT (Details Narrative) Details http://tomz.com/role/CloudComputingServiceContract 57 false false R58.htm 000058 - Disclosure - CONVERTIBLE DEBT (Details) Sheet http://tomz.com/role/ConvertibleDebtDetails CONVERTIBLE DEBT (Details) Details http://tomz.com/role/ConvertibleDebtTables 58 false false R59.htm 000059 - Disclosure - CONVERTIBLE DEBT (Details Narrative) Sheet http://tomz.com/role/ConvertibleDebtDetailsNarrative CONVERTIBLE DEBT (Details Narrative) Details http://tomz.com/role/ConvertibleDebtTables 59 false false R60.htm 000060 - Disclosure - SHAREHOLDERS EQUITY (Details) Sheet http://tomz.com/role/ShareholdersEquityDetails SHAREHOLDERS EQUITY (Details) Details http://tomz.com/role/ShareholdersEquityTables 60 false false R61.htm 000061 - Disclosure - SHAREHOLDERS EQUITY (Details 1) Sheet http://tomz.com/role/ShareholdersEquityDetails1 SHAREHOLDERS EQUITY (Details 1) Details http://tomz.com/role/ShareholdersEquityTables 61 false false R62.htm 000062 - Disclosure - SHAREHOLDERS EQUITY (Details 2) Sheet http://tomz.com/role/ShareholdersEquityDetails2 SHAREHOLDERS EQUITY (Details 2) Details http://tomz.com/role/ShareholdersEquityTables 62 false false R63.htm 000063 - Disclosure - SHAREHOLDERS EQUITY (Details 3) Sheet http://tomz.com/role/ShareholdersEquityDetails3 SHAREHOLDERS EQUITY (Details 3) Details http://tomz.com/role/ShareholdersEquityTables 63 false false R64.htm 000064 - Disclosure - SHAREHOLDERS EQUITY (Details Narrative) Sheet http://tomz.com/role/ShareholdersEquityDetailsNarrative SHAREHOLDERS EQUITY (Details Narrative) Details http://tomz.com/role/ShareholdersEquityTables 64 false false R65.htm 000065 - Disclosure - CONTRACTS AND AGREEMENTS (Details) Sheet http://tomz.com/role/ContractsAndAgreementsDetails CONTRACTS AND AGREEMENTS (Details) Details http://tomz.com/role/ContractsAndAgreementsTables 65 false false R66.htm 000066 - Disclosure - CONTRACTS AND AGREEMENTS (Details Narrative) Sheet http://tomz.com/role/ContractsAndAgreementsDetailsNarrative CONTRACTS AND AGREEMENTS (Details Narrative) Details http://tomz.com/role/ContractsAndAgreementsTables 66 false false R67.htm 000067 - Disclosure - ACCRUED EXPENSES AND OTHER CURRENT LIABILITIES (Details) Sheet http://tomz.com/role/AccruedExpensesAndOtherCurrentLiabilitiesDetails ACCRUED EXPENSES AND OTHER CURRENT LIABILITIES (Details) Details http://tomz.com/role/AccruedExpensesAndOtherCurrentLiabilitiesTables 67 false false R68.htm 000068 - Disclosure - ACCRUED WARRANTY (Details) Sheet http://tomz.com/role/AccruedWarrantyDetails ACCRUED WARRANTY (Details) Details http://tomz.com/role/AccruedWarrantyTables 68 false false R69.htm 000069 - Disclosure - INCOME TAXES (Details) Sheet http://tomz.com/role/IncomeTaxesDetails INCOME TAXES (Details) Details http://tomz.com/role/IncomeTaxesTables 69 false false R70.htm 000070 - Disclosure - INCOME TAXES (Details 1) Sheet http://tomz.com/role/IncomeTaxesDetails1 INCOME TAXES (Details 1) Details http://tomz.com/role/IncomeTaxesTables 70 false false R71.htm 000071 - Disclosure - INCOME TAXES (Details 2) Sheet http://tomz.com/role/IncomeTaxesDetails2 INCOME TAXES (Details 2) Details http://tomz.com/role/IncomeTaxesTables 71 false false R72.htm 000072 - Disclosure - INCOME TAXES (Details 3) Sheet http://tomz.com/role/IncomeTaxesDetails3 INCOME TAXES (Details 3) Details http://tomz.com/role/IncomeTaxesTables 72 false false R73.htm 000073 - Disclosure - INCOME TAXES (Details Narrative) Sheet http://tomz.com/role/IncomeTaxesDetailsNarrative INCOME TAXES (Details Narrative) Details http://tomz.com/role/IncomeTaxesTables 73 false false R74.htm 000074 - Disclosure - CUSTOMER CONCENTRATION (Details Narrative) Sheet http://tomz.com/role/CustomerConcentrationDetailsNarrative CUSTOMER CONCENTRATION (Details Narrative) Details http://tomz.com/role/CustomerConcentration 74 false false All Reports Book All Reports [ix-0514-Hidden-Fact-Eligible-For-Transform] WARN: 27 fact(s) appearing in ix:hidden were eligible for transformation: dei:CurrentFiscalYearEndDate, dei:DocumentFinStmtErrorCorrectionFlag, tomz:AmortizationOfTenantImprovementAllowance, tomz:PreferredStockParOrStatedValue, tomz:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExercisesInPeriod, us-gaap:CommonStockParOrStatedValuePerShare, us-gaap:CommonStockSharesAuthorized, us-gaap:CommonStockSharesOutstanding, us-gaap:CurrentIncomeTaxExpenseBenefit, us-gaap:IncomeTaxReconciliationNondeductibleExpenseAmortization, us-gaap:PreferredStockParOrStatedValuePerShare, us-gaap:PreferredStockSharesAuthorized, us-gaap:PreferredStockSharesIssued, us-gaap:PreferredStockSharesOutstanding, us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod, us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross - tomz_10k.htm 1 [DQC.US.0043.9873] The company has reported the concept ProfitLoss as part of the cash flow statement. This income item is being deducted from the value of operating cash flows in the calculation defined by the filer. This implies that the resulting operating cash flow calculation excludes this income item from cash flow from operations. If ProfitLoss represents income from discontinued operations then the element NetCashProvidedByUsedInOperatingActivitiesContinuingOperations should be used as the total rather than the current total element of NetCashProvidedByUsedInOperatingActivities. If the item is an income item and is being deducted because the value is negative then consider changing the sign and weight of the element. - https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd 4602, 9356 - https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd 4602, 9356 tomz-20231231.xsd tomz-20231231_cal.xml tomz-20231231_def.xml tomz-20231231_lab.xml tomz-20231231_pre.xml tomz_10k.htm http://fasb.org/us-gaap/2023 http://xbrl.sec.gov/dei/2023 true true JSON 93 MetaLinks.json IDEA: XBRL DOCUMENT { "version": "2.2", "instance": { "tomz_10k.htm": { "nsprefix": "tomz", "nsuri": "http://tomz.com/20231231", "dts": { "schema": { "local": [ "tomz-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/dtr/type/nonNumeric-2009-12-16.xsd", "http://www.xbrl.org/dtr/type/numeric-2009-12-16.xsd", "http://www.xbrl.org/lrr/arcrole/factExplanatory-2009-12-16.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/currency/2023/currency-2023.xsd", "https://xbrl.sec.gov/dei/2023/dei-2023.xsd", "https://xbrl.sec.gov/exch/2023/exch-2023.xsd", "https://xbrl.sec.gov/naics/2023/naics-2023.xsd", "https://xbrl.sec.gov/sic/2023/sic-2023.xsd", "https://xbrl.sec.gov/stpr/2023/stpr-2023.xsd" ] }, "calculationLink": { "local": [ "tomz-20231231_cal.xml" ] }, "definitionLink": { "local": [ "tomz-20231231_def.xml" ] }, "labelLink": { "local": [ "tomz-20231231_lab.xml" ] }, "presentationLink": { "local": [ "tomz-20231231_pre.xml" ] }, "inline": { "local": [ "tomz_10k.htm" ] } }, "keyStandard": 305, "keyCustom": 70, "axisStandard": 17, "axisCustom": 0, "memberStandard": 12, "memberCustom": 48, "hidden": { "total": 31, "http://fasb.org/us-gaap/2023": 20, "http://xbrl.sec.gov/dei/2023": 6, "http://tomz.com/20231231": 5 }, "contextCount": 131, "entityCount": 1, "segmentCount": 60, "elementCount": 520, "unitCount": 5, "baseTaxonomies": { "http://fasb.org/us-gaap/2023": 643, "http://xbrl.sec.gov/dei/2023": 37 }, "report": { "R1": { "role": "http://tomz.com/role/Cover", "longName": "000001 - Document - Cover", "shortName": "Cover", "isDefault": "true", "groupType": "document", "subGroupType": "", "menuCat": "Cover", "order": "1", "firstAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "dei:EntityRegistrantName", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "strong", "p", "td", "tr", "tbody", "table", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "dei:EntityRegistrantName", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "strong", "p", "td", "tr", "tbody", "table", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true } }, "R2": { "role": "http://tomz.com/role/ConsolidatedBalanceSheets", "longName": "000002 - 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:CashEquivalentsAtCarryingValue", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "td", "tr", "tbody", "table", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "AsOf2023-12-31", "name": "us-gaap:CashEquivalentsAtCarryingValue", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "td", "tr", "tbody", "table", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true } }, "R3": { "role": "http://tomz.com/role/ConsolidatedBalanceSheetsParenthetical", "longName": "000003 - 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:DebtInstrumentUnamortizedDiscount", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "p", "td", "tr", "tbody", "table", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "AsOf2023-12-31", "name": "us-gaap:DebtInstrumentUnamortizedDiscount", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "p", "td", "tr", "tbody", "table", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true } }, "R4": { "role": "http://tomz.com/role/ConsolidatedStatementsOfOperations", "longName": "000004 - Statement - CONSOLIDATED STATEMENTS OF OPERATIONS", "shortName": "CONSOLIDATED STATEMENTS OF OPERATIONS", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "4", "firstAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:Revenues", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "td", "tr", "tbody", "table", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:Revenues", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "td", "tr", "tbody", "table", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true } }, "R5": { "role": "http://tomz.com/role/ConsolidatedStatementsOfShareholdersEquity", "longName": "000005 - Statement - CONSOLIDATED STATEMENTS OF SHAREHOLDERS EQUITY", "shortName": "CONSOLIDATED STATEMENTS OF SHAREHOLDERS EQUITY", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "5", "firstAnchor": { "contextRef": "AsOf2021-12-31_tomz_SeriesAPreferredStocksMember", "name": "us-gaap:SharesIssued", "unitRef": "Shares", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "td", "tr", "tbody", "table", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "AsOf2021-12-31_tomz_SeriesAPreferredStocksMember", "name": "us-gaap:SharesIssued", "unitRef": "Shares", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "td", "tr", "tbody", "table", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true } }, "R6": { "role": "http://tomz.com/role/ConsolidatedStatementsOfCashFlows", "longName": "000006 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS", "shortName": "CONSOLIDATED STATEMENTS OF CASH FLOWS", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "6", "firstAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:ProfitLoss", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "td", "tr", "tbody", "table", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:ProfitLoss", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "td", "tr", "tbody", "table", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true } }, "R7": { "role": "http://tomz.com/role/DescriptionOfBusiness", "longName": "000007 - Disclosure - DESCRIPTION OF BUSINESS", "shortName": "DESCRIPTION OF BUSINESS", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "7", "firstAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:NatureOfOperations", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:NatureOfOperations", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true } }, "R8": { "role": "http://tomz.com/role/SummaryOfSignificantAccountingPolicies", "longName": "000008 - Disclosure - SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES", "shortName": "SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "8", "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": "tomz_10k.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": "tomz_10k.htm", "first": true, "unique": true } }, "R9": { "role": "http://tomz.com/role/INVENTORIES", "longName": "000009 - Disclosure - INVENTORIES", "shortName": "INVENTORIES", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "9", "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": "tomz_10k.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": "tomz_10k.htm", "first": true, "unique": true } }, "R10": { "role": "http://tomz.com/role/VendorDeposits", "longName": "000010 - Disclosure - VENDOR DEPOSITS", "shortName": "VENDOR DEPOSITS", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "10", "firstAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "tomz:VendorDepositsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "tomz:VendorDepositsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true } }, "R11": { "role": "http://tomz.com/role/PropertyAndEquipment", "longName": "000011 - Disclosure - PROPERTY AND EQUIPMENT", "shortName": "PROPERTY AND EQUIPMENT", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "11", "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": "tomz_10k.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": "tomz_10k.htm", "first": true, "unique": true } }, "R12": { "role": "http://tomz.com/role/IntangibleAssets", "longName": "000012 - Disclosure - INTANGIBLE ASSETS", "shortName": "INTANGIBLE ASSETS", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "12", "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": "tomz_10k.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": "tomz_10k.htm", "first": true, "unique": true } }, "R13": { "role": "http://tomz.com/role/LEASES", "longName": "000013 - Disclosure - LEASES", "shortName": "LEASES", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "13", "firstAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:LeasesOfLesseeDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:LeasesOfLesseeDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true } }, "R14": { "role": "http://tomz.com/role/CapitalizedSoftwareDevelopmentCosts", "longName": "000014 - Disclosure - CAPITALIZED SOFTWARE DEVELOPMENT COSTS", "shortName": "CAPITALIZED SOFTWARE DEVELOPMENT COSTS", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "14", "firstAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true } }, "R15": { "role": "http://tomz.com/role/CloudComputingServiceContract", "longName": "000015 - Disclosure - CLOUD COMPUTING SERVICE CONTRACT", "shortName": "CLOUD COMPUTING SERVICE CONTRACT", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "15", "firstAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "tomz:CloudComputingServiceContractDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "tomz:CloudComputingServiceContractDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true } }, "R16": { "role": "http://tomz.com/role/ConvertibleDebt", "longName": "000016 - Disclosure - CONVERTIBLE DEBT", "shortName": "CONVERTIBLE DEBT", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "16", "firstAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:DebtDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:DebtDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true } }, "R17": { "role": "http://tomz.com/role/ShareholdersEquity", "longName": "000017 - Disclosure - SHAREHOLDERS EQUITY", "shortName": "SHAREHOLDERS EQUITY", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "17", "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": "tomz_10k.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": "tomz_10k.htm", "first": true, "unique": true } }, "R18": { "role": "http://tomz.com/role/CommitmentsAndContingencies", "longName": "000018 - Disclosure - COMMITMENTS AND CONTINGENCIES", "shortName": "COMMITMENTS AND CONTINGENCIES", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "18", "firstAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true } }, "R19": { "role": "http://tomz.com/role/ContractsAndAgreements", "longName": "000019 - Disclosure - CONTRACTS AND AGREEMENTS", "shortName": "CONTRACTS AND AGREEMENTS", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "19", "firstAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "tomz:ContractsAndAgreementsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "tomz:ContractsAndAgreementsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true } }, "R20": { "role": "http://tomz.com/role/AccruedExpensesAndOtherCurrentLiabilities", "longName": "000020 - Disclosure - ACCRUED EXPENSES AND OTHER CURRENT LIABILITIES", "shortName": "ACCRUED EXPENSES AND OTHER CURRENT LIABILITIES", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "20", "firstAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true } }, "R21": { "role": "http://tomz.com/role/AccruedWarranty", "longName": "000021 - Disclosure - ACCRUED WARRANTY", "shortName": "ACCRUED WARRANTY", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "21", "firstAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:GuaranteesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:GuaranteesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true } }, "R22": { "role": "http://tomz.com/role/IncomeTaxes", "longName": "000022 - Disclosure - INCOME TAXES", "shortName": "INCOME TAXES", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "22", "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": "tomz_10k.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": "tomz_10k.htm", "first": true, "unique": true } }, "R23": { "role": "http://tomz.com/role/CustomerConcentration", "longName": "000023 - Disclosure - CUSTOMER CONCENTRATION", "shortName": "CUSTOMER CONCENTRATION", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "23", "firstAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:ConcentrationRiskDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:ConcentrationRiskDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true } }, "R24": { "role": "http://tomz.com/role/SummaryOfSignificantAccountingPoliciesPolicies", "longName": "000024 - Disclosure - SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Policies)", "shortName": "SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Policies)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "policies", "menuCat": "Policies", "order": "24", "firstAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:ConsolidationPolicyTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:SignificantAccountingPoliciesTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:ConsolidationPolicyTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:SignificantAccountingPoliciesTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true } }, "R25": { "role": "http://tomz.com/role/SummaryOfSignificantAccountingPoliciesTables", "longName": "000025 - Disclosure - SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Tables)", "shortName": "SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "25", "firstAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:ImpairmentEffectsOnEarningsPerShareTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:ImpairmentEffectsOnEarningsPerShareTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true } }, "R26": { "role": "http://tomz.com/role/InventoriesTables", "longName": "000026 - Disclosure - INVENTORIES (Tables)", "shortName": "INVENTORIES (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "26", "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": "tomz_10k.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": "tomz_10k.htm", "first": true, "unique": true } }, "R27": { "role": "http://tomz.com/role/PropertyAndEquipmentTables", "longName": "000027 - Disclosure - PROPERTY AND EQUIPMENT (Tables)", "shortName": "PROPERTY AND EQUIPMENT (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "27", "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": "tomz_10k.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": "tomz_10k.htm", "first": true, "unique": true } }, "R28": { "role": "http://tomz.com/role/IntangibleAssetsTables", "longName": "000028 - Disclosure - INTANGIBLE ASSETS (Tables)", "shortName": "INTANGIBLE ASSETS (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "28", "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": "tomz_10k.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": "tomz_10k.htm", "first": true, "unique": true } }, "R29": { "role": "http://tomz.com/role/LeasesTables", "longName": "000029 - Disclosure - LEASES (Tables)", "shortName": "LEASES (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "29", "firstAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:LeaseCostTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:LeasesOfLesseeDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:LeaseCostTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:LeasesOfLesseeDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true } }, "R30": { "role": "http://tomz.com/role/CapitalizedSoftwareDevelopmentCostsTables", "longName": "000030 - Disclosure - CAPITALIZED SOFTWARE DEVELOPMENT COSTS (Tables)", "shortName": "CAPITALIZED SOFTWARE DEVELOPMENT COSTS (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "30", "firstAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "tomz:CapitalizedSoftwareDevelopmentCostsTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "tomz:CapitalizedSoftwareDevelopmentCostsTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true } }, "R31": { "role": "http://tomz.com/role/ConvertibleDebtTables", "longName": "000031 - Disclosure - CONVERTIBLE DEBT (Tables)", "shortName": "CONVERTIBLE DEBT (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "31", "firstAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:ConvertibleDebtTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:DebtDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:ConvertibleDebtTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:DebtDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true } }, "R32": { "role": "http://tomz.com/role/ShareholdersEquityTables", "longName": "000032 - Disclosure - SHAREHOLDERS EQUITY (Tables)", "shortName": "SHAREHOLDERS EQUITY (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "32", "firstAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:ScheduleOfStockOptionsRollForwardTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:ScheduleOfStockOptionsRollForwardTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true } }, "R33": { "role": "http://tomz.com/role/ContractsAndAgreementsTables", "longName": "000033 - Disclosure - CONTRACTS AND AGREEMENTS (Tables)", "shortName": "CONTRACTS AND AGREEMENTS (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "33", "firstAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "tomz:ApproximateMinimumContractPaymentsTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "tomz:ApproximateMinimumContractPaymentsTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true } }, "R34": { "role": "http://tomz.com/role/AccruedExpensesAndOtherCurrentLiabilitiesTables", "longName": "000034 - Disclosure - ACCRUED EXPENSES AND OTHER CURRENT LIABILITIES (Tables)", "shortName": "ACCRUED EXPENSES AND OTHER CURRENT LIABILITIES (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "34", "firstAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true } }, "R35": { "role": "http://tomz.com/role/AccruedWarrantyTables", "longName": "000035 - Disclosure - ACCRUED WARRANTY (Tables)", "shortName": "ACCRUED WARRANTY (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "35", "firstAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:GuaranteesTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:GuaranteesTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true } }, "R36": { "role": "http://tomz.com/role/IncomeTaxesTables", "longName": "000036 - Disclosure - INCOME TAXES (Tables)", "shortName": "INCOME TAXES (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "36", "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": "tomz_10k.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": "tomz_10k.htm", "first": true, "unique": true } }, "R37": { "role": "http://tomz.com/role/SummaryOfSignificantAccountingPoliciesDetails", "longName": "000037 - Disclosure - SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Details)", "shortName": "SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "37", "firstAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:NetIncomeLoss", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "td", "tr", "tbody", "table", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "tomz:NetLossAttributableToCommonShareholders", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ImpairmentEffectsOnEarningsPerShareTableTextBlock", "ix:continuation", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "unique": true } }, "R38": { "role": "http://tomz.com/role/SummaryOfSignificantAccountingPoliciesDetails1", "longName": "000038 - Disclosure - SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Details 1)", "shortName": "SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Details 1)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "38", "firstAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:NetIncomeLoss", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "td", "tr", "tbody", "table", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "tomz:WeightedAverageNumberOfDilutedShareOutstanding1", "unitRef": "Shares", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "td", "tr", "tbody", "table", "ix:continuation", "ix:continuation", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "unique": true } }, "R39": { "role": "http://tomz.com/role/SummaryOfSignificantAccountingPoliciesDetails2", "longName": "000039 - Disclosure - SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Details 2)", "shortName": "SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Details 2)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "39", "firstAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:SalesTypeLeaseRevenue", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:DisaggregationOfRevenueTableTextBlock", "us-gaap:RevenueRecognitionPolicyTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:SalesTypeLeaseRevenue", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:DisaggregationOfRevenueTableTextBlock", "us-gaap:RevenueRecognitionPolicyTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true } }, "R40": { "role": "http://tomz.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative", "longName": "000040 - Disclosure - SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Details Narrative)", "shortName": "SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Details Narrative)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "40", "firstAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:ProvisionForDoubtfulAccounts", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "p", "us-gaap:ReceivablesPolicyTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:ProvisionForDoubtfulAccounts", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "p", "us-gaap:ReceivablesPolicyTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true } }, "R41": { "role": "http://tomz.com/role/InventoriesDetails", "longName": "000041 - Disclosure - INVENTORIES (Details)", "shortName": "INVENTORIES (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "41", "firstAnchor": { "contextRef": "AsOf2023-12-31", "name": "us-gaap:InventoryFinishedGoods", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "us-gaap:InventoryDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.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", "tbody", "table", "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "us-gaap:InventoryDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true } }, "R42": { "role": "http://tomz.com/role/VendorDepositsDetailsNarrative", "longName": "000042 - Disclosure - VENDOR DEPOSITS (Details Narrative)", "shortName": "VENDOR DEPOSITS (Details Narrative)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "42", "firstAnchor": { "contextRef": "AsOf2023-12-31", "name": "us-gaap:Deposits", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "p", "tomz:VendorDepositsTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "AsOf2023-12-31", "name": "us-gaap:Deposits", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "p", "tomz:VendorDepositsTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true } }, "R43": { "role": "http://tomz.com/role/PropertyAndEquipmentDetails", "longName": "000043 - Disclosure - PROPERTY AND EQUIPMENT (Details)", "shortName": "PROPERTY AND EQUIPMENT (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "43", "firstAnchor": { "contextRef": "AsOf2023-12-31", "name": "us-gaap:FurnitureAndFixturesGross", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:PropertyPlantAndEquipmentTextBlock", "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "AsOf2023-12-31", "name": "us-gaap:FurnitureAndFixturesGross", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:PropertyPlantAndEquipmentTextBlock", "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true } }, "R44": { "role": "http://tomz.com/role/PropertyAndEquipmentDetailsNarrative", "longName": "000044 - Disclosure - PROPERTY AND EQUIPMENT (Details Narrative)", "shortName": "PROPERTY AND EQUIPMENT (Details Narrative)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "44", "firstAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:Depreciation", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "p", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.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": [ "p", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true } }, "R45": { "role": "http://tomz.com/role/IntangibleAssetsDetails", "longName": "000045 - Disclosure - INTANGIBLE ASSETS (Details)", "shortName": "INTANGIBLE ASSETS (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "45", "firstAnchor": { "contextRef": "AsOf2023-12-31", "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "us-gaap:IntangibleAssetsDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "AsOf2023-12-31", "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "us-gaap:IntangibleAssetsDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true } }, "R46": { "role": "http://tomz.com/role/IntangibleAssetsDetails1", "longName": "000046 - Disclosure - INTANGIBLE ASSETS (Details 1)", "shortName": "INTANGIBLE ASSETS (Details 1)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "46", "firstAnchor": { "contextRef": "AsOf2023-12-31", "name": "us-gaap:IndefiniteLivedTrademarks", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfIndefiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock", "us-gaap:IntangibleAssetsDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "AsOf2023-12-31", "name": "us-gaap:IndefiniteLivedTrademarks", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfIndefiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock", "us-gaap:IntangibleAssetsDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true } }, "R47": { "role": "http://tomz.com/role/IntangibleAssetsDetails2", "longName": "000047 - Disclosure - INTANGIBLE ASSETS (Details 2)", "shortName": "INTANGIBLE ASSETS (Details 2)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "47", "firstAnchor": { "contextRef": "AsOf2023-12-31", "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "us-gaap:IntangibleAssetsDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "AsOf2023-12-31", "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "us-gaap:IntangibleAssetsDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true } }, "R48": { "role": "http://tomz.com/role/IntangibleAssetsDetailsNarrative", "longName": "000048 - Disclosure - INTANGIBLE ASSETS (Details Narrative)", "shortName": "INTANGIBLE ASSETS (Details Narrative)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "48", "firstAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:AmortizationOfIntangibleAssets", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "p", "us-gaap:IntangibleAssetsDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:AmortizationOfIntangibleAssets", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "p", "us-gaap:IntangibleAssetsDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true } }, "R49": { "role": "http://tomz.com/role/LeasesDetails", "longName": "000049 - Disclosure - LEASES (Details)", "shortName": "LEASES (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "49", "firstAnchor": { "contextRef": "AsOf2023-12-31", "name": "us-gaap:OperatingLeaseRightOfUseAsset", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "td", "tr", "tbody", "table", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "AsOf2023-12-31", "name": "us-gaap:OperatingLeaseLiability", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:LeaseCostTableTextBlock", "us-gaap:LeasesOfLesseeDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "unique": true } }, "R50": { "role": "http://tomz.com/role/LeasesDetails1", "longName": "000050 - Disclosure - LEASES (Details 1)", "shortName": "LEASES (Details 1)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "50", "firstAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:OperatingLeaseExpense", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "td", "tr", "tbody", "table", "tomz:OperatingLeaseLiabilityTableTextBlock", "us-gaap:LeasesOfLesseeDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:OperatingLeaseExpense", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "td", "tr", "tbody", "table", "tomz:OperatingLeaseLiabilityTableTextBlock", "us-gaap:LeasesOfLesseeDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true } }, "R51": { "role": "http://tomz.com/role/LeasesDetails2", "longName": "000051 - Disclosure - LEASES (Details 2)", "shortName": "LEASES (Details 2)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "51", "firstAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "tomz:OperatingLeaseWeightedAveragesRemainingLeaseTerm", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "td", "tr", "tbody", "table", "tomz:LeaseOtherInformationTableTextBlock", "us-gaap:LeasesOfLesseeDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "tomz:OperatingLeaseWeightedAveragesRemainingLeaseTerm", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "td", "tr", "tbody", "table", "tomz:LeaseOtherInformationTableTextBlock", "us-gaap:LeasesOfLesseeDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true } }, "R52": { "role": "http://tomz.com/role/LeasesDetails3", "longName": "000052 - Disclosure - LEASES (Details 3)", "shortName": "LEASES (Details 3)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "52", "firstAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:OperatingLeaseInitialDirectCostExpenseOverTerm", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "td", "tr", "tbody", "table", "tomz:SupplementalCashFlowInformationRelatedToLeasesTableTextBlock", "us-gaap:LeasesOfLesseeDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:OperatingLeaseInitialDirectCostExpenseOverTerm", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "td", "tr", "tbody", "table", "tomz:SupplementalCashFlowInformationRelatedToLeasesTableTextBlock", "us-gaap:LeasesOfLesseeDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true } }, "R53": { "role": "http://tomz.com/role/LeasesDetails4", "longName": "000053 - Disclosure - LEASES (Details 4)", "shortName": "LEASES (Details 4)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "53", "firstAnchor": { "contextRef": "AsOf2023-12-31", "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:LessorOperatingLeasePaymentsToBeReceivedMaturityTableTextBlock", "us-gaap:LeasesOfLesseeDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.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", "tbody", "table", "us-gaap:LessorOperatingLeasePaymentsToBeReceivedMaturityTableTextBlock", "us-gaap:LeasesOfLesseeDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true } }, "R54": { "role": "http://tomz.com/role/LeasesDetailsNarrative", "longName": "000054 - Disclosure - LEASES (Details Narrative)", "shortName": "LEASES (Details Narrative)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "54", "firstAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "tomz:TermLease", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "us-gaap:LeasesOfLesseeDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "tomz:TermLease", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "us-gaap:LeasesOfLesseeDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true } }, "R55": { "role": "http://tomz.com/role/CapitalizedSoftwareDevelopmentCostsDetails", "longName": "000055 - Disclosure - CAPITALIZED SOFTWARE DEVELOPMENT COSTS (Details)", "shortName": "CAPITALIZED SOFTWARE DEVELOPMENT COSTS (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "55", "firstAnchor": { "contextRef": "AsOf2023-12-31", "name": "us-gaap:CapitalizedComputerSoftwareGross", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "td", "tr", "tbody", "table", "tomz:CapitalizedSoftwareDevelopmentCostsTableTextBlock", "us-gaap:ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "AsOf2023-12-31", "name": "us-gaap:CapitalizedComputerSoftwareGross", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "td", "tr", "tbody", "table", "tomz:CapitalizedSoftwareDevelopmentCostsTableTextBlock", "us-gaap:ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true } }, "R56": { "role": "http://tomz.com/role/CapitalizedSoftwareDevelopmentCostsDetailsNarrative", "longName": "000056 - Disclosure - CAPITALIZED SOFTWARE DEVELOPMENT COSTS (Details Narrative)", "shortName": "CAPITALIZED SOFTWARE DEVELOPMENT COSTS (Details Narrative)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "56", "firstAnchor": { "contextRef": "From2023-01-01to2023-12-31_tomz_CapitalizedSoftwareDevelopmentCostsMember", "name": "tomz:AmortizationOfCapitalizedSoftwareDevelopmentCostsAD", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "p", "us-gaap:ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "From2023-01-01to2023-12-31_tomz_CapitalizedSoftwareDevelopmentCostsMember", "name": "tomz:AmortizationOfCapitalizedSoftwareDevelopmentCostsAD", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "p", "us-gaap:ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true } }, "R57": { "role": "http://tomz.com/role/CloudComputingServiceContractDetailsNarrative", "longName": "000057 - Disclosure - CLOUD COMPUTING SERVICE CONTRACT (Details Narrative)", "shortName": "CLOUD COMPUTING SERVICE CONTRACT (Details Narrative)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "57", "firstAnchor": { "contextRef": "From2021-05-01to2021-05-31", "name": "tomz:ProceedsFromServiceContractOfReceivables", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "p", "tomz:CloudComputingServiceContractDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "From2021-05-01to2021-05-31", "name": "tomz:ProceedsFromServiceContractOfReceivables", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "p", "tomz:CloudComputingServiceContractDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true } }, "R58": { "role": "http://tomz.com/role/ConvertibleDebtDetails", "longName": "000058 - Disclosure - CONVERTIBLE DEBT (Details)", "shortName": "CONVERTIBLE DEBT (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "58", "firstAnchor": { "contextRef": "AsOf2023-12-31", "name": "us-gaap:ConvertibleNotesPayableCurrent", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ConvertibleDebtTableTextBlock", "us-gaap:DebtDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "AsOf2023-12-31", "name": "us-gaap:ConvertibleNotesPayableCurrent", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ConvertibleDebtTableTextBlock", "us-gaap:DebtDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true } }, "R59": { "role": "http://tomz.com/role/ConvertibleDebtDetailsNarrative", "longName": "000059 - Disclosure - CONVERTIBLE DEBT (Details Narrative)", "shortName": "CONVERTIBLE DEBT (Details Narrative)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "59", "firstAnchor": { "contextRef": "From2023-10-01to2023-11-30", "name": "tomz:ProceedsFromConvertiblePromissoryNotesIssuance", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "p", "us-gaap:DebtDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "From2023-10-01to2023-11-30", "name": "tomz:ProceedsFromConvertiblePromissoryNotesIssuance", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "p", "us-gaap:DebtDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true } }, "R60": { "role": "http://tomz.com/role/ShareholdersEquityDetails", "longName": "000060 - Disclosure - SHAREHOLDERS EQUITY (Details)", "shortName": "SHAREHOLDERS EQUITY (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "60", "firstAnchor": { "contextRef": "From2023-01-01to2023-12-31_tomz_StockWarrantMember", "name": "tomz:OutstandingBeginningOfPeriod", "unitRef": "Shares", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfStockOptionsRollForwardTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "From2023-01-01to2023-12-31_tomz_StockWarrantMember", "name": "tomz:OutstandingBeginningOfPeriod", "unitRef": "Shares", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfStockOptionsRollForwardTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true } }, "R61": { "role": "http://tomz.com/role/ShareholdersEquityDetails1", "longName": "000061 - Disclosure - SHAREHOLDERS EQUITY (Details 1)", "shortName": "SHAREHOLDERS EQUITY (Details 1)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "61", "firstAnchor": { "contextRef": "AsOf2023-12-31", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "unitRef": "Shares", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "AsOf2023-12-31_tomz_RangeFourPointFourZeroMember", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "unitRef": "Shares", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "unique": true } }, "R62": { "role": "http://tomz.com/role/ShareholdersEquityDetails2", "longName": "000062 - Disclosure - SHAREHOLDERS EQUITY (Details 2)", "shortName": "SHAREHOLDERS EQUITY (Details 2)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "62", "firstAnchor": { "contextRef": "AsOf2023-12-31", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "unitRef": "Shares", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "AsOf2021-12-31_tomz_WarrantsMember", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "unitRef": "Shares", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "unique": true } }, "R63": { "role": "http://tomz.com/role/ShareholdersEquityDetails3", "longName": "000063 - Disclosure - SHAREHOLDERS EQUITY (Details 3)", "shortName": "SHAREHOLDERS EQUITY (Details 3)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "63", "firstAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "From2023-01-01to2023-12-31_tomz_StockWarrantsMember", "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "td", "tr", "tbody", "table", "tomz:WarrantsOutstandingAndExercisableByPriceRange", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "unique": true } }, "R64": { "role": "http://tomz.com/role/ShareholdersEquityDetailsNarrative", "longName": "000064 - Disclosure - SHAREHOLDERS EQUITY (Details Narrative)", "shortName": "SHAREHOLDERS EQUITY (Details Narrative)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "64", "firstAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:ShareBasedCompensation", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "p", "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:ShareBasedCompensation", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "p", "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true } }, "R65": { "role": "http://tomz.com/role/ContractsAndAgreementsDetails", "longName": "000065 - Disclosure - CONTRACTS AND AGREEMENTS (Details)", "shortName": "CONTRACTS AND AGREEMENTS (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "65", "firstAnchor": { "contextRef": "AsOf2022-12-31", "name": "us-gaap:ContractualObligationDueInSecondYear", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "td", "tr", "tbody", "table", "tomz:ApproximateMinimumContractPaymentsTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "AsOf2022-12-31", "name": "us-gaap:ContractualObligationDueInSecondYear", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "td", "tr", "tbody", "table", "tomz:ApproximateMinimumContractPaymentsTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true } }, "R66": { "role": "http://tomz.com/role/ContractsAndAgreementsDetailsNarrative", "longName": "000066 - Disclosure - CONTRACTS AND AGREEMENTS (Details Narrative)", "shortName": "CONTRACTS AND AGREEMENTS (Details Narrative)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "66", "firstAnchor": { "contextRef": "From2023-01-01to2023-01-31_tomz_CommitteeChairpersonMember", "name": "us-gaap:PaymentForManagementFee", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "p", "tomz:ContractsAndAgreementsTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "From2023-01-01to2023-01-31_tomz_CommitteeChairpersonMember", "name": "us-gaap:PaymentForManagementFee", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "p", "tomz:ContractsAndAgreementsTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true } }, "R67": { "role": "http://tomz.com/role/AccruedExpensesAndOtherCurrentLiabilitiesDetails", "longName": "000067 - Disclosure - ACCRUED EXPENSES AND OTHER CURRENT LIABILITIES (Details)", "shortName": "ACCRUED EXPENSES AND OTHER CURRENT LIABILITIES (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "67", "firstAnchor": { "contextRef": "AsOf2023-12-31", "name": "us-gaap:EmployeeRelatedLiabilitiesCurrentAndNoncurrent", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock", "us-gaap:AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "AsOf2023-12-31", "name": "us-gaap:EmployeeRelatedLiabilitiesCurrentAndNoncurrent", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock", "us-gaap:AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true } }, "R68": { "role": "http://tomz.com/role/AccruedWarrantyDetails", "longName": "000068 - Disclosure - ACCRUED WARRANTY (Details)", "shortName": "ACCRUED WARRANTY (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "68", "firstAnchor": { "contextRef": "AsOf2022-12-31", "name": "us-gaap:ExtendedProductWarrantyAccrual", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock", "us-gaap:GuaranteesTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "AsOf2021-12-31", "name": "us-gaap:ExtendedProductWarrantyAccrual", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock", "us-gaap:GuaranteesTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "unique": true } }, "R69": { "role": "http://tomz.com/role/IncomeTaxesDetails", "longName": "000069 - Disclosure - INCOME TAXES (Details)", "shortName": "INCOME TAXES (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "69", "firstAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:CurrentFederalTaxExpenseBenefit", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock", "us-gaap:IncomeTaxDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.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", "tbody", "table", "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock", "us-gaap:IncomeTaxDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true } }, "R70": { "role": "http://tomz.com/role/IncomeTaxesDetails1", "longName": "000070 - Disclosure - INCOME TAXES (Details 1)", "shortName": "INCOME TAXES (Details 1)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "70", "firstAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock", "us-gaap:IncomeTaxDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock", "us-gaap:IncomeTaxDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true } }, "R71": { "role": "http://tomz.com/role/IncomeTaxesDetails2", "longName": "000071 - Disclosure - INCOME TAXES (Details 2)", "shortName": "INCOME TAXES (Details 2)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "71", "firstAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "tomz:IncomeLossBeforeIncomeTax", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock", "us-gaap:IncomeTaxDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "tomz:IncomeLossBeforeIncomeTax", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock", "us-gaap:IncomeTaxDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true } }, "R72": { "role": "http://tomz.com/role/IncomeTaxesDetails3", "longName": "000072 - Disclosure - INCOME TAXES (Details 3)", "shortName": "INCOME TAXES (Details 3)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "72", "firstAnchor": { "contextRef": "AsOf2023-12-31", "name": "us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "AsOf2023-12-31", "name": "us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true } }, "R73": { "role": "http://tomz.com/role/IncomeTaxesDetailsNarrative", "longName": "000073 - Disclosure - INCOME TAXES (Details Narrative)", "shortName": "INCOME TAXES (Details Narrative)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "73", "firstAnchor": { "contextRef": "AsOf2023-12-31", "name": "us-gaap:OperatingLossCarryforwards", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "p", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "AsOf2023-12-31", "name": "us-gaap:OperatingLossCarryforwards", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "p", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true } }, "R74": { "role": "http://tomz.com/role/CustomerConcentrationDetailsNarrative", "longName": "000074 - Disclosure - CUSTOMER CONCENTRATION (Details Narrative)", "shortName": "CUSTOMER CONCENTRATION (Details Narrative)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "74", "firstAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:ConcentrationRiskPercentage1", "unitRef": "Pure", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "us-gaap:ConcentrationRiskDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "From2023-01-01to2023-12-31", "name": "us-gaap:ConcentrationRiskPercentage1", "unitRef": "Pure", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "us-gaap:ConcentrationRiskDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "tomz_10k.htm", "first": true, "unique": true } } }, "tag": { "us-gaap_AccountingPoliciesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountingPoliciesAbstract", "lang": { "en-us": { "role": { "label": "SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES" } } }, "auth_ref": [] }, "us-gaap_AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock", "presentation": [ "http://tomz.com/role/AccruedExpensesAndOtherCurrentLiabilities" ], "lang": { "en-us": { "role": { "verboseLabel": "ACCRUED EXPENSES AND OTHER CURRENT LIABILITIES", "label": "Accounts Payable, Accrued Liabilities, and Other Liabilities Disclosure, Current [Text Block]", "documentation": "The entire disclosure for accounts payable, accrued expenses, and other liabilities that are classified as current at the end of the reporting period." } } }, "auth_ref": [] }, "us-gaap_AccountsPayableCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsPayableCurrent", "crdr": "credit", "calculation": { "http://tomz.com/role/ConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 15.0 } }, "presentation": [ "http://tomz.com/role/ConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "verboseLabel": "Accounts Payable", "label": "[Accounts Payable, Current]", "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": [ "r20", "r633" ] }, "us-gaap_AccountsPayableMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsPayableMember", "presentation": [ "http://tomz.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative" ], "lang": { "en-us": { "role": { "verboseLabel": "Accounts Payable", "label": "Accounts Payable [Member]", "documentation": "Obligations incurred and payable to vendors for goods and services received." } } }, "auth_ref": [ "r17" ] }, "tomz_AccountsPayablePolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://tomz.com/20231231", "localname": "AccountsPayablePolicyTextBlock", "presentation": [ "http://tomz.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "verboseLabel": "Accounts Payable", "label": "[Accounts Payable]", "documentation": "Custom Element." } } }, "auth_ref": [] }, "us-gaap_AccountsReceivableNetCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsReceivableNetCurrent", "crdr": "debit", "calculation": { "http://tomz.com/role/ConsolidatedBalanceSheets": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://tomz.com/role/ConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Accounts Receivable - net", "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": [ "r251", "r252" ] }, "us-gaap_AccountsReceivableNetNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsReceivableNetNoncurrent", "crdr": "debit", "calculation": { "http://tomz.com/role/ConsolidatedBalanceSheets": { "parentTag": "us-gaap_OtherAssets", "weight": 1.0, "order": 10.0 } }, "presentation": [ "http://tomz.com/role/ConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Long Term Accounts Receivable - net", "documentation": "Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as noncurrent." } } }, "auth_ref": [ "r251", "r461" ] }, "us-gaap_AccountsReceivableSale": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsReceivableSale", "crdr": "credit", "calculation": { "http://tomz.com/role/ConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 15.0 } }, "presentation": [ "http://tomz.com/role/ConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "negatedLabel": "Long Term Accounts Receivable", "label": "[Accounts Receivable, Sale]", "documentation": "Amount of decrease from sale of accounts receivable." } } }, "auth_ref": [ "r258" ] }, "us-gaap_AccruedLiabilitiesAndOtherLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccruedLiabilitiesAndOtherLiabilities", "crdr": "credit", "calculation": { "http://tomz.com/role/ConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 16.0 } }, "presentation": [ "http://tomz.com/role/AccruedExpensesAndOtherCurrentLiabilitiesDetails", "http://tomz.com/role/ConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Accrued Expenses and Other Current Liabilities (Note 14)", "verboseLabel": "Total", "documentation": "Amount of expenses incurred but not yet paid nor invoiced, and liabilities classified as other." } } }, "auth_ref": [] }, "us-gaap_AccruedLiabilitiesAndOtherLiabilitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccruedLiabilitiesAndOtherLiabilitiesAbstract", "lang": { "en-us": { "role": { "label": "ACCRUED EXPENSES AND OTHER CURRENT LIABILITIES" } } }, "auth_ref": [] }, "us-gaap_AccruedPayrollTaxesCurrentAndNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccruedPayrollTaxesCurrentAndNoncurrent", "crdr": "credit", "presentation": [ "http://tomz.com/role/AccruedExpensesAndOtherCurrentLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Payroll And Related Costs", "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable for statutory payroll taxes incurred through that date and withheld from employees pertaining to services received from them, including entity's matching share of the employees FICA taxes and contributions to the state and federal unemployment insurance programs." } } }, "auth_ref": [ "r70" ] }, "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment", "crdr": "credit", "presentation": [ "http://tomz.com/role/PropertyAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Less: 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": [ "r49", "r163", "r473" ] }, "us-gaap_AdditionalPaidInCapital": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdditionalPaidInCapital", "crdr": "credit", "calculation": { "http://tomz.com/role/ConsolidatedBalanceSheets": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 24.0 } }, "presentation": [ "http://tomz.com/role/ConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "verboseLabel": "Additional Paid-In Capital", "label": "[Additional Paid in Capital]", "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": [ "r83", "r633", "r756" ] }, "us-gaap_AdditionalPaidInCapitalMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdditionalPaidInCapitalMember", "presentation": [ "http://tomz.com/role/ConsolidatedStatementsOfShareholdersEquity" ], "lang": { "en-us": { "role": { "verboseLabel": "Additional Paid-In Capital", "label": "Additional Paid-in Capital [Member]", "documentation": "Excess of issue price over par or stated value of the entity's capital stock and amounts received from other transactions involving the entity's stock or stockholders." } } }, "auth_ref": [ "r373", "r374", "r375", "r507", "r678", "r679", "r680", "r731", "r760" ] }, "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract", "presentation": [ "http://tomz.com/role/ConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Adjustments to Reconcile Net Loss to Net Used In Operating Activities:" } } }, "auth_ref": [] }, "us-gaap_AdvertisingCostsPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdvertisingCostsPolicyTextBlock", "presentation": [ "http://tomz.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Advertising and Promotional Expenses", "documentation": "Disclosure of accounting policy for advertising cost." } } }, "auth_ref": [ "r143" ] }, "us-gaap_AdvertisingExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdvertisingExpense", "crdr": "debit", "presentation": [ "http://tomz.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Advertising And Promotional Expenses", "documentation": "Amount charged to advertising expense for the period, which are expenses incurred with the objective of increasing revenue for a specified brand, product or product line." } } }, "auth_ref": [ "r380" ] }, "us-gaap_AllowanceForDoubtfulAccountsReceivable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AllowanceForDoubtfulAccountsReceivable", "crdr": "credit", "presentation": [ "http://tomz.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Allowance For Doubtful Accounts", "documentation": "Amount of allowance for credit loss on accounts receivable." } } }, "auth_ref": [ "r170", "r253", "r257", "r259", "r261", "r751" ] }, "us-gaap_AllowanceForLoanAndLeaseLossRecoveryOfBadDebts": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AllowanceForLoanAndLeaseLossRecoveryOfBadDebts", "crdr": "credit", "calculation": { "http://tomz.com/role/ConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 8.0 } }, "presentation": [ "http://tomz.com/role/ConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "negatedLabel": "Reserve for Bad Debt", "label": "[Allowance for Loan and Lease Loss, Recovery of Bad Debts]", "documentation": "Amount of recovery of loans and lease receivables which had previously been fully or partially written-off as bad debts." } } }, "auth_ref": [ "r9" ] }, "us-gaap_AllowanceForNotesAndLoansReceivableCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AllowanceForNotesAndLoansReceivableCurrent", "crdr": "credit", "presentation": [ "http://tomz.com/role/AccruedExpensesAndOtherCurrentLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Allowance for Sales Returns", "documentation": "Amount of allowance for credit loss on financing receivable, classified as current." } } }, "auth_ref": [ "r170", "r253", "r257" ] }, "dei_AmendmentFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "AmendmentFlag", "presentation": [ "http://tomz.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": [] }, "tomz_AmortizationOfCapitalizedSoftwareDevelopmentCosts": { "xbrltype": "monetaryItemType", "nsuri": "http://tomz.com/20231231", "localname": "AmortizationOfCapitalizedSoftwareDevelopmentCosts", "crdr": "debit", "presentation": [ "http://tomz.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Amortization Of Capitalized Software Development Costs" } } }, "auth_ref": [] }, "tomz_AmortizationOfCapitalizedSoftwareDevelopmentCostsAD": { "xbrltype": "monetaryItemType", "nsuri": "http://tomz.com/20231231", "localname": "AmortizationOfCapitalizedSoftwareDevelopmentCostsAD", "crdr": "debit", "presentation": [ "http://tomz.com/role/CapitalizedSoftwareDevelopmentCostsDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Amortization of Capitalized Software Development CostsAD" } } }, "auth_ref": [] }, "us-gaap_AmortizationOfFinancingCosts": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AmortizationOfFinancingCosts", "crdr": "debit", "calculation": { "http://tomz.com/role/ConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://tomz.com/role/ConsolidatedStatementsOfCashFlows", "http://tomz.com/role/ConvertibleDebtDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Amortization of Deferred Financing Costs", "verboseLabel": "Deferred financing costs amortization", "documentation": "Amount of amortization expense attributable to debt issuance costs." } } }, "auth_ref": [ "r93", "r319", "r433", "r673" ] }, "us-gaap_AmortizationOfIntangibleAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AmortizationOfIntangibleAssets", "crdr": "debit", "presentation": [ "http://tomz.com/role/IntangibleAssetsDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Amortization Expense", "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": [ "r6", "r42", "r47" ] }, "tomz_AmortizationOfTenantImprovementAllowance": { "xbrltype": "monetaryItemType", "nsuri": "http://tomz.com/20231231", "localname": "AmortizationOfTenantImprovementAllowance", "crdr": "debit", "presentation": [ "http://tomz.com/role/PropertyAndEquipmentDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Amortization Of Tenant Improvement Allowance" } } }, "auth_ref": [] }, "tomz_AnnualPaymentsOnContractTerm": { "xbrltype": "durationItemType", "nsuri": "http://tomz.com/20231231", "localname": "AnnualPaymentsOnContractTerm", "presentation": [ "http://tomz.com/role/CloudComputingServiceContractDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Annual payments on contract term" } } }, "auth_ref": [] }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "presentation": [ "http://tomz.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Potentially Dilutive Securities", "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": [ "r218" ] }, "tomz_ApproximateMinimumContractPaymentsTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://tomz.com/20231231", "localname": "ApproximateMinimumContractPaymentsTableTextBlock", "presentation": [ "http://tomz.com/role/ContractsAndAgreementsTables" ], "lang": { "en-us": { "role": { "label": "Approximate Minimum Contract Payments", "documentation": "Tabular disclosure of contractual obligation by timing of payment due. Includes, but is not limited to, long-term debt obligation, lease obligation, and purchase obligation." } } }, "auth_ref": [] }, "us-gaap_AreaOfLand": { "xbrltype": "areaItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AreaOfLand", "presentation": [ "http://tomz.com/role/LeasesDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Area Of Lease Facility", "documentation": "Area of land held." } } }, "auth_ref": [] }, "us-gaap_Assets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Assets", "crdr": "debit", "calculation": { "http://tomz.com/role/ConsolidatedBalanceSheets": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://tomz.com/role/ConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "totalLabel": "Total Assets", "label": "[Assets]", "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": [ "r125", "r166", "r194", "r225", "r239", "r245", "r254", "r299", "r300", "r301", "r302", "r303", "r304", "r305", "r306", "r307", "r409", "r413", "r425", "r466", "r546", "r633", "r645", "r694", "r695", "r739" ] }, "us-gaap_AssetsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetsAbstract", "presentation": [ "http://tomz.com/role/ConsolidatedBalanceSheets", "http://tomz.com/role/LeasesDetails" ], "lang": { "en-us": { "role": { "label": "ASSETS", "verboseLabel": "Assets" } } }, "auth_ref": [] }, "us-gaap_AssetsCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetsCurrent", "crdr": "debit", "calculation": { "http://tomz.com/role/ConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 12.0 } }, "presentation": [ "http://tomz.com/role/ConsolidatedBalanceSheets" ], "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": [ "r159", "r174", "r194", "r254", "r299", "r300", "r301", "r302", "r303", "r304", "r305", "r306", "r307", "r409", "r413", "r425", "r633", "r694", "r695", "r739" ] }, "dei_AuditorFirmId": { "xbrltype": "nonemptySequenceNumberItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "AuditorFirmId", "presentation": [ "http://tomz.com/role/Cover" ], "lang": { "en-us": { "role": { "label": "Auditor Firm Id", "documentation": "PCAOB issued Audit Firm Identifier" } } }, "auth_ref": [ "r649", "r650", "r651" ] }, "dei_AuditorLocation": { "xbrltype": "internationalNameItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "AuditorLocation", "presentation": [ "http://tomz.com/role/Cover" ], "lang": { "en-us": { "role": { "label": "Auditor Location" } } }, "auth_ref": [ "r649", "r650", "r651" ] }, "dei_AuditorName": { "xbrltype": "internationalNameItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "AuditorName", "presentation": [ "http://tomz.com/role/Cover" ], "lang": { "en-us": { "role": { "label": "Auditor Name" } } }, "auth_ref": [ "r649", "r650", "r651" ] }, "us-gaap_AwardDateAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AwardDateAxis", "presentation": [ "http://tomz.com/role/ShareholdersEquityDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Award Date Axis", "documentation": "Information by date or year award under share-based payment arrangement is granted." } } }, "auth_ref": [ "r700", "r701", "r702", "r703", "r704", "r705", "r706", "r707", "r708", "r709", "r710", "r711", "r712", "r713", "r714", "r715", "r716", "r717", "r718", "r719", "r720", "r721", "r722", "r723", "r724", "r725" ] }, "us-gaap_AwardDateDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AwardDateDomain", "presentation": [ "http://tomz.com/role/ShareholdersEquityDetailsNarrative" ], "lang": { "en-us": { "role": { "documentation": "Date or year award under share-based payment arrangement is granted." } } }, "auth_ref": [ "r700", "r701", "r702", "r703", "r704", "r705", "r706", "r707", "r708", "r709", "r710", "r711", "r712", "r713", "r714", "r715", "r716", "r717", "r718", "r719", "r720", "r721", "r722", "r723", "r724", "r725" ] }, "us-gaap_AwardTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AwardTypeAxis", "presentation": [ "http://tomz.com/role/ShareholdersEquityDetails3" ], "lang": { "en-us": { "role": { "label": "Award Type Axis", "documentation": "Information by type of award under share-based payment arrangement." } } }, "auth_ref": [ "r344", "r345", "r346", "r348", "r349", "r350", "r351", "r352", "r353", "r354", "r355", "r356", "r357", "r358", "r359", "r360", "r361", "r362", "r363", "r364", "r365", "r368", "r369", "r370", "r371", "r372" ] }, "tomz_Basic": { "xbrltype": "perShareItemType", "nsuri": "http://tomz.com/20231231", "localname": "Basic", "presentation": [ "http://tomz.com/role/SummaryOfSignificantAccountingPoliciesDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Basic", "label": "[Basic]" } } }, "auth_ref": [] }, "tomz_BoardOfMembersMember": { "xbrltype": "domainItemType", "nsuri": "http://tomz.com/20231231", "localname": "BoardOfMembersMember", "presentation": [ "http://tomz.com/role/ContractsAndAgreementsDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Board of Members" } } }, "auth_ref": [] }, "us-gaap_BusinessCombinationsPolicy": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationsPolicy", "presentation": [ "http://tomz.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Business Segments", "documentation": "Disclosure of accounting policy for completed business combinations (purchase method, acquisition method or combination of entities under common control). This accounting policy may include a general discussion of the purchase method or acquisition method of accounting (including for example, the treatment accorded contingent consideration, the identification of assets and liabilities, the purchase price allocation process, how the fair values of acquired assets and liabilities are determined) and the entity's specific application thereof. An entity that acquires another entity in a leveraged buyout transaction generally discloses the accounting policy followed by the acquiring entity in determining the basis used to value its interest in the acquired entity, and the rationale for that accounting policy." } } }, "auth_ref": [ "r58" ] }, "us-gaap_CapitalLeaseObligationsCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CapitalLeaseObligationsCurrent", "crdr": "credit", "presentation": [ "http://tomz.com/role/LeasesDetails4" ], "lang": { "en-us": { "role": { "label": "Present Value Of Lease Obligations", "documentation": "Amount of capital lease obligation due within one year or the normal operating cycle, if longer." } } }, "auth_ref": [ "r134", "r138", "r139" ] }, "us-gaap_CapitalizedComputerSoftwareAccumulatedAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CapitalizedComputerSoftwareAccumulatedAmortization", "crdr": "credit", "presentation": [ "http://tomz.com/role/CapitalizedSoftwareDevelopmentCostsDetails" ], "lang": { "en-us": { "role": { "negatedLabel": "Less: Accumulated Amortization", "label": "[Capitalized Computer Software, Accumulated Amortization]", "documentation": "For each balance sheet presented, the amount of accumulated amortization for capitalized computer software costs." } } }, "auth_ref": [ "r763" ] }, "us-gaap_CapitalizedComputerSoftwareAmortization1": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CapitalizedComputerSoftwareAmortization1", "crdr": "debit", "calculation": { "http://tomz.com/role/ConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://tomz.com/role/ConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Amortization of Software Costs", "documentation": "Amount of expense for amortization of capitalized computer software costs." } } }, "auth_ref": [ "r8", "r132" ] }, "us-gaap_CapitalizedComputerSoftwareGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CapitalizedComputerSoftwareGross", "crdr": "debit", "presentation": [ "http://tomz.com/role/CapitalizedSoftwareDevelopmentCostsDetails" ], "lang": { "en-us": { "role": { "label": "Capitalized Software Development Costs, Gross", "documentation": "Amount before accumulated amortization of capitalized costs for computer software, including but not limited to, acquired and internally developed computer software." } } }, "auth_ref": [ "r763" ] }, "us-gaap_CapitalizedComputerSoftwareNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CapitalizedComputerSoftwareNet", "crdr": "debit", "presentation": [ "http://tomz.com/role/CapitalizedSoftwareDevelopmentCostsDetails" ], "lang": { "en-us": { "role": { "label": "Capitalized Software Development Costs, Net", "documentation": "The carrying amount of capitalized computer software costs net of accumulated amortization as of the balance sheet date." } } }, "auth_ref": [ "r611" ] }, "us-gaap_CapitalizedComputerSoftwareNetAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CapitalizedComputerSoftwareNetAbstract", "lang": { "en-us": { "role": { "label": "CAPITALIZED SOFTWARE DEVELOPMENT COSTS" } } }, "auth_ref": [] }, "us-gaap_CapitalizedContractCostAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CapitalizedContractCostAxis", "presentation": [ "http://tomz.com/role/CapitalizedSoftwareDevelopmentCostsDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Capitalized Contract Cost Axis", "documentation": "Information by cost capitalized in obtaining or fulfilling contract with customer." } } }, "auth_ref": [ "r267" ] }, "us-gaap_CapitalizedContractCostDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CapitalizedContractCostDomain", "presentation": [ "http://tomz.com/role/CapitalizedSoftwareDevelopmentCostsDetailsNarrative" ], "lang": { "en-us": { "role": { "documentation": "Cost capitalized in obtaining and fulfilling contract with customer." } } }, "auth_ref": [ "r267" ] }, "tomz_CapitalizedSoftwareDevelopmentCostsMember": { "xbrltype": "domainItemType", "nsuri": "http://tomz.com/20231231", "localname": "CapitalizedSoftwareDevelopmentCostsMember", "presentation": [ "http://tomz.com/role/CapitalizedSoftwareDevelopmentCostsDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Capitalized Software Development Costs Member" } } }, "auth_ref": [] }, "tomz_CapitalizedSoftwareDevelopmentCostsTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://tomz.com/20231231", "localname": "CapitalizedSoftwareDevelopmentCostsTableTextBlock", "presentation": [ "http://tomz.com/role/CapitalizedSoftwareDevelopmentCostsTables" ], "lang": { "en-us": { "role": { "verboseLabel": "Capitalized Software Development Costs", "label": "[Capitalized Software Development Costs]" } } }, "auth_ref": [] }, "us-gaap_CashAndCashEquivalentsPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashAndCashEquivalentsPolicyTextBlock", "presentation": [ "http://tomz.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "verboseLabel": "Cash and Cash Equivalents", "label": "Cash and Cash Equivalents, Policy [Policy Text Block]", "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": [ "r31" ] }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "crdr": "debit", "presentation": [ "http://tomz.com/role/ConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "periodStartLabel": "Cash and Cash Equivalents - Beginning", "label": "[Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents]", "periodEndLabel": "Cash and Cash Equivalents - Ending", "documentation": "Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates." } } }, "auth_ref": [ "r29", "r102", "r190" ] }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect", "crdr": "debit", "calculation": { "http://tomz.com/role/ConsolidatedStatementsOfCashFlows": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://tomz.com/role/ConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "totalLabel": "Decrease In Cash and Cash Equivalents", "label": "[Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Excluding Exchange Rate Effect]", "documentation": "Amount of increase (decrease) in cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; excluding 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": [ "r3", "r102" ] }, "us-gaap_CashEquivalentsAtCarryingValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashEquivalentsAtCarryingValue", "crdr": "debit", "calculation": { "http://tomz.com/role/ConsolidatedBalanceSheets": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://tomz.com/role/ConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Cash and Cash Equivalents", "documentation": "Amount of short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation." } } }, "auth_ref": [ "r661", "r750" ] }, "tomz_ChangesInRevenue": { "xbrltype": "monetaryItemType", "nsuri": "http://tomz.com/20231231", "localname": "ChangesInRevenue", "crdr": "credit", "presentation": [ "http://tomz.com/role/SummaryOfSignificantAccountingPoliciesDetails2" ], "lang": { "en-us": { "role": { "label": "Changes In Revenue" } } }, "auth_ref": [] }, "tomz_ChiefFinancialOfficersMember": { "xbrltype": "domainItemType", "nsuri": "http://tomz.com/20231231", "localname": "ChiefFinancialOfficersMember", "presentation": [ "http://tomz.com/role/ShareholdersEquityDetailsNarrative" ], "lang": { "en-us": { "role": { "verboseLabel": "CEO [Member]", "label": "[CEO [Member]]" } } }, "auth_ref": [] }, "tomz_ChiefOperatingOfficersMember": { "xbrltype": "domainItemType", "nsuri": "http://tomz.com/20231231", "localname": "ChiefOperatingOfficersMember", "presentation": [ "http://tomz.com/role/ShareholdersEquityDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "CEO [Member]" } } }, "auth_ref": [] }, "dei_CityAreaCode": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "CityAreaCode", "presentation": [ "http://tomz.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://tomz.com/role/ConsolidatedBalanceSheets", "http://tomz.com/role/ConsolidatedBalanceSheetsParenthetical", "http://tomz.com/role/ShareholdersEquityDetails", "http://tomz.com/role/ShareholdersEquityDetails3", "http://tomz.com/role/ShareholdersEquityDetailsNarrative", "http://tomz.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative" ], "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": [ "r155", "r167", "r168", "r169", "r194", "r212", "r213", "r215", "r217", "r222", "r223", "r254", "r299", "r301", "r302", "r303", "r306", "r307", "r325", "r326", "r328", "r331", "r337", "r425", "r500", "r501", "r502", "r503", "r507", "r508", "r509", "r510", "r511", "r512", "r513", "r514", "r515", "r516", "r517", "r518", "r534", "r555", "r574", "r592", "r593", "r594", "r595", "r596", "r656", "r674", "r681" ] }, "us-gaap_ClassOfWarrantOrRightAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ClassOfWarrantOrRightAxis", "presentation": [ "http://tomz.com/role/ShareholdersEquityDetails2", "http://tomz.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Class Of Warrant Or Right Axis", "documentation": "Information by type of warrant or right issued." } } }, "auth_ref": [ "r54" ] }, "us-gaap_ClassOfWarrantOrRightDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ClassOfWarrantOrRightDomain", "presentation": [ "http://tomz.com/role/ShareholdersEquityDetails2", "http://tomz.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative" ], "lang": { "en-us": { "role": { "documentation": "Name of the class or type of warrant or right outstanding. Warrants and rights represent derivative securities that give the holder the right to purchase securities (usually equity) from the issuer at a specific price within a certain time frame. Warrants are often included in a new debt issue to entice investors by a higher return potential. The main difference between warrants and call options is that warrants are issued and guaranteed by the company, whereas options are exchange instruments and are not issued by the company. Also, the lifetime of a warrant is often measured in years, while the lifetime of a typical option is measured in months." } } }, "auth_ref": [] }, "us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights", "presentation": [ "http://tomz.com/role/ContractsAndAgreementsDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Options full consideration of the amount entitled", "documentation": "Number of securities into which the class of warrant or right may be converted. For example, but not limited to, 500,000 warrants may be converted into 1,000,000 shares." } } }, "auth_ref": [ "r338" ] }, "tomz_CloudComputingServiceContractDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://tomz.com/20231231", "localname": "CloudComputingServiceContractDisclosureTextBlock", "presentation": [ "http://tomz.com/role/CloudComputingServiceContract" ], "lang": { "en-us": { "role": { "verboseLabel": "CLOUD COMPUTING SERVICE CONTRACT", "label": "[CLOUD COMPUTING SERVICE CONTRACT]" } } }, "auth_ref": [] }, "us-gaap_CommitmentsAndContingencies": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommitmentsAndContingencies", "crdr": "credit", "calculation": { "http://tomz.com/role/ConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0, "order": 29.0 } }, "lang": { "en-us": { "role": { "documentation": "Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur." } } }, "auth_ref": [ "r25", "r71", "r467", "r533" ] }, "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommitmentsAndContingenciesDisclosureAbstract", "presentation": [ "http://tomz.com/role/ConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Commitments and Contingencies (Note 12)" } } }, "auth_ref": [] }, "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommitmentsAndContingenciesDisclosureTextBlock", "presentation": [ "http://tomz.com/role/CommitmentsAndContingencies" ], "lang": { "en-us": { "role": { "verboseLabel": "COMMITMENTS AND CONTINGENCIES", "label": "Commitments and Contingencies Disclosure [Text Block]", "documentation": "The entire disclosure for commitments and contingencies." } } }, "auth_ref": [ "r114", "r284", "r285", "r599", "r689" ] }, "tomz_CommitteeChairpersonMember": { "xbrltype": "domainItemType", "nsuri": "http://tomz.com/20231231", "localname": "CommitteeChairpersonMember", "presentation": [ "http://tomz.com/role/ContractsAndAgreementsDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Committee Chairperson" } } }, "auth_ref": [] }, "tomz_CommonStockIssuableUponConversionOfOutstandingShares": { "xbrltype": "sharesItemType", "nsuri": "http://tomz.com/20231231", "localname": "CommonStockIssuableUponConversionOfOutstandingShares", "presentation": [ "http://tomz.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Common Stock Issuable Upon Conversion Of Outstanding Shares" } } }, "auth_ref": [] }, "tomz_CommonStockIssuedForServicesProvidedAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://tomz.com/20231231", "localname": "CommonStockIssuedForServicesProvidedAmount", "crdr": "credit", "presentation": [ "http://tomz.com/role/ConsolidatedStatementsOfShareholdersEquity" ], "lang": { "en-us": { "role": { "label": "Common Stock Issued for Services Provided, amount" } } }, "auth_ref": [] }, "tomz_CommonStockIssuedForServicesProvidedShares": { "xbrltype": "sharesItemType", "nsuri": "http://tomz.com/20231231", "localname": "CommonStockIssuedForServicesProvidedShares", "presentation": [ "http://tomz.com/role/ConsolidatedStatementsOfShareholdersEquity" ], "lang": { "en-us": { "role": { "label": "Common Stock Issued for Services Provided, shares" } } }, "auth_ref": [] }, "us-gaap_CommonStockMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockMember", "presentation": [ "http://tomz.com/role/ConsolidatedStatementsOfShareholdersEquity" ], "lang": { "en-us": { "role": { "label": "Common Stock", "documentation": "Stock that is subordinate to all other stock of the issuer." } } }, "auth_ref": [ "r635", "r636", "r637", "r639", "r640", "r641", "r642", "r678", "r679", "r731", "r754", "r760" ] }, "us-gaap_CommonStockParOrStatedValuePerShare": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockParOrStatedValuePerShare", "presentation": [ "http://tomz.com/role/ConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Common Stock; Par Value", "documentation": "Face amount or stated value per share of common stock." } } }, "auth_ref": [ "r82" ] }, "us-gaap_CommonStockSharesAuthorized": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockSharesAuthorized", "presentation": [ "http://tomz.com/role/ConsolidatedBalanceSheetsParenthetical", "http://tomz.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Common Stock; Shares Authorized", "verboseLabel": "Common Stock, Shares Authorized", "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws." } } }, "auth_ref": [ "r82", "r534" ] }, "us-gaap_CommonStockSharesIssued": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockSharesIssued", "presentation": [ "http://tomz.com/role/ConsolidatedBalanceSheetsParenthetical" ], "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": [ "r82" ] }, "tomz_CommonStockSharesIssuedVested": { "xbrltype": "sharesItemType", "nsuri": "http://tomz.com/20231231", "localname": "CommonStockSharesIssuedVested", "presentation": [ "http://tomz.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Common Stock, Shares Issued" } } }, "auth_ref": [] }, "us-gaap_CommonStockSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockSharesOutstanding", "presentation": [ "http://tomz.com/role/ConsolidatedBalanceSheetsParenthetical" ], "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": [ "r10", "r82", "r534", "r552", "r760", "r761" ] }, "us-gaap_CommonStockValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockValue", "crdr": "credit", "presentation": [ "http://tomz.com/role/ShareholdersEquityDetailsNarrative" ], "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": [ "r82", "r469", "r633" ] }, "us-gaap_CommonStocksIncludingAdditionalPaidInCapital": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStocksIncludingAdditionalPaidInCapital", "crdr": "credit", "calculation": { "http://tomz.com/role/ConsolidatedBalanceSheets": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 23.0 } }, "presentation": [ "http://tomz.com/role/ConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Common stock; par value $0.01 per share, 250,000,000 shares authorized; 19,923,955 and 19,763,955 shares issued and outstanding at December 31, 2023 and 2022, respectively", "documentation": "Amount of par value plus amounts in excess of par value or issuance value for common stock issued." } } }, "auth_ref": [ "r82", "r83", "r117" ] }, "us-gaap_ComponentsOfDeferredTaxAssetsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ComponentsOfDeferredTaxAssetsAbstract", "presentation": [ "http://tomz.com/role/IncomeTaxesDetails3" ], "lang": { "en-us": { "role": { "label": "Deferred tax assets:" } } }, "auth_ref": [] }, "us-gaap_ComponentsOfDeferredTaxLiabilitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ComponentsOfDeferredTaxLiabilitiesAbstract", "presentation": [ "http://tomz.com/role/IncomeTaxesDetails3" ], "lang": { "en-us": { "role": { "label": "Deferred tax liabilities:" } } }, "auth_ref": [] }, "tomz_ComputerSoftware": { "xbrltype": "monetaryItemType", "nsuri": "http://tomz.com/20231231", "localname": "ComputerSoftware", "crdr": "debit", "presentation": [ "http://tomz.com/role/PropertyAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Computer And Software" } } }, "auth_ref": [] }, "us-gaap_ConcentrationRiskCreditRisk": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskCreditRisk", "presentation": [ "http://tomz.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Concentrations of Credit Risk", "documentation": "Disclosure of accounting policy for credit risk." } } }, "auth_ref": [ "r73", "r146" ] }, "us-gaap_ConcentrationRiskDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskDisclosureTextBlock", "presentation": [ "http://tomz.com/role/CustomerConcentration" ], "lang": { "en-us": { "role": { "verboseLabel": "CUSTOMER CONCENTRATION", "label": "Concentration Risk Disclosure [Text Block]", "documentation": "The entire disclosure for any concentrations existing at the date of the financial statements that make an entity vulnerable to a reasonably possible, near-term, severe impact. This disclosure informs financial statement users about the general nature of the risk associated with the concentration, and may indicate the percentage of concentration risk as of the balance sheet date." } } }, "auth_ref": [ "r106" ] }, "tomz_ConcentrationRiskPercentage": { "xbrltype": "percentItemType", "nsuri": "http://tomz.com/20231231", "localname": "ConcentrationRiskPercentage", "presentation": [ "http://tomz.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Concentration Risk, Percentage" } } }, "auth_ref": [] }, "us-gaap_ConcentrationRiskPercentage1": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskPercentage1", "presentation": [ "http://tomz.com/role/CustomerConcentrationDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Concentration Risk Percentage", "documentation": "For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the \"benchmark\" (or denominator) in the equation, this concept represents the concentration percentage derived from the division." } } }, "auth_ref": [ "r35", "r36", "r63", "r64", "r250" ] }, "us-gaap_ConsolidationPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConsolidationPolicyTextBlock", "presentation": [ "http://tomz.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Principles of Consolidation", "documentation": "Disclosure of accounting policy regarding (1) the principles it follows in consolidating or combining the separate financial statements, including the principles followed in determining the inclusion or exclusion of subsidiaries or other entities in the consolidated or combined financial statements and (2) its treatment of interests (for example, common stock, a partnership interest or other means of exerting influence) in other entities, for example consolidation or use of the equity or cost methods of accounting. The accounting policy may also address the accounting treatment for intercompany accounts and transactions, noncontrolling interest, and the income statement treatment in consolidation for issuances of stock by a subsidiary." } } }, "auth_ref": [ "r60", "r616" ] }, "us-gaap_ConstructionInProgressGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConstructionInProgressGross", "crdr": "debit", "presentation": [ "http://tomz.com/role/PropertyAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Tenant Improvement Allowance", "documentation": "Amount of structure or a modification to a structure under construction. Includes recently completed structures or modifications to structures that have not been placed into service." } } }, "auth_ref": [ "r113" ] }, "tomz_ContractsAndAgreementsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://tomz.com/20231231", "localname": "ContractsAndAgreementsAbstract", "lang": { "en-us": { "role": { "label": "CONTRACTS AND AGREEMENTS" } } }, "auth_ref": [] }, "tomz_ContractsAndAgreementsTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://tomz.com/20231231", "localname": "ContractsAndAgreementsTextBlock", "presentation": [ "http://tomz.com/role/ContractsAndAgreements" ], "lang": { "en-us": { "role": { "verboseLabel": "CONTRACTS AND AGREEMENTS", "label": "[CONTRACTS AND AGREEMENTS]", "documentation": "Contracts and agreements text block." } } }, "auth_ref": [] }, "us-gaap_ContractualObligation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractualObligation", "crdr": "credit", "presentation": [ "http://tomz.com/role/ContractsAndAgreementsDetails" ], "lang": { "en-us": { "role": { "label": "Total Minimum Payments", "documentation": "Amount of contractual obligation, including, but not limited to, long-term debt, lease obligation, purchase obligation, and other commitments." } } }, "auth_ref": [ "r677" ] }, "us-gaap_ContractualObligationDueInFourthYear": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractualObligationDueInFourthYear", "crdr": "credit", "presentation": [ "http://tomz.com/role/ContractsAndAgreementsDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "December 31, 2026", "label": "[Contractual Obligation, to be Paid, Year Four]", "documentation": "Amount of contractual obligation to be paid in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [] }, "us-gaap_ContractualObligationDueInSecondYear": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractualObligationDueInSecondYear", "crdr": "credit", "presentation": [ "http://tomz.com/role/ContractsAndAgreementsDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "December 31, 2024", "label": "[Contractual Obligation, to be Paid, Year Two]", "documentation": "Amount of contractual obligation 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": [] }, "us-gaap_ContractualObligationDueInThirdYear": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractualObligationDueInThirdYear", "crdr": "credit", "presentation": [ "http://tomz.com/role/ContractsAndAgreementsDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "December 31, 2025", "label": "[Contractual Obligation, to be Paid, Year Three]", "documentation": "Amount of contractual obligation to be paid in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [] }, "tomz_ConvertibleDebtAbstract": { "xbrltype": "stringItemType", "nsuri": "http://tomz.com/20231231", "localname": "ConvertibleDebtAbstract", "lang": { "en-us": { "role": { "label": "CONVERTIBLE DEBT" } } }, "auth_ref": [] }, "us-gaap_ConvertibleDebtTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConvertibleDebtTableTextBlock", "presentation": [ "http://tomz.com/role/ConvertibleDebtTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Convertible notes", "documentation": "Tabular disclosure of convertible debt instrument. Includes, but is not limited to, principal amount and amortized premium or discount." } } }, "auth_ref": [] }, "us-gaap_ConvertibleNotesPayable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConvertibleNotesPayable", "crdr": "credit", "calculation": { "http://tomz.com/role/ConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesNoncurrent", "weight": 1.0, "order": 20.0 } }, "presentation": [ "http://tomz.com/role/ConsolidatedBalanceSheets", "http://tomz.com/role/ConvertibleDebtDetails" ], "lang": { "en-us": { "role": { "label": "Convertible Notes Payable, net of discount of $301,985 and $0 at December 31, 2023 and 2022, respectively (Note 10)", "verboseLabel": "Convertible notes, net", "documentation": "Including the current and noncurrent portions, carrying value as of the balance sheet date of a written promise to pay a note, initially due after one year or beyond the operating cycle if longer, which can be exchanged for a specified amount of one or more securities (typically common stock), at the option of the issuer or the holder." } } }, "auth_ref": [ "r18", "r126", "r749" ] }, "us-gaap_ConvertibleNotesPayableCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConvertibleNotesPayableCurrent", "crdr": "credit", "presentation": [ "http://tomz.com/role/ConvertibleDebtDetails" ], "lang": { "en-us": { "role": { "label": "Convertible notes", "documentation": "Carrying value as of the balance sheet date of the portion of long-term debt due within one year or the operating cycle if longer identified as Convertible Notes Payable. Convertible Notes Payable is a written promise to pay a note which can be exchanged for a specified amount of another, related security, at the option of the issuer and the holder." } } }, "auth_ref": [ "r22" ] }, "us-gaap_ConvertibleSubordinatedDebtCurrentAndNoncurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConvertibleSubordinatedDebtCurrentAndNoncurrentAbstract", "presentation": [ "http://tomz.com/role/ConvertibleDebtDetails" ], "lang": { "en-us": { "role": { "label": "Convertible debt" } } }, "auth_ref": [] }, "us-gaap_CostOfGoodsAndServicesSoldAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CostOfGoodsAndServicesSoldAmortization", "crdr": "debit", "presentation": [ "http://tomz.com/role/CloudComputingServiceContractDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Amortization expense", "documentation": "Amount of expense for allocation of cost of intangible asset over its useful life directly used in production of good and rendering of service." } } }, "auth_ref": [ "r670" ] }, "us-gaap_CostOfRevenue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CostOfRevenue", "crdr": "debit", "calculation": { "http://tomz.com/role/ConsolidatedStatementsOfOperations": { "parentTag": "us-gaap_GrossProfit", "weight": -1.0, "order": 3.0 } }, "presentation": [ "http://tomz.com/role/ConsolidatedStatementsOfOperations" ], "lang": { "en-us": { "role": { "label": "Cost of Sales", "documentation": "The aggregate cost of goods produced and sold and services rendered during the reporting period." } } }, "auth_ref": [ "r95", "r194", "r254", "r299", "r300", "r301", "r302", "r303", "r304", "r305", "r306", "r307", "r425", "r694" ] }, "us-gaap_CostOfSalesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CostOfSalesMember", "presentation": [ "http://tomz.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Cost of Sales [Member]", "documentation": "Primary financial statement caption encompassing cost of sales." } } }, "auth_ref": [] }, "us-gaap_CostsAndExpensesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CostsAndExpensesAbstract", "presentation": [ "http://tomz.com/role/ConsolidatedStatementsOfOperations" ], "lang": { "en-us": { "role": { "label": "Operating Expenses:" } } }, "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_CurrentFederalTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CurrentFederalTaxExpenseBenefit", "crdr": "debit", "presentation": [ "http://tomz.com/role/IncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "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": [ "r659", "r676", "r730" ] }, "dei_CurrentFiscalYearEndDate": { "xbrltype": "gMonthDayItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "CurrentFiscalYearEndDate", "presentation": [ "http://tomz.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", "presentation": [ "http://tomz.com/role/IncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Foreign", "documentation": "Amount of current foreign income tax expense (benefit) pertaining to income (loss) from continuing operations." } } }, "auth_ref": [ "r659", "r676" ] }, "us-gaap_CurrentIncomeTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CurrentIncomeTaxExpenseBenefit", "crdr": "debit", "presentation": [ "http://tomz.com/role/IncomeTaxesDetails" ], "lang": { "en-us": { "role": { "negatedLabel": "Current Income Tax Expense Benefit", "label": "[Current Income Tax Expense (Benefit)]", "documentation": "Amount of current income tax expense (benefit) pertaining to taxable income (loss) from continuing operations." } } }, "auth_ref": [ "r122", "r396", "r402", "r676" ] }, "us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract", "presentation": [ "http://tomz.com/role/IncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Current:" } } }, "auth_ref": [] }, "us-gaap_CurrentStateAndLocalTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CurrentStateAndLocalTaxExpenseBenefit", "crdr": "debit", "presentation": [ "http://tomz.com/role/IncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "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": [ "r659", "r676", "r730" ] }, "tomz_CustomerDeposits": { "xbrltype": "monetaryItemType", "nsuri": "http://tomz.com/20231231", "localname": "CustomerDeposits", "crdr": "debit", "calculation": { "http://tomz.com/role/ConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 20.0 } }, "presentation": [ "http://tomz.com/role/ConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Customer Deposits" } } }, "auth_ref": [] }, "us-gaap_CustomerDepositsCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CustomerDepositsCurrent", "crdr": "credit", "calculation": { "http://tomz.com/role/ConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 17.0 } }, "presentation": [ "http://tomz.com/role/ConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Deferred Revenue", "documentation": "The current portion of money or property received from customers which is either to be returned upon satisfactory contract completion or applied to customer receivables in accordance with the terms of the contract or the understandings." } } }, "auth_ref": [ "r135" ] }, "us-gaap_DebtDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtDisclosureAbstract", "lang": { "en-us": { "role": { "label": "ACCRUED WARRANTY" } } }, "auth_ref": [] }, "us-gaap_DebtDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtDisclosureTextBlock", "presentation": [ "http://tomz.com/role/ConvertibleDebt" ], "lang": { "en-us": { "role": { "verboseLabel": "CONVERTIBLE DEBT", "label": "Debt Disclosure [Text Block]", "documentation": "The entire disclosure for information about short-term and long-term debt arrangements, which includes amounts of borrowings under each line of credit, note payable, commercial paper issue, bonds indenture, debenture issue, own-share lending arrangements and any other contractual agreement to repay funds, and about the underlying arrangements, rationale for a classification as long-term, including repayment terms, interest rates, collateral provided, restrictions on use of assets and activities, whether or not in compliance with debt covenants, and other matters important to users of the financial statements, such as the effects of refinancing and noncompliance with debt covenants." } } }, "auth_ref": [ "r115", "r192", "r308", "r309", "r310", "r311", "r312", "r313", "r314", "r315", "r320", "r321", "r322" ] }, "us-gaap_DebtInstrumentInterestRateDuringPeriod": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentInterestRateDuringPeriod", "presentation": [ "http://tomz.com/role/ConvertibleDebtDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Interest rate", "documentation": "The average effective interest rate during the reporting period." } } }, "auth_ref": [ "r24", "r66", "r317" ] }, "us-gaap_DebtInstrumentUnamortizedDiscount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentUnamortizedDiscount", "crdr": "debit", "presentation": [ "http://tomz.com/role/ConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Net of discount", "documentation": "Amount, after accumulated amortization, of debt discount." } } }, "auth_ref": [ "r65", "r68", "r697" ] }, "us-gaap_DebtIssuanceCostsLineOfCreditArrangementsNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtIssuanceCostsLineOfCreditArrangementsNet", "crdr": "debit", "presentation": [ "http://tomz.com/role/ConvertibleDebtDetails" ], "lang": { "en-us": { "role": { "negatedLabel": "Less: Debt issuance costs", "label": "[Debt Issuance Costs, Line of Credit Arrangements, Net]", "documentation": "Amount, after accumulated amortization, of debt issuance costs related to line of credit arrangements. Includes, but is not limited to, legal, accounting, underwriting, printing, and registration costs." } } }, "auth_ref": [ "r16" ] }, "us-gaap_DeferredCompensationArrangementWithIndividualMaximumContractualTerm1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredCompensationArrangementWithIndividualMaximumContractualTerm1", "presentation": [ "http://tomz.com/role/ShareholdersEquityDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Contractual term", "documentation": "Maximum term of the deferred compensation arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r11", "r53" ] }, "us-gaap_DeferredFederalIncomeTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredFederalIncomeTaxExpenseBenefit", "crdr": "debit", "presentation": [ "http://tomz.com/role/IncomeTaxesDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Federal", "label": "[Deferred Federal Income Tax Expense (Benefit)]", "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": [ "r676", "r729", "r730" ] }, "us-gaap_DeferredForeignIncomeTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredForeignIncomeTaxExpenseBenefit", "crdr": "debit", "presentation": [ "http://tomz.com/role/IncomeTaxesDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Foreign", "label": "[Deferred Foreign Income Tax Expense (Benefit)]", "documentation": "Amount of deferred foreign income tax expense (benefit) pertaining to income (loss) from continuing operations." } } }, "auth_ref": [ "r122", "r676", "r729" ] }, "us-gaap_DeferredIncomeTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredIncomeTaxExpenseBenefit", "crdr": "debit", "presentation": [ "http://tomz.com/role/IncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "DeferredIncomeTaxExpenseBenefit", "documentation": "Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations." } } }, "auth_ref": [ "r6", "r122", "r152", "r401", "r402", "r676" ] }, "us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract", "presentation": [ "http://tomz.com/role/IncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Deferred:" } } }, "auth_ref": [] }, "us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredStateAndLocalIncomeTaxExpenseBenefit", "crdr": "debit", "presentation": [ "http://tomz.com/role/IncomeTaxesDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "State", "label": "[Deferred State and Local Income Tax Expense (Benefit)]", "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": [ "r676", "r729", "r730" ] }, "tomz_DeferredTaxAssetOperatingLeaseRightofuseLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://tomz.com/20231231", "localname": "DeferredTaxAssetOperatingLeaseRightofuseLiabilities", "crdr": "debit", "presentation": [ "http://tomz.com/role/IncomeTaxesDetails3" ], "lang": { "en-us": { "role": { "label": "Operating Lease Right-of-use Liabilities" } } }, "auth_ref": [] }, "tomz_DeferredTaxAssetsAccruedVacation": { "xbrltype": "monetaryItemType", "nsuri": "http://tomz.com/20231231", "localname": "DeferredTaxAssetsAccruedVacation", "crdr": "debit", "presentation": [ "http://tomz.com/role/IncomeTaxesDetails3" ], "lang": { "en-us": { "role": { "label": "Accrued Vacation" } } }, "auth_ref": [] }, "us-gaap_DeferredTaxAssetsGoodwillAndIntangibleAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxAssetsGoodwillAndIntangibleAssets", "crdr": "debit", "presentation": [ "http://tomz.com/role/IncomeTaxesDetails3" ], "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_DeferredTaxAssetsLiabilitiesNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxAssetsLiabilitiesNet", "crdr": "debit", "presentation": [ "http://tomz.com/role/IncomeTaxesDetails3" ], "lang": { "en-us": { "role": { "label": "Net Deferred Tax Assets and Liabilities", "documentation": "Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, without jurisdictional netting." } } }, "auth_ref": [ "r727" ] }, "us-gaap_DeferredTaxAssetsNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxAssetsNet", "crdr": "debit", "presentation": [ "http://tomz.com/role/IncomeTaxesDetails3" ], "lang": { "en-us": { "role": { "label": "Deferred Tax Assets", "documentation": "Amount after allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards." } } }, "auth_ref": [ "r727" ] }, "us-gaap_DeferredTaxAssetsOperatingLossCarryforwards": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxAssetsOperatingLossCarryforwards", "crdr": "debit", "presentation": [ "http://tomz.com/role/IncomeTaxesDetails3" ], "lang": { "en-us": { "role": { "label": "Net Operating Losses", "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible operating loss carryforwards." } } }, "auth_ref": [ "r57", "r728" ] }, "us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts", "crdr": "debit", "presentation": [ "http://tomz.com/role/IncomeTaxesDetails3" ], "lang": { "en-us": { "role": { "verboseLabel": "Reserve for Bad Debt", "label": "[Deferred Tax Asset, Tax Deferred Expense, Reserve and Accrual, Accounts Receivable, Allowance for Credit Loss]", "documentation": "Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary difference from allowance for credit loss on accounts receivable." } } }, "auth_ref": [ "r57", "r728" ] }, "us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves", "crdr": "debit", "presentation": [ "http://tomz.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Warranty Reserve", "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from warranty reserves." } } }, "auth_ref": [ "r57", "r728" ] }, "tomz_DeferredTaxAssetsTaxDeferredExpenseWarrantyReserve": { "xbrltype": "monetaryItemType", "nsuri": "http://tomz.com/20231231", "localname": "DeferredTaxAssetsTaxDeferredExpenseWarrantyReserve", "crdr": "debit", "presentation": [ "http://tomz.com/role/IncomeTaxesDetails3" ], "lang": { "en-us": { "role": { "verboseLabel": "Warranty Reserve", "label": "[Warranty Reserve]" } } }, "auth_ref": [] }, "us-gaap_DeferredTaxAssetsValuationAllowance": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxAssetsValuationAllowance", "crdr": "credit", "presentation": [ "http://tomz.com/role/IncomeTaxesDetails3" ], "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": [ "r392" ] }, "us-gaap_DeferredTaxLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxLiabilities", "crdr": "credit", "presentation": [ "http://tomz.com/role/IncomeTaxesDetails3" ], "lang": { "en-us": { "role": { "negatedLabel": "Total", "label": "[Deferred Tax Liabilities, Net]", "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences without jurisdictional netting." } } }, "auth_ref": [ "r55", "r727" ] }, "us-gaap_DeferredTaxLiabilitiesDeferredExpenseCapitalizedResearchAndDevelopmentCosts": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxLiabilitiesDeferredExpenseCapitalizedResearchAndDevelopmentCosts", "crdr": "credit", "presentation": [ "http://tomz.com/role/IncomeTaxesDetails3" ], "lang": { "en-us": { "role": { "label": "Capitalized R&D", "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from research and development costs." } } }, "auth_ref": [ "r57", "r728" ] }, "us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxLiabilitiesPropertyPlantAndEquipment", "crdr": "credit", "presentation": [ "http://tomz.com/role/IncomeTaxesDetails3" ], "lang": { "en-us": { "role": { "negatedLabel": "Property Plant and Equipment", "label": "[Deferred Tax Liabilities, Property, Plant and Equipment]", "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from property, plant, and equipment." } } }, "auth_ref": [ "r57", "r728" ] }, "tomz_DeferredTaxLiabilityOperatingLeaseRightofuseAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://tomz.com/20231231", "localname": "DeferredTaxLiabilityOperatingLeaseRightofuseAssets", "crdr": "credit", "presentation": [ "http://tomz.com/role/IncomeTaxesDetails3" ], "lang": { "en-us": { "role": { "negatedLabel": "Operating Lease Right-of-use Assets", "label": "[Operating Lease Right-of-use Assets]" } } }, "auth_ref": [] }, "us-gaap_Deposits": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Deposits", "crdr": "credit", "presentation": [ "http://tomz.com/role/VendorDepositsDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "vendor 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": [ "r69" ] }, "us-gaap_DepositsAssetsCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DepositsAssetsCurrent", "crdr": "debit", "calculation": { "http://tomz.com/role/ConsolidatedBalanceSheets": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://tomz.com/role/ConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Vendor Deposits (Note 4)", "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": [ "r667" ] }, "us-gaap_Depreciation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Depreciation", "crdr": "debit", "presentation": [ "http://tomz.com/role/PropertyAndEquipmentDetailsNarrative" ], "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": [ "r6", "r48" ] }, "us-gaap_DepreciationAndAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DepreciationAndAmortization", "crdr": "debit", "calculation": { "http://tomz.com/role/ConsolidatedStatementsOfOperations": { "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://tomz.com/role/ConsolidatedStatementsOfOperations" ], "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": [ "r6", "r48" ] }, "tomz_DescriptionOfConvertibleNote": { "xbrltype": "stringItemType", "nsuri": "http://tomz.com/20231231", "localname": "DescriptionOfConvertibleNote", "presentation": [ "http://tomz.com/role/ConvertibleDebtDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Convertible note description" } } }, "auth_ref": [] }, "tomz_Diluted": { "xbrltype": "perShareItemType", "nsuri": "http://tomz.com/20231231", "localname": "Diluted", "presentation": [ "http://tomz.com/role/SummaryOfSignificantAccountingPoliciesDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Diluted", "label": "[Diluted]" } } }, "auth_ref": [] }, "tomz_DirectorFeesCurrentAndNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://tomz.com/20231231", "localname": "DirectorFeesCurrentAndNoncurrent", "crdr": "credit", "presentation": [ "http://tomz.com/role/AccruedExpensesAndOtherCurrentLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Director Fees" } } }, "auth_ref": [] }, "srt_DirectorMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "DirectorMember", "presentation": [ "http://tomz.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Director [Member]" } } }, "auth_ref": [ "r682", "r755" ] }, "us-gaap_DisaggregationOfRevenueTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisaggregationOfRevenueTableTextBlock", "presentation": [ "http://tomz.com/role/SummaryOfSignificantAccountingPoliciesTables" ], "lang": { "en-us": { "role": { "label": "Disaggregation of Revenue", "documentation": "Tabular disclosure of disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor." } } }, "auth_ref": [ "r699" ] }, "dei_DocumentAnnualReport": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentAnnualReport", "presentation": [ "http://tomz.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": [ "r649", "r650", "r651" ] }, "dei_DocumentFinStmtErrorCorrectionFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentFinStmtErrorCorrectionFlag", "presentation": [ "http://tomz.com/role/Cover" ], "lang": { "en-us": { "role": { "label": "Document Fin Stmt Error Correction Flag", "documentation": "Indicates whether any of the financial statement period in the filing include a restatement due to error correction." } } }, "auth_ref": [ "r649", "r650", "r651", "r653" ] }, "dei_DocumentFiscalPeriodFocus": { "xbrltype": "fiscalPeriodItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentFiscalPeriodFocus", "presentation": [ "http://tomz.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://tomz.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://tomz.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_DocumentTransitionReport": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentTransitionReport", "presentation": [ "http://tomz.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": [ "r652" ] }, "dei_DocumentType": { "xbrltype": "submissionTypeItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentType", "presentation": [ "http://tomz.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": [] }, "us-gaap_EarningsPerShareAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareAbstract", "presentation": [ "http://tomz.com/role/ConsolidatedStatementsOfOperations" ], "lang": { "en-us": { "role": { "label": "Net income (loss) Per Common Share" } } }, "auth_ref": [] }, "us-gaap_EarningsPerShareBasic": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareBasic", "presentation": [ "http://tomz.com/role/ConsolidatedStatementsOfOperations", "http://tomz.com/role/SummaryOfSignificantAccountingPoliciesDetails1" ], "lang": { "en-us": { "role": { "label": "Basic", "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": [ "r183", "r202", "r203", "r204", "r205", "r206", "r210", "r212", "r215", "r216", "r217", "r219", "r423", "r424", "r462", "r478", "r619" ] }, "us-gaap_EarningsPerShareBasicOtherDisclosuresAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareBasicOtherDisclosuresAbstract", "presentation": [ "http://tomz.com/role/SummaryOfSignificantAccountingPoliciesDetails" ], "lang": { "en-us": { "role": { "label": "Weighted Average Number Of Common Shares Outstanding:" } } }, "auth_ref": [] }, "us-gaap_EarningsPerShareDiluted": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareDiluted", "presentation": [ "http://tomz.com/role/ConsolidatedStatementsOfOperations", "http://tomz.com/role/SummaryOfSignificantAccountingPoliciesDetails1" ], "lang": { "en-us": { "role": { "label": "Diluted", "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": [ "r183", "r202", "r203", "r204", "r205", "r206", "r212", "r215", "r216", "r217", "r219", "r423", "r424", "r462", "r478", "r619" ] }, "us-gaap_EarningsPerSharePolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerSharePolicyTextBlock", "presentation": [ "http://tomz.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Net Income (Loss) 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": [ "r33", "r34" ] }, "us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate", "presentation": [ "http://tomz.com/role/IncomeTaxesDetails2" ], "lang": { "en-us": { "role": { "label": "US statutory corporate income tax rate", "documentation": "Percentage of domestic federal statutory tax rate applicable to pretax income (loss)." } } }, "auth_ref": [ "r196", "r388", "r404" ] }, "us-gaap_EmployeeRelatedLiabilitiesCurrentAndNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeRelatedLiabilitiesCurrentAndNoncurrent", "crdr": "credit", "presentation": [ "http://tomz.com/role/AccruedExpensesAndOtherCurrentLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Commissions", "documentation": "Total of the carrying values as of the balance sheet date of obligations incurred through that date and payable for obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits." } } }, "auth_ref": [ "r70", "r748" ] }, "tomz_EmployeesMember": { "xbrltype": "domainItemType", "nsuri": "http://tomz.com/20231231", "localname": "EmployeesMember", "presentation": [ "http://tomz.com/role/ShareholdersEquityDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Employees [Member]" } } }, "auth_ref": [] }, "dei_EntityAddressAddressLine1": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressAddressLine1", "presentation": [ "http://tomz.com/role/Cover" ], "lang": { "en-us": { "role": { "label": "Entity Address Address Line 1", "documentation": "Address Line 1 such as Attn, Building Name, Street Name" } } }, "auth_ref": [] }, "dei_EntityAddressCityOrTown": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressCityOrTown", "presentation": [ "http://tomz.com/role/Cover" ], "lang": { "en-us": { "role": { "label": "Entity Address City Or Town", "documentation": "Name of the City or Town" } } }, "auth_ref": [] }, "dei_EntityAddressPostalZipCode": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressPostalZipCode", "presentation": [ "http://tomz.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://tomz.com/role/Cover" ], "lang": { "en-us": { "role": { "label": "Entity Address State Or Province", "documentation": "Name of the state or province." } } }, "auth_ref": [] }, "dei_EntityCentralIndexKey": { "xbrltype": "centralIndexKeyItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityCentralIndexKey", "presentation": [ "http://tomz.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": [ "r647" ] }, "dei_EntityCommonStockSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityCommonStockSharesOutstanding", "presentation": [ "http://tomz.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://tomz.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_EntityEmergingGrowthCompany": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityEmergingGrowthCompany", "presentation": [ "http://tomz.com/role/Cover" ], "lang": { "en-us": { "role": { "label": "Entity Emerging Growth Company", "documentation": "Indicate if registrant meets the emerging growth company criteria." } } }, "auth_ref": [ "r647" ] }, "dei_EntityFileNumber": { "xbrltype": "fileNumberItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityFileNumber", "presentation": [ "http://tomz.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://tomz.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": [ "r647" ] }, "dei_EntityIncorporationStateCountryCode": { "xbrltype": "edgarStateCountryItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityIncorporationStateCountryCode", "presentation": [ "http://tomz.com/role/Cover" ], "lang": { "en-us": { "role": { "label": "Entity Incorporation State 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://tomz.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": [ "r654" ] }, "dei_EntityPublicFloat": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityPublicFloat", "crdr": "credit", "presentation": [ "http://tomz.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://tomz.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": [ "r647" ] }, "dei_EntityShellCompany": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityShellCompany", "presentation": [ "http://tomz.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": [ "r647" ] }, "dei_EntitySmallBusiness": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntitySmallBusiness", "presentation": [ "http://tomz.com/role/Cover" ], "lang": { "en-us": { "role": { "label": "Entity Small Business", "documentation": "Indicates that the company is a Smaller Reporting Company (SRC)." } } }, "auth_ref": [ "r647" ] }, "dei_EntityTaxIdentificationNumber": { "xbrltype": "employerIdItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityTaxIdentificationNumber", "presentation": [ "http://tomz.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": [ "r647" ] }, "dei_EntityVoluntaryFilers": { "xbrltype": "yesNoItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityVoluntaryFilers", "presentation": [ "http://tomz.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://tomz.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": [ "r655" ] }, "tomz_Equipments": { "xbrltype": "monetaryItemType", "nsuri": "http://tomz.com/20231231", "localname": "Equipments", "crdr": "debit", "presentation": [ "http://tomz.com/role/PropertyAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Equipment" } } }, "auth_ref": [] }, "tomz_EquityCompensation": { "xbrltype": "monetaryItemType", "nsuri": "http://tomz.com/20231231", "localname": "EquityCompensation", "crdr": "debit", "presentation": [ "http://tomz.com/role/ConsolidatedStatementsOfShareholdersEquity" ], "lang": { "en-us": { "role": { "label": "Equity Compensation" } } }, "auth_ref": [] }, "tomz_EquityCompensationExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://tomz.com/20231231", "localname": "EquityCompensationExpense", "crdr": "debit", "calculation": { "http://tomz.com/role/ConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://tomz.com/role/ConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Equity Compensation Expense" } } }, "auth_ref": [] }, "us-gaap_EquityComponentDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EquityComponentDomain", "presentation": [ "http://tomz.com/role/ConsolidatedStatementsOfShareholdersEquity" ], "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": [ "r10", "r156", "r178", "r179", "r180", "r197", "r198", "r199", "r201", "r207", "r209", "r221", "r255", "r256", "r339", "r373", "r374", "r375", "r397", "r398", "r415", "r416", "r417", "r418", "r419", "r420", "r422", "r426", "r427", "r428", "r429", "r430", "r431", "r440", "r493", "r494", "r495", "r507", "r574" ] }, "tomz_EquityIncentivePlanOneMember": { "xbrltype": "domainItemType", "nsuri": "http://tomz.com/20231231", "localname": "EquityIncentivePlanOneMember", "presentation": [ "http://tomz.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "2016 Equity Incentive Plan" } } }, "auth_ref": [] }, "tomz_ExecutiveAgreementsWithElissaJShaneMember": { "xbrltype": "domainItemType", "nsuri": "http://tomz.com/20231231", "localname": "ExecutiveAgreementsWithElissaJShaneMember", "presentation": [ "http://tomz.com/role/ContractsAndAgreementsDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Executive Agreements (Elissa J. Shane)" } } }, "auth_ref": [] }, "us-gaap_ExtendedProductWarrantyAccrual": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ExtendedProductWarrantyAccrual", "crdr": "credit", "presentation": [ "http://tomz.com/role/AccruedWarrantyDetails" ], "lang": { "en-us": { "role": { "periodStartLabel": "Beginning Accrued Warranty Costs", "label": "[Extended Product Warranty Accrual]", "periodEndLabel": "Ending Accrued Warranty Cost", "documentation": "Amount as of the balance sheet date of the aggregate extended product warranty liability. Does not include the ending balance for the standard product warranty liability." } } }, "auth_ref": [ "r692", "r693" ] }, "us-gaap_ExtendedProductWarrantyAccrualCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ExtendedProductWarrantyAccrualCurrent", "crdr": "credit", "presentation": [ "http://tomz.com/role/AccruedExpensesAndOtherCurrentLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Accrued Warranty (note 14)", "documentation": "Amount at end of the reporting period of the aggregate extended product warranty liability that is expected to be paid within one year of the balance sheet date or normal operating cycle, if longer. Does not include the balance for the standard product warranty liability." } } }, "auth_ref": [ "r22", "r692", "r693" ] }, "us-gaap_ExtendedProductWarrantyPolicy": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ExtendedProductWarrantyPolicy", "presentation": [ "http://tomz.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Accrued Warranties", "documentation": "Disclosure of accounting policy for extended product warranties and other guarantee contracts including the methodology for measuring the liability." } } }, "auth_ref": [ "r690" ] }, "us-gaap_ExtinguishmentOfDebtAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ExtinguishmentOfDebtAxis", "presentation": [ "http://tomz.com/role/CustomerConcentrationDetailsNarrative", "http://tomz.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Extinguishment Of Debt Axis", "documentation": "Information pertaining to the debt extinguished including the amount of gain (loss), the income tax effect on the gain (loss), and the amount of gain (loss), net or the related income tax, by debt instrument." } } }, "auth_ref": [ "r50" ] }, "us-gaap_ExtinguishmentOfDebtTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ExtinguishmentOfDebtTypeDomain", "presentation": [ "http://tomz.com/role/CustomerConcentrationDetailsNarrative", "http://tomz.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative" ], "lang": { "en-us": { "role": { "documentation": "Type of debt extinguished." } } }, "auth_ref": [ "r50" ] }, "us-gaap_ExtraordinaryAndUnusualItemsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ExtraordinaryAndUnusualItemsAbstract", "lang": { "en-us": { "role": { "label": "VENDOR DEPOSITS" } } }, "auth_ref": [] }, "us-gaap_FairValueMeasurementPolicyPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueMeasurementPolicyPolicyTextBlock", "presentation": [ "http://tomz.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Fair Value Measurements", "documentation": "Disclosure of accounting policy for fair value measurements of financial and non-financial assets, liabilities and instruments classified in shareholders' equity. Disclosures include, but are not limited to, how an entity that manages a group of financial assets and liabilities on the basis of its net exposure measures the fair value of those assets and liabilities." } } }, "auth_ref": [] }, "tomz_FairValueOfStockOption": { "xbrltype": "monetaryItemType", "nsuri": "http://tomz.com/20231231", "localname": "FairValueOfStockOption", "crdr": "credit", "presentation": [ "http://tomz.com/role/ShareholdersEquityDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Fair value of stock option" } } }, "auth_ref": [] }, "tomz_FederalCorpoRateTaxRateDescription": { "xbrltype": "stringItemType", "nsuri": "http://tomz.com/20231231", "localname": "FederalCorpoRateTaxRateDescription", "presentation": [ "http://tomz.com/role/IncomeTaxesDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Description of federal corporate tax rate" } } }, "auth_ref": [] }, "us-gaap_FederalDepositInsuranceCorporationPremiumExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FederalDepositInsuranceCorporationPremiumExpense", "crdr": "debit", "presentation": [ "http://tomz.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Cash Balances At Financial Institutions", "documentation": "Amount of expense for Federal Deposit Insurance Corporation (FDIC) insurance." } } }, "auth_ref": [ "r130" ] }, "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization", "crdr": "credit", "presentation": [ "http://tomz.com/role/IntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Less: Accumulated Amortization", "documentation": "Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life." } } }, "auth_ref": [ "r164", "r278" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive", "crdr": "debit", "presentation": [ "http://tomz.com/role/IntangibleAssetsDetails2" ], "lang": { "en-us": { "role": { "label": "Thereafter", "documentation": "Amount of amortization for asset, excluding financial asset and goodwill, lacking physical substance with finite life expected to be recognized after fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths", "crdr": "debit", "presentation": [ "http://tomz.com/role/IntangibleAssetsDetails2" ], "lang": { "en-us": { "role": { "label": "December 31, 2024", "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": [ "r110" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFive", "crdr": "debit", "presentation": [ "http://tomz.com/role/IntangibleAssetsDetails2" ], "lang": { "en-us": { "role": { "label": "December 31, 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": [ "r110" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFour", "crdr": "debit", "presentation": [ "http://tomz.com/role/IntangibleAssetsDetails2" ], "lang": { "en-us": { "role": { "label": "December 31, 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": [ "r110" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearThree", "crdr": "debit", "presentation": [ "http://tomz.com/role/IntangibleAssetsDetails2" ], "lang": { "en-us": { "role": { "label": "December 31, 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": [ "r110" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo", "crdr": "debit", "presentation": [ "http://tomz.com/role/IntangibleAssetsDetails2" ], "lang": { "en-us": { "role": { "label": "December 31, 2025", "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": [ "r110" ] }, "us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract", "presentation": [ "http://tomz.com/role/IntangibleAssetsDetails2" ], "lang": { "en-us": { "role": { "label": "Amortization" } } }, "auth_ref": [] }, "us-gaap_FiniteLivedIntangibleAssetsGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsGross", "crdr": "debit", "presentation": [ "http://tomz.com/role/IntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Intellectual Property And Patents", "documentation": "Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life." } } }, "auth_ref": [ "r109", "r448" ] }, "us-gaap_FiniteLivedIntangibleAssetsNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsNet", "crdr": "debit", "presentation": [ "http://tomz.com/role/IntangibleAssetsDetails2" ], "lang": { "en-us": { "role": { "verboseLabel": "Total", "label": "[Finite-Lived Intangible Assets, Net]", "documentation": "Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life." } } }, "auth_ref": [ "r109", "r447" ] }, "us-gaap_FurnitureAndFixturesGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FurnitureAndFixturesGross", "crdr": "debit", "presentation": [ "http://tomz.com/role/PropertyAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Furniture And Fixtures", "documentation": "Amount before accumulated depreciation of equipment commonly used in offices and stores that have no permanent connection to the structure of a building or utilities. Examples include, but are not limited to, desks, chairs, tables, and bookcases." } } }, "auth_ref": [ "r113" ] }, "tomz_GeographicRegionMember": { "xbrltype": "domainItemType", "nsuri": "http://tomz.com/20231231", "localname": "GeographicRegionMember", "presentation": [ "http://tomz.com/role/SummaryOfSignificantAccountingPoliciesDetails2" ], "lang": { "en-us": { "role": { "label": "Geographic Region Member" } } }, "auth_ref": [] }, "us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillAndIntangibleAssetsDisclosureAbstract", "lang": { "en-us": { "role": { "label": "INTANGIBLE ASSETS" } } }, "auth_ref": [] }, "tomz_GrantFairValueOfPerShare": { "xbrltype": "perShareItemType", "nsuri": "http://tomz.com/20231231", "localname": "GrantFairValueOfPerShare", "presentation": [ "http://tomz.com/role/ShareholdersEquityDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Grant fair value of per share" } } }, "auth_ref": [] }, "us-gaap_GrossProfit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GrossProfit", "crdr": "credit", "calculation": { "http://tomz.com/role/ConsolidatedStatementsOfOperations": { "parentTag": "us-gaap_OperatingIncomeLoss", "weight": 1.0, "order": 10.0 } }, "presentation": [ "http://tomz.com/role/ConsolidatedStatementsOfOperations" ], "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": [ "r94", "r194", "r225", "r238", "r244", "r246", "r254", "r299", "r300", "r301", "r302", "r303", "r304", "r305", "r306", "r307", "r425", "r621", "r694" ] }, "us-gaap_GroundLeasesAccumulatedAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GroundLeasesAccumulatedAmortization", "crdr": "credit", "presentation": [ "http://tomz.com/role/ConvertibleDebtDetails" ], "lang": { "en-us": { "role": { "label": "Accumulated amortization", "documentation": "Accumulated amortization on long-term land leases capitalized as part of real property." } } }, "auth_ref": [] }, "us-gaap_GuaranteesTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GuaranteesTextBlock", "presentation": [ "http://tomz.com/role/AccruedWarranty" ], "lang": { "en-us": { "role": { "verboseLabel": "ACCRUED WARRANTY", "label": "Guarantees [Text Block]", "documentation": "The entire disclosure for each guarantee obligation, or each group of similar guarantee obligations, including (a) the nature of the guarantee, including its term, how it arose, and the events or circumstances that would require the guarantor to perform under the guarantee; (b) the maximum potential amount of future payments (undiscounted) the guarantor could be required to make under the guarantee; (c) the current carrying amount of the liability, if any, for the guarantor's obligations under the guarantee; and (d) the nature of any recourse provisions under the guarantee, and any assets held either as collateral or by third parties, and any relevant related party disclosure. Excludes disclosures about product warranties." } } }, "auth_ref": [ "r290", "r291", "r292", "r293", "r294", "r295", "r296", "r297" ] }, "dei_IcfrAuditorAttestationFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "IcfrAuditorAttestationFlag", "presentation": [ "http://tomz.com/role/Cover" ], "lang": { "en-us": { "role": { "label": "Icfr Auditor Attestation Flag" } } }, "auth_ref": [ "r649", "r650", "r651" ] }, "us-gaap_ImpairmentEffectsOnEarningsPerShareTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ImpairmentEffectsOnEarningsPerShareTableTextBlock", "presentation": [ "http://tomz.com/role/SummaryOfSignificantAccountingPoliciesTables" ], "lang": { "en-us": { "role": { "verboseLabel": "Net Income (Loss) Per Share", "label": "Impairment Effects on Earnings Per Share [Table Text Block]", "documentation": "Tabular disclosure of the effects of asset impairment charge on per share or per unit basis." } } }, "auth_ref": [] }, "tomz_IncomeLossBeforeIncomeTax": { "xbrltype": "monetaryItemType", "nsuri": "http://tomz.com/20231231", "localname": "IncomeLossBeforeIncomeTax", "crdr": "credit", "presentation": [ "http://tomz.com/role/IncomeTaxesDetails2" ], "lang": { "en-us": { "role": { "label": "Income (Loss) before income tax" } } }, "auth_ref": [] }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic", "crdr": "credit", "presentation": [ "http://tomz.com/role/IncomeTaxesDetails1" ], "lang": { "en-us": { "role": { "label": "Income (Loss) from Continuing Operations before Income Taxes, Domestic", "documentation": "The portion of earnings or loss from continuing operations before income taxes that is attributable to domestic operations." } } }, "auth_ref": [ "r195", "r403" ] }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "crdr": "credit", "calculation": { "http://tomz.com/role/ConsolidatedStatementsOfOperations": { "parentTag": "us-gaap_NetIncomeLoss", "weight": 1.0, "order": 16.0 } }, "presentation": [ "http://tomz.com/role/ConsolidatedStatementsOfOperations" ], "lang": { "en-us": { "role": { "totalLabel": "Income (loss) before income taxes", "label": "[Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest]", "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": [ "r0", "r91", "r128", "r225", "r238", "r244", "r246", "r463", "r475", "r621" ] }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign", "crdr": "credit", "presentation": [ "http://tomz.com/role/IncomeTaxesDetails1" ], "lang": { "en-us": { "role": { "label": "Income (Loss) from Continuing Operations before Income Taxes, Foreign", "documentation": "The portion of earnings or loss from continuing operations before income taxes that is attributable to foreign operations, which is defined as Income or Loss generated from operations located outside the entity's country of domicile." } } }, "auth_ref": [ "r195", "r403" ] }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments", "crdr": "credit", "presentation": [ "http://tomz.com/role/IncomeTaxesDetails1" ], "lang": { "en-us": { "role": { "label": "Income (Loss) from Continuing Operations before Equity Method Investments, Income Taxes, Noncontrolling Interest]", "documentation": "Amount of income (loss) from continuing operations before deduction of income tax expense (benefit) and income (loss) attributable to noncontrolling interest, and addition of income (loss) from equity method investments." } } }, "auth_ref": [ "r225", "r238", "r244", "r246", "r479", "r621" ] }, "us-gaap_IncomeStatementAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeStatementAbstract", "lang": { "en-us": { "role": { "label": "CONSOLIDATED STATEMENTS OF OPERATIONS" } } }, "auth_ref": [] }, "us-gaap_IncomeStatementLocationAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeStatementLocationAxis", "presentation": [ "http://tomz.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Income Statement Location Axis", "documentation": "Information by location in the income statement." } } }, "auth_ref": [ "r279", "r281", "r558" ] }, "us-gaap_IncomeStatementLocationDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeStatementLocationDomain", "presentation": [ "http://tomz.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative" ], "lang": { "en-us": { "role": { "documentation": "Location in the income statement." } } }, "auth_ref": [ "r281", "r558" ] }, "us-gaap_IncomeTaxDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxDisclosureAbstract", "lang": { "en-us": { "role": { "label": "INCOME TAXES" } } }, "auth_ref": [] }, "us-gaap_IncomeTaxDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxDisclosureTextBlock", "presentation": [ "http://tomz.com/role/IncomeTaxes" ], "lang": { "en-us": { "role": { "verboseLabel": "INCOME TAXES", "label": "Income Tax Disclosure [Text Block]", "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": [ "r196", "r384", "r389", "r390", "r394", "r399", "r405", "r406", "r407", "r505" ] }, "us-gaap_IncomeTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxExpenseBenefit", "crdr": "debit", "calculation": { "http://tomz.com/role/ConsolidatedStatementsOfOperations": { "parentTag": "us-gaap_NetIncomeLoss", "weight": -1.0, "order": 17.0 } }, "presentation": [ "http://tomz.com/role/ConsolidatedStatementsOfOperations", "http://tomz.com/role/IncomeTaxesDetails2" ], "lang": { "en-us": { "role": { "label": "Provision for Income Taxes (Note 16)", "verboseLabel": "Income tax expense (benefit)", "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations." } } }, "auth_ref": [ "r140", "r153", "r208", "r209", "r233", "r387", "r400", "r480" ] }, "us-gaap_IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract", "presentation": [ "http://tomz.com/role/IncomeTaxesDetails2" ], "lang": { "en-us": { "role": { "label": "Reconciling items:" } } }, "auth_ref": [] }, "us-gaap_IncomeTaxPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxPolicyTextBlock", "presentation": [ "http://tomz.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "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": [ "r177", "r385", "r386", "r390", "r391", "r393", "r395", "r499" ] }, "us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance", "crdr": "debit", "presentation": [ "http://tomz.com/role/IncomeTaxesDetails2" ], "lang": { "en-us": { "role": { "label": "Change in valuation allowance on deferred tax assets", "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": [ "r726" ] }, "us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate", "crdr": "debit", "presentation": [ "http://tomz.com/role/IncomeTaxesDetails2" ], "lang": { "en-us": { "role": { "label": "Income tax expense computed at US statutory corporate income tax rate", "documentation": "The amount of income tax expense or benefit for the period computed by applying the domestic federal statutory tax rates to pretax income from continuing operations." } } }, "auth_ref": [ "r388" ] }, "us-gaap_IncomeTaxReconciliationNondeductibleExpenseAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxReconciliationNondeductibleExpenseAmortization", "crdr": "debit", "presentation": [ "http://tomz.com/role/IncomeTaxesDetails2" ], "lang": { "en-us": { "role": { "label": "Gain Upon Debt Extinguishment", "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 amortization." } } }, "auth_ref": [ "r726" ] }, "us-gaap_IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost", "crdr": "debit", "presentation": [ "http://tomz.com/role/IncomeTaxesDetails2" ], "lang": { "en-us": { "role": { "label": "Incentive stock options and warrants", "documentation": "Amount of reported income tax expense (benefit) in excess of (less than) expected income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operation, attributable to nondeductible expense for award under share-based payment arrangement. Includes, but is not limited to, expense determined to be nondeductible upon grant or after for award under share-based payment arrangement." } } }, "auth_ref": [ "r726" ] }, "us-gaap_IncomeTaxReconciliationOtherReconcilingItems": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxReconciliationOtherReconcilingItems", "crdr": "debit", "presentation": [ "http://tomz.com/role/IncomeTaxesDetails2" ], "lang": { "en-us": { "role": { "label": "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 tax exempt income, equity in earnings (loss) of an unconsolidated subsidiary, minority noncontrolling interest income (loss), tax holiday, disposition of a business, disposition of an asset, repatriation of foreign earnings, repatriation of foreign earnings jobs creation act of 2004, increase (decrease) in enacted tax rate, prior year income taxes, increase (decrease) in deferred tax asset valuation allowance, and other adjustments." } } }, "auth_ref": [ "r726" ] }, "us-gaap_IncomeTaxReconciliationPriorYearIncomeTaxes": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxReconciliationPriorYearIncomeTaxes", "crdr": "debit", "presentation": [ "http://tomz.com/role/IncomeTaxesDetails2" ], "lang": { "en-us": { "role": { "label": "Provision to prior year tax return", "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 revisions of previously reported income tax expense (benefit)." } } }, "auth_ref": [ "r726" ] }, "us-gaap_IncomeTaxesPaidNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxesPaidNet", "crdr": "credit", "presentation": [ "http://tomz.com/role/ConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Cash Paid (Refunded) for Income Taxes", "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": [ "r32" ] }, "us-gaap_IncreaseDecreaseInAccountsPayable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInAccountsPayable", "crdr": "debit", "calculation": { "http://tomz.com/role/ConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 17.0 } }, "presentation": [ "http://tomz.com/role/ConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "verboseLabel": "Accounts Payable", "label": "[Increase (Decrease) in Accounts Payable]", "documentation": "The increase (decrease) during the reporting period in the aggregate amount of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business." } } }, "auth_ref": [ "r5" ] }, "us-gaap_IncreaseDecreaseInAccountsReceivable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInAccountsReceivable", "crdr": "credit", "calculation": { "http://tomz.com/role/ConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 10.0 } }, "presentation": [ "http://tomz.com/role/ConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "negatedLabel": "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": [ "r5" ] }, "us-gaap_IncreaseDecreaseInAccruedLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInAccruedLiabilities", "crdr": "debit", "calculation": { "http://tomz.com/role/ConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 18.0 } }, "presentation": [ "http://tomz.com/role/ConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Accrued Expenses", "documentation": "The increase (decrease) during the reporting period in the aggregate amount of expenses incurred but not yet paid." } } }, "auth_ref": [ "r5" ] }, "us-gaap_IncreaseDecreaseInDeposits": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInDeposits", "crdr": "debit", "calculation": { "http://tomz.com/role/ConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 13.0 } }, "presentation": [ "http://tomz.com/role/ConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Vendor Deposits", "documentation": "The net cash inflow or outflow for the increase (decrease) in the beginning and end of period deposits balances." } } }, "auth_ref": [ "r30", "r72" ] }, "us-gaap_IncreaseDecreaseInInventories": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInInventories", "crdr": "credit", "calculation": { "http://tomz.com/role/ConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 11.0 } }, "presentation": [ "http://tomz.com/role/ConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "negatedLabel": "Inventory", "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": [ "r5" ] }, "us-gaap_IncreaseDecreaseInOperatingAssetsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInOperatingAssetsAbstract", "presentation": [ "http://tomz.com/role/ConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Changes in Operating Assets and Liabilities: Decrease (Increase) in" } } }, "auth_ref": [] }, "us-gaap_IncreaseDecreaseInOperatingLeaseLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInOperatingLeaseLiability", "crdr": "debit", "calculation": { "http://tomz.com/role/ConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 19.0 } }, "presentation": [ "http://tomz.com/role/ConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Lease Liability", "documentation": "Amount of increase (decrease) in obligation for operating lease." } } }, "auth_ref": [ "r657", "r672" ] }, "us-gaap_IncreaseDecreaseInOperatingLiabilitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInOperatingLiabilitiesAbstract", "presentation": [ "http://tomz.com/role/ConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in:" } } }, "auth_ref": [] }, "us-gaap_IncreaseDecreaseInOtherOperatingAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInOtherOperatingAssets", "crdr": "credit", "calculation": { "http://tomz.com/role/ConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 16.0 } }, "presentation": [ "http://tomz.com/role/ConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "negatedLabel": "Other Assets", "label": "[Increase (Decrease) in Other Operating Assets]", "documentation": "Amount of increase (decrease) in operating assets classified as other." } } }, "auth_ref": [ "r5" ] }, "us-gaap_IncreaseDecreaseInOtherReceivables": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInOtherReceivables", "crdr": "credit", "calculation": { "http://tomz.com/role/ConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 14.0 } }, "presentation": [ "http://tomz.com/role/ConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "negatedLabel": "Other Receivables", "label": "[Increase (Decrease) in Other Receivables]", "documentation": "Amount of increase (decrease) in receivables classified as other." } } }, "auth_ref": [ "r5" ] }, "us-gaap_IncreaseDecreaseInPrepaidExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInPrepaidExpense", "crdr": "credit", "calculation": { "http://tomz.com/role/ConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 12.0 } }, "presentation": [ "http://tomz.com/role/ConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "negatedLabel": "Prepaid Expenses", "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": [ "r5" ] }, "us-gaap_IndefiniteLivedTrademarks": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IndefiniteLivedTrademarks", "crdr": "debit", "presentation": [ "http://tomz.com/role/IntangibleAssetsDetails1" ], "lang": { "en-us": { "role": { "label": "Trademarks", "documentation": "Carrying amount (original costs adjusted for previously recognized amortization and impairment) as of the balance sheet date for the rights acquired through registration of a trademark to gain or protect exclusive use of a business name, symbol or other device or style for a projected indefinite period of benefit." } } }, "auth_ref": [ "r111" ] }, "us-gaap_IntangibleAssetsDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IntangibleAssetsDisclosureTextBlock", "presentation": [ "http://tomz.com/role/IntangibleAssets" ], "lang": { "en-us": { "role": { "verboseLabel": "INTANGIBLE ASSETS", "label": "Intangible Assets Disclosure [Text Block]", "documentation": "The entire disclosure for all or part of the information related to intangible assets." } } }, "auth_ref": [ "r277" ] }, "tomz_IntangibleAssetsNet": { "xbrltype": "monetaryItemType", "nsuri": "http://tomz.com/20231231", "localname": "IntangibleAssetsNet", "crdr": "debit", "presentation": [ "http://tomz.com/role/IntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Intangible Assets, Net" } } }, "auth_ref": [] }, "us-gaap_IntangibleAssetsNetExcludingGoodwill": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IntangibleAssetsNetExcludingGoodwill", "crdr": "debit", "calculation": { "http://tomz.com/role/ConsolidatedBalanceSheets": { "parentTag": "us-gaap_OtherAssets", "weight": 1.0, "order": 8.0 } }, "presentation": [ "http://tomz.com/role/ConsolidatedBalanceSheets", "http://tomz.com/role/IntangibleAssetsDetails1" ], "lang": { "en-us": { "role": { "label": "Intangible Assets - net (Note 6)", "verboseLabel": "Total Intangible Assets, Net", "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": [ "r41", "r45" ] }, "us-gaap_InterestExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InterestExpense", "crdr": "debit", "calculation": { "http://tomz.com/role/ConsolidatedStatementsOfOperations": { "parentTag": "us-gaap_NonoperatingIncomeExpense", "weight": -1.0, "order": 13.0 } }, "presentation": [ "http://tomz.com/role/ConsolidatedStatementsOfOperations" ], "lang": { "en-us": { "role": { "negatedLabel": "Interest Expense", "label": "[Interest Expense]", "documentation": "Amount of the cost of borrowed funds accounted for as interest expense." } } }, "auth_ref": [ "r67", "r131", "r181", "r229", "r432", "r559", "r643", "r757" ] }, "us-gaap_InterestExpenseDebt": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InterestExpenseDebt", "crdr": "debit", "presentation": [ "http://tomz.com/role/ConvertibleDebtDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Interest expense", "documentation": "Amount of the cost of borrowed funds accounted for as interest expense for debt." } } }, "auth_ref": [ "r99", "r318", "r323", "r624", "r625" ] }, "us-gaap_InterestIncomeOther": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InterestIncomeOther", "crdr": "credit", "calculation": { "http://tomz.com/role/ConsolidatedStatementsOfOperations": { "parentTag": "us-gaap_NonoperatingIncomeExpense", "weight": 1.0, "order": 12.0 } }, "presentation": [ "http://tomz.com/role/ConsolidatedStatementsOfOperations" ], "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://tomz.com/role/ConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Cash Paid For Interest", "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": [ "r185", "r188", "r189" ] }, "tomz_InternationalMember": { "xbrltype": "domainItemType", "nsuri": "http://tomz.com/20231231", "localname": "InternationalMember", "presentation": [ "http://tomz.com/role/SummaryOfSignificantAccountingPoliciesDetails2" ], "lang": { "en-us": { "role": { "label": "International [Member]" } } }, "auth_ref": [] }, "tomz_InventoryCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://tomz.com/20231231", "localname": "InventoryCurrent", "crdr": "debit", "calculation": { "http://tomz.com/role/ConsolidatedBalanceSheets": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 7.0 } }, "presentation": [ "http://tomz.com/role/ConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Inventories (Note 3)" } } }, "auth_ref": [] }, "us-gaap_InventoryDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryDisclosureAbstract", "lang": { "en-us": { "role": { "label": "INVENTORIES" } } }, "auth_ref": [] }, "us-gaap_InventoryDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryDisclosureTextBlock", "presentation": [ "http://tomz.com/role/INVENTORIES" ], "lang": { "en-us": { "role": { "verboseLabel": "INVENTORIES", "label": "Inventory Disclosure [Text Block]", "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": [ "r262" ] }, "us-gaap_InventoryFinishedGoods": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryFinishedGoods", "crdr": "debit", "presentation": [ "http://tomz.com/role/InventoriesDetails" ], "lang": { "en-us": { "role": { "label": "Finished 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": [ "r664" ] }, "us-gaap_InventoryLIFOReservePeriodCharge": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryLIFOReservePeriodCharge", "crdr": "debit", "calculation": { "http://tomz.com/role/ConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 9.0 } }, "presentation": [ "http://tomz.com/role/ConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Inventory Reserve", "documentation": "The change in the inventory reserve representing the cumulative difference in cost between the first in, first out and the last in, first out inventory valuation methods, which change has been reflected in the statement of income during the period." } } }, "auth_ref": [ "r108" ] }, "us-gaap_InventoryNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryNet", "crdr": "debit", "presentation": [ "http://tomz.com/role/InventoriesDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Total", "label": "[Inventory, Net]", "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": [ "r172", "r614", "r633" ] }, "us-gaap_InventoryPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryPolicyTextBlock", "presentation": [ "http://tomz.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Inventories", "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": [ "r141", "r161", "r171", "r262", "r263", "r264", "r445", "r617" ] }, "us-gaap_InventoryRawMaterials": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryRawMaterials", "crdr": "debit", "presentation": [ "http://tomz.com/role/InventoriesDetails" ], "lang": { "en-us": { "role": { "label": "Raw Materials", "documentation": "Amount before valuation and LIFO reserves of raw materials expected to be sold, or consumed within one year or operating cycle, if longer." } } }, "auth_ref": [ "r665" ] }, "tomz_InventoryReserve": { "xbrltype": "monetaryItemType", "nsuri": "http://tomz.com/20231231", "localname": "InventoryReserve", "crdr": "debit", "presentation": [ "http://tomz.com/role/IncomeTaxesDetails3" ], "lang": { "en-us": { "role": { "verboseLabel": "Inventory Reserve", "label": "[Inventory Reserve]" } } }, "auth_ref": [] }, "us-gaap_InventoryValuationReserves": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryValuationReserves", "crdr": "credit", "presentation": [ "http://tomz.com/role/InventoriesDetails", "http://tomz.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative" ], "lang": { "en-us": { "role": { "verboseLabel": "Inventory Reserve", "label": "[Inventory Valuation Reserves]", "terseLabel": "Inventory Reserve", "documentation": "Amount of valuation reserve for inventory." } } }, "auth_ref": [ "r40", "r666" ] }, "us-gaap_InvestmentOwnedBalancePrincipalAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InvestmentOwnedBalancePrincipalAmount", "crdr": "debit", "presentation": [ "http://tomz.com/role/ConvertibleDebtDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Principal amount", "documentation": "Amount of principal of investment owned." } } }, "auth_ref": [ "r519", "r523", "r581", "r587", "r590", "r637" ] }, "us-gaap_InvestmentSoldNotYetPurchasedBalancePrincipalAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InvestmentSoldNotYetPurchasedBalancePrincipalAmount", "crdr": "credit", "presentation": [ "http://tomz.com/role/ConvertibleDebtDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Convertible Notes Sold Amount", "documentation": "For investments which are quantified by principal amount, principal balance held at close of period." } } }, "auth_ref": [ "r762" ] }, "us-gaap_IssuanceOfStockAndWarrantsForServicesOrClaims": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IssuanceOfStockAndWarrantsForServicesOrClaims", "crdr": "debit", "calculation": { "http://tomz.com/role/ConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 7.0 } }, "presentation": [ "http://tomz.com/role/ConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Value of Equity Issued for Services", "documentation": "Fair value of share-based compensation granted to nonemployees as payment for services rendered or acknowledged claims." } } }, "auth_ref": [ "r6" ] }, "tomz_JanuaryTwentyThreeMember": { "xbrltype": "domainItemType", "nsuri": "http://tomz.com/20231231", "localname": "JanuaryTwentyThreeMember", "presentation": [ "http://tomz.com/role/ShareholdersEquityDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "January Twenty Three [Member]" } } }, "auth_ref": [] }, "tomz_JanuaryTwentyTwentyThreeMember": { "xbrltype": "domainItemType", "nsuri": "http://tomz.com/20231231", "localname": "JanuaryTwentyTwentyThreeMember", "presentation": [ "http://tomz.com/role/ShareholdersEquityDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "January 2023 [Member]" } } }, "auth_ref": [] }, "tomz_JanuaryTwentyTwentyTwoMember": { "xbrltype": "domainItemType", "nsuri": "http://tomz.com/20231231", "localname": "JanuaryTwentyTwentyTwoMember", "presentation": [ "http://tomz.com/role/ShareholdersEquityDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "January 2022 [Member]" } } }, "auth_ref": [] }, "tomz_JanuaryTwentyTwoMember": { "xbrltype": "domainItemType", "nsuri": "http://tomz.com/20231231", "localname": "JanuaryTwentyTwoMember", "presentation": [ "http://tomz.com/role/ShareholdersEquityDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "January Twenty Two [Member]" } } }, "auth_ref": [] }, "tomz_JanuaryTwentyTwoOneMember": { "xbrltype": "domainItemType", "nsuri": "http://tomz.com/20231231", "localname": "JanuaryTwentyTwoOneMember", "presentation": [ "http://tomz.com/role/ShareholdersEquityDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "January Twenty Two One [Member]" } } }, "auth_ref": [] }, "us-gaap_LeaseCostTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LeaseCostTableTextBlock", "presentation": [ "http://tomz.com/role/LeasesTables" ], "lang": { "en-us": { "role": { "label": "Lease Expense", "documentation": "Tabular disclosure of lessee's lease cost. Includes, but is not limited to, interest expense for finance lease, amortization of right-of-use asset for finance lease, operating lease cost, short-term lease cost, variable lease cost and sublease income." } } }, "auth_ref": [ "r734" ] }, "tomz_LeaseOtherInformationTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://tomz.com/20231231", "localname": "LeaseOtherInformationTableTextBlock", "presentation": [ "http://tomz.com/role/LeasesTables" ], "lang": { "en-us": { "role": { "label": "Other Information Related to Leases" } } }, "auth_ref": [] }, "us-gaap_LeaseholdImprovementsGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LeaseholdImprovementsGross", "crdr": "debit", "presentation": [ "http://tomz.com/role/PropertyAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Leasehold Improvements", "documentation": "Amount before accumulated depreciation of additions or improvements to assets held under a lease arrangement." } } }, "auth_ref": [ "r113" ] }, "us-gaap_LeasesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LeasesAbstract", "lang": { "en-us": { "role": { "label": "LEASES" } } }, "auth_ref": [] }, "us-gaap_LeasesOfLesseeDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LeasesOfLesseeDisclosureTextBlock", "presentation": [ "http://tomz.com/role/LEASES" ], "lang": { "en-us": { "role": { "verboseLabel": "LEASES", "label": "Leases of Lessee Disclosure [Text Block]", "documentation": "The entire disclosure for lessee entity's leasing arrangements including, but not limited to, all of the following: (a.) The basis on which contingent rental payments are determined, (b.) The existence and terms of renewal or purchase options and escalation clauses, (c.) Restrictions imposed by lease agreements, such as those concerning dividends, additional debt, and further leasing." } } }, "auth_ref": [ "r136" ] }, "us-gaap_LegalFees": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LegalFees", "crdr": "debit", "calculation": { "http://tomz.com/role/ConsolidatedStatementsOfOperations": { "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0, "order": 8.0 } }, "presentation": [ "http://tomz.com/role/ConsolidatedStatementsOfOperations" ], "lang": { "en-us": { "role": { "label": "Consulting Fees", "documentation": "The amount of expense provided in the period for legal costs incurred on or before the balance sheet date pertaining to resolved, pending or threatened litigation, including arbitration and mediation proceedings." } } }, "auth_ref": [ "r96" ] }, "us-gaap_LesseeLeasesPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeLeasesPolicyTextBlock", "presentation": [ "http://tomz.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Leases", "documentation": "Disclosure of accounting policy for leasing arrangement entered into by lessee." } } }, "auth_ref": [ "r436" ] }, "us-gaap_LesseeOperatingLeaseDiscountRate": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseDiscountRate", "presentation": [ "http://tomz.com/role/LeasesDetails2" ], "lang": { "en-us": { "role": { "label": "Discount Rate: Operating Leases", "documentation": "Discount rate used by lessee to determine present value of operating lease payments." } } }, "auth_ref": [ "r632" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseLiabilityPaymentsDue", "crdr": "credit", "presentation": [ "http://tomz.com/role/LeasesDetails4" ], "lang": { "en-us": { "role": { "label": "Total Minimum Lease Payments", "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease." } } }, "auth_ref": [ "r437" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive", "crdr": "credit", "presentation": [ "http://tomz.com/role/LeasesDetails4" ], "lang": { "en-us": { "role": { "verboseLabel": "Thereafter", "label": "[Lessee, Operating Lease, Liability, to be Paid, after Year Five]", "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease due after fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r437" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths", "crdr": "credit", "presentation": [ "http://tomz.com/role/LeasesDetails4" ], "lang": { "en-us": { "role": { "verboseLabel": "December 31, 2024", "label": "[Lessee, Operating Lease, Liability, to be Paid, Year One]", "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": [ "r437" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFive", "crdr": "credit", "presentation": [ "http://tomz.com/role/LeasesDetails4" ], "lang": { "en-us": { "role": { "verboseLabel": "December 31, 2028", "label": "[Lessee, Operating Lease, Liability, to be Paid, Year Five]", "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r437" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFour", "crdr": "credit", "presentation": [ "http://tomz.com/role/LeasesDetails4" ], "lang": { "en-us": { "role": { "verboseLabel": "December 31, 2027", "label": "[Lessee, Operating Lease, Liability, to be Paid, Year Four]", "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r437" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearThree", "crdr": "credit", "presentation": [ "http://tomz.com/role/LeasesDetails4" ], "lang": { "en-us": { "role": { "verboseLabel": "December 31, 2026", "label": "[Lessee, Operating Lease, Liability, to be Paid, Year Three]", "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r437" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo", "crdr": "credit", "presentation": [ "http://tomz.com/role/LeasesDetails4" ], "lang": { "en-us": { "role": { "verboseLabel": "December 31, 2025", "label": "[Lessee, Operating Lease, Liability, to be Paid, Year Two]", "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": [ "r437" ] }, "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseLiabilityUndiscountedExcessAmount", "crdr": "credit", "presentation": [ "http://tomz.com/role/LeasesDetails4" ], "lang": { "en-us": { "role": { "label": "Less: Interest", "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease." } } }, "auth_ref": [ "r437" ] }, "us-gaap_LessorOperatingLeasePaymentsToBeReceivedMaturityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LessorOperatingLeasePaymentsToBeReceivedMaturityTableTextBlock", "presentation": [ "http://tomz.com/role/LeasesTables" ], "lang": { "en-us": { "role": { "label": "Maturities of Lease Payments", "documentation": "Tabular disclosure of maturity of undiscounted cash flows to be received by lessor on annual basis for operating lease." } } }, "auth_ref": [ "r735" ] }, "us-gaap_Liabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Liabilities", "crdr": "credit", "calculation": { "http://tomz.com/role/ConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0, "order": 27.0 } }, "presentation": [ "http://tomz.com/role/ConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "totalLabel": "Total Liabilities", "label": "[Liabilities]", "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": [ "r21", "r194", "r254", "r299", "r300", "r301", "r302", "r303", "r304", "r305", "r306", "r307", "r410", "r413", "r414", "r425", "r532", "r620", "r645", "r694", "r739", "r740" ] }, "us-gaap_LiabilitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesAbstract", "presentation": [ "http://tomz.com/role/LeasesDetails" ], "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://tomz.com/role/ConsolidatedBalanceSheets": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://tomz.com/role/ConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "totalLabel": "Total Liabilities and Shareholders' Equity", "label": "[Liabilities and Equity]", "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any." } } }, "auth_ref": [ "r87", "r127", "r471", "r633", "r675", "r687", "r732" ] }, "us-gaap_LiabilitiesAndStockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesAndStockholdersEquityAbstract", "presentation": [ "http://tomz.com/role/ConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "LIABILITIES AND SHAREHOLDERS' EQUITY" } } }, "auth_ref": [] }, "us-gaap_LiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesCurrent", "crdr": "credit", "calculation": { "http://tomz.com/role/ConsolidatedBalanceSheets": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 22.0 } }, "presentation": [ "http://tomz.com/role/ConsolidatedBalanceSheets" ], "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": [ "r23", "r160", "r194", "r254", "r299", "r300", "r301", "r302", "r303", "r304", "r305", "r306", "r307", "r410", "r413", "r414", "r425", "r633", "r694", "r739", "r740" ] }, "us-gaap_LiabilitiesCurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesCurrentAbstract", "presentation": [ "http://tomz.com/role/ConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Current Liabilities:" } } }, "auth_ref": [] }, "us-gaap_LiabilitiesNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesNoncurrent", "crdr": "credit", "calculation": { "http://tomz.com/role/ConsolidatedBalanceSheets": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 21.0 } }, "presentation": [ "http://tomz.com/role/ConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "totalLabel": "Total Long-Term Liabilities", "label": "[Liabilities, Noncurrent]", "documentation": "Amount of obligation due after one year or beyond the normal operating cycle, if longer." } } }, "auth_ref": [ "r18", "r77", "r78", "r79", "r80", "r194", "r254", "r299", "r300", "r301", "r302", "r303", "r304", "r305", "r306", "r307", "r410", "r413", "r414", "r425", "r694", "r739", "r740" ] }, "us-gaap_LiabilitiesNoncurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesNoncurrentAbstract", "presentation": [ "http://tomz.com/role/ConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Long-Term Liabilities:" } } }, "auth_ref": [] }, "dei_LocalPhoneNumber": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "LocalPhoneNumber", "presentation": [ "http://tomz.com/role/Cover" ], "lang": { "en-us": { "role": { "label": "Local Phone Number", "documentation": "Local phone number for entity." } } }, "auth_ref": [] }, "tomz_LonglivedAssetsIncludingAcquiredIntangibleAssets": { "xbrltype": "textBlockItemType", "nsuri": "http://tomz.com/20231231", "localname": "LonglivedAssetsIncludingAcquiredIntangibleAssets", "presentation": [ "http://tomz.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Long-Lived Assets Including Acquired Intangible Assets", "documentation": "Long lived assets including acquired intangible assets." } } }, "auth_ref": [] }, "srt_MajorCustomersAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "MajorCustomersAxis", "presentation": [ "http://tomz.com/role/CustomerConcentrationDetailsNarrative", "http://tomz.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Major Customers Axis" } } }, "auth_ref": [ "r250", "r628", "r699", "r752", "r753" ] }, "tomz_MaximumIncreasesRentPercentage": { "xbrltype": "percentItemType", "nsuri": "http://tomz.com/20231231", "localname": "MaximumIncreasesRentPercentage", "presentation": [ "http://tomz.com/role/LeasesDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Increases Rent Percentage Escalation Clause" } } }, "auth_ref": [] }, "srt_MaximumMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "MaximumMember", "presentation": [ "http://tomz.com/role/ShareholdersEquityDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Maximum [Member]" } } }, "auth_ref": [ "r286", "r287", "r288", "r289", "r342", "r444", "r492", "r524", "r525", "r580", "r583", "r585", "r586", "r589", "r609", "r610", "r622", "r626", "r629", "r634", "r696", "r741", "r742", "r743", "r744", "r745", "r746" ] }, "srt_MinimumMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "MinimumMember", "presentation": [ "http://tomz.com/role/ShareholdersEquityDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Minimum [Member]" } } }, "auth_ref": [ "r286", "r287", "r288", "r289", "r342", "r444", "r492", "r524", "r525", "r580", "r583", "r585", "r586", "r589", "r609", "r610", "r622", "r626", "r629", "r634", "r696", "r741", "r742", "r743", "r744", "r745", "r746" ] }, "srt_NameOfMajorCustomerDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "NameOfMajorCustomerDomain", "presentation": [ "http://tomz.com/role/CustomerConcentrationDetailsNarrative", "http://tomz.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative" ], "auth_ref": [ "r250", "r628", "r699", "r752", "r753" ] }, "us-gaap_NatureOfOperations": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NatureOfOperations", "presentation": [ "http://tomz.com/role/DescriptionOfBusiness" ], "lang": { "en-us": { "role": { "verboseLabel": "DESCRIPTION OF BUSINESS", "label": "Nature of Operations [Text Block]", "documentation": "The entire disclosure for the nature of an entity's business, major products or services, principal markets including location, and the relative importance of its operations in each business and the basis for the determination, including but not limited to, assets, revenues, or earnings. For an entity that has not commenced principal operations, disclosures about the risks and uncertainties related to the activities in which the entity is currently engaged and an understanding of what those activities are being directed toward." } } }, "auth_ref": [ "r142", "r154" ] }, "us-gaap_NetCashProvidedByUsedInFinancingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInFinancingActivities", "crdr": "debit", "calculation": { "http://tomz.com/role/ConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect", "weight": 1.0, "order": 28.0 } }, "presentation": [ "http://tomz.com/role/ConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "totalLabel": "Net Cash From 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": [ "r187" ] }, "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract", "presentation": [ "http://tomz.com/role/ConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Cash Flow From Financing Activities:" } } }, "auth_ref": [] }, "us-gaap_NetCashProvidedByUsedInInvestingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInInvestingActivities", "crdr": "debit", "calculation": { "http://tomz.com/role/ConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect", "weight": 1.0, "order": 27.0 } }, "presentation": [ "http://tomz.com/role/ConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "totalLabel": "Net 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": [ "r187" ] }, "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract", "presentation": [ "http://tomz.com/role/ConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Cash Flow From Investing Activities:" } } }, "auth_ref": [] }, "us-gaap_NetCashProvidedByUsedInOperatingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInOperatingActivities", "calculation": { "http://tomz.com/role/ConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect", "weight": 1.0, "order": 26.0 } }, "presentation": [ "http://tomz.com/role/ConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "totalLabel": "Net Cash Used in 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": [ "r102", "r103", "r104" ] }, "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract", "presentation": [ "http://tomz.com/role/ConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Cash Flow Used in Operating Activities:" } } }, "auth_ref": [] }, "tomz_NetDeferredTaxAssetsIncreasedValuationAllowance": { "xbrltype": "monetaryItemType", "nsuri": "http://tomz.com/20231231", "localname": "NetDeferredTaxAssetsIncreasedValuationAllowance", "crdr": "credit", "presentation": [ "http://tomz.com/role/IncomeTaxesDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Net deferred tax assets increased valuation allowance" } } }, "auth_ref": [] }, "tomz_NetDeferredTaxAssetsValuationAllowance": { "xbrltype": "monetaryItemType", "nsuri": "http://tomz.com/20231231", "localname": "NetDeferredTaxAssetsValuationAllowance", "crdr": "credit", "presentation": [ "http://tomz.com/role/IncomeTaxesDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Net deferred tax assets valuation allowance" } } }, "auth_ref": [] }, "us-gaap_NetIncomeLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetIncomeLoss", "crdr": "credit", "calculation": { "http://tomz.com/role/ConsolidatedStatementsOfOperations": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://tomz.com/role/ConsolidatedStatementsOfOperations", "http://tomz.com/role/ConsolidatedStatementsOfShareholdersEquity", "http://tomz.com/role/SummaryOfSignificantAccountingPoliciesDetails", "http://tomz.com/role/SummaryOfSignificantAccountingPoliciesDetails1" ], "lang": { "en-us": { "role": { "totalLabel": "Net Income (loss)", "label": "[Net Income (Loss) Attributable to Parent]", "verboseLabel": "Net (Loss) for the year ended December 31, 2022", "terseLabel": "Net Income (Loss)", "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent." } } }, "auth_ref": [ "r92", "r104", "r129", "r158", "r175", "r176", "r180", "r194", "r200", "r202", "r203", "r204", "r205", "r208", "r209", "r214", "r225", "r238", "r244", "r246", "r254", "r299", "r300", "r301", "r302", "r303", "r304", "r305", "r306", "r307", "r424", "r425", "r477", "r554", "r572", "r573", "r621", "r643", "r694" ] }, "us-gaap_NetIncomeLossAvailableToCommonStockholdersBasicAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetIncomeLossAvailableToCommonStockholdersBasicAbstract", "presentation": [ "http://tomz.com/role/SummaryOfSignificantAccountingPoliciesDetails" ], "lang": { "en-us": { "role": { "label": "Net Income (loss) Attributable To Common Shareholders Per Share:" } } }, "auth_ref": [] }, "tomz_NetLossAttributableToCommonShareholders": { "xbrltype": "monetaryItemType", "nsuri": "http://tomz.com/20231231", "localname": "NetLossAttributableToCommonShareholders", "crdr": "debit", "presentation": [ "http://tomz.com/role/SummaryOfSignificantAccountingPoliciesDetails" ], "lang": { "en-us": { "role": { "label": "Net Income (loss) Attributable To Common Shareholders" } } }, "auth_ref": [] }, "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock", "presentation": [ "http://tomz.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "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": [] }, "us-gaap_NoncashInvestingAndFinancingItemsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NoncashInvestingAndFinancingItemsAbstract", "presentation": [ "http://tomz.com/role/ConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Non-Cash Investing and Financing Activities:" } } }, "auth_ref": [] }, "us-gaap_NonoperatingIncomeExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NonoperatingIncomeExpense", "crdr": "credit", "calculation": { "http://tomz.com/role/ConsolidatedStatementsOfOperations": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0, "order": 15.0 } }, "presentation": [ "http://tomz.com/role/ConsolidatedStatementsOfOperations" ], "lang": { "en-us": { "role": { "totalLabel": "Total Other Income (Expense)", "label": "[Nonoperating Income (Expense)]", "documentation": "The aggregate amount of income or expense from ancillary business-related activities (that is to say, excluding major activities considered part of the normal operations of the business)." } } }, "auth_ref": [ "r98" ] }, "tomz_OfficersMember": { "xbrltype": "domainItemType", "nsuri": "http://tomz.com/20231231", "localname": "OfficersMember", "presentation": [ "http://tomz.com/role/ShareholdersEquityDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Officer [Member]" } } }, "auth_ref": [] }, "tomz_OneCustomerMember": { "xbrltype": "domainItemType", "nsuri": "http://tomz.com/20231231", "localname": "OneCustomerMember", "presentation": [ "http://tomz.com/role/CustomerConcentrationDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "One Customer" } } }, "auth_ref": [] }, "us-gaap_OperatingExpenses": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingExpenses", "crdr": "debit", "calculation": { "http://tomz.com/role/ConsolidatedStatementsOfOperations": { "parentTag": "us-gaap_OperatingIncomeLoss", "weight": -1.0, "order": 11.0 } }, "presentation": [ "http://tomz.com/role/ConsolidatedStatementsOfOperations" ], "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_OperatingIncomeLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingIncomeLoss", "crdr": "credit", "calculation": { "http://tomz.com/role/ConsolidatedStatementsOfOperations": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0, "order": 14.0 } }, "presentation": [ "http://tomz.com/role/ConsolidatedStatementsOfOperations" ], "lang": { "en-us": { "role": { "totalLabel": "Income (loss) from Operations", "label": "[Operating Income (Loss)]", "documentation": "The net result for the period of deducting operating expenses from operating revenues." } } }, "auth_ref": [ "r225", "r238", "r244", "r246", "r621" ] }, "us-gaap_OperatingLeaseExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseExpense", "crdr": "debit", "presentation": [ "http://tomz.com/role/LeasesDetails1" ], "lang": { "en-us": { "role": { "label": "Operating Lease Expense", "documentation": "Amount of operating lease expense. Excludes sublease income." } } }, "auth_ref": [ "r733" ] }, "us-gaap_OperatingLeaseInitialDirectCostExpenseOverTerm": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseInitialDirectCostExpenseOverTerm", "crdr": "debit", "presentation": [ "http://tomz.com/role/LeasesDetails3" ], "lang": { "en-us": { "role": { "label": "Cash Paid For Amounts Included In The Measurement Of Lease Liabilities:", "documentation": "Amount of operating lease initial direct cost recognized as expense over lease term." } } }, "auth_ref": [ "r438" ] }, "us-gaap_OperatingLeaseLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseLiability", "crdr": "credit", "presentation": [ "http://tomz.com/role/LeasesDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Total", "label": "[Operating Lease, Liability]", "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease." } } }, "auth_ref": [ "r435" ] }, "us-gaap_OperatingLeaseLiabilityCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseLiabilityCurrent", "crdr": "credit", "calculation": { "http://tomz.com/role/ConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 18.0 } }, "presentation": [ "http://tomz.com/role/ConsolidatedBalanceSheets", "http://tomz.com/role/LeasesDetails", "http://tomz.com/role/LeasesDetails4" ], "lang": { "en-us": { "role": { "label": "Current Portion of Long-Term Operating Lease (Note 7)", "verboseLabel": "Current Portion Of Long-term Operating Lease", "terseLabel": "Less: Current Portion", "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current." } } }, "auth_ref": [ "r435" ] }, "us-gaap_OperatingLeaseLiabilityNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseLiabilityNoncurrent", "crdr": "credit", "calculation": { "http://tomz.com/role/ConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesNoncurrent", "weight": 1.0, "order": 19.0 } }, "presentation": [ "http://tomz.com/role/ConsolidatedBalanceSheets", "http://tomz.com/role/LeasesDetails", "http://tomz.com/role/LeasesDetails4" ], "lang": { "en-us": { "role": { "label": "Long-Term Operating Lease, Net of Current Portion (Note 7)", "verboseLabel": "Long-term Operating Lease, Net Of Current Portion", "terseLabel": "Long-term Portion Of Lease Obligations", "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent." } } }, "auth_ref": [ "r435" ] }, "tomz_OperatingLeaseLiabilityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://tomz.com/20231231", "localname": "OperatingLeaseLiabilityTableTextBlock", "presentation": [ "http://tomz.com/role/LeasesTables" ], "lang": { "en-us": { "role": { "label": "Operating Lease" } } }, "auth_ref": [] }, "us-gaap_OperatingLeaseRightOfUseAsset": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseRightOfUseAsset", "crdr": "debit", "calculation": { "http://tomz.com/role/ConsolidatedBalanceSheets": { "parentTag": "us-gaap_OtherAssets", "weight": 1.0, "order": 9.0 } }, "presentation": [ "http://tomz.com/role/ConsolidatedBalanceSheets", "http://tomz.com/role/LeasesDetails" ], "lang": { "en-us": { "role": { "label": "Operating Lease - Right of Use Asset (Note - 7)", "verboseLabel": "Operating Lease Right Of Use Asset", "documentation": "Amount of lessee's right to use underlying asset under operating lease." } } }, "auth_ref": [ "r434" ] }, "us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseRightOfUseAssetAmortizationExpense", "crdr": "debit", "calculation": { "http://tomz.com/role/ConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://tomz.com/role/ConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Amortization of Right of Use Asset", "documentation": "Amount of periodic reduction over lease term of carrying amount of right-of-use asset from operating lease." } } }, "auth_ref": [ "r673" ] }, "tomz_OperatingLeaseWeightedAveragesRemainingLeaseTerm": { "xbrltype": "stringItemType", "nsuri": "http://tomz.com/20231231", "localname": "OperatingLeaseWeightedAveragesRemainingLeaseTerm", "presentation": [ "http://tomz.com/role/LeasesDetails2" ], "lang": { "en-us": { "role": { "label": "Weighted-average Remaining Lease Term: Operating Leases" } } }, "auth_ref": [] }, "us-gaap_OperatingLeasesRentExpenseNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeasesRentExpenseNet", "crdr": "debit", "presentation": [ "http://tomz.com/role/LeasesDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Annual Rent Lease", "documentation": "Rental expense for the reporting period incurred under operating leases, including minimum and any contingent rent expense, net of related sublease income." } } }, "auth_ref": [ "r137" ] }, "us-gaap_OperatingLossCarryforwards": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLossCarryforwards", "crdr": "debit", "presentation": [ "http://tomz.com/role/IncomeTaxesDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Net Operating Loss Carryforwards", "documentation": "Amount of operating loss carryforward, before tax effects, available to reduce future taxable income under enacted tax laws." } } }, "auth_ref": [ "r56" ] }, "us-gaap_OptionIndexedToIssuersEquityEquityAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OptionIndexedToIssuersEquityEquityAxis", "presentation": [ "http://tomz.com/role/ShareholdersEquityDetails1" ], "lang": { "en-us": { "role": { "label": "Option Indexed to Issuer's Equity [Axis]", "documentation": "Information by type of options indexed to an issuer's equity." } } }, "auth_ref": [ "r51", "r61", "r62", "r123" ] }, "us-gaap_OptionIndexedToIssuersEquityTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OptionIndexedToIssuersEquityTypeDomain", "presentation": [ "http://tomz.com/role/ShareholdersEquityDetails1" ], "lang": { "en-us": { "role": { "documentation": "Description of the type of freestanding contract issued by a Company that is indexed to, and potentially settled in, a Company's own stock. Specifically, the pertinent rights and privileges of the securities outstanding." } } }, "auth_ref": [] }, "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract", "lang": { "en-us": { "role": { "label": "DESCRIPTION OF BUSINESS" } } }, "auth_ref": [] }, "us-gaap_OtherAccruedLiabilitiesCurrentAndNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherAccruedLiabilitiesCurrentAndNoncurrent", "crdr": "credit", "presentation": [ "http://tomz.com/role/AccruedExpensesAndOtherCurrentLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Other Accrued Expenses", "documentation": "Amount of expenses incurred but not yet paid classified as other." } } }, "auth_ref": [ "r70" ] }, "us-gaap_OtherAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherAssets", "crdr": "debit", "calculation": { "http://tomz.com/role/ConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 14.0 } }, "presentation": [ "http://tomz.com/role/ConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "totalLabel": "Total Other Assets", "label": "[Other Assets]", "documentation": "Amount of assets classified as other." } } }, "auth_ref": [ "r124", "r165", "r465", "r645" ] }, "us-gaap_OtherAssetsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherAssetsAbstract", "presentation": [ "http://tomz.com/role/ConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Other Assets:" } } }, "auth_ref": [] }, "us-gaap_OtherAssetsNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherAssetsNoncurrent", "crdr": "debit", "calculation": { "http://tomz.com/role/ConsolidatedBalanceSheets": { "parentTag": "us-gaap_OtherAssets", "weight": 1.0, "order": 11.0 } }, "presentation": [ "http://tomz.com/role/ConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Other Assets", "documentation": "Amount of noncurrent assets classified as other." } } }, "auth_ref": [ "r165" ] }, "us-gaap_OtherDepreciationAndAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherDepreciationAndAmortization", "crdr": "debit", "calculation": { "http://tomz.com/role/ConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://tomz.com/role/ConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "verboseLabel": "Depreciation and Amortization", "label": "[Other Depreciation and Amortization]", "documentation": "Amount of expense charged against earnings to allocate the cost of tangible and intangible assets over their remaining economic lives, classified as other." } } }, "auth_ref": [ "r6", "r48", "r96" ] }, "us-gaap_OtherGeneralAndAdministrativeExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherGeneralAndAdministrativeExpense", "crdr": "debit", "calculation": { "http://tomz.com/role/ConsolidatedStatementsOfOperations": { "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0, "order": 9.0 } }, "presentation": [ "http://tomz.com/role/ConsolidatedStatementsOfOperations" ], "lang": { "en-us": { "role": { "label": "General and Administrative", "documentation": "Amount of general and administrative expense classified as other." } } }, "auth_ref": [ "r97", "r759" ] }, "us-gaap_OtherIncomeAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherIncomeAbstract", "presentation": [ "http://tomz.com/role/ConsolidatedStatementsOfOperations" ], "lang": { "en-us": { "role": { "label": "Other Income (Expense):" } } }, "auth_ref": [] }, "us-gaap_OtherReceivablesNetCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherReceivablesNetCurrent", "crdr": "debit", "calculation": { "http://tomz.com/role/ConsolidatedBalanceSheets": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://tomz.com/role/ConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Other Receivables", "documentation": "Amount, after allowance, of receivables classified as other, due within one year or the operating cycle, if longer." } } }, "auth_ref": [] }, "tomz_OutstandingBeginningOfPeriod": { "xbrltype": "sharesItemType", "nsuri": "http://tomz.com/20231231", "localname": "OutstandingBeginningOfPeriod", "presentation": [ "http://tomz.com/role/ShareholdersEquityDetails" ], "lang": { "en-us": { "role": { "label": "Outstanding, beginning of period" } } }, "auth_ref": [] }, "tomz_OutstandingEndOfPeriod": { "xbrltype": "sharesItemType", "nsuri": "http://tomz.com/20231231", "localname": "OutstandingEndOfPeriod", "presentation": [ "http://tomz.com/role/ShareholdersEquityDetails" ], "lang": { "en-us": { "role": { "label": "Outstanding, end of period" } } }, "auth_ref": [] }, "tomz_PatentAndTrademarkCostsReclassifiedFromOtherAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://tomz.com/20231231", "localname": "PatentAndTrademarkCostsReclassifiedFromOtherAssets", "crdr": "credit", "presentation": [ "http://tomz.com/role/ConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Patent and trademark costs reclassified from Other Assets" } } }, "auth_ref": [] }, "us-gaap_PaymentForManagementFee": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentForManagementFee", "crdr": "credit", "presentation": [ "http://tomz.com/role/ContractsAndAgreementsDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Increased annual fee", "documentation": "Amount paid to managing member or general partner for management of the day-to-day business functions of the limited liability company (LLC) or limited partnership (LP)." } } }, "auth_ref": [ "r671", "r736" ] }, "us-gaap_PaymentsForProceedsFromTenantAllowance": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsForProceedsFromTenantAllowance", "crdr": "credit", "presentation": [ "http://tomz.com/role/LeasesDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Landlord Tenant Improvement Allowance", "documentation": "Net cash outflow or inflow from monetary allowance granted by the landlord to a tenant to entice tenant to move into landlords building which will enable the tenant to prepare the leased premises for tenants occupancy." } } }, "auth_ref": [ "r28", "r100" ] }, "us-gaap_PaymentsToAcquireIntangibleAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsToAcquireIntangibleAssets", "crdr": "credit", "calculation": { "http://tomz.com/role/ConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0, "order": 22.0 } }, "presentation": [ "http://tomz.com/role/ConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "negatedLabel": "Capitalized Patent and Trademark Costs", "label": "[Payments to Acquire Intangible Assets]", "documentation": "The cash outflow to acquire asset without physical form usually arising from contractual or other legal rights, excluding goodwill." } } }, "auth_ref": [ "r101" ] }, "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsToAcquirePropertyPlantAndEquipment", "crdr": "credit", "calculation": { "http://tomz.com/role/ConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0, "order": 23.0 } }, "presentation": [ "http://tomz.com/role/ConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "negatedLabel": "Purchase of Property and Equipment", "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": [ "r101" ] }, "us-gaap_PlanNameAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PlanNameAxis", "presentation": [ "http://tomz.com/role/ContractsAndAgreementsDetailsNarrative", "http://tomz.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Plan Name Axis", "documentation": "Information by plan name for share-based payment arrangement." } } }, "auth_ref": [ "r700", "r701", "r702", "r703", "r704", "r705", "r706", "r707", "r708", "r709", "r710", "r711", "r712", "r713", "r714", "r715", "r716", "r717", "r718", "r719", "r720", "r721", "r722", "r723", "r724", "r725" ] }, "us-gaap_PlanNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PlanNameDomain", "presentation": [ "http://tomz.com/role/ContractsAndAgreementsDetailsNarrative", "http://tomz.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative" ], "lang": { "en-us": { "role": { "documentation": "Plan name for share-based payment arrangement." } } }, "auth_ref": [ "r700", "r701", "r702", "r703", "r704", "r705", "r706", "r707", "r708", "r709", "r710", "r711", "r712", "r713", "r714", "r715", "r716", "r717", "r718", "r719", "r720", "r721", "r722", "r723", "r724", "r725" ] }, "tomz_PreferredStockParOrStatedValue": { "xbrltype": "monetaryItemType", "nsuri": "http://tomz.com/20231231", "localname": "PreferredStockParOrStatedValue", "crdr": "debit", "presentation": [ "http://tomz.com/role/ConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Cumulative Convertible Preferred Stock; Stated Value" } } }, "auth_ref": [] }, "us-gaap_PreferredStockParOrStatedValuePerShare": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PreferredStockParOrStatedValuePerShare", "presentation": [ "http://tomz.com/role/ConsolidatedBalanceSheetsParenthetical", "http://tomz.com/role/ShareholdersEquityDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Cumulative Convertible Preferred Stock; Par Value", "verboseLabel": "Cumulative Convertible 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": [ "r81", "r325" ] }, "us-gaap_PreferredStockSharesAuthorized": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PreferredStockSharesAuthorized", "presentation": [ "http://tomz.com/role/ConsolidatedBalanceSheetsParenthetical", "http://tomz.com/role/ShareholdersEquityDetailsNarrative", "http://tomz.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Cumulative Convertible Preferred Stock; Shares Authorized", "verboseLabel": "Preferred Stock Shares", "terseLabel": "Preferred stock shares", "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": [ "r81", "r534" ] }, "us-gaap_PreferredStockSharesIssued": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PreferredStockSharesIssued", "presentation": [ "http://tomz.com/role/ConsolidatedBalanceSheetsParenthetical", "http://tomz.com/role/ShareholdersEquityDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Cumulative Convertible Preferred Stock; Shares Issued", "verboseLabel": "Cumulative Convertible 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": [ "r81", "r325" ] }, "us-gaap_PreferredStockSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PreferredStockSharesOutstanding", "presentation": [ "http://tomz.com/role/ConsolidatedBalanceSheetsParenthetical", "http://tomz.com/role/ShareholdersEquityDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Cumulative Convertible Preferred Stock; Shares Outstanding", "verboseLabel": "Cumulative Convertible 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": [ "r81", "r534", "r552", "r760", "r761" ] }, "us-gaap_PreferredStockValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PreferredStockValue", "crdr": "credit", "calculation": { "http://tomz.com/role/ConsolidatedBalanceSheets": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 26.0 } }, "presentation": [ "http://tomz.com/role/ConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Preferred Stock, value", "documentation": "Aggregate par or stated value of issued nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred shares, par value and other disclosure concepts are in another section within stockholders' equity." } } }, "auth_ref": [ "r81", "r468", "r633" ] }, "us-gaap_PrepaidExpenseAndOtherAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PrepaidExpenseAndOtherAssets", "crdr": "debit", "presentation": [ "http://tomz.com/role/CloudComputingServiceContractDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Prepaid expenses and other assets", "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets." } } }, "auth_ref": [] }, "us-gaap_PrepaidExpenseCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PrepaidExpenseCurrent", "crdr": "debit", "calculation": { "http://tomz.com/role/ConsolidatedBalanceSheets": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://tomz.com/role/ConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Prepaid Expenses", "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": [ "r173", "r265", "r266", "r615" ] }, "us-gaap_PriorPeriodReclassificationAdjustmentDescription": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PriorPeriodReclassificationAdjustmentDescription", "presentation": [ "http://tomz.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Reclassification of Accounts", "documentation": "Disclosure of accounting policy for reclassification affecting comparability of financial statement. Excludes amendment to accounting standards, other change in accounting principle, and correction of error." } } }, "auth_ref": [ "r660" ] }, "tomz_ProceedsFromConvertiblePromissoryNotesIssuance": { "xbrltype": "monetaryItemType", "nsuri": "http://tomz.com/20231231", "localname": "ProceedsFromConvertiblePromissoryNotesIssuance", "crdr": "debit", "presentation": [ "http://tomz.com/role/ConvertibleDebtDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Proceeds from convertible promissory notes" } } }, "auth_ref": [] }, "us-gaap_ProceedsFromIssuanceOfWarrants": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProceedsFromIssuanceOfWarrants", "crdr": "debit", "calculation": { "http://tomz.com/role/ConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0, "order": 24.0 } }, "presentation": [ "http://tomz.com/role/ConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Proceeds from Issuance of Convertible Notes", "documentation": "The cash inflow from issuance of rights to purchase common shares at predetermined price (usually issued together with corporate debt)." } } }, "auth_ref": [ "r4" ] }, "tomz_ProceedsFromServiceContractOfReceivables": { "xbrltype": "monetaryItemType", "nsuri": "http://tomz.com/20231231", "localname": "ProceedsFromServiceContractOfReceivables", "crdr": "debit", "presentation": [ "http://tomz.com/role/CloudComputingServiceContractDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Annual payments on contract received" } } }, "auth_ref": [] }, "us-gaap_ProceedsFromStockOptionsExercised": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProceedsFromStockOptionsExercised", "crdr": "debit", "calculation": { "http://tomz.com/role/ConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0, "order": 25.0 } }, "presentation": [ "http://tomz.com/role/ConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Proceeds from Issuance of Stock and Warrants", "documentation": "Amount of cash inflow from exercise of option under share-based payment arrangement." } } }, "auth_ref": [ "r4", "r15" ] }, "us-gaap_ProductWarrantyAccrualPeriodIncreaseDecrease": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProductWarrantyAccrualPeriodIncreaseDecrease", "presentation": [ "http://tomz.com/role/AccruedWarrantyDetails" ], "lang": { "en-us": { "role": { "label": "Provision For Warranty Expense", "documentation": "Amount of increase (decrease) in the standard and extended product warranty liability." } } }, "auth_ref": [ "r691" ] }, "us-gaap_ProfessionalFees": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProfessionalFees", "crdr": "debit", "calculation": { "http://tomz.com/role/ConsolidatedStatementsOfOperations": { "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://tomz.com/role/ConsolidatedStatementsOfOperations" ], "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": [ "r643", "r758", "r759" ] }, "us-gaap_ProfitLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProfitLoss", "crdr": "credit", "calculation": { "http://tomz.com/role/ConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 21.0 } }, "presentation": [ "http://tomz.com/role/ConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Net Loss", "documentation": "The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest." } } }, "auth_ref": [ "r158", "r175", "r176", "r186", "r194", "r200", "r208", "r209", "r225", "r238", "r244", "r246", "r254", "r299", "r300", "r301", "r302", "r303", "r304", "r305", "r306", "r307", "r408", "r411", "r412", "r424", "r425", "r463", "r476", "r506", "r554", "r572", "r573", "r621", "r630", "r631", "r644", "r668", "r694" ] }, "us-gaap_PropertyPlantAndEquipmentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentAbstract", "lang": { "en-us": { "role": { "label": "PROPERTY AND EQUIPMENT" } } }, "auth_ref": [] }, "us-gaap_PropertyPlantAndEquipmentByTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentByTypeAxis", "presentation": [ "http://tomz.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Property Plant And Equipment By Type Axis", "documentation": "Information by type of long-lived, physical assets used to produce goods and services and not intended for resale." } } }, "auth_ref": [ "r7" ] }, "us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentDisclosureTextBlock", "presentation": [ "http://tomz.com/role/PropertyAndEquipment" ], "lang": { "en-us": { "role": { "verboseLabel": "PROPERTY AND EQUIPMENT", "label": "Property, Plant and Equipment Disclosure [Text Block]", "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": [ "r112", "r147", "r150", "r151" ] }, "us-gaap_PropertyPlantAndEquipmentGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentGross", "crdr": "debit", "presentation": [ "http://tomz.com/role/PropertyAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Property And Equipment, Gross", "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": [ "r113", "r162", "r474" ] }, "us-gaap_PropertyPlantAndEquipmentNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentNet", "crdr": "debit", "calculation": { "http://tomz.com/role/ConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 13.0 } }, "presentation": [ "http://tomz.com/role/ConsolidatedBalanceSheets", "http://tomz.com/role/PropertyAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Property and Equipment - net (Note 5)", "verboseLabel": "Property And Equipment, Net", "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": [ "r7", "r464", "r474", "r633" ] }, "us-gaap_PropertyPlantAndEquipmentPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentPolicyTextBlock", "presentation": [ "http://tomz.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Property and Equipment", "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": [ "r7", "r147", "r150", "r472" ] }, "us-gaap_PropertyPlantAndEquipmentTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentTextBlock", "presentation": [ "http://tomz.com/role/PropertyAndEquipmentTables" ], "lang": { "en-us": { "role": { "verboseLabel": "Property and Equipment", "label": "Property, Plant and Equipment [Table Text Block]", "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": [ "r7" ] }, "us-gaap_PropertyPlantAndEquipmentTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentTypeDomain", "presentation": [ "http://tomz.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative" ], "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": [ "r113" ] }, "us-gaap_ProvisionForDoubtfulAccounts": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProvisionForDoubtfulAccounts", "crdr": "debit", "presentation": [ "http://tomz.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Bad Debt Expense", "documentation": "Amount of expense (reversal of expense) for expected credit loss on accounts receivable." } } }, "auth_ref": [ "r184", "r260" ] }, "tomz_ProvisionForIncomeTaxes": { "xbrltype": "monetaryItemType", "nsuri": "http://tomz.com/20231231", "localname": "ProvisionForIncomeTaxes", "crdr": "debit", "presentation": [ "http://tomz.com/role/IncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Provision for Income Taxes" } } }, "auth_ref": [] }, "us-gaap_PublicUtilitiesPropertyPlantAndEquipmentVehicles": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PublicUtilitiesPropertyPlantAndEquipmentVehicles", "crdr": "debit", "presentation": [ "http://tomz.com/role/PropertyAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Vehicles", "documentation": "Period end book value of vehicles owned by the public utility." } } }, "auth_ref": [] }, "srt_RangeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "RangeAxis", "presentation": [ "http://tomz.com/role/ShareholdersEquityDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Range [Axis]" } } }, "auth_ref": [ "r286", "r287", "r288", "r289", "r340", "r342", "r369", "r370", "r371", "r443", "r444", "r492", "r524", "r525", "r580", "r583", "r585", "r586", "r589", "r609", "r610", "r622", "r626", "r629", "r634", "r637", "r688", "r696", "r742", "r743", "r744", "r745", "r746" ] }, "tomz_RangeFourPointFourZeroMember": { "xbrltype": "domainItemType", "nsuri": "http://tomz.com/20231231", "localname": "RangeFourPointFourZeroMember", "presentation": [ "http://tomz.com/role/ShareholdersEquityDetails1" ], "lang": { "en-us": { "role": { "label": "Range $4.40" } } }, "auth_ref": [] }, "srt_RangeMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "RangeMember", "presentation": [ "http://tomz.com/role/ShareholdersEquityDetailsNarrative" ], "auth_ref": [ "r286", "r287", "r288", "r289", "r340", "r342", "r369", "r370", "r371", "r443", "r444", "r492", "r524", "r525", "r580", "r583", "r585", "r586", "r589", "r609", "r610", "r622", "r626", "r629", "r634", "r637", "r688", "r696", "r742", "r743", "r744", "r745", "r746" ] }, "tomz_RangeOnePointNineThreeMember": { "xbrltype": "domainItemType", "nsuri": "http://tomz.com/20231231", "localname": "RangeOnePointNineThreeMember", "presentation": [ "http://tomz.com/role/ShareholdersEquityDetails1" ], "lang": { "en-us": { "role": { "label": "Range $1.93" } } }, "auth_ref": [] }, "tomz_RangeOnePointOneTwoMember": { "xbrltype": "domainItemType", "nsuri": "http://tomz.com/20231231", "localname": "RangeOnePointOneTwoMember", "presentation": [ "http://tomz.com/role/ShareholdersEquityDetails1" ], "lang": { "en-us": { "role": { "label": "Range $1.12" } } }, "auth_ref": [] }, "tomz_RangeSevenPointZeroSixMember": { "xbrltype": "domainItemType", "nsuri": "http://tomz.com/20231231", "localname": "RangeSevenPointZeroSixMember", "presentation": [ "http://tomz.com/role/ShareholdersEquityDetails1" ], "lang": { "en-us": { "role": { "label": "Range $7.06" } } }, "auth_ref": [] }, "tomz_RangeTwoPointOneSixMember": { "xbrltype": "domainItemType", "nsuri": "http://tomz.com/20231231", "localname": "RangeTwoPointOneSixMember", "presentation": [ "http://tomz.com/role/ShareholdersEquityDetails1" ], "lang": { "en-us": { "role": { "label": "Range $2.16" } } }, "auth_ref": [] }, "tomz_RangeZeroPointEightEightMember": { "xbrltype": "domainItemType", "nsuri": "http://tomz.com/20231231", "localname": "RangeZeroPointEightEightMember", "presentation": [ "http://tomz.com/role/ShareholdersEquityDetails1" ], "lang": { "en-us": { "role": { "label": "Range $0.88" } } }, "auth_ref": [] }, "tomz_RangeZeroPointEightFiveMember": { "xbrltype": "domainItemType", "nsuri": "http://tomz.com/20231231", "localname": "RangeZeroPointEightFiveMember", "presentation": [ "http://tomz.com/role/ShareholdersEquityDetails1" ], "lang": { "en-us": { "role": { "label": "Range $0.85" } } }, "auth_ref": [] }, "tomz_RangeZeroPointEightZeroMember": { "xbrltype": "domainItemType", "nsuri": "http://tomz.com/20231231", "localname": "RangeZeroPointEightZeroMember", "presentation": [ "http://tomz.com/role/ShareholdersEquityDetails1" ], "lang": { "en-us": { "role": { "label": "Range $0.80" } } }, "auth_ref": [] }, "tomz_RangeZeroPointNineSixMember": { "xbrltype": "domainItemType", "nsuri": "http://tomz.com/20231231", "localname": "RangeZeroPointNineSixMember", "presentation": [ "http://tomz.com/role/ShareholdersEquityDetails1" ], "lang": { "en-us": { "role": { "label": "Range $0.96" } } }, "auth_ref": [] }, "tomz_RangeZeroPointSevenOneMember": { "xbrltype": "domainItemType", "nsuri": "http://tomz.com/20231231", "localname": "RangeZeroPointSevenOneMember", "presentation": [ "http://tomz.com/role/ShareholdersEquityDetails1" ], "lang": { "en-us": { "role": { "label": "Range $0.71" } } }, "auth_ref": [] }, "us-gaap_ReceivablesPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ReceivablesPolicyTextBlock", "presentation": [ "http://tomz.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "verboseLabel": "Accounts Receivable", "label": "Receivable [Policy Text Block]", "documentation": "Disclosure of accounting policy for receivable. Includes, but is not limited to, accounts receivable and financing receivable." } } }, "auth_ref": [ "r683", "r684", "r685", "r686" ] }, "us-gaap_RelatedPartyDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RelatedPartyDomain", "presentation": [ "http://tomz.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative" ], "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": [ "r341", "r441", "r442", "r527", "r528", "r529", "r530", "r531", "r551", "r553", "r579" ] }, "us-gaap_RelatedPartyTransactionsByRelatedPartyAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RelatedPartyTransactionsByRelatedPartyAxis", "presentation": [ "http://tomz.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Related Party Transactions By Related Party 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": [ "r341", "r441", "r442", "r449", "r450", "r451", "r452", "r453", "r454", "r455", "r456", "r457", "r458", "r459", "r460", "r527", "r528", "r529", "r530", "r531", "r551", "r553", "r579", "r738" ] }, "us-gaap_ResearchAndDevelopmentExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ResearchAndDevelopmentExpense", "crdr": "debit", "calculation": { "http://tomz.com/role/ConsolidatedStatementsOfOperations": { "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0, "order": 7.0 } }, "presentation": [ "http://tomz.com/role/ConsolidatedStatementsOfOperations" ], "lang": { "en-us": { "role": { "label": "Research and Development", "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": [ "r76", "r382", "r747" ] }, "us-gaap_ResearchAndDevelopmentExpensePolicy": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ResearchAndDevelopmentExpensePolicy", "presentation": [ "http://tomz.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Research and Development Expenses", "documentation": "Disclosure of accounting policy for costs it has incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process." } } }, "auth_ref": [ "r381" ] }, "tomz_ResearchAndDevelopmentsExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://tomz.com/20231231", "localname": "ResearchAndDevelopmentsExpense", "crdr": "debit", "presentation": [ "http://tomz.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Research And Development Expenses" } } }, "auth_ref": [] }, "us-gaap_ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock", "presentation": [ "http://tomz.com/role/CapitalizedSoftwareDevelopmentCosts" ], "lang": { "en-us": { "role": { "verboseLabel": "CAPITALIZED SOFTWARE DEVELOPMENT COSTS", "label": "Research, Development, and Computer Software Disclosure [Text Block]", "documentation": "The entire disclosure for research, development, and computer software activities, including contracts and arrangements to be performed for others and with federal government. Includes 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 in-process research and development acquired in a business combination consummated during the period." } } }, "auth_ref": [ "r133", "r383" ] }, "us-gaap_ResearchDevelopmentAndComputerSoftwarePolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ResearchDevelopmentAndComputerSoftwarePolicyTextBlock", "presentation": [ "http://tomz.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Capitalized Software Development Costs", "documentation": "Disclosure of accounting policy for its research and development and computer software activities including the accounting treatment for costs incurred for (1) research and development activities, (2) development of computer software for internal use, (3) computer software to be sold, leased or otherwise marketed as a separate product or as part of a product or process and (4) in-process research and development acquired in a purchase business combination." } } }, "auth_ref": [ "r1", "r2", "r76" ] }, "us-gaap_RetainedEarningsAccumulatedDeficit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RetainedEarningsAccumulatedDeficit", "crdr": "credit", "calculation": { "http://tomz.com/role/ConsolidatedBalanceSheets": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 25.0 } }, "presentation": [ "http://tomz.com/role/ConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Accumulated Deficit", "documentation": "Amount of accumulated undistributed earnings (deficit)." } } }, "auth_ref": [ "r84", "r117", "r470", "r496", "r497", "r504", "r535", "r633" ] }, "us-gaap_RetainedEarningsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RetainedEarningsMember", "presentation": [ "http://tomz.com/role/ConsolidatedStatementsOfShareholdersEquity" ], "lang": { "en-us": { "role": { "label": "Retained Earnings (Accumulated Deficit)", "documentation": "Accumulated undistributed earnings (deficit)." } } }, "auth_ref": [ "r156", "r197", "r198", "r199", "r201", "r207", "r209", "r255", "r256", "r373", "r374", "r375", "r397", "r398", "r415", "r417", "r418", "r420", "r422", "r493", "r495", "r507", "r760" ] }, "tomz_RevenueMember": { "xbrltype": "domainItemType", "nsuri": "http://tomz.com/20231231", "localname": "RevenueMember", "presentation": [ "http://tomz.com/role/CustomerConcentrationDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Revenue" } } }, "auth_ref": [] }, "us-gaap_RevenueRecognitionPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueRecognitionPolicyTextBlock", "presentation": [ "http://tomz.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Revenue Recognition", "documentation": "Disclosure of accounting policy for revenue. Includes revenue from contract with customer and from other sources." } } }, "auth_ref": [ "r556", "r612", "r618" ] }, "us-gaap_Revenues": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Revenues", "crdr": "credit", "calculation": { "http://tomz.com/role/ConsolidatedStatementsOfOperations": { "parentTag": "us-gaap_GrossProfit", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://tomz.com/role/ConsolidatedStatementsOfOperations" ], "lang": { "en-us": { "role": { "label": "Sales, net", "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": [ "r182", "r194", "r226", "r227", "r237", "r242", "r243", "r247", "r248", "r250", "r254", "r299", "r300", "r301", "r302", "r303", "r304", "r305", "r306", "r307", "r425", "r463", "r694" ] }, "us-gaap_RisksAndUncertaintiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RisksAndUncertaintiesAbstract", "lang": { "en-us": { "role": { "label": "CLOUD COMPUTING SERVICE CONTRACT" } } }, "auth_ref": [] }, "us-gaap_SalariesAndWages": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SalariesAndWages", "crdr": "debit", "presentation": [ "http://tomz.com/role/ContractsAndAgreementsDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Base annual salary", "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": [ "r669" ] }, "tomz_SalesTaxPayable": { "xbrltype": "monetaryItemType", "nsuri": "http://tomz.com/20231231", "localname": "SalesTaxPayable", "crdr": "credit", "presentation": [ "http://tomz.com/role/AccruedExpensesAndOtherCurrentLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Sales Tax Payable" } } }, "auth_ref": [] }, "us-gaap_SalesTypeLeaseRevenue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SalesTypeLeaseRevenue", "crdr": "credit", "presentation": [ "http://tomz.com/role/SummaryOfSignificantAccountingPoliciesDetails2" ], "lang": { "en-us": { "role": { "verboseLabel": "Sales, net", "label": "[Sales-type Lease, Revenue]", "documentation": "Amount of sales-type lease revenue." } } }, "auth_ref": [ "r220", "r439" ] }, "us-gaap_ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock", "presentation": [ "http://tomz.com/role/AccruedExpensesAndOtherCurrentLiabilitiesTables" ], "lang": { "en-us": { "role": { "label": "Accrued Expenses and Other Current Liabilities", "documentation": "Tabular disclosure of the (a) carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business (accounts payable); (b) other payables; and (c) accrued liabilities. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer). An alternative caption includes accrued expenses." } } }, "auth_ref": [] }, "us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock", "presentation": [ "http://tomz.com/role/IncomeTaxesTables" ], "lang": { "en-us": { "role": { "label": "Income Tax Expense", "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": [ "r121" ] }, "us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock", "presentation": [ "http://tomz.com/role/IncomeTaxesTables" ], "lang": { "en-us": { "role": { "label": "Deferred Income 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": [ "r120" ] }, "us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock", "presentation": [ "http://tomz.com/role/IncomeTaxesTables" ], "lang": { "en-us": { "role": { "label": "Effective Income Tax Rate Reconciliation", "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": [ "r119" ] }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "presentation": [ "http://tomz.com/role/IntangibleAssetsTables" ], "lang": { "en-us": { "role": { "label": "Definite Life Intangible Assets", "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": [ "r43", "r46" ] }, "us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock", "presentation": [ "http://tomz.com/role/IncomeTaxesTables" ], "lang": { "en-us": { "role": { "label": "Net Income (Loss) Before Income Tax", "documentation": "Tabular disclosure of income before income tax between domestic and foreign jurisdictions." } } }, "auth_ref": [ "r676" ] }, "us-gaap_ScheduleOfIndefiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfIndefiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock", "presentation": [ "http://tomz.com/role/IntangibleAssetsTables" ], "lang": { "en-us": { "role": { "label": "Indefinite Life Intangible Assets", "documentation": "Tabular disclosure of characteristics and cost, by total and major class, of indefinite-lived intangible assets acquired as part of a business combination. Indefinite-lived intangible assets are assets that have no physical form, but have expected future economic benefit. The future benefit is not expected to diminish over a stated period of time. Acquired indefinite-lived intangible assets are disclosed by major class (assets that can be grouped together because they are similar, either by their nature or by their use in operations of the entity) and in total." } } }, "auth_ref": [ "r44", "r59" ] }, "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfInventoryCurrentTableTextBlock", "presentation": [ "http://tomz.com/role/InventoriesTables" ], "lang": { "en-us": { "role": { "verboseLabel": "Inventories", "label": "Schedule of Inventory, Current [Table Text Block]", "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": [ "r19", "r88", "r89", "r90" ] }, "us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfProductWarrantyLiabilityTableTextBlock", "presentation": [ "http://tomz.com/role/AccruedWarrantyTables" ], "lang": { "en-us": { "role": { "label": "Warranty Reserve Activity", "documentation": "Tabular disclosure of the changes in the guarantor's aggregate product warranty liability, including the beginning balance of the aggregate product warranty liability, the aggregate reductions in that liability for payments made (in cash or in kind) under the warranty, the aggregate changes in the liability for accruals related to product warranties issued during the reporting period, the aggregate changes in the liability for accruals related to preexisting warranties (including adjustments related to changes in estimates), and the ending balance of the aggregate product warranty liability." } } }, "auth_ref": [ "r298" ] }, "us-gaap_ScheduleOfStockOptionsRollForwardTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfStockOptionsRollForwardTableTextBlock", "presentation": [ "http://tomz.com/role/ShareholdersEquityTables" ], "lang": { "en-us": { "role": { "label": "Stock Options Outstanding", "documentation": "Tabular disclosure of the change in stock options." } } }, "auth_ref": [] }, "us-gaap_ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock", "presentation": [ "http://tomz.com/role/ShareholdersEquityTables" ], "lang": { "en-us": { "role": { "label": "Stock Warrants Outstanding", "documentation": "Tabular disclosure of warrants or rights issued. Warrants and rights outstanding are derivative securities that give the holder the right to purchase securities (usually equity) from the issuer at a specific price within a certain time frame. Warrants are often included in a new debt issue to entice investors by a higher return potential. The main difference between warrants and call options is that warrants are issued and guaranteed by the company, whereas options are exchange instruments and are not issued by the company. Also, the lifetime of a warrant is often measured in years, while the lifetime of a typical option is measured in months. Disclose the title of issue of securities called for by warrants and rights outstanding, the aggregate amount of securities called for by warrants and rights outstanding, the date from which the warrants or rights are exercisable, and the price at which the warrant or right is exercisable." } } }, "auth_ref": [ "r54" ] }, "us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "presentation": [ "http://tomz.com/role/IntangibleAssetsTables" ], "lang": { "en-us": { "role": { "label": "Approximate Future Amortization", "documentation": "Tabular disclosure of the amount of amortization expense expected to be recorded in succeeding fiscal years for finite-lived intangible assets." } } }, "auth_ref": [ "r46" ] }, "dei_Security12bTitle": { "xbrltype": "securityTitleItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "Security12bTitle", "presentation": [ "http://tomz.com/role/Cover" ], "lang": { "en-us": { "role": { "label": "Security 12b Title", "documentation": "Title of a 12(b) registered security." } } }, "auth_ref": [ "r646" ] }, "dei_SecurityExchangeName": { "xbrltype": "edgarExchangeCodeItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "SecurityExchangeName", "presentation": [ "http://tomz.com/role/Cover" ], "lang": { "en-us": { "role": { "label": "Security Exchange Name", "documentation": "Name of the Exchange on which a security is registered." } } }, "auth_ref": [ "r648" ] }, "us-gaap_SegmentDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SegmentDomain", "presentation": [ "http://tomz.com/role/SummaryOfSignificantAccountingPoliciesDetails2" ], "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": [ "r224", "r225", "r226", "r227", "r228", "r229", "r230", "r231", "r232", "r233", "r234", "r235", "r236", "r237", "r238", "r239", "r240", "r241", "r242", "r243", "r244", "r245", "r246", "r250", "r268", "r269", "r270", "r271", "r272", "r273", "r274", "r275", "r276", "r282", "r283", "r481", "r482", "r483", "r484", "r485", "r486", "r487", "r488", "r489", "r490", "r491", "r623", "r658", "r752" ] }, "srt_SegmentGeographicalDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "SegmentGeographicalDomain", "presentation": [ "http://tomz.com/role/SummaryOfSignificantAccountingPoliciesDetails2" ], "auth_ref": [ "r248", "r249", "r520", "r521", "r522", "r582", "r584", "r588", "r591", "r600", "r601", "r602", "r603", "r604", "r605", "r606", "r607", "r608", "r613", "r627", "r637", "r699", "r752" ] }, "us-gaap_SellingExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SellingExpense", "crdr": "debit", "calculation": { "http://tomz.com/role/ConsolidatedStatementsOfOperations": { "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://tomz.com/role/ConsolidatedStatementsOfOperations" ], "lang": { "en-us": { "role": { "label": "Selling Expenses", "documentation": "Expenses recognized in the period that are directly related to the selling and distribution of products or services." } } }, "auth_ref": [ "r97" ] }, "us-gaap_SeriesAPreferredStockMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SeriesAPreferredStockMember", "presentation": [ "http://tomz.com/role/ConsolidatedBalanceSheets", "http://tomz.com/role/ConsolidatedBalanceSheetsParenthetical", "http://tomz.com/role/ShareholdersEquityDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Cumulative Convertible Series A Preferred Stock", "documentation": "Series A preferred stock." } } }, "auth_ref": [ "r662", "r663", "r698" ] }, "tomz_SeriesAPreferredStocksMember": { "xbrltype": "domainItemType", "nsuri": "http://tomz.com/20231231", "localname": "SeriesAPreferredStocksMember", "presentation": [ "http://tomz.com/role/ConsolidatedStatementsOfShareholdersEquity" ], "lang": { "en-us": { "role": { "label": "Series A Preferred Stock" } } }, "auth_ref": [] }, "us-gaap_SeriesBPreferredStockMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SeriesBPreferredStockMember", "presentation": [ "http://tomz.com/role/ConsolidatedBalanceSheets", "http://tomz.com/role/ConsolidatedBalanceSheetsParenthetical", "http://tomz.com/role/ShareholdersEquityDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Cumulative Convertible Series B Preferred Stock", "documentation": "Series B preferred stock." } } }, "auth_ref": [ "r662", "r663", "r698" ] }, "tomz_ServiceAndTrainingMember": { "xbrltype": "domainItemType", "nsuri": "http://tomz.com/20231231", "localname": "ServiceAndTrainingMember", "presentation": [ "http://tomz.com/role/SummaryOfSignificantAccountingPoliciesDetails2" ], "lang": { "en-us": { "role": { "label": "Service And Training [Member]" } } }, "auth_ref": [] }, "tomz_SettlementOfWarrantyClaims": { "xbrltype": "monetaryItemType", "nsuri": "http://tomz.com/20231231", "localname": "SettlementOfWarrantyClaims", "crdr": "debit", "presentation": [ "http://tomz.com/role/AccruedWarrantyDetails" ], "lang": { "en-us": { "role": { "label": "Settlement Of Warranty Claims" } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensation", "crdr": "debit", "presentation": [ "http://tomz.com/role/ShareholdersEquityDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Share based compensation expense", "documentation": "Amount of noncash expense for share-based payment arrangement." } } }, "auth_ref": [ "r5" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExercisePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExercisePrice", "presentation": [ "http://tomz.com/role/ShareholdersEquityDetailsNarrative" ], "lang": { "en-us": { "role": { "verboseLabel": "Exercise price", "label": "[Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Exercise Price]", "documentation": "Agreed-upon price for the exchange of the underlying asset relating to the share-based payment award." } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate", "presentation": [ "http://tomz.com/role/ShareholdersEquityDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Expected dividend yield", "documentation": "The estimated dividend rate (a percentage of the share price) to be paid (expected dividends) to holders of the underlying shares over the option's term." } } }, "auth_ref": [ "r370" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate", "presentation": [ "http://tomz.com/role/ShareholdersEquityDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Volatility rate", "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": [ "r369" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate", "presentation": [ "http://tomz.com/role/ShareholdersEquityDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Risk free interest rate", "documentation": "The risk-free interest rate assumption that is used in valuing an option on its own shares." } } }, "auth_ref": [ "r371" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber", "presentation": [ "http://tomz.com/role/ShareholdersEquityDetails3" ], "lang": { "en-us": { "role": { "label": "Outstanding, Beginning Balance", "documentation": "Number of equity instruments other than options outstanding, including both vested and non-vested instruments." } } }, "auth_ref": [ "r12", "r13" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber", "presentation": [ "http://tomz.com/role/ShareholdersEquityDetails1", "http://tomz.com/role/ShareholdersEquityDetails3" ], "lang": { "en-us": { "role": { "label": "Number of Exercisable Options", "verboseLabel": "Exercisable Warrants", "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": [ "r350" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice", "presentation": [ "http://tomz.com/role/ShareholdersEquityDetails1", "http://tomz.com/role/ShareholdersEquityDetails3" ], "lang": { "en-us": { "role": { "label": "Weighted Average Exercise Price, Exercisable Options", "verboseLabel": "Weighted Average Exercise Price, Exercisable", "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": [ "r350" ] }, "tomz_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExercisesInPeriod": { "xbrltype": "sharesItemType", "nsuri": "http://tomz.com/20231231", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExercisesInPeriod", "presentation": [ "http://tomz.com/role/ShareholdersEquityDetails", "http://tomz.com/role/ShareholdersEquityDetails2" ], "lang": { "en-us": { "role": { "negatedLabel": "Exercised", "label": "[Exercised]" } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod", "presentation": [ "http://tomz.com/role/ShareholdersEquityDetails", "http://tomz.com/role/ShareholdersEquityDetails2" ], "lang": { "en-us": { "role": { "negatedLabel": "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": [ "r706" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross", "presentation": [ "http://tomz.com/role/ShareholdersEquityDetails", "http://tomz.com/role/ShareholdersEquityDetails2" ], "lang": { "en-us": { "role": { "label": "Granted", "verboseLabel": "Granted", "documentation": "Gross number of share options (or share units) granted during the period." } } }, "auth_ref": [ "r352" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "presentation": [ "http://tomz.com/role/ShareholdersEquityDetails1", "http://tomz.com/role/ShareholdersEquityDetails2" ], "lang": { "en-us": { "role": { "label": "Number of outstanding shares", "periodStartLabel": "Outstanding, beginning of period", "periodEndLabel": "Outstanding, end of period", "documentation": "Number of options outstanding, including both vested and non-vested options." } } }, "auth_ref": [ "r348", "r349" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice", "presentation": [ "http://tomz.com/role/ShareholdersEquityDetails2" ], "lang": { "en-us": { "role": { "periodStartLabel": "Weighted average exercise price, beginning of period", "label": "[Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price]", "periodEndLabel": "Weighted average exercise price, end of period", "documentation": "Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan." } } }, "auth_ref": [ "r348", "r349" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock", "presentation": [ "http://tomz.com/role/ShareholdersEquityTables" ], "lang": { "en-us": { "role": { "label": "Options Outstanding and Exercisable by Price Range", "documentation": "Tabular disclosure of number, weighted-average exercise price or conversion ratio, aggregate intrinsic value, and weighted-average remaining contractual term for outstanding and exercisable options that are fully vested and expected to vest. 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": [ "r14" ] }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain", "presentation": [ "http://tomz.com/role/ShareholdersEquityDetails3" ], "lang": { "en-us": { "role": { "documentation": "Award under share-based payment arrangement." } } }, "auth_ref": [ "r344", "r345", "r346", "r348", "r349", "r350", "r351", "r352", "r353", "r354", "r355", "r356", "r357", "r358", "r359", "r360", "r361", "r362", "r363", "r364", "r365", "r368", "r369", "r370", "r371", "r372" ] }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice", "presentation": [ "http://tomz.com/role/ShareholdersEquityDetails2" ], "lang": { "en-us": { "role": { "negatedLabel": "Weighted average exercise price, Exercised", "label": "[Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price]", "documentation": "Weighted average price at which option holders acquired shares when converting their stock options into shares." } } }, "auth_ref": [ "r353" ] }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice", "presentation": [ "http://tomz.com/role/ShareholdersEquityDetails2" ], "lang": { "en-us": { "role": { "negatedLabel": "Weighted average exercise price, Expired", "label": "[Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Expirations in Period, Weighted Average Exercise Price]", "documentation": "Weighted average price at which grantees could have acquired the underlying shares with respect to stock options of the plan that expired." } } }, "auth_ref": [ "r355" ] }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice", "presentation": [ "http://tomz.com/role/ShareholdersEquityDetails2" ], "lang": { "en-us": { "role": { "verboseLabel": "Weighted average exercise price, Granted", "label": "[Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Grants in Period, Weighted Average Exercise Price]", "documentation": "Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options." } } }, "auth_ref": [ "r352" ] }, "us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationOptionAndIncentivePlansPolicy", "presentation": [ "http://tomz.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "verboseLabel": "Equity Compensation Expense", "label": "Share-Based Payment Arrangement [Policy Text Block]", "documentation": "Disclosure of accounting policy for award under share-based payment arrangement. Includes, but is not limited to, methodology and assumption used in measuring cost." } } }, "auth_ref": [ "r343", "r347", "r366", "r367", "r368", "r369", "r372", "r376", "r377", "r378", "r379" ] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1", "presentation": [ "http://tomz.com/role/ShareholdersEquityDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Expected life term", "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": [ "r368" ] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2", "presentation": [ "http://tomz.com/role/ShareholdersEquityDetails1", "http://tomz.com/role/ShareholdersEquityDetails3" ], "lang": { "en-us": { "role": { "label": "Average Weighted Remaining Contractual Life in Years, Outstanding", "verboseLabel": "Average Weighted Remaining Contractual Life in Years, Outstanding", "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": [ "r118" ] }, "us-gaap_SharesIssued": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SharesIssued", "presentation": [ "http://tomz.com/role/ConsolidatedStatementsOfShareholdersEquity" ], "lang": { "en-us": { "role": { "periodStartLabel": "Balance, shares", "label": "[Shares, Issued]", "periodEndLabel": "Balance, shares", "documentation": "Number of shares of stock issued as of the balance sheet date, including shares that had been issued and were previously outstanding but which are now held in the treasury." } } }, "auth_ref": [ "r10" ] }, "us-gaap_SharesIssuedPricePerShare": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SharesIssuedPricePerShare", "presentation": [ "http://tomz.com/role/ConvertibleDebtDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Exercise price", "documentation": "Per share or per unit amount of equity securities issued." } } }, "auth_ref": [] }, "us-gaap_SignificantAccountingPoliciesTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SignificantAccountingPoliciesTextBlock", "presentation": [ "http://tomz.com/role/SummaryOfSignificantAccountingPolicies" ], "lang": { "en-us": { "role": { "verboseLabel": "SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES", "label": "Significant Accounting Policies [Text Block]", "documentation": "The entire disclosure for all significant accounting policies of the reporting entity." } } }, "auth_ref": [ "r105", "r191" ] }, "us-gaap_SoftwareDevelopmentMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SoftwareDevelopmentMember", "presentation": [ "http://tomz.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Software Development [Member]", "documentation": "Internally developed software for sale, licensing or long-term internal use." } } }, "auth_ref": [] }, "tomz_StateNetOperatingLossCarryforwards": { "xbrltype": "monetaryItemType", "nsuri": "http://tomz.com/20231231", "localname": "StateNetOperatingLossCarryforwards", "crdr": "debit", "presentation": [ "http://tomz.com/role/IncomeTaxesDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "State Net Operating Loss Carryforwards" } } }, "auth_ref": [] }, "us-gaap_StatementBusinessSegmentsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementBusinessSegmentsAxis", "presentation": [ "http://tomz.com/role/SummaryOfSignificantAccountingPoliciesDetails2" ], "lang": { "en-us": { "role": { "label": "Statement Business Segments Axis", "documentation": "Information by business segments." } } }, "auth_ref": [ "r157", "r224", "r225", "r226", "r227", "r228", "r229", "r230", "r231", "r232", "r233", "r234", "r235", "r236", "r237", "r238", "r239", "r240", "r241", "r242", "r243", "r244", "r245", "r246", "r250", "r268", "r269", "r270", "r271", "r272", "r273", "r274", "r275", "r276", "r280", "r282", "r283", "r481", "r482", "r483", "r484", "r485", "r486", "r487", "r488", "r489", "r490", "r491", "r623", "r658", "r752" ] }, "us-gaap_StatementClassOfStockAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementClassOfStockAxis", "presentation": [ "http://tomz.com/role/ConsolidatedBalanceSheets", "http://tomz.com/role/ConsolidatedBalanceSheetsParenthetical", "http://tomz.com/role/ShareholdersEquityDetails", "http://tomz.com/role/ShareholdersEquityDetails3", "http://tomz.com/role/ShareholdersEquityDetailsNarrative", "http://tomz.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Statement Class Of Stock Axis", "documentation": "Information by the different classes of stock of the entity." } } }, "auth_ref": [ "r155", "r167", "r168", "r169", "r194", "r212", "r213", "r215", "r217", "r222", "r223", "r254", "r299", "r301", "r302", "r303", "r306", "r307", "r325", "r326", "r328", "r331", "r337", "r425", "r500", "r501", "r502", "r503", "r507", "r508", "r509", "r510", "r511", "r512", "r513", "r514", "r515", "r516", "r517", "r518", "r534", "r555", "r574", "r592", "r593", "r594", "r595", "r596", "r656", "r674", "r681" ] }, "us-gaap_StatementEquityComponentsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementEquityComponentsAxis", "presentation": [ "http://tomz.com/role/ConsolidatedStatementsOfShareholdersEquity" ], "lang": { "en-us": { "role": { "label": "Statement Equity Components [Axis]", "documentation": "Information by component of equity." } } }, "auth_ref": [ "r10", "r27", "r156", "r178", "r179", "r180", "r197", "r198", "r199", "r201", "r207", "r209", "r221", "r255", "r256", "r339", "r373", "r374", "r375", "r397", "r398", "r415", "r416", "r417", "r418", "r419", "r420", "r422", "r426", "r427", "r428", "r429", "r430", "r431", "r440", "r493", "r494", "r495", "r507", "r574" ] }, "srt_StatementGeographicalAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "StatementGeographicalAxis", "presentation": [ "http://tomz.com/role/SummaryOfSignificantAccountingPoliciesDetails2" ], "lang": { "en-us": { "role": { "label": "Statement Geographical Axis" } } }, "auth_ref": [ "r248", "r249", "r520", "r521", "r522", "r582", "r584", "r588", "r591", "r598", "r600", "r601", "r602", "r603", "r604", "r605", "r606", "r607", "r608", "r613", "r627", "r637", "r699", "r752" ] }, "us-gaap_StatementLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementLineItems", "presentation": [ "http://tomz.com/role/CapitalizedSoftwareDevelopmentCostsDetailsNarrative", "http://tomz.com/role/ConsolidatedBalanceSheets", "http://tomz.com/role/ConsolidatedBalanceSheetsParenthetical", "http://tomz.com/role/ConsolidatedStatementsOfShareholdersEquity", "http://tomz.com/role/ContractsAndAgreementsDetailsNarrative", "http://tomz.com/role/CustomerConcentrationDetailsNarrative", "http://tomz.com/role/ShareholdersEquityDetails", "http://tomz.com/role/ShareholdersEquityDetails1", "http://tomz.com/role/ShareholdersEquityDetails2", "http://tomz.com/role/ShareholdersEquityDetails3", "http://tomz.com/role/ShareholdersEquityDetailsNarrative", "http://tomz.com/role/SummaryOfSignificantAccountingPoliciesDetails2", "http://tomz.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative" ], "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": [ "r197", "r198", "r199", "r221", "r446", "r498", "r518", "r526", "r527", "r528", "r529", "r530", "r531", "r534", "r537", "r538", "r539", "r540", "r541", "r542", "r543", "r544", "r545", "r547", "r548", "r549", "r550", "r551", "r553", "r556", "r557", "r560", "r561", "r562", "r563", "r564", "r565", "r566", "r567", "r568", "r569", "r570", "r571", "r574", "r638" ] }, "us-gaap_StatementOfCashFlowsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementOfCashFlowsAbstract", "lang": { "en-us": { "role": { "label": "CONSOLIDATED STATEMENTS OF CASH FLOWS" } } }, "auth_ref": [] }, "us-gaap_StatementOfFinancialPositionAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementOfFinancialPositionAbstract", "lang": { "en-us": { "role": { "label": "CONSOLIDATED BALANCE SHEETS" } } }, "auth_ref": [] }, "us-gaap_StatementOfStockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementOfStockholdersEquityAbstract", "lang": { "en-us": { "role": { "label": "CONSOLIDATED STATEMENTS OF SHAREHOLDERS EQUITY" } } }, "auth_ref": [] }, "us-gaap_StatementTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementTable", "presentation": [ "http://tomz.com/role/CapitalizedSoftwareDevelopmentCostsDetailsNarrative", "http://tomz.com/role/ConsolidatedBalanceSheets", "http://tomz.com/role/ConsolidatedBalanceSheetsParenthetical", "http://tomz.com/role/ConsolidatedStatementsOfShareholdersEquity", "http://tomz.com/role/ContractsAndAgreementsDetailsNarrative", "http://tomz.com/role/CustomerConcentrationDetailsNarrative", "http://tomz.com/role/ShareholdersEquityDetails", "http://tomz.com/role/ShareholdersEquityDetails1", "http://tomz.com/role/ShareholdersEquityDetails2", "http://tomz.com/role/ShareholdersEquityDetails3", "http://tomz.com/role/ShareholdersEquityDetailsNarrative", "http://tomz.com/role/SummaryOfSignificantAccountingPoliciesDetails2", "http://tomz.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative" ], "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": [ "r197", "r198", "r199", "r221", "r446", "r498", "r518", "r526", "r527", "r528", "r529", "r530", "r531", "r534", "r537", "r538", "r539", "r540", "r541", "r542", "r543", "r544", "r545", "r547", "r548", "r549", "r550", "r551", "r553", "r556", "r557", "r560", "r561", "r562", "r563", "r564", "r565", "r566", "r567", "r568", "r569", "r570", "r571", "r574", "r638" ] }, "tomz_SteraMistPRoductMember": { "xbrltype": "domainItemType", "nsuri": "http://tomz.com/20231231", "localname": "SteraMistPRoductMember", "presentation": [ "http://tomz.com/role/SummaryOfSignificantAccountingPoliciesDetails2" ], "lang": { "en-us": { "role": { "label": "SteraMist PRoduct [Member]" } } }, "auth_ref": [] }, "tomz_StockBasedCompensation": { "xbrltype": "monetaryItemType", "nsuri": "http://tomz.com/20231231", "localname": "StockBasedCompensation", "crdr": "credit", "presentation": [ "http://tomz.com/role/IncomeTaxesDetails3" ], "lang": { "en-us": { "role": { "label": "Stock-Based Compensation" } } }, "auth_ref": [] }, "us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities", "presentation": [ "http://tomz.com/role/ConvertibleDebtDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Convertible promissory notes issued", "documentation": "Number of shares issued during the period as a result of the conversion of convertible securities." } } }, "auth_ref": [ "r10", "r26", "r52", "r117", "r316" ] }, "us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans", "presentation": [ "http://tomz.com/role/ShareholdersEquityDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Aggregate shares purchase of stock option", "documentation": "Number of shares issued during the period as a result of an employee stock purchase plan." } } }, "auth_ref": [ "r10", "r81", "r82", "r117" ] }, "us-gaap_StockIssuedDuringPeriodSharesNewIssues": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodSharesNewIssues", "presentation": [ "http://tomz.com/role/ContractsAndAgreementsDetailsNarrative", "http://tomz.com/role/ShareholdersEquityDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Common stock share issued", "verboseLabel": "Issued shares of common stock during period", "documentation": "Number of new stock issued during the period." } } }, "auth_ref": [ "r10", "r81", "r82", "r117", "r500", "r574", "r593" ] }, "us-gaap_StockIssuedDuringPeriodValueIssuedForServices": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodValueIssuedForServices", "crdr": "credit", "presentation": [ "http://tomz.com/role/ContractsAndAgreementsDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Issued shares of common stock during period, 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_StockOptionMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockOptionMember", "presentation": [ "http://tomz.com/role/ShareholdersEquityDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Stock Option [Member]", "documentation": "Contracts conveying rights, but not obligations, to buy or sell a specific quantity of stock at a specified price during a specified period (an American option) or at a specified date (a European option)." } } }, "auth_ref": [ "r637" ] }, "tomz_StockOptionsMember": { "xbrltype": "domainItemType", "nsuri": "http://tomz.com/20231231", "localname": "StockOptionsMember", "presentation": [ "http://tomz.com/role/ShareholdersEquityDetailsNarrative", "http://tomz.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Stock Options", "verboseLabel": "Stock Options" } } }, "auth_ref": [] }, "tomz_StockWarrantMember": { "xbrltype": "domainItemType", "nsuri": "http://tomz.com/20231231", "localname": "StockWarrantMember", "presentation": [ "http://tomz.com/role/ShareholdersEquityDetails" ], "lang": { "en-us": { "role": { "label": "Stock Warrant [Member]" } } }, "auth_ref": [] }, "tomz_StockWarrantsMember": { "xbrltype": "domainItemType", "nsuri": "http://tomz.com/20231231", "localname": "StockWarrantsMember", "presentation": [ "http://tomz.com/role/ShareholdersEquityDetails3" ], "lang": { "en-us": { "role": { "label": "Stock Warrants" } } }, "auth_ref": [] }, "us-gaap_StockholdersEquity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockholdersEquity", "crdr": "credit", "calculation": { "http://tomz.com/role/ConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0, "order": 28.0 } }, "presentation": [ "http://tomz.com/role/ConsolidatedBalanceSheets", "http://tomz.com/role/ConsolidatedStatementsOfShareholdersEquity" ], "lang": { "en-us": { "role": { "totalLabel": "Total Shareholders' Equity", "label": "[Stockholders' Equity Attributable to Parent]", "periodStartLabel": "Balance, amount", "periodEndLabel": "Balance, amount", "documentation": "Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest." } } }, "auth_ref": [ "r82", "r85", "r86", "r107", "r536", "r552", "r575", "r576", "r633", "r645", "r675", "r687", "r732", "r760" ] }, "us-gaap_StockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockholdersEquityAbstract", "presentation": [ "http://tomz.com/role/ConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Shareholders' Equity:" } } }, "auth_ref": [] }, "us-gaap_StockholdersEquityNoteDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockholdersEquityNoteDisclosureTextBlock", "presentation": [ "http://tomz.com/role/ShareholdersEquity" ], "lang": { "en-us": { "role": { "label": "SHAREHOLDERS' EQUITY", "documentation": "The entire disclosure for equity." } } }, "auth_ref": [ "r116", "r193", "r324", "r326", "r327", "r328", "r329", "r330", "r331", "r332", "r333", "r334", "r335", "r336", "r339", "r421", "r577", "r578", "r597" ] }, "us-gaap_SupplementalCashFlowInformationAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SupplementalCashFlowInformationAbstract", "presentation": [ "http://tomz.com/role/ConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Supplemental Cash Flow Information:" } } }, "auth_ref": [] }, "tomz_SupplementalCashFlowInformationRelatedToLeasesTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://tomz.com/20231231", "localname": "SupplementalCashFlowInformationRelatedToLeasesTableTextBlock", "presentation": [ "http://tomz.com/role/LeasesTables" ], "lang": { "en-us": { "role": { "label": "Supplemental Cash Flow Information related to leases" } } }, "auth_ref": [] }, "tomz_TermLease": { "xbrltype": "durationItemType", "nsuri": "http://tomz.com/20231231", "localname": "TermLease", "presentation": [ "http://tomz.com/role/LeasesDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Term Lease" } } }, "auth_ref": [] }, "tomz_TermOfAgreement": { "xbrltype": "durationItemType", "nsuri": "http://tomz.com/20231231", "localname": "TermOfAgreement", "presentation": [ "http://tomz.com/role/ContractsAndAgreementsDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Term of agreement" } } }, "auth_ref": [] }, "srt_TitleOfIndividualAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "TitleOfIndividualAxis", "presentation": [ "http://tomz.com/role/ContractsAndAgreementsDetailsNarrative", "http://tomz.com/role/ShareholdersEquityDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Title Of Individual Axis" } } }, "auth_ref": [ "r682", "r737" ] }, "srt_TitleOfIndividualWithRelationshipToEntityDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "TitleOfIndividualWithRelationshipToEntityDomain", "presentation": [ "http://tomz.com/role/ContractsAndAgreementsDetailsNarrative", "http://tomz.com/role/ShareholdersEquityDetailsNarrative" ], "auth_ref": [] }, "dei_TradingSymbol": { "xbrltype": "tradingSymbolItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "TradingSymbol", "presentation": [ "http://tomz.com/role/Cover" ], "lang": { "en-us": { "role": { "label": "Trading Symbol", "documentation": "Trading symbol of an instrument as listed on an exchange." } } }, "auth_ref": [] }, "us-gaap_TravelAndEntertainmentExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TravelAndEntertainmentExpense", "crdr": "debit", "presentation": [ "http://tomz.com/role/IncomeTaxesDetails2" ], "lang": { "en-us": { "role": { "label": "Meals and Entertainment", "documentation": "Expenses incurred for travel and entertainment during the period." } } }, "auth_ref": [ "r97" ] }, "tomz_TwoCustomerMember": { "xbrltype": "domainItemType", "nsuri": "http://tomz.com/20231231", "localname": "TwoCustomerMember", "presentation": [ "http://tomz.com/role/CustomerConcentrationDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Two Customer" } } }, "auth_ref": [] }, "tomz_TwoCustomersMember": { "xbrltype": "domainItemType", "nsuri": "http://tomz.com/20231231", "localname": "TwoCustomersMember", "presentation": [ "http://tomz.com/role/CustomerConcentrationDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Two Customers" } } }, "auth_ref": [] }, "tomz_TwoVendorsMember": { "xbrltype": "domainItemType", "nsuri": "http://tomz.com/20231231", "localname": "TwoVendorsMember", "presentation": [ "http://tomz.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Two Vendors" } } }, "auth_ref": [] }, "tomz_UnitedStatesMember": { "xbrltype": "domainItemType", "nsuri": "http://tomz.com/20231231", "localname": "UnitedStatesMember", "presentation": [ "http://tomz.com/role/SummaryOfSignificantAccountingPoliciesDetails2" ], "lang": { "en-us": { "role": { "label": "United States [Member]" } } }, "auth_ref": [] }, "us-gaap_UseOfEstimates": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "UseOfEstimates", "presentation": [ "http://tomz.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "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": [ "r37", "r38", "r39", "r144", "r145", "r148", "r149" ] }, "tomz_VendorDepositsTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://tomz.com/20231231", "localname": "VendorDepositsTextBlock", "presentation": [ "http://tomz.com/role/VendorDeposits" ], "lang": { "en-us": { "role": { "verboseLabel": "VENDOR DEPOSITS", "label": "[VENDOR DEPOSITS]" } } }, "auth_ref": [] }, "tomz_WarrantsAndOptionsExercisedAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://tomz.com/20231231", "localname": "WarrantsAndOptionsExercisedAmount", "crdr": "credit", "presentation": [ "http://tomz.com/role/ConsolidatedStatementsOfShareholdersEquity" ], "lang": { "en-us": { "role": { "label": "Warrants and Options Exercised, amount" } } }, "auth_ref": [] }, "tomz_WarrantsAndOptionsExercisedShares": { "xbrltype": "sharesItemType", "nsuri": "http://tomz.com/20231231", "localname": "WarrantsAndOptionsExercisedShares", "presentation": [ "http://tomz.com/role/ConsolidatedStatementsOfShareholdersEquity" ], "lang": { "en-us": { "role": { "label": "Warrants and Options Exercised, shares" } } }, "auth_ref": [] }, "tomz_WarrantsEightMember": { "xbrltype": "domainItemType", "nsuri": "http://tomz.com/20231231", "localname": "WarrantsEightMember", "presentation": [ "http://tomz.com/role/ShareholdersEquityDetails3" ], "lang": { "en-us": { "role": { "label": "$ 2.18" } } }, "auth_ref": [] }, "tomz_WarrantsElevenMember": { "xbrltype": "domainItemType", "nsuri": "http://tomz.com/20231231", "localname": "WarrantsElevenMember", "presentation": [ "http://tomz.com/role/ShareholdersEquityDetails3" ], "lang": { "en-us": { "role": { "label": "$ 6.95" } } }, "auth_ref": [] }, "tomz_WarrantsFiveMember": { "xbrltype": "domainItemType", "nsuri": "http://tomz.com/20231231", "localname": "WarrantsFiveMember", "presentation": [ "http://tomz.com/role/ShareholdersEquityDetails3" ], "lang": { "en-us": { "role": { "label": "$ 1.20" } } }, "auth_ref": [] }, "tomz_WarrantsFourMember": { "xbrltype": "domainItemType", "nsuri": "http://tomz.com/20231231", "localname": "WarrantsFourMember", "presentation": [ "http://tomz.com/role/ShareholdersEquityDetails3" ], "lang": { "en-us": { "role": { "label": "$ 1.12" } } }, "auth_ref": [] }, "tomz_WarrantsIssuedUponPurchaseShareOfCommonStock": { "xbrltype": "sharesItemType", "nsuri": "http://tomz.com/20231231", "localname": "WarrantsIssuedUponPurchaseShareOfCommonStock", "presentation": [ "http://tomz.com/role/ShareholdersEquityDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Warrants issued upon purchase share of common stock" } } }, "auth_ref": [] }, "tomz_WarrantsMember": { "xbrltype": "domainItemType", "nsuri": "http://tomz.com/20231231", "localname": "WarrantsMember", "presentation": [ "http://tomz.com/role/ShareholdersEquityDetails2", "http://tomz.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Warrants" } } }, "auth_ref": [] }, "tomz_WarrantsOneMember": { "xbrltype": "domainItemType", "nsuri": "http://tomz.com/20231231", "localname": "WarrantsOneMember", "presentation": [ "http://tomz.com/role/ShareholdersEquityDetails3" ], "lang": { "en-us": { "role": { "label": "$ 0.64" } } }, "auth_ref": [] }, "tomz_WarrantsOutstandingAndExercisableByPriceRange": { "xbrltype": "textBlockItemType", "nsuri": "http://tomz.com/20231231", "localname": "WarrantsOutstandingAndExercisableByPriceRange", "presentation": [ "http://tomz.com/role/ShareholdersEquityTables" ], "lang": { "en-us": { "role": { "label": "Warrants Outstanding and Exercisable by Price Range", "documentation": "Custom Element." } } }, "auth_ref": [] }, "tomz_WarrantsSevenMember": { "xbrltype": "domainItemType", "nsuri": "http://tomz.com/20231231", "localname": "WarrantsSevenMember", "presentation": [ "http://tomz.com/role/ShareholdersEquityDetails3" ], "lang": { "en-us": { "role": { "label": "$ 1.68" } } }, "auth_ref": [] }, "tomz_WarrantsTenMember": { "xbrltype": "domainItemType", "nsuri": "http://tomz.com/20231231", "localname": "WarrantsTenMember", "presentation": [ "http://tomz.com/role/ShareholdersEquityDetails3" ], "lang": { "en-us": { "role": { "label": "$ 4.00" } } }, "auth_ref": [] }, "tomz_WarrantsThreeMember": { "xbrltype": "domainItemType", "nsuri": "http://tomz.com/20231231", "localname": "WarrantsThreeMember", "presentation": [ "http://tomz.com/role/ShareholdersEquityDetails3" ], "lang": { "en-us": { "role": { "label": "$ 0.96" } } }, "auth_ref": [] }, "tomz_WarrantsTwoMember": { "xbrltype": "domainItemType", "nsuri": "http://tomz.com/20231231", "localname": "WarrantsTwoMember", "presentation": [ "http://tomz.com/role/ShareholdersEquityDetails3" ], "lang": { "en-us": { "role": { "label": "$ 0.80" } } }, "auth_ref": [] }, "tomz_WeightedAverageExercisePriceAbstract": { "xbrltype": "stringItemType", "nsuri": "http://tomz.com/20231231", "localname": "WeightedAverageExercisePriceAbstract", "presentation": [ "http://tomz.com/role/ShareholdersEquityDetails" ], "lang": { "en-us": { "role": { "label": "Weighted Average Exercise Price" } } }, "auth_ref": [] }, "tomz_WeightedAverageExercisePriceExercised": { "xbrltype": "perShareItemType", "nsuri": "http://tomz.com/20231231", "localname": "WeightedAverageExercisePriceExercised", "presentation": [ "http://tomz.com/role/ShareholdersEquityDetails" ], "lang": { "en-us": { "role": { "label": "Weighted average exercise price, Exercised" } } }, "auth_ref": [] }, "tomz_WeightedAverageExercisePriceExpired": { "xbrltype": "perShareItemType", "nsuri": "http://tomz.com/20231231", "localname": "WeightedAverageExercisePriceExpired", "presentation": [ "http://tomz.com/role/ShareholdersEquityDetails" ], "lang": { "en-us": { "role": { "label": "Weighted average exercise price, Expired" } } }, "auth_ref": [] }, "tomz_WeightedAverageExercisePriceGranted": { "xbrltype": "perShareItemType", "nsuri": "http://tomz.com/20231231", "localname": "WeightedAverageExercisePriceGranted", "presentation": [ "http://tomz.com/role/ShareholdersEquityDetails" ], "lang": { "en-us": { "role": { "label": "Weighted average exercise price, Granted" } } }, "auth_ref": [] }, "tomz_WeightedAverageExercisePriceOutstandingBeginningBalance": { "xbrltype": "perShareItemType", "nsuri": "http://tomz.com/20231231", "localname": "WeightedAverageExercisePriceOutstandingBeginningBalance", "presentation": [ "http://tomz.com/role/ShareholdersEquityDetails" ], "lang": { "en-us": { "role": { "label": "Weighted average exercise price outstanding, Beginning balance" } } }, "auth_ref": [] }, "tomz_WeightedAverageExercisePriceOutstandingEndingBalance": { "xbrltype": "perShareItemType", "nsuri": "http://tomz.com/20231231", "localname": "WeightedAverageExercisePriceOutstandingEndingBalance", "presentation": [ "http://tomz.com/role/ShareholdersEquityDetails" ], "lang": { "en-us": { "role": { "label": "Weighted average exercise price outstanding, Ending balance" } } }, "auth_ref": [] }, "tomz_WeightedAverageNumberOfDilutedShareOutstanding1": { "xbrltype": "sharesItemType", "nsuri": "http://tomz.com/20231231", "localname": "WeightedAverageNumberOfDilutedShareOutstanding1", "presentation": [ "http://tomz.com/role/SummaryOfSignificantAccountingPoliciesDetails1" ], "lang": { "en-us": { "role": { "label": "Diluted Weighted Average Shares" } } }, "auth_ref": [] }, "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "WeightedAverageNumberOfDilutedSharesOutstanding", "presentation": [ "http://tomz.com/role/ConsolidatedStatementsOfOperations", "http://tomz.com/role/SummaryOfSignificantAccountingPoliciesDetails" ], "lang": { "en-us": { "role": { "label": "Diluted Weighted Average Common Shares Outstanding", "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": [ "r211", "r217" ] }, "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "WeightedAverageNumberOfSharesOutstandingBasic", "presentation": [ "http://tomz.com/role/ConsolidatedStatementsOfOperations", "http://tomz.com/role/SummaryOfSignificantAccountingPoliciesDetails", "http://tomz.com/role/SummaryOfSignificantAccountingPoliciesDetails1" ], "lang": { "en-us": { "role": { "label": "Basic Weighted Average Common Shares Outstanding", "verboseLabel": "Basic", "terseLabel": "Basic Weighted-average Shares", "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": [ "r210", "r217" ] }, "us-gaap_WorkersCompensationDiscountPercent": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "WorkersCompensationDiscountPercent", "presentation": [ "http://tomz.com/role/LeasesDetailsNarrative" ], "lang": { "en-us": { "role": { "label": "Discount Rate", "documentation": "Percent discount applied to worker's compensation reserve liability to reduce the reserve to present value." } } }, "auth_ref": [ "r74", "r75" ] } } } }, "std_ref": { "r0": { "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" }, "r1": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "25", "Paragraph": "4", "SubTopic": "50", "Topic": "350", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482610/350-50-25-4" }, "r2": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "30", "Paragraph": "1", "SubTopic": "40", "Topic": "350", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482633/350-40-30-1" }, "r3": { "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" }, "r4": { "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" }, "r5": { "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" }, "r6": { "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" }, "r7": { "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" }, "r8": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(1)", "SubTopic": "20", "Topic": "985", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481283/985-20-50-1" }, "r9": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11B", "Subparagraph": "(c)(4)", "SubTopic": "10", "Topic": "310", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-11B" }, "r10": { "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" }, "r11": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(2)", "SubTopic": "10", "Topic": "718", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r12": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(i)", "SubTopic": "10", "Topic": "718", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r13": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(ii)", "SubTopic": "10", "Topic": "718", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r14": { "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" }, "r15": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2A", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "718", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2A" }, "r16": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "S45", "Paragraph": "1", "SubTopic": "30", "Topic": "835", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479359/835-30-S45-1" }, "r17": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(19)", "SubTopic": "10", "Topic": "210", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r18": { "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" }, "r19": { "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" }, "r20": { "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" }, "r21": { "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" }, "r22": { "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" }, "r23": { "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" }, "r24": { "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" }, "r25": { "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.25)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r26": { "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-30)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r27": { "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" }, "r28": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-12" }, "r29": { "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" }, "r30": { "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" }, "r31": { "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" }, "r32": { "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" }, "r33": { "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" }, "r34": { "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" }, "r35": { "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" }, "r36": { "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" }, "r37": { "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" }, "r38": { "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" }, "r39": { "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" }, "r40": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "330", "SubTopic": "10", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SAB TOPIC 5.BB)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480581/330-10-S99-2" }, "r41": { "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" }, "r42": { "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" }, "r43": { "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" }, "r44": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "30", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1" }, "r45": { "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" }, "r46": { "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" }, "r47": { "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" }, "r48": { "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" }, "r49": { "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" }, "r50": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "470", "SubTopic": "50", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481244/470-50-50-1" }, "r51": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "480", "SubTopic": "10", "Section": "55", "Paragraph": "63", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481620/480-10-55-63" }, "r52": { "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" }, "r53": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "710", "SubTopic": "10", "Section": "55", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482943/710-10-55-7" }, "r54": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-1" }, "r55": { "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" }, "r56": { "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" }, "r57": { "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" }, "r58": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "10", "Section": "05", "Paragraph": "4", "Subparagraph": "(a)-(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479515/805-10-05-4" }, "r59": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "20", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479907/805-20-50-2" }, "r60": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "810", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1" }, "r61": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "40", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480237/815-40-50-4" }, "r62": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "40", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480237/815-40-50-5" }, "r63": { "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" }, "r64": { "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" }, "r65": { "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" }, "r66": { "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" }, "r67": { "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" }, "r68": { "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" }, "r69": { "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" }, "r70": { "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.15(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r71": { "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.17)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r72": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "942", "SubTopic": "230", "Section": "45", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481160/942-230-45-1" }, "r73": { "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" }, "r74": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "944", "SubTopic": "40", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480081/944-40-50-1" }, "r75": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "944", "SubTopic": "40", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480081/944-40-50-6" }, "r76": { "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" }, "r77": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 201.5-02(24))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r78": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 201.5-02(25))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r79": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 201.5-02(26))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r80": { "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(23))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r81": { "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" }, "r82": { "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" }, "r83": { "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" }, "r84": { "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" }, "r85": { "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" }, "r86": { "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" }, "r87": { "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" }, "r88": { "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" }, "r89": { "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" }, "r90": { "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" }, "r91": { "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" }, "r92": { "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" }, "r93": { "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" }, "r94": { "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" }, "r95": { "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)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r96": { "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.3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r97": { "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" }, "r98": { "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)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r99": { "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" }, "r100": { "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" }, "r101": { "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" }, "r102": { "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" }, "r103": { "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" }, "r104": { "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" }, "r105": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "235", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//235/tableOfContent" }, "r106": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "275", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//275/tableOfContent" }, "r107": { "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" }, "r108": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "330", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 5.L)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480581/330-10-S99-1" }, "r109": { "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" }, "r110": { "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" }, "r111": { "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" }, "r112": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "360", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//360/tableOfContent" }, "r113": { "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" }, "r114": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "440", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//440/tableOfContent" }, "r115": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "470", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//470/tableOfContent" }, "r116": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "505", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//505/tableOfContent" }, "r117": { "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" }, "r118": { "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" }, "r119": { "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" }, "r120": { "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" }, "r121": { "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" }, "r122": { "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" }, "r123": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480237/815-40-50-3" }, "r124": { "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(10))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r125": { "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" }, "r126": { "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" }, "r127": { "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" }, "r128": { "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" }, "r129": { "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" }, "r130": { "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.14)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1" }, "r131": { "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" }, "r132": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "985", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481283/985-20-50-2" }, "r133": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "985", "SubTopic": "730", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//985-730/tableOfContent" }, "r134": { "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef", "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" }, "r135": { "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef", "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" }, "r136": { "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef", "Topic": "840", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//840/tableOfContent" }, "r137": { "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef", "Topic": "840", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481501/840-20-50-1" }, "r138": { "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef", "Topic": "840", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481192/840-30-45-2" }, "r139": { "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef", "Topic": "840", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481161/840-30-50-1" }, "r140": { "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" }, "r141": { "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" }, "r142": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-1" }, "r143": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "SubTopic": "35", "Topic": "720", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483406/720-35-50-1" }, "r144": { "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" }, "r145": { "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" }, "r146": { "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" }, "r147": { "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" }, "r148": { "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" }, "r149": { "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" }, "r150": { "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" }, "r151": { "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" }, "r152": { "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" }, "r153": { "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" }, "r154": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org//275/tableOfContent" }, "r155": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(a)", "Publisher": "SEC" }, "r156": { "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" }, "r157": { "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" }, "r158": { "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" }, "r159": { "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" }, "r160": { "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" }, "r161": { "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" }, "r162": { "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" }, "r163": { "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" }, "r164": { "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" }, "r165": { "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(17))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r166": { "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" }, "r167": { "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" }, "r168": { "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" }, "r169": { "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" }, "r170": { "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(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r171": { "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" }, "r172": { "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" }, "r173": { "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" }, "r174": { "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" }, "r175": { "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" }, "r176": { "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" }, "r177": { "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" }, "r178": { "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" }, "r179": { "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" }, "r180": { "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" }, "r181": { "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" }, "r182": { "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" }, "r183": { "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" }, "r184": { "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" }, "r185": { "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" }, "r186": { "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" }, "r187": { "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" }, "r188": { "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" }, "r189": { "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" }, "r190": { "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" }, "r191": { "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" }, "r192": { "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" }, "r193": { "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" }, "r194": { "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" }, "r195": { "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)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r196": { "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" }, "r197": { "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" }, "r198": { "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" }, "r199": { "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" }, "r200": { "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" }, "r201": { "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" }, "r202": { "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" }, "r203": { "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" }, "r204": { "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" }, "r205": { "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" }, "r206": { "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" }, "r207": { "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" }, "r208": { "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" }, "r209": { "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" }, "r210": { "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" }, "r211": { "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" }, "r212": { "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" }, "r213": { "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" }, "r214": { "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" }, "r215": { "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" }, "r216": { "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" }, "r217": { "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" }, "r218": { "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" }, "r219": { "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" }, "r220": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "270", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482964/270-10-50-6A" }, "r221": { "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" }, "r222": { "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" }, "r223": { "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" }, "r224": { "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" }, "r225": { "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" }, "r226": { "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" }, "r227": { "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" }, "r228": { "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" }, "r229": { "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" }, "r230": { "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" }, "r231": { "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" }, "r232": { "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" }, "r233": { "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" }, "r234": { "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" }, "r235": { "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" }, "r236": { "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" }, "r237": { "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" }, "r238": { "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" }, "r239": { "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" }, "r240": { "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" }, "r241": { "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" }, "r242": { "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" }, "r243": { "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" }, "r244": { "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" }, "r245": { "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" }, "r246": { "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" }, "r247": { "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" }, "r248": { "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" }, "r249": { "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" }, "r250": { "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" }, "r251": { "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" }, "r252": { "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" }, "r253": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "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" }, "r254": { "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" }, "r255": { "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" }, "r256": { "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" }, "r257": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479344/326-20-45-1" }, "r258": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-11" }, "r259": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13" }, "r260": { "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" }, "r261": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13" }, "r262": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "330", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//330/tableOfContent" }, "r263": { "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" }, "r264": { "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" }, "r265": { "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" }, "r266": { "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" }, "r267": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "340", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479483/340-40-50-3" }, "r268": { "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" }, "r269": { "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" }, "r270": { "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" }, "r271": { "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" }, "r272": { "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" }, "r273": { "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" }, "r274": { "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" }, "r275": { "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" }, "r276": { "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" }, "r277": { "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" }, "r278": { "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" }, "r279": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "360", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-3" }, "r280": { "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" }, "r281": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1" }, "r282": { "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" }, "r283": { "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" }, "r284": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "440", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482648/440-10-50-4" }, "r285": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "440", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482648/440-10-50-4" }, "r286": { "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" }, "r287": { "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" }, "r288": { "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" }, "r289": { "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" }, "r290": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "460", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//460/tableOfContent" }, "r291": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "460", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-4" }, "r292": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "460", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-4" }, "r293": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "460", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-4" }, "r294": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "460", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)(5)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-4" }, "r295": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "460", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-4" }, "r296": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "460", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-4" }, "r297": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "460", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-4" }, "r298": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "460", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8" }, "r299": { "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" }, "r300": { "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" }, "r301": { "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" }, "r302": { "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" }, "r303": { "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" }, "r304": { "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" }, "r305": { "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" }, "r306": { "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" }, "r307": { "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" }, "r308": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r309": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r310": { "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" }, "r311": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r312": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1C", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1C" }, "r313": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1C", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1C" }, "r314": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1C", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1C" }, "r315": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1E", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E" }, "r316": { "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" }, "r317": { "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" }, "r318": { "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" }, "r319": { "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" }, "r320": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1I", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I" }, "r321": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1I", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I" }, "r322": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1I", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I" }, "r323": { "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" }, "r324": { "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" }, "r325": { "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" }, "r326": { "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" }, "r327": { "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" }, "r328": { "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" }, "r329": { "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" }, "r330": { "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" }, "r331": { "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" }, "r332": { "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" }, "r333": { "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" }, "r334": { "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" }, "r335": { "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" }, "r336": { "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" }, "r337": { "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" }, "r338": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-3" }, "r339": { "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" }, "r340": { "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" }, "r341": { "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" }, "r342": { "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" }, "r343": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//718/tableOfContent" }, "r344": { "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" }, "r345": { "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" }, "r346": { "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" }, "r347": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r348": { "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" }, "r349": { "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" }, "r350": { "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" }, "r351": { "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" }, "r352": { "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" }, "r353": { "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" }, "r354": { "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" }, "r355": { "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" }, "r356": { "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" }, "r357": { "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" }, "r358": { "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" }, "r359": { "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" }, "r360": { "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" }, "r361": { "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" }, "r362": { "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" }, "r363": { "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" }, "r364": { "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" }, "r365": { "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" }, "r366": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r367": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r368": { "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" }, "r369": { "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" }, "r370": { "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" }, "r371": { "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" }, "r372": { "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" }, "r373": { "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" }, "r374": { "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" }, "r375": { "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" }, "r376": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 14.C.Q3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479830/718-10-S99-1" }, "r377": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 14.D.1.Q5)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479830/718-10-S99-1" }, "r378": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 14.D.2.Q6)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479830/718-10-S99-1" }, "r379": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 14.D.3.Q2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479830/718-10-S99-1" }, "r380": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "720", "SubTopic": "35", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483406/720-35-50-1" }, "r381": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "730", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "05", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483044/730-10-05-1" }, "r382": { "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" }, "r383": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "730", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483041/730-20-50-1" }, "r384": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//740/tableOfContent" }, "r385": { "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" }, "r386": { "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" }, "r387": { "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" }, "r388": { "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" }, "r389": { "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" }, "r390": { "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" }, "r391": { "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" }, "r392": { "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" }, "r393": { "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" }, "r394": { "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" }, "r395": { "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" }, "r396": { "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" }, "r397": { "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" }, "r398": { "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" }, "r399": { "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" }, "r400": { "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" }, "r401": { "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" }, "r402": { "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" }, "r403": { "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.3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1" }, "r404": { "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" }, "r405": { "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" }, "r406": { "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" }, "r407": { "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" }, "r408": { "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" }, "r409": { "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" }, "r410": { "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" }, "r411": { "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" }, "r412": { "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" }, "r413": { "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" }, "r414": { "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" }, "r415": { "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" }, "r416": { "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" }, "r417": { "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" }, "r418": { "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" }, "r419": { "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" }, "r420": { "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" }, "r421": { "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" }, "r422": { "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" }, "r423": { "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" }, "r424": { "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" }, "r425": { "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" }, "r426": { "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" }, "r427": { "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" }, "r428": { "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" }, "r429": { "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" }, "r430": { "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" }, "r431": { "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" }, "r432": { "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" }, "r433": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "835", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-3" }, "r434": { "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" }, "r435": { "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" }, "r436": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-1" }, "r437": { "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" }, "r438": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "25", "Paragraph": "11", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479341/842-30-25-11" }, "r439": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479773/842-30-50-5" }, "r440": { "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" }, "r441": { "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" }, "r442": { "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" }, "r443": { "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" }, "r444": { "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" }, "r445": { "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" }, "r446": { "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" }, "r447": { "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" }, "r448": { "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" }, "r449": { "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" }, "r450": { "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" }, "r451": { "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" }, "r452": { "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" }, "r453": { "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" }, "r454": { "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" }, "r455": { "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" }, "r456": { "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" }, "r457": { "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" }, "r458": { "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" }, "r459": { "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" }, "r460": { "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" }, "r461": { "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(9))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r462": { "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" }, "r463": { "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" }, "r464": { "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" }, "r465": { "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)(10))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r466": { "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" }, "r467": { "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)(19))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r468": { "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)(21))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r469": { "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" }, "r470": { "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" }, "r471": { "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" }, "r472": { "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" }, "r473": { "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" }, "r474": { "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" }, "r475": { "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" }, "r476": { "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" }, "r477": { "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" }, "r478": { "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" }, "r479": { "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(8))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r480": { "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" }, "r481": { "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" }, "r482": { "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" }, "r483": { "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" }, "r484": { "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" }, "r485": { "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" }, "r486": { "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" }, "r487": { "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" }, "r488": { "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" }, "r489": { "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" }, "r490": { "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" }, "r491": { "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" }, "r492": { "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" }, "r493": { "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" }, "r494": { "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" }, "r495": { "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" }, "r496": { "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" }, "r497": { "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" }, "r498": { "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" }, "r499": { "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" }, "r500": { "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" }, "r501": { "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" }, "r502": { "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" }, "r503": { "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" }, "r504": { "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" }, "r505": { "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" }, "r506": { "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" }, "r507": { "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" }, "r508": { "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" }, "r509": { "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" }, "r510": { "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" }, "r511": { "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" }, "r512": { "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" }, "r513": { "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" }, "r514": { "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" }, "r515": { "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" }, "r516": { "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" }, "r517": { "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" }, "r518": { "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" }, "r519": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1" }, "r520": { "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" }, "r521": { "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" }, "r522": { "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" }, "r523": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6" }, "r524": { "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" }, "r525": { "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" }, "r526": { "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" }, "r527": { "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" }, "r528": { "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" }, "r529": { "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" }, "r530": { "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" }, "r531": { "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" }, "r532": { "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" }, "r533": { "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(15))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r534": { "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" }, "r535": { "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" }, "r536": { "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" }, "r537": { "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" }, "r538": { "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" }, "r539": { "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" }, "r540": { "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" }, "r541": { "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" }, "r542": { "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" }, "r543": { "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" }, "r544": { "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" }, "r545": { "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" }, "r546": { "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" }, "r547": { "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" }, "r548": { "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" }, "r549": { "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" }, "r550": { "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" }, "r551": { "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" }, "r552": { "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" }, "r553": { "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" }, "r554": { "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" }, "r555": { "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" }, "r556": { "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" }, "r557": { "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" }, "r558": { "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)(g)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r559": { "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" }, "r560": { "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" }, "r561": { "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" }, "r562": { "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" }, "r563": { "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" }, "r564": { "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" }, "r565": { "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" }, "r566": { "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" }, "r567": { "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" }, "r568": { "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" }, "r569": { "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" }, "r570": { "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" }, "r571": { "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" }, "r572": { "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" }, "r573": { "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" }, "r574": { "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" }, "r575": { "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" }, "r576": { "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" }, "r577": { "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" }, "r578": { "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" }, "r579": { "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" }, "r580": { "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" }, "r581": { "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 B))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1" }, "r582": { "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" }, "r583": { "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" }, "r584": { "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" }, "r585": { "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" }, "r586": { "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" }, "r587": { "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 B))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3" }, "r588": { "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" }, "r589": { "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" }, "r590": { "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 B))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6" }, "r591": { "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" }, "r592": { "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" }, "r593": { "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" }, "r594": { "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" }, "r595": { "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" }, "r596": { "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" }, "r597": { "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" }, "r598": { "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" }, "r599": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "954", "SubTopic": "440", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480327/954-440-50-1" }, "r600": { "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" }, "r601": { "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" }, "r602": { "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" }, "r603": { "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" }, "r604": { "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" }, "r605": { "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" }, "r606": { "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" }, "r607": { "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" }, "r608": { "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" }, "r609": { "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" }, "r610": { "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" }, "r611": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "985", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481283/985-20-50-1" }, "r612": { "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" }, "r613": { "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" }, "r614": { "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" }, "r615": { "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" }, "r616": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-4" }, "r617": { "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" }, "r618": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-4" }, "r619": { "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" }, "r620": { "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" }, "r621": { "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" }, "r622": { "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" }, "r623": { "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" }, "r624": { "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" }, "r625": { "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" }, "r626": { "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" }, "r627": { "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" }, "r628": { "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" }, "r629": { "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" }, "r630": { "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" }, "r631": { "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" }, "r632": { "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" }, "r633": { "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" }, "r634": { "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" }, "r635": { "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" }, "r636": { "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" }, "r637": { "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" }, "r638": { "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" }, "r639": { "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" }, "r640": { "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" }, "r641": { "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" }, "r642": { "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" }, "r643": { "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" }, "r644": { "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" }, "r645": { "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" }, "r646": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "b" }, "r647": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "b-2" }, "r648": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "d1-1" }, "r649": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 10-K", "Number": "249", "Section": "310" }, "r650": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Number": "249", "Section": "220", "Subsection": "f" }, "r651": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Number": "249", "Section": "240", "Subsection": "f" }, "r652": { "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" }, "r653": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w" }, "r654": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-T", "Number": "232", "Section": "405" }, "r655": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Securities Act", "Number": "230", "Section": "405" }, "r656": { "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" }, "r657": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(g)(1)", "SubTopic": "20", "Topic": "842", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4" }, "r658": { "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" }, "r659": { "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" }, "r660": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "205", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483504/205-10-50-1" }, "r661": { "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" }, "r662": { "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(27)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r663": { "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(28))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r664": { "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" }, "r665": { "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)(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r666": { "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" }, "r667": { "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" }, "r668": { "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" }, "r669": { "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" }, "r670": { "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)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r671": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "17", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-17" }, "r672": { "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" }, "r673": { "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" }, "r674": { "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" }, "r675": { "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" }, "r676": { "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" }, "r677": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-3" }, "r678": { "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" }, "r679": { "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" }, "r680": { "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" }, "r681": { "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" }, "r682": { "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" }, "r683": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-2" }, "r684": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "310", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481569/310-20-50-1" }, "r685": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "310", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481569/310-20-50-2" }, "r686": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "310", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481569/310-20-50-4" }, "r687": { "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" }, "r688": { "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" }, "r689": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "450", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//450/tableOfContent" }, "r690": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "460", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8" }, "r691": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "460", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8" }, "r692": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "460", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8" }, "r693": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "460", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(c)(5)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8" }, "r694": { "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" }, "r695": { "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" }, "r696": { "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" }, "r697": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r698": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r699": { "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" }, "r700": { "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" }, "r701": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r702": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r703": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r704": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r705": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r706": { "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" }, "r707": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r708": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r709": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r710": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r711": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r712": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r713": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r714": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r715": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r716": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r717": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r718": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r719": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r720": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r721": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r722": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r723": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r724": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r725": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r726": { "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" }, "r727": { "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" }, "r728": { "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" }, "r729": { "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" }, "r730": { "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" }, "r731": { "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" }, "r732": { "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" }, "r733": { "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" }, "r734": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4" }, "r735": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "842", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479773/842-30-50-12" }, "r736": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r737": { "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" }, "r738": { "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" }, "r739": { "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" }, "r740": { "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" }, "r741": { "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" }, "r742": { "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" }, "r743": { "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" }, "r744": { "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" }, "r745": { "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" }, "r746": { "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" }, "r747": { "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" }, "r748": { "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)(15)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r749": { "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" }, "r750": { "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)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r751": { "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" }, "r752": { "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" }, "r753": { "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" }, "r754": { "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" }, "r755": { "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(12)(b)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r756": { "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" }, "r757": { "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" }, "r758": { "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" }, "r759": { "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" }, "r760": { "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" }, "r761": { "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" }, "r762": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-12A(Column B))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2" }, "r763": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "985", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481283/985-20-50-1" } } } ZIP 94 0001654954-24-004045-xbrl.zip IDEA: XBRL DOCUMENT begin 644 0001654954-24-004045-xbrl.zip M4$L#!!0 ( "F @5CC5.%_4!0 -'K 1 =&]M>BTR,#(S,3(S,2YX MS226S14MRHBU;TDERDMF7+9B")-10 MI!8@;6L^_37 /R()D"#IS)%;RWF8R.ANLKM_0 /= ,F/?WO=V\8SIHRXSJ>S MP?G%F8$=RUT39_OIS&<]Q"Q"S@SF(6>-;-?!G\Z.F)W][9?_^M/'_^[UOM\N M[HV1:_E[['C&D&+DX;7Q0KR=P4D/B'F8]GHA]]?@/A^,R_.K\XN_QNVWB(&4 MZP@9( YBR@BN9[@;P^)7%J(7U_V+0?_RXO(Z9EJZ&^\%46P@:NV(ARW/I\@V MUIB1K6. XD9@T ?#_+-EC':([M&!XCURN%&&^>R=Q]<:NHEX9=SZC#B8,6/IVCY7A?V/,7&L<\.T;6/!)9BQP S39[P.+\>L'=S$ M \[[,.K_>ELYWF'#_W^R\O+^>L3M<]=N@5++J[ZW^^)\]M9R$GQ)I?UI@_4 MB-'R*06PCC&WX&38.M^ZS_V(RGUU%8D HEN$#CWD>;'4!K$GA=#2(A!V]Y#\OU MS_L^=6W<#]EB*40LIKZ3(&5=Y!T/F"G](R@I=N8=:(YO@))D32G]/="O%O\Z M%#*_ZP?$%"M1LMX$K"3NN*[O>#2OWP;$-"8>+8 ADYT%.IO"IDY(>+)+/G[G^/.?D?YY:[%QR#2SZ*X]!RY]+]"&^0;X,*OO,O M']ED0_B0Q3;FDTF*(4'V$-UB;XKVF!V0A0MN!B'8,#XBQW$],7>(OWG+X4"< MC1O^"0U\D'S@>*W 3P;_\;B8R!<6D67HPF1Y9A (0<'/^#+1A=9X0QPB;GC! M_QL8O=,,V3.$U,=^EC5[%1]FQ)GSB_@->Y0YCCT4^SB-K_7X)SEZ"TW#D^-ET.;N? MC,S5>&35 M#JHE)"9XY]IKR)+&__*)=RR&3,&OA>Y=>>B67\S%^,OL?C1>+(WQ_SY.5K]V M&.HP'"*VN[/=%\UH.[%I$;LIC]C07'XQ[NYGW[K!%@,UPLRBY,#O--M$.7P MCIJD!>1GOIXCS+)=YE/,_Q@OAXO)G$;*QR5B3?_ L8':W^@;)&L3[ MK^/[F8@XD"1% P\/\4:POE^/%U\EPS#.XU<(<=I-",IM^AKF7Q_\1?O+BW#G5J 7@1@)@ M!@O.Q4K,":/Q;>?P4T:64VJJ45(:2/EP5S@J[.K[/?%$&0A6FCRZ0*S!SBD! M+F+08B%EO1!]'B:KH$+$5Z0\]D L&D^[1#<3@$24YRXWMQ0'=;HX#JEH6BRD M]#>*^P$2YN?%."C==3!$,)B617V\'K\>L,,P=_C,VV$Z%"=9O'N"GH@->D1# MI3R[#JQ+*8,VA\/%(ZRMQM_GXRDL? 5FL]67\<(8/BX6?(5U/S%O)_>353>2 M9 B_(4J1$TTKV48M'%):'<$!R]R%.>TFE&1"#3_Q"KWB.)<^-6@=K4BC8]>K$_.#SZ !0HOK6)A/!_R>X?2@)&D=+^77P\?E"CR_X-/$<,QG"KZA MT$%0;1.ASF9"Z4V%2RD++[^I8/P4W:8[M% 1TQ6"%+ 2HJ&$%D\I9:^"9W"3 M#LW$3/0,IKDT YG=XTMM:B01**!KH9"R>_4&1X>*=JR))&,JSZS"ZDO+WF8=CNM%1=6\I M-4R*&+382'6/O-VE;NA4 "8S@$IQ:J&2"AP:J+K15&)/,#/AJ(E::*2ZAF)7 ML!M );$8%(*A3[&N%76./#2Z3$J/QV4A'OKLZ%JJ8A3@T25!6CPRDXN62XM/ MF3,-W9RB.]Z0FDG235H$<@\X=)-&H;,'"F_K)XAW4B:?<7\M*$*I6P&4?0 HNVPN8-%B)!"1%]-E>+6 J5XW6 Q8-[+> M\OA6:K!5EM+"*148JC[ U8U*S1-<*@"S-"U,4I%!?H:K Z+@(:[,B3.I70N MXJW^R<>X.N?KG3_(\[X^.?U9*A@HW=]EI84 7.8!H,]#?U8<\5 MR?]0V/C_^.>2%WACB,\L?_" Z=,9(_N#S3^*+-IVX@O=',E>]+'9?X*YYZ][ M.V+AUR_XS+( /^NA\,;1)1"UI*M(GX&&BXB'.R#3Z4?*GQG]'V:6C9ZJF@4B MV&ZK/="WJMJ3Z8YMM HZ?E6KTF/EQQOUL9_\S#+\E?X,\T>PR:6>X4C?<2[Z M)CD37TF_=RUQH0(1_E#TP?92]T\8N<_ M*MRRQ&?:RP">E)P&@ASX][R[#6[>I$H]-6KJD'(I?K5V52"(^<6ONB!PE?MA M\.MOD.7U\.O!1@[R7'J\$Q\**N,*F]+45<:GB[P-&:&?N*R#M_R;LN7U24K] M."4J."22>%N_Q)>(Q1K\<]5LK6 MI%0X"&R/G:Y15P$^G-^J@+C&FX,BR%_T+@:]RT&^)CI)\3>K [UWH)6PC_C% MKSK.]UD-\$%HB] AX?_H,C55J Z_4H6J/4#J3/4[7SV[8Q/>9#9OD17 =O = M;Y[1\S7\/Z.WC!S#K:LSH=SI[2.)=F+;_!UI($A]G@Z #N3#$[+Y&O?3V1H_ M$2]JA74Y<=IQX>,_9P%3_B7G$\[FAGZGK'R)6 M BSY^L\A'<&@X7KIN=9O=$_A C^/?$7$?X?<*8C]=W+@U/8[,Y=9_)&E#A9TQ89%PE":71 M>O.8D/]_,<[<\W2DBG&Q1#&B%O3G1B --TW%KK?X?#T;OV)J$99%L@QCLP 6 M:)C&K0QC2^&2@T5X;"$_FIP86AI4PF+TZ;/EX>B2V]MIP!PF'\>#SK2B: U3 M//U-/&ZTP):-&",; H&!NGMQJ"3Z4'4XE=61;&G/3+]::X5?O5L; F-D:CZY M/&V!%Y9YN;-$@J*2#UQ-B[=B[NIC2K'VKQ)2_]P"-J0/41L M=V>[+PF-%]CF:=?*37P"1[+UC==HW@EE/RPC1] :@LV;&ZV-9[['TV$139QU MN#[FNMT>YQ2FN04$%IQ=4)<5:MY,\W"@[BN!3H@?B$/V_CZ:\&":.'UN0YY, MJLLU;^P4>_T)!-TQ>$T^$1#:69V_G>OP6,;[1%!@3_5$=!8 MZ,+B-ZLT(K8OME@"I4Y_-JO6-TRV.U#$?(99=HNG_OX)T]DF5$_<(S&D!_%P MKRS6<&5GQ^,.+(\6$'^=4R51T=[2Y&J!&4;4VD%43/!=8('U1E<:[9)=*?"^F)966U_5!:#?U!W-/\'2VO97ZIX?O"CMPJ\D>UI//@M&T(34*SJ:IAGLA M?SM'>;;\,,6)+4D5J96PI4L0F;4/6^ ]@D0@I*XPW:M+%Z7DZL8$6*@[VS<; MRI40VD06)!MJJA:UOEFY!_3*LZV) VLP7BE8 %6>-+1=OB M[0P+<^I:&*\9W]K(%,UGFP6V,'D.OPX7;?B7YF^GP2;D\\B."@0S)](^&2TT M/$T/OR0&B3=(0?.>,.;2X]3U@B5.<@:K+-5._$:8690WCZ>K8IYFEZMB!7T+$7V=W-DV>=5Q*UAOCR>6<=.RK/;")E% YRFP3GQ)*E@_2S4UG,2.(0Y;GTCN,67@6'M9I4]>QT@?F2_#5A>*/ MK54MD<%;;--]#:GH8W(/JX%%'*T,WL4)\'Y5A1D M!XEW8R1RY!QR.\T)=.0'!&[QQH5@'^E\*NWF,[0T@,4/R/ =5/J,3Z9([:TL M48_")V+ R4$Y/7PCVE=DI1XU*<'W[V$?_(C:PMWM*!AD$*PEV4H?B)6 5)N( MXV(>M9V!/@M+>J]DP=?:[L8_'?@DIWA93[25D"9,B4^VYIF3/OA;2[*=74$\ MNS=-X@@SQQ#&Y!$F#UY;.\W]93A;"30H+06B:(]*/+88U!FS&\#5Q5HZOZH, MJ6;V#[7VCP7[#J^A?]I#EQ[#?U4N.^FJ>YG5? M\LX@-.,^79)7M?JY;,U;P!42FHDHE]^!\OE:9,.4.#@7A#RNYO6/>C=7;+6# MA53Q()#8FK< !F4T/G/]K^9I7O=TSU8O!72,+;)"Q!KPL<:&+%N++!">O2// M.A,DOD9M&.X(WL2UEMEF0RQ,Y45:,5OSJ\OP:)9Z<9DA-JKMWY'C(WI;HU_19B[(PYR+(+LXFB8 MR]8BW[^XJBFU@*=1W,98=+E$:GG%@'GP@S)LOW+5OJ>I::H9FM0X> MJ@C>0R4>2E+5$7-8&M7\T2'\B7.^,21W#16Q46TG#J#OB*LC6U)726U4W\_8 MW5)TV!%K@;<@)ZF-R3U")C4;U<2[^B;B.6=8]<]MI,QSBMF: MG17U#Z+)4V1YF6;1><66SQU^V@KZ1KS=V":,H;\O=T@%57F99G%S]WOB>1@/ M=XA0N"E3C.XBID:UOW7Y(S>;0!>Y@ZG)3<>DZ'66JJ"4I36;23@X5U<%K2U^ M549[B=AL52AXS8QRU4W M26R'MJHBJXK8"FV7A1NSRZ;V93_V@T\5_/)_4$L#!!0 ( "F @5@H%LL= M=Q( #[A 5 =&]M>BTR,#(S,3(S,5]C86PN>&ULU5UM<^)&$OY^5?M'<#Q\_GZV3CIMX MOG]F)*D;SMT@"M'GLS>4G/W\T]__]N,_.IU?;Z9#8Q!YZR4*4Z,?(S=%<^/% M3Y\,\JMO;I*BN-/9MK[??,XGHW=^>?[NA]W/;]P$2T5A)H-_V=W]9H#[,Z*% MX9&>,]%W5Q?ONA>]=[VK72,G6J0O;HP,-_:>_!1YZ3IV V..$O\Q-#!P8Z/0 M)\/\EV<,GMQXZ:YBM'1#HI1A/J?GN[[ZT>HM]A^?4N,[[WN#?(QA=T;6S+A9 M)WZ(DL1PHF!-H"3_-NS0.S?,(#"F1"(QIBA!\3.:;[L+_/!_G\@?#U@_ QLZ M3#Z])O[GLZ3E_N3R/XD>L#U;JUV]#QWO"N#I^2 SNH;-_>9:;3\\]R+EA?D%Q?]"/LD MQIB)/,5H\?F,-,#]]BZ[O4VO_RPU2M]6V#<3?[D*L'(7!WQBF$2!/R<.?.,& MQ/K.$T)I(D#%>H3CSM5IF M%?>@"JN# P5ZBH(YCEK6'VL_?3L4,[\G5=C[;O)T&T0O!YN9ZN!8I .4>+&_ M(LR-%WDPE:$3"AV+R%DOEV[\ANG!:<)?8/CY6I-1J:#*S7?0SC^I;'K25T()-Q M-,<534J<8X >Y)C8S8^.B[7SGLK\MESZ:9:3\. E]L;6QQ,40& &B#; 5\8_ M^0#S,4:;Y F@32!U+":<>^(UFENO*Q0FB'S&&!=W<7\=DS)OZ+L/?N"G /O5 M[J@AY+^X<8QSJ-3I.,V/C^?XKVCFOLHMQ&AZM$>M$_P#;.4(U^?$34CI(W4H MD=!IJJ1FJZ6FJR;8I\Y<'$@;TJ#C0:U2'GA8= M1F18I?XS:E07JM<&JS?@$.!+-+N"5]>.,&D5-2;0< !1A>C =JS31]-5,=@% MA6**4$DCJTQ.$2YIM)3)*<(%]CBH?#/S':"/,1LWBD#J3^S6C6*0^@Z[=:,8 M+FMAN%2"X:H6ABLE&,#C12QU@EDY< C5[^ETV,'&/J)+I7M"M?4XI+.&UTF@ M?B.44H,);D>8>//K.= 9JDQ0&3+YS%,JJ0R;?$8IE52&39K_Y)+*L,%GL> > MU*PHPD.+7%@IPCJ!ID8O)UL'!1KZT/X:7@FMAY8CU>!:*'B"RY-H'@M@6LL5 M:1X-8#++%6D>C30T"T2:1U-C0BT557(6H':(J],)'['G!MXZR(2'^-^E]N@U M1>$"'C(L>[43TG#=YO_ND9G?Y&@\%=R?-\*<=LWPPX74;S5P^X$7X(!9F?L%V[RD!VT7R>=1]==D=L/EQ;9 MYH*\[\!]0$'VB;]OVU6:76A 2DX:DW+FV0VRLUII'[OE&YY W;O!&O&AR^3* MNA1PFDFXZ/N<_E%W&T%!EV:\:H ME@9%V^.//S->$+EG\OFLJX>I[99),D4>PJ#Q]&R$4KF+":4@+%UJ90FB=7LX MRDK /=0$PI!(!L+/E59^Y!JWAYU\ZPP8G3G-(9R\U\J)4,_VT#&)T#V/6#'KNR ;?-O;/(6+YE MP@G^>2,=**M;DSA^6Z]>L"8W=K]$T?S%#P(^?)@TQ)5^4.9*#!XJ [2.#5KD M7YNKF.%CMEN6W8$>+^Z2C0X"CQ.+0;CZJ)$KD-;M(8E9OHZBT#NH;B\*0HCJ MOM/(%%#U]G!54 G"$*NSA$D4K,];,@R)SMIJ6!-P3:7H!O#L)- M G(BLW :;B1*(&(I$!VJEQ2XA;A<7P@['*U43\3EX[E]+E;8!Y-.\%AM=>;L MB?M&LA9XB:W:'N0TZE8*^*;G)&JVONWQI>T>9D&O?-.5<1V621-$',2:N@6% M.JS!K=$>$O,=L7R-2CJZN (@HM2M4(")DFC<'FK*4ZM &B+6-T*1AV>)$JWAQU0)52[WNFI6Z]@%2M1#9X.GJ[UU*T)U-*IM>G% M22/O?\QGA6B/8K75$YR6RRC,T"1VN%W"-^=SGY#F!A/7G]OA]L*#*&+5Z07D M;.I6//@T43&LOFW:XXVU23R.+W5K.6"^_C+43,EYQA#-+3<.L4LE>&:Z7A*; MHOD +7S/%Y1S$%D08>K64<"$P>W0'NXFN!N$$] \TU)RYH_9&,2.NO42,#L" M3=M#1WDUITX&EDN"B#K)>HE0-7ZEU$#-=Y)5ACKJ"1JVQBD!3SFR:RBN$(BK MD\S0ZW %?M*23=J/%U5MA_C?)SQ'SWYJO'"H_A)^J-[XKM3;]\IO!$@>(2]H M<272PIGA_WVS1EB#\:TQGEA3X_MR>S.U8AB]HWO'([_%"5AW MWC?5=&1C@9(DFQ;>(A%@NJ7>RP1<6].'-)@:MF>L#M J1IZ_,5TX-Y=1G/I_ MEI[]95XFX OIO5( 90:@=WM(ZQ/OHH)XWC" M;E)X2T9*AD1,[Y4$*#<@W=M#U1 ]RE))H8GFH_Q "BB=VF/N[(3.%Q1B10(2 M1.=+/_23=',37#I 8-*:S_ #2:ICB1;QEVNW>8)@&"60HK'86/?!?;X"%8)8 M]?WAIV,5'GD':\1WS?;,2491&)45DD8%@8BF*V4H1DFZ@9(-4J*TQV.C8B@=_'6]C&>P_?QG.^FE/KZW@XL*:.8?WGSI[]=M+]2/K; M>@MZ7,/UZ)O.5^-V./Y%RW8D>;D'*X(G?,\^ML?-VUV"YG:XRW2FAR?FDI/% M=?K0MOIRT/J]7%+OYF=]]EC+,7^I)7[A4Q!%Z/)EM=H]Z=UY/9[L TW7'O(+ MK]9OWGQ']&Z='DUW75.TAN0AOO+C%-6GH88U+WTO-./DM ME-*[UWHTF1"3J'Y3;%.T$5_"L4$288F H+W>[=;#V9"HU;:!9"?)FAP$Q,4W M.>V(4_OV)?#D-HJW7Y61C.-^X/I+P_=JCA]I!1FL/YV: IR0$/T8[ MC%Q2SVUNF>)9Y11YY"WHM_'BQIV3;_D0A=.:_>C=(CX^P!YDME:M+F]?1AS: MMV-R&"%^1A,4^]&\CR?>C\*5?YFDWIWEXTK<-I24SS7KP",AE6:36+Y>=^ZQ!9E=2] M#=X\EVS;M)K._-F>.D3N973OG3=/8=4>;Y%; )<\^+1J0 M="IW7%')PVNO>?_]^&F)T XM(HSC97M-)>^Z0N7U;[\K&8T<.[6:X,H#DH?, M1VH]"J5V[UW59*2U;T8Q(5?>EJS)*26M^0U -;1R;-1F9CD/SM4*Q[PN-+^[ MIR(BBZVE>I^E^G(H9WN%;J;Y9;WCME5X6K=G6&WN1(@/"Q;;:'YB[^B!0>O; MHG*$HQU9-4J./+;$[$.+P[EOV5&S661Z?ZQ]9^-T$-:@5]:'ZDL'F.I?9J$=D<[7>'-XX(4;Y@+\Z103O-KC?6IHW,GP"ZMJFUV>+-C#^-5=E' >D6QYR?[<])B*CFB MFI]R;)1-H77:0RA1N/)5QU,<=&/?2]&<_ ('S_(/"BTWF^/5B='NR_'P7YYP MID53-T768H$\T?@>K?N5_^-N*ZA;EVFQ+40G3QG&LW&TZQ_ M&N['*MQ2>P5X[G'#B%Z6VD/JOJM"PH &XRGF?S)V[)D:6/E,B#D)*H#K5L%- MIN3]R]EOACD:9-?F)N0FFAHJ>3/R KX>S>?,''VQ;X:683J.IS7\RIA=WO MWAJ.,W:-_MA19,A^$*VW%TQPH-F>CR9WCF/78SKD>PK\<'PWP B_3>ZRZ.)8 MTWN[;Y$KD[.IV5?CFH6O=B$G>EE KRF@8QQJIK/,-0?6C1I@H&NR72K7G.XR MK/PUY ).*KE@FK_9L\W=5Q* ",F8=&ND+)_DODCPFH\QVES?98&E4DON@1NH MYI>IM;FUJP3G=FO$&N'PE6DP MGGVUID;_;CHE,6%HFS?VT)ZI,OQ6H>VB!\N->U1RRF'C #;%18<:'RZ\>\ " MQ9M 1J5F_IWS@QCFQ)7[5O$6TFUJ;'" M%%2:/2IMP2M-X[N\8S5OCL.4FY6/RQ54HY):'=4VW:I1K'",FH^>RG2%FEHM M/%85R\=)93UV+:O:HN6BE@^72GY4::L6:79\08"/RG>;2EX3E!?'_)%V1:7M4G6L="B5UYXA9J<2=V4M^F2V957V B-3Z9M7VBNUMP"T MT.I4RI:@5^_8Y3F*P/!4GF9,4I3:G(.5E1BN& F;!U95_.? 947Z*RI'"^ J M"N@LIYQRZD0[N! %J30GV]$]G6KEI3F!!S(V*JMKH( MR =CEB7RT>=,3T;M$17:<*6M))V'PZYN3M^_>6""8 MAPLON/OU31H?N?'<\]Y8<>(&"]"/[Z@/VZA?!94=!!_>8Z]7]_<)\G#E^/CIZ>GMT]G;\/H#LH#A?KM M^FHZOX=\'7D!4O@ESCC["J<9S@(O,&BCD#_.L+#CM"/CDY.C\Y.WC['BS=0 M<9:5JRX*?3 !2PO]_V8R6+\S"5=_OIV'JV/TB^->",T7\IB1W$=@^>L;- ^ M]_3LY#1_ZG]6!B4O#]",8V_UX$,]'&_PQB .?6^!;/W"]1%0TWL DIC/!8=0 M&6=C^'D$R3U(O+GK;\PF\2DR>9XF\$_D2N+1H'PP!G%6T+S#Q)[/@_3(('SRAAJ9>X!+HOMGK(MSX/A=V;&#!?J4'I"]\CAA MT6R-2 G]3OOU@=V' M,%[3QV_)QY=A3OE%41VWM?=P'+W%][T_H.XIPK0\> M@1]F&NZ%L<#L*?Z(K;GUPW31"UROEMM?*2;$Z"'R_2-]0^7,L(.&8!4@EX9?BC%]AW M$<@G3P'8&%3;\@3GGB@%"^?Y 00Q0.\8P> NZJ41"O.N//?6\[U$0'^M'R2) M\Q]N%,$YE&MTE.';^W/X5S!SG_D:(@S=VJ+2&/X :CF$\3DR$Q3Z< V*1;2; M*$ENM"0[:A)[Z\R%CE22!-5G;6^3CQ#7,!)FDDJ@(OH28XE/*3L2$U45BVKK MJ RXL2AHI+$[B-#$F&O](,FQD""7+"+Y<9&@Q^#0J8E"A!7&I=U91"+&\H:/ MDQR=M.*53"0Q4A%U=12"WLQS;/D!T5"YL@ MDTP15US/RJ-3Q!?76_+H%/$E;'&B]'+6.X(V1APLE0.N/9%'2^6!:SODT5)Y M.&O%PYD2'LY;\7"NA ?A[X5-M8-5N> GU/Y)N^-=6-E;/%)I3JBU')L\3/(^ MB:C=,*G4\"2N1S%R^?LYHBM4'J$RSO@K3RZE,M[X*THNI3+>N/,?GU(9;^*K M6.$GJ-E1%'LK-]4$%%;_H\R3NA[;BE4$G<"Q5>X-(HY/,B ML*REDLCG1F Q2R61SPW7-3-(Y'/38D'-)552"]#:Q;5Y")UC-YICIDE#RSQ0 M*L1QX3DJ#7^?L78/'Q'-TUMPM/"@XXVSHH7B166MK)_B!NU9+E)K9S?[#U'*["Z1<7RK9BMDJKFU/7]=OQE!*JY"L+$;LL8 MIMFA+8*EF_K)QL:(R8)S^<5QCQT=&5,&KJ+\:"QV#^ M]BY\/%X #QTP.D-_R5QDKD'@_9Z]U[Z-*Z6C;,Z=O7=A7]K#G6--OCC.;;JO/I1O?9M:4 MQD=WKON0*Q7X28Q_\JK=X@>_KUF#"@$#^->8H.9B,&GLL4Z>LU2Y +_%N"JO MK[9@1U6NX4>('UI\CX(.+Z=91N&*J[?B?2&3X3"""\I?WT"G\@Y29![FRQPN MC*"M.GXV$'HI<%?4S!>_]\,8+&"\ 4-ZS?#T?#=&1VR2R)6%:31"5H MQ"B%!V+%Z&@ -N588ZD'E#)#_2*^H:%!&JL2AF;DQ<. 9EDU.$B"%#B<&8G# M[R<-MI5!@>,.95ADPA1PG LX."V^#*!*#WL,GP:B")W#@^Q?%U$WU9NQB)2B M5UT54)"CFV#=F['DP/[L1"O&"N^^NGS*B8QZ=08#P1,&?A*8O M(B]GC"=@#B"+,'H<@J1(!3"^#R:50>"P!<'AF!YHLJS,*V.Q"# L&H-@88F! M@[*-0&EN=*.?_(X+9U_H"D;CFL-,T"F9\T*-[_78-JX%SF$3HV4+UUS6I:49>JIV%PG:4^*I7W_+A6_ D&H2,N%,9/ MTUJ\Q&BQ7FV%6(/&3(P:8F!4-*W9PVMHFH2F4%P<23!\&C:"Z"X8J%],#ZI03 )2(.ATK2Y M4.IO,0P3@-<&+!=((3 (%JH,& S].P4BWPIEN$% 4"3 ,&C:&A!:=IJZN"0N M(36M_#?9R]R3W4N!_4I=)W:J5?:CI6F1WYPBVT0%1J%!8A]K M7],:GI=>W3S;;!0R?&$P3NL%O.:>'.0[5$L-.L[$&W18?ZD\[9=#PXY#PXY# MPX[];MBAJU#\T+"CVK##S,8I>]NPX^S0L*.K?2'8#3MT':(X-.S@-.S0=7P" M]7$?!#$,/]!7>Q.XJS!*4,-_E.A&!7)T> 1(]8/4XOPP5QK-G3Y>=_K@.F04 M99(MLDW:,8BR'N1"^Y]T8H/0$I)';^./$HL9/[&=)O=AA$Q*"*?3UL+$X^610DO_"TI MEW;.RJ5-9_!_U\YP-K5&E]9H[$SLV0 .4'.U 9G]YD5=)#'>BXLQ_69/G&^C MJ[XSF5K._]X,9O\X9 4/6<%]R@KFWPFZ/#,,L@,Q8IE!,IF9V4&R+)HS4S6F M>,DIRO!NY0E9ME8#AR*/YFIA&:!T,6FX+3 [:/9/63<3DV(Q-?.$:-@D^J-+ MII&5E\UL030?TB[M??'R@(2AAJ! %T!WGWYR43(/"0Z96:APA-%\2+M>D\R# MAC;>+$QH4F@^8BVV9V3L+A%Q7TA7I-]ZT2S11EEN;R_(.Y#",8:#UZ*$IN\P!3E-]&)A77 M2XB\WUY1RIE$!< /V"=0L$Q;Y9HIH!0WRF?]NAZR36/G&41S+^9\( )TID @ M((J*9#'CM,A2/*KZJ_"F+&A6AMF@OK)G-=3P'H36>C. ML$L_?"+FL3Z()X!Z]O2;=7DU^J$DC]4'\3SR,O,=+2_2&&H\)G+\$5W8O>Y, MA?[A3'N3P1AEV!";%S?3P="9*F%RFJY6;O0R6DZ]N\!;>G-T[T7>7!.NX,90 M^_-2[Y RUY_J7$]OKJ_MR3^RS-K@ZW!P.>C9PYEE]WJCF^%L,/QJC2$.O8&C M1)#!\#N$=33)'M_D]G.=V\IX^>Q\AP/#=6]% D#V;VU>"?R"F.+F<_[(D#3>^[KT8W?:"A@LVBK7)Q4=NZIW+1 MHI30]*O$^6ECXH$S].0&^@'GM[$SA'XK$V T^^9,K-[-9(*\P=7 OAA<#6:* MU%[(4X3])!,^;4Q)F&OHN28PSE!BOWD(/'.?R9HDS$/08AUK9O^FR#R+GLW0 M3.< 66IY.[#,66-&ZMU,9Y"U"3+3GH,L%467^B)*1F1YVIBLQ"-+ZR_XP;_H MDRTK2R%*UIC*VDB6/U:)7/C^4R;SC?FM%$(KY8X4M=+9;,QUY-A5L3ZK02R= MV\:4UPAEE3*:-7-EL->8Y?+(5BE/ B$NE>&SQN0F%NBJ%:@:.]*9;\QQ]0A2 M*9O-4)+.:6/F(P24JG5*"-3H##U"/!S&T85H MS(/U8$ZQ=UY'=706";/=:VRG]CL4"C+ZJ-;")[+>7.VUB#**Y^J7[(0DVA:; MCFO1K!/]PIV2A&M,MIL(=WKH;'8XP[!79QAPZF2:LRAZAH%,9N89!K(LFL\P M%,SPRN1KP[IU9H%E6XT^0!4Y-)]5V$3Y73R;L"D .SB30,8HCI(2/O!?K]C M?[QZK:\@O(O!XQG S/!5;AA) .P,@1[S,"_4C02Q8098_U8;>GJ!(0N==>G(PGX2*=)^SS4Y3!':A=(DUY ME1-3%-:Q%]JL)IY^- TEKNU@,8L@/W")QSN61AEN@F*IS&/52JUXOX$** J^ MV&?]2 ,-4">);:Q(J=7N ^A:HL#-CTDQ-4D<:8 JB7QC74HM4G]UZ!-P!U_' M5"=ML$:-LF.$IF9I(F#E:FIL-G5]$,_@"[+,U00\@H!UIQ-E> \:.EU^N6 M\7DCW;G)EO'Z#8>MX\/6\3YL'1>]O8L\Y"B:>'?W"7O;F$%BQD8,7XYN7,90 MY4SP5@8R42>VDKFV)@)01S:594/4A>T;^3!IVWIN@20NF1O[*+0HU*0]Q$*$7?"7[:P3%$0RS*JV.SN$(@=\JA*@=S! M9OE&B8UK]U]AA*OP:94(<"!IG!D>D\)\"8M=Z7KHKL!H66&&E41B#->>R:.; M34GM# 'P87<#M=\%C[4U F5W]*FC(9_SC#:/4B^^1SR,EJC4G!WGT2G,<%5< M,4J(=041D3B 1]>).(YG;@(@$>*VSWL%51=\GPJXRN[P1&1G4 >D>97_Z\XG M>@E2.],E,HF,\HI,2N$7Q0P.S&D:I[Q1-=EQBJPZI!CE(Q7 MQ36>=M0U'BX-9UT:?K@UO!NWAI\K41EEE-.J MLEZ&0Z>ZN=O9M7&=\$\D6Z%HN^Z.M"6&-M)WA]Q0:YU7O,[[CGJ="?!17\JQ M&R4OL\@-8G>>=2J]>"G_ANV3VCS#*(_51K RT+J!Y'UCI+&=\&OMK9&!6-WS M2A4?.3'G9XGPMV9F27P]4'Z:X0%JIM(/:AKA>\G[W5=K='L MA<2[589!HA^.%J42]34\7:PU2%(/),V>PKR?+]ODF\/TGO?@IG#+YMYD?JU+ M37UT3([D\*_]ZTQ M5#\60IO9C?O?&H*L89!ZY4:V[U+<=\ YH]LKR&BD>A7,7DKH'F1$DV"M:)E7IO!*23J>Q&8PT=1 M%0\'UA>(+0@N0SA3)_>)LO4QQ,)8]^(2:4? M"N'#2VQ!]%Z,9_M^^.3"SY+ VP3,@??(/DDF2F\07*(B;76IGH3T=]X:^>6[ MZZ=9L# !,8@>B1=@K:,,.HU! +'$V.IROJU!Z1=W(L_<9]Q@^1G_K&BNBEE% M_6%16U+7CW%?4CZ LIYO$-BR1-[J@L#MW>PBZ[0FD*Q(/$6GI^B;:@IF*=1 M=K&!\SSWTP587$*!\TO@"M-QW @UEHNA!-DG3;WJ%H<_K: MHRH6%9F#S[VWG2;W882\!FN7BDUG$) \4=;UK[IR/.OY5QP>)I%!V##E6%=> M*HH+\S?FU[U_!W%"5'@M1"+1F*!O 3'6A9>[[>.NILIM:"IO M4:E>+2S2):YQ6U/MJF%B*S@%G),N[Y)9I MR2)7%.[&B//;"AFF2[VN4*6]5K@B6>G[1I?.&EN*3+/"&,D@WS,=;7^KXQ[]095/N)"NP T;_?]\VK MW@5O[U3Y?8N+Q 2F>3U\.]D.;7H/;7KWK$WOZX>%KW-%7Q.G42^+R*@S4DQ) M=#?K)?/&/0W-)NO$22D!JQ,#JBM->Q5 U:&C4Y+AVD'S7MH^'S^,8-8FMZ#7 MO_\G9)25K4!QZ;!KE'KW1>L\IMV7E>Q%3]*/F*)T+Q*N7GF[FVWU>BF#Z/RZ_%-=I/&U)E\'_2<]57R.UMC9940"=K% M06>)&.NIQM8-9/6[,YEE>S=]YT+QWBF94:;2&SLX5(X5*SE+2-R'/C3=.#]4 M0=?SA^8U+-_@8N[;Z*KO3*;99B^ZTGZMZL/R[;!\,W_Y=N@BQNHB9F3OJHXL MT20V$3OT$.M4#S%%+<18!VJ+(PK\ [6U@?I#\A8':FN\;U?C1=%FJ>CV MQY M :HN&RW'(/)"6IT*FT2_AL46/6PI])XKS,+4"S<&V5('?M-Y]U)D#7>99!@Y<7L+/L2](7*/!J M$XQL=]K8ZC@G/Y!P@H5X"%$9; ),+/Y5'-7\ 5!+,["P'T'DW@'L.,:1-P?V M;9SM?%+4+$9JBM+%I-GJ\.8&$)#BR O71V<1-T"%^;1] (HIH(H3FBQFLM"- M6H\O1+D/F*R%47'M0\0T:5K[(WM)AU-S2>2*L8_- JS60E%5#Y^2"D>4HKF MIQ3S=>D ?E+/8#$+L^. ^'/)_V3G%T7IC4HVB@JE.>/%8K/9[K8==F7Z3F0H MVQEJ"T#+DFHN+-T-H!U*=>X 5'WEIQ.T)W@9IM$XA!I"?_DGB$)F5I1-HC]* M;&>@E;9>3,F4%)AFKQP%('LC_/_L24#YY/'&:YXL%E:[U$Q8]KXI> 1!]D8$ M\]1[YFN>2F*\\JF28?U+[6Z1O1*]*'NC@Q9L8GZ'3F,\ G31, 12TRW5=P[A M0D+H"Z!1[(_Z:X)AY36*\^JF28?U+S<=DKX23#)YO MA$R?/-YXS9/%PFJ7FDHA^+GLC[9^OT)D/ ,V3 *4A,JU9=F$S_O!@PVR?X@ M4)<,ZU]J*H4 ^J7WV : !LW^(- 03?-VQ[;%-*6,PS#EW,LF_U7Z[6)G54L$ MZ3M0@WO+%^B6+U MI34!2//PY_C<8NKZ,Q"M3CFVM6MF3+.^7>M'[Q4FVWYP M16(5I2A4>S;"JTRS+;G2FUWI6Q*(E:S?B3VQ&?@YK8RMDWKMK^9""5('NP^- M1G',0HG30Z'$H5!B'PHEB'=9L"\8%8>E4K0/7UD0 MZM:Q;&D0=:AZ02),^DYL%]RP.V'5!^F/W03,JE*X6A- \Y4JI@1[N?P@S\1%8GK!.]5_MR MQ8Q;S?:*[$\F$_MD@S+ULM5)=_UVV(@?-)EB2SY^)FMLJ9JMCOYWP2 ;@88V MDVS)R<]EE"V54^^%H#E;2;K6ZD/C]BAFMO+LD*T\9"OW(5N9?=>H-I2=H:P- M,RHK6>-=P&/MN,'17W(.^:M[6B=PGT7*E374L\;M>#=UY"^I0 M:E:7%>W@M/GA%H'-YPS^+0+:[A0[W")0\<+G1N+0(0\H]Q:!]UIJ4O@'&(DC M.[!H5SB7D\I:2 <;SZ0VTRC?><"N%2*.U ])^ZL=ZL5"9U)3]O@E,Q (67AI MG'YE[MJ^2\)C,*3VS%A_1SXZI"KF<2I#?SY(JO)C5*2VT<"OXIV@)HS[^?!H MGJP^D]OI''^*G"Y*A'$_'QC-'DMGX_=P6YL01_Z$@!#:GIS);65>O FU M-A-"I#SPYP.D+#W&0VYK<_PB7OL'TL"?$ ]"6PBY3.V]5/+=^U*&([E!$MP]%=(=" M"4:AA.:6'X="B6[T]3@42NRD>0<9KCA*2E#!?[W"!/_Q^PQ-Y:/E *Z:'KT% M7*M3?!<<2QEJAL^B\Z^BJ*NMTG]XR?T$^/G!BGOO818Z08(",-I'0Q*']Q"] M7HT. !\HGF0J=CX["&$7'*(Z&'=02B;GR$0?^AF!(Q.OP\SPD&3>2X!H53@O M?&@,[$0,1[07FL)KWNR#82KO@G?:7.UE[_.Q0_%9UIV?'I.5?FV&EZGR7%+X M3A5*S2UC]G:24A:)F1KXUQ59R_Y^ZJ@JN^ =Q-59]@:?.QJ+3$'D@=@>PZ>! M* *+;+%)10-_G"PB_5OQ_ )L$3FP5]&5:,YXN]@$& J1<-=ZQ-J47M?W>#U(U>9D]P+:T8<.MEV"W&R[L64'SI1>XP=QS??&@F4IBO$VS MQ<,@2#TO70]^>&<8&>,-M/$*_UB_4E>&SNK!#U\ 8-MU8Y3QIMR0"&M79C$K M9V_P&BIME:Y8NX.U(7K53MC++&T-UEC%^I39 9NG3_>9J\_JD$[KL\HJUJ?4 MP\A9-]]+UXN^NWX*OZ@QB+(*5XH;H _7[UO%;AB@2[#5P1O.6;WLING%S4,8 MC--H?N_&('OI:-D+5ZLPR!:8%)6W>X0I,+232N\!E>HV;<9?;*?)?1AY?P+& ME0L\.A.P$A1%[SD0$G>Y8;4#!],8#@P60^\-%"3.2F?/VB%3(30^=%*6P)C,H.D3-D0:!T62^XSUJC8T M'^.3*N'$B_^XC 8! F TV:R0U,CO_IG-36R-G1?MLP*L?!^>AXW%YLYJ$G3 MIF$HZX$FF<6F,F*PI69[2CN?I:H6RM8C;; )VF?QCS6K:;NJ7ZPP*6X"I;)> M$UM%$J#6)^J$_DW)>;H)$$L5&-M$I^YK;3OU&H4;302,A*ZJQDV;OK$B1LXW MJ_*=IEF$(C5@J^KJG;CMUB%JNU,)O-,TJU*D!FQ5Z]W$W32APM,7NGS[.I90_[EOUUXCC7SA#^$S>A^F4MT:[X M9C;0^M!:@$,7K4,7K?WJHH4['K/;*E1'F7'>FLS=3=A0/3FZK\T.Q*K]/A-KN2^BETL%.2;E^U@V97^]ZOK O^;S?-KA3= M 4L[%/$,YBE:.[RN4A"KCN_%L?MWN%SD'$)I0:]_)^TZ*'@#%<811-$$=Y_/;#4;+ M*?1Z$=0BB'NN[X/%Q]FI/@^UC-D=J\WN7'ZEO/;V!E.G3Q1-II]3\1X/-T1CV#S; M$8^L'/G',S%>2WEQ%2G^-(8_@+XK#.8 9?O1 T6X;UR1U;N9SB#[$Y3J[SDH MVS\;C(:'_/XAOV]2?I_;L>1?882_F9B>:2.-,R;-1F)>17:?HVNTQSU:5IAA MI6(8P[7GS>AF4U([0P -&4Y9VN](RFL[!+3E_EO,%LXS:HR<>O$]XF&T[(/; MA%UZ1*2IQ\%0$B;A'$&:9/ O9*T>PDU=M*= M-- @?9+85Y):GX!'$*3LRIW:&/T[W6(S25F?-1&P*C6EEBH;0>A8^QA&:_ ' M[AU@G(AC4^E'I44G')8@]>('6KJA^#GZ QU^^]O_ U!+ P04 " I@(%8 M%O)OCOAO TZ@4 %0 '1O;7HM,C R,S$R,S%?;&%B+GAM;.V]>W/D.)(G M^/^9W7? U8[=5)DIJ^+]J-GIM4@]JC6;J=!(RJKI+3MK8Y"@Q*D0J2$9RE1_ M^L.#C"")!\$7 -7N']VEC'!'_ X' Z'P_V__X]OSWOP"N,DB,)__6[\X^@[ M $,W\H+P\5^_.R0?G,0-@N] DCJAY^RC$/[K=V\P^>Y__.7__K_^^__SX<-_ M?+S[!"XB]_ ,PQ2^!ND3P%]]=I(4QA\^9-2_TM_Y&4Q^G/XX6AT_ M_^@DB"L*"0_Z3X#$$"#B@'?H9;/[9!1=/3OSLO,3PV0EQI\#F-?WQV-9Y]/(6 M!X]/*?C>_0'@GP'7'VXN'\#'0Q*$,$G ?;0_8"C)&;@.W1_!9K\'=Y@C 7

KW\BW^:D#.6W7;S/?V/Z4PX' MD2?!SPGYN4^12P97@0T(*?"_/N1D'_!''\:3#]/QC]\2[SLT&@#0\8BC/;R# M/B"@?T[?7I!$)<'SRQY#(I\]Q=#G0]G'\4^8_Z<0/F)!PS^SQC\S7N"?^6_9 MQY^<'=Q_!S#EE[MK8:_6I;8RII\4H39K_!;&0>1=AOFO]-31:K.JX'O]^?O4 MB=-60\[R:^[ 0Y0Z^U;0BYR:0=_ =J-]XM,]RDCKPW:C7. < '3* FX\M+PQ MW>.//J&_2@#AMQ2&'O1RB+@!B<8E[1/%3EH^MAVYI5;W6'=',=OO!+5*6DR@ M^^-C]/J3!P.\;4[Q'Q_P'Z3+Z!]_/X^0 ;#9)6GLN&G>$NG$OW['^?ZG,B!, MMXES5&@+KNE81O&3&Z$-[B7]L"^J1#^.GKD_FO4YXGSY]_WNR$\'!?T$%V:) M*(9)=(A=V&@^BEA%(Y3A>=XC"FQ%P?##E_OO_D)HP.\YU?_WWW\ZM3+X%%^& M:9"^W<'' /]ZF-XXSY#3#SZ9G@F70 >!!RN>]^)T%T\V!4YWEXQ$9TVB=V@WZ60__]-7>>>2 KWRO9W*Y MH/+9+7UIP?3R\%3G]T@#,)$!=?YKM#^$Z"3U=A7LD=4L5$H,G4YU+@!95N<5 M(@L$0(9+H,Z/Q(!2:Y6(\T,<8W$-$M?9_PTZ\67H84<:SW 5DFJR\FN@'@U^ M 9T%TE$#C3D&4') Z0%F (@#8!8#>N,WN-__SS#Z&MY#)XE"Z%TGR0'&PE4@ MI->I1VI E_6)@-@"R5'!)] OF D0+I"S /"_M9H=(I+UR M92DID5@C&SQ4 HD@I,=;"A-2\(1D\CQZ?G%"\6FR3*15!CCP*B)0H+!' EA0 M(@' E" C-3#_E\\P?@S"QU_BZ&OZ5"<( FJ=$B$%7!8-+JDU,B)#)Q"6G 50 M'H-BD]E#=_ EBE.$Z#YUTH-X%Q&1:_5*22%7G%-<6FM$1PI/Y*K*+-@C$Z!< M1CQ6QRM0P0%'0*?7A\4%675FE8@L$! 9+J%[BQ*;/-"0\_8Y^NW'*!9O/Q4J MG=J#"["L-$HD%HB"&)5 11!2D-,:40ST?$WE\0I]QMM2)+1Z%800;%5),(06 M2$<=-J&RR%P@F'W3YPK_:1PPN^X=#HE!\.N+*X% BLD0X6DT 8*"$@E$:V MGDT8'IP]/4E)]&:93.^FPX-8W7&*-!9(@026<*^AM-FAUDSP1>R$28 #L6OE M@275')0A@,H$:%3H+)(- 31QX,:1WJ2,7 5HTWM.+^,XBL^C.(8N1B0([5!A MTFW UL%G;5D1AT6R5 M28N%B4^0Y!807G)A-Q9'@D_O-X7DGN0(NDNAVG)2A ML5X3^KT%HB& )/&7 $IH8,ZO0S>*D4HCCX"P+Q>>1XX ?TP5F-HA'2ZY2M M&M!EJ1(06R-/VRA)G?W_"EZDMC*?V(#D<.%RY:9$:9O4\,#5R QE 8A'O_F+%=TFAHY M1LI?:PJ\YT Z!ML7OK-@YCEPF*!Z,M.(1O_<7KM^O#EX 6IGDZ80"9G$(R"J$H(90,8!"BSZ_6P9B*L@?K[V.%VK?*_I01X/U/%! M7O%+"R:?AX=YD)=--29"IU>M,XSSZ>QOGZ)0[$EE2?3,LPA:/M75[RV8;0&D MZH03,D#H3+@G[J%[B-$N-)[L'H)TS]OF61(]+RO=Z9IL+*I_JTI<6S#,/3W62,QI B8PLZLMO M[A."! 594_AD>A*09_HM ZN55@E0G.O[9GDBN(1!.=D_4XV;Z3[ C6 M0_+AT7%>Z(S#?9KDGYRF/OO@[\0)C8-XMOY5$#JA&Z!C2D1#Q 3)])JQ#B\L M;;J"I:@)'Y[,OT^F2V?F&)2R]H@95^/VYG[[Z?IB\W!Y 3YN/FUNSB_!_5\O M+Q_N;1'(!V?''$!%1 :$K 2/*TZ$@DS#S%_,'<\FP>%@8ZS5G!;\3JC[3/78 M23 ^!2&\1G]6GSC)" T(" .3*R1'*C(9Z^5Z/+%*4 3X),*".0!AL49BSO=. MDFQ]\EIF\RVH%1R6WH#\B$!SQ:A*3&9K-1Y#N+-)FN0PQ4)%^,#6SQX\85;3 ML@7C ":;6]0:1"W<29XN_^L0O#I[M#TGF_3.W('S\U=D?1(>V.B9]TJ(&OR@]<@YJ M&[O^=&J#M=4$*Z.4$"^I-43^*+1B6OVX+G[UD=Q!%R)(2%'>P)1_;Z'&HE$U M*4 O*2H)/=U1)G YGUD@:.I(&266<8(3*_@ 0MCG?48;,=NF3S ^84IJA4S& MH$_$ZF$7!4Q,329M[OJ[F0V[HBK.JG 1OH)D==1=:?3\#R(IXPFM _;?\"=_ MOT8F6XB(W_@"(J 97B:DX+ 8< GHK@#=Y6)M<.85H#$1D1DUMIF_OXE2"*8_ M&%8B%_ %^^(3:M7)]8> 5I_JD((M:@TN(9T;SX>^#8:/ L2J^/P*0R^*0R6XS^/E79E4R:V(ZG_MC76.>%BH-2H[ 7'Q,*!UNZYB_E3*:/IXHJ'IC M*KZ%;-BP%/FHJL+P.R4[R^7!])W3;1R]P#A]NT4HTTWHX2/T"[[#0-:K4.?( M6'3J\7KH974NIB?SM727R\7< E%21\HJ=\I)?")'-GI6S8R%N6EC@9QWE/RS M7$K-Q]1Z3RV'C$P2].%TY%L@3K4 ^2=2RO&S86FY#E,$#5\U4#QH"5Q^<_<' M')W^2Q1Y7X.]J-]JK/KDJ4E7B@*FPD?5PL)QG)4%$M<<,7M.SEO(Y+"DPQ;& M=1C2L@[.PO\).@DDA>BW_I>$=E>T#.4\&O6:"OB2AI,QD'GT%W -;0@$:@"5 MT7HY*R"\2. (.XA\@!J@8IC)WP>P-"V!7&?V#9K\YI<,12[#]PQL!VJO&DXL MV;D73J;0 DEL!)9]5XG$\ '&S\#JJX=,N]=)G8#6B"4GES N(9FJG0\]H\[F M!A!E]IP1=T\!<\VHDXZ,UXO50E>05JVK1XB.[^A1&VS=:[2^;X;6HY(\+.Q: M=R=0C'NG./L2W\[@[C.QWXRZIN;3R527O:;H3"T#XR\N*Y:5=$7I7TQ*$SZV MX8:\BD?@'#7M$_T4.+M@'Z0X/C>D 9)/T=Z#<8(]:NE;C==*G5V?C#3M4E&* M5'GI"R[/FX]M\*&V0\W8X=>;C]>?KA^N+^_!YN8"W/]U:J%P&+#] K;XSDO%+X2#P**KQ:!4R],Q5YJV>D MJF'L^].I'2+8%#)'F^$FCD$_Y'Z8GE4Y6T_FY1X;CRL[/R1I] SC/-Y-KO:$ MU!I?:L@!EYYH\$G)/'K3^6YB0\B\$DBFSD[^$.P.OL+P8'KK+%\)Y6(NB(-6 M93)U6R>"+[ZNJW)D9L]HXMBPO3;!*C*:;W%!]"C$%W7XWN0#N3>IWN91E2:[ MMM-ZV%$[Y%"W_GBZF.AZ.EKKJZL#*8]^+'!;=VQ6[K#98W(#R;%B"Y%A8XSG M K$U=C.N71NDS^1M8NB=1R'6*C!T$<:+(''W47*(88W/I6$;&@V6-ITKF3%- M&J /H>!TO+(A5J0#=&8K.C5%GZ,6&\O-Z8EI<[JPNDY7Q^K>0AZ/$4TH!B]0 MBBP#U4'^;C&R3$?60>5%BE"+1\UW:-+DK@\4J>$*Q:^BKE]!FX@B9RKVNCU9KBF/?V8P00#RKU[PHU"0*USGY8"+N_(7%(: M\NTNIQ,;HN.40+*[["GO#.$Z^5A#*FX>VK>Q]Q7__4_3T?ALO9J3#?F?1L!) MP05T2:8;,!V? 2P4Y#OTQ^0,H!Z^0)*Q>/^6[]@CX\=%N;;A$M+]8C&;+VP\ M-(IP\L^-W-W-1BNJ2<>-6TT-1/*#Y(G#3$A6S95$U8L/EW-_;$WX MHQ"=8,7:N$[KNV9H3:J(P]0&/RT7E&S5F?;:- [;LB-0JUEH5DU8TW(W6T ; MCAFJ.)F,JD].##.^?P:4T_39MIPY499 CDNI-<^%"&@ERT65C$[*>N&Z-FS] MM0 Y&2Z*F2C/P"OF,7[B?'Z.0@(HN0ZSMY ;SR-)\)W]K1-XU^&Y\Q*@353B MKU1O0J\/N6G7JBYD57XZ\Z,QG(PM$,WVR'D.Y"@$"6[J7\"+$U.A1>?6'T=C M\(*.K G6A>C4.A^=C4;D?_2C!#B']"F*@W] [U_ >'VVGDS/UG-Z[$7_7"[H M/S/B($EP( C^,CJD28K^P%Z;!H=C,W&)ZN(D&_\IG,Y'NG(_J40FJF!E@GF. M3 !S?;@.0<9G.L*LD3JS0'/U)54VW"'4 F0C%A,;7C= M*L/&;!Q%XEQ0<'GW.-@=4I*A((W0EF*%PY7[^*O&[<;E(>/AK$=P97[862-M>O=4@E7F,CSGKTC?3]N<%W*7789+&!QS2 M]25TGG'X CI@7V3WRX*!4.#3F2I9L1/EM,DU3%FB?&\VML$!TQ!N5?QNRE$# M]K@(T>:YC4D],8\X/&]A3!1SO1]*S&G$(5C7$8$?4,1&;R#A=&%%2I#&@ 5> MOWOJ]4-M@%_M?;P9+9;VW #H@Q4+E^4 M%YR8;9.S:^*;5AV$G-J@?)4!2V6+DM(H\HGKSB8VRA4/I)),44;;Y&E[NN!0 M'8$2BT')XD"7BE>!/LNCY,Q]&^IXJGA?JF$RI/953@YR#AB3O'.C:I^;D6%O+HF6G"EZ? MI0<+&8-9010?+\34U.>_7$V7-I2>4,794?BL.'[P^EI_ JGE,BN"->>0&A9Z M\3\;KST;CB*-P':42'O.*=>A&SU#8C$\US_W%E+K+),B!5RNC,(EI;D6/=]W M;'CJJ 22$;?MS?WVT_7%YN'R MP_H/]\OKQYN ?;*["]O;S;/%PC N-16B2] MD^AUS>EKG1%794CEN"KZ'1GXU=IP!%_=*YY)K* DV!$KS,#%Q M*<6Y-QV-@M<[#JS)DW?6YIH2D>O5Q#+(5:7,HZ6A&ZOY>F='LB@5E.*:8CF? M^>>+D0^3A(3]7T&A\<:2:2WLRH58*>9:HLD>)8\\WP:C3HZ.4[3U2 TPN?'H MMY<8NH&#WX8@B=_0F"KR3T%_I1PZ(]YJ@9=CW83DU!>P6L&%#7%&RD#93+PG M1A)>660U'=H/]ZBYQTPO"GI>)=(8TL^%5PKG+U%04V(U<:DA+5<3&IX=/H?%,"7G1(2!GI!,UVLYS84]6T MM2IB.2O1005FTP\+X*/4""I\K_&I0!54Z4U _B6U*+SQ=&7#/:, %B=_6W+8 M$W/8 C.'E#_X!8;(0M_C7=5[#L( &_78R2_7-VJLFNLI*G:%*;18PT/5H"R!QA94923$S)/2(PYZG?!TH'O]XCR!X!')E^Z:$NW9!0Z@RA$0(MA\\P9-15Y"Z=I1VA,S4 V7V* M,F2B8\12R#%(SET5$M(G?SR9#)_/9TT'/40']A1Z,AM!BE$X[AFU)0M5?HIG MJ/0OT(8R8L6K9R$P9ONO2H49R_TF"J.RU2(9=2$QW:_<]42;&Z36BE?$*CAY M$#KQVW4*GTFM <2)?G-/1H/J,[ZZ'NSG:.ZV M'1R[NFRR6M6CK;=R1\2._ @(Z(O@E*QP3$#_)L M0K@=RV3KHY,$KN(09+3FI*H$5B92A)"F/QS[RX4-EY<*$*O"1$@LDY>+8']( MA>DLA-3F9*8"6"8U&2G-# ;'HZD-YR@ED$SL/24R+#N_P>#Q"<'8O*)CUR.\ M.> */UN?27X@TT$-V] G9ZTZ5Y2^1@U0Q]1R-_)MB/#O )VKXT#>(,A:+.V8 M-B6T$/0\6V^J>5<:MV)0U3)5Z=A5$:=*9<*T6!D<8L[IS9V(8,#BT@-\CZ?+B[O[L'E MOW^Y?OB;+8)*>XC6TTL4HG\FFV^!R*]2PV- ,&7@N0+)8Z"6X'0R\FUPE3: MRKP%S%GSJCXG9O [9N_HEQ$D,;V',:X=4D[0E7PFY2@KG52@UY3 5 7T,7VI MC)BZ3W?NPFAJW(8PV5>DF!-LJAG1C.?..*:?YHJ3A,Y(]F]6?(1$U NV\OR) M#8C?>XE9Z=JNX3%>;K:+S$UL MR*BD"+-.R$[U9\'OE-?T+5"UM*E4S$3$YNK-B@6+3TG=1'-_NK#AE: *1C;1 M .4!.1/XGE->ULR=?UU.9R8[\FZZ7DYTW<.](/LM0O:>$Z>R/44,DO4JHG^Z M\"PK/&_ZL%J?!]Q4YN_&!A@FO$QA0BI-AW4QP.,1G26AQ3I6"S@UZ5]4 E>= M](+[)F<89.(+QSZZR*^B^![&KX$+$Q)]Y^4>>UZOFG!K$I3F'3H*D#HK?4RW MF(^6)E-;=@(M.]!G^IX$7>9M@;RQ?@R"#N*X>>94\&W,;9$XECO42!PI*U4E M"W\W,NF^[@2Z@S@.N"W^YL2Q$Y*\L=L7$O1^^0W&;I#(E*("DR;A4X9_E+E: MCJSDW\X;F8Q:;8.U*F$Y.TDDE34 CBT,JN4DR,7*38')O%@)5%DM!SV*^F/7 M-1G T 9K4[&JTU8#GJ1:Q*:[8S@?/JF!NDM<@I 71IR_84(;1_H$P1MT8@!# MCWB27.*. M/Q&4 K=/(^7$J3\7P"=6WR]#Q[&4K33(@AMG8HV>I,ZV@AR%B-Q44+H@G HAI[>RX\G*RMJU:LC M;1#\=+ZY_RNX^K3]S73)*[0IX%[EAX>/;U_0IGP='O.<;=PT> W2H+9(1YN& MM+Y":]G-BCG0L)4L9>A\IZU:D$R4N^)G!!PU!O"" +@A$(2%]*>GMDPG.:,U M;R1O(XL$>HN"E&%5RX'0;ZF.68X7T&0EZ#ILO5:J3K<*)P4F\&^CT5OE&= MPH8#HCTO[1!2:,/+.F6@;+ICDE-/*GNF(]J.FNP3=!)XA]]$;7VDYC9) M,B MT)H"&(V;,9!FNV$7N3FX%=N@,C$9[48VI,WMAI[9+0L,N.PL:0__@5H$I$G3 M,?XT:#3X!_1PO,,AA?%]Y*=?<<:( O:Q8+34V36^"&C8I=)# 45>>B)9K%S? M!K]1.]1ULIHW 4CY3M.GJP*XK7\5A ZR.L-' DUD&TM9-)YV%*"73BT2>IIP M8[2:+6S8[=61ULG:1?[NZ=A('U*G''#'W[#KB(V%WW$V7SDEO:V;^/.EA<%X M7(P*,7FVY$M/D@.^V,E>+B.#-[^&+H3?;./SO1,\BU15PS8T9D)LT[E2?L0F M#=#CDV1,06-T5<+Z0QXM(] WE[6(?E85?88B:??MT?;7-5MXM"=TX?W+B1W'IDCHVG9F&U;I03CDLY\E*>#HK MQP9_2C.T;,KZC!MDK,9%SHWQLKB ]+_%BQ3LS:F[N6O KS7==;-.51)@JS'3 MC=.9N=#DNXV.L)FPA"?T+YA4XA%( U2'!LXNV-,[+Y#_%O@^__4?$*.I A^5 M[F]<%X>EX9T#!J\XH;#:;+-\=,1VSF@R^$0WJ0U'@C# M?K7^9-"6(HG*6%5W)$88S5BP[,G\WN'[(/B4V3G>6\T'SVK:X*I3 6IUGCY% MX2-X@/$SS]%@^FY3.DE*G==Z5]F+3-D0<5B'C[UC9&7G#& >6\ZG1.U4[@ : MJ.<*9_9B#<[@X)$LG MP]EWI#T],3C=#K:_-^8V8L7EL:1[BC?(G!9H8BE_ M=6Q AVP,Y>$/"DVLQ3 M2?%-U:WSUOPR+F/*2JE-5@M=8<@*CR4;HA9>"V?4UFD;P<0U'04[;H,[2]_$ MA@30#: VO@3.6K!OUT,(XP,R4$]JL 4K.30F M]BVC5G#T&S>T\;]S(7Y3EGXAOQWF-;=3JI9UB9F>^=W9Q(K$/RUA,XY+LDT> MB4VE_53,OL*;/W5N^GANM%BM=%T+I%'J[&5V=5OPO/1.)/N7+/'7NTEMUWFP M[$QEUX/T3FP(L&B#F3'1CQ*;-P-V;^#[3'Q_X,JO:7-=T&\<1Y;TD9M1VI!Q M@5;HIH)@2UJAU^^[A>?I*G'80LB5\8MS,UZAT0;'=HPG_$)GX2PUVL;]KT,0 M(TLB1< #=#X6>]-KF3*K8S[9#6XLJ=_M-$3-3N$Q@PBX1;\5IN3YRD/L>/#9 MB?^P(@>(\G0V'1NMN3B'D\F)#2$A#: R&V?.BU,(9MS@Q%Y_GZ-SVI#V1/MX M^G:+NI!N0@^_['_!)$KS)^3.XF66L^G@#U8Z*!=%^$RX,\+VA ]ED0_R)HB> M.?+;IF%J9[GU2!G5.4,*K[:JFXVTD )F)764MW,&2$MG9?$UHYO4[;ENUBR] M")LL1]JN[]HZ&6K!USH9>$;LNSFC=1XL.\]D/4COU(;XES:8FSH9>/)KJ9/A MF/*MJY-!VI!Q@5;HIH)@2UHAPC*;[-R=#2\:N^*O<3*<\@1:5?W!A=!+,,!3 M\K \:9C(4JEATEHE0@%^I7*$A"-+Z#?RAX^!5:LFH8R5?:9)>8%/_%L9-S[% MG$=(S\8I.9[>1*EQ&Z'82Y*UKEI&3V%T!'QF!%':"9$L"%9Q)K-[SFD]QZJ.PT MX'J0W>']?+T::R?,34\D/ $VXR_!(/'_L-OFU=E#\HX)V:"!FT(/?[$)O?(' M!4J:NZX:HG+YS=T?/-0Y] =)"7;GI/#2]R'?N->+@(:=S_S)4M?M8ZV.-#D M;+V;+*+V.J3RBS=/\D?A-XV7:3 ALD8G36_)B/\--<+4!C>!J7XSNQ=N^HQ9 M]CCS;?[C@))@[5#YL,Q!40%.H/X9.&(#.3B T0$*[QUNA[W+,O4"P=%LKDL\ M:;7G^]2)T\&VK'*ON+XMWJX#/H"/\#$(0R0Q[WD'&F)(W\W^,,P2F=H0+ME3 M-P93QO]'H>:JQYE-7+T*]3*4QI3TV*JNLW9-5L)2 L=5:Y@27$4Q MR%F-BPBN,_W@?(-)G92PA%J?T0E@5M[+5:CH1C-:3U8V!.[7X1-+S/=WT#^$ M'O1^(#5>:$. M&3Z#@%-'H)Y"GX)O:.G^#J%S[6Q(.K\&F\0FG:J=(&@RDRO MC]S1PK/B#J$=;.;6*PH_$+D]13!A4VZ ZR_!ZW+Z_ &A/SY^(&\?[J"[=Y(D M\ /HX0LYDFR(^^R@=2N:7JBW[^#Q#7OS)C)%M9MY)JN_] *>N8L_O9=)C^]E M7-PDB MMTJMZB_*G;>-')\QJL)Y'81+M R^OV7Z+1AP;IJ7*KL[^'GU"+-8Z MK=Q3VQH+G_VZ#I!^@27]^=WW[<+V] =LK\/'+ M_?7-Y?V]F5 6)SW$<.MG[W91A[F[-D-%LVHU$X M);7=U6H&=I$<&Q)52: Q=ALAQ1%H)V+P^P/\EH*/2 C^,!U\GB7(0A;D+=)7 M;GV0N8Q!>\I@"6Q.VF .-7V8-_)F.QON#51Q,BZS+Y\_;^[^AC71_?4O-]=7 MU^>;FP>P.3_??KEYN+[Y!=QN/UV?7U^:V2GN@\<0V7HN?F+&]! O!;(2N%Y0 M)Y89NXB2-Q]E*!-N3:WL(3#0"ED,7!N%626G&8K&8]6C@V1_LI F7S M-[]>WCQL[TSM9AS@4I4@HZ>'C/5L,='E1U?*_*L*N-74F%KN==N0G,7H@N\F M7S9L-$H@Q57.3UPV[2F7WY"ZBF(O")WX;1-Z7\)#7I9;G*049' M4SYXN\7(@N.2.M#6T]#ATJMFI!7ZH.WZJ@^A,+E3*(%C(B(K0F!Z1Q"FTZG9 M#A3XM+XS5NM$Y9VQG(D^-H*SJ16%I1O"9>XV[[:WEW]?KF\_ M(\/73 8V44\4S<@:ZS:E:EJ)]LFC5A@:(92G1M. FU M LW)F7*/*^!OL]ZG,U]Z6R3ZYA&_I$N57GBK+;^_E+SX:H0?BSH18TCII:-]A["T4*7*E+R M]S7$W6'6=,7GJ\Y?\Z'0',<_I"#:L!TVPOAMHMZ_%T:E'EY)YZT[U 5_;S% M,U!HDV8YR9L%>;N6[N5W0?)'0L(-7!BG3A JY'.OX=$HX"K@2T(L8R#3[+OC MW9<[WT@K52\CP[9 M2@O"QWL8OP8N/(]"TID:!=2J 7I-NAHM/ LA(D/AT]DKF.9S2W MB3I"1F5M;WZ]O'L@US$7EQ_-1*5@N(H&KX"4+H#)>F[3,V$EK.TG1(LE6C,U M:CW6:7WV)4L6&)MU^-@GX. M4II4 [L=R)M$&.('B8H3V:R%[$G49+[0541/8:/JT@5V__K\^?H!NQCO260D M-C21X7EY8\'#XW:3W6FPM%Z9F)!E&S;*EK 9T3TUDWD+"PT-L[&*ST_$=L?= MV3S&4)HN2HE#WVE* 7CQ4"4AIR][=^.=%6.L,6/EQ:$.#?''#W>>I]A%)O@$S^W)G- MES:WH'S+W=W.$S@T_7FX_6G MZP=3^3.R1#')K?/FX+!?E?O]!6H*>+/%U((]44<7AY(I MG?GL>I:N04??0-Z\][7X;#B0#M0M9JUE/P.RWSD#V2^!0KLT\H6F3"Y\7#C/ MGH'L%VWR&)>=WS6&BHC8U+6#S/3@4Y(Y7L+E:F)#6Z84WB/0Y9ED9L/=Y9M''7XFP_"7I>\8JGH[ZG6E_D=I,;&_8<&;:J MF)QH;5+YQ\HL#;(N2C@,%,91S;HH)*=!W=/E9*SK>D@F4LI V3>^Y]O/E^!A M\Q_&TBXRR&L>P8KI:5>7J^G,HBL[=<#MYL;4@J]_!JOY%=F@EZ&(!/MT<1)]'+:M? 5:ST<-X94_GUOTD*@Y<.8"Y,O] U(- M=_C._OP2N[5QQ0KC=_;J\]AB1/3>SP\LDC;HD$9@V1OX C/ W);&LY4J]I , MYF\*TBAAT2J%M= KTB>DS^H/^:.E#4G"U9&R&;*"T U>]O29=ZD=XPG=@BB^ M);6@3[757%HHROO/0T+"52Y@XL;!"_Y0,#3-F]&9V*U=%\O)W9JU0370>+?V M;3AG=4//OG\L-X%%.O<4&Y;F+PG<^I=)&CP[*125FZH2Z9-$/KRBG)4IZ#PL MUK.E#6\39=BJ,H)HL5@TEYSD"4>5HO_@@/=79X^A MJ!A.*HQD'.!R,5K9=)1LCIQ;-9L$T>(_"JV8-MR;S&:;8=&;(V=PT;0A:5LS MM,J2>$9+3[V!W[/_FG99(<,-(G [= Q1F$,Q-:V$L)J/1Q8]AE2%*XQQ.#5@ M.CE'[30I=UUOWID>I3HPJ)*<')\?Q?1N>$R@#Y:=%-6Z+J62/ M4S736K5E6^9 )>.N14/T!F4YNL >%(\Y6 OY 4_M@_,HT>R#(D_3 M*L'DDOE5(,^WC/%8U\F^[LUF$[QU ?"#/-54&W_U+FE[J-F_X(R-O]-4!])"5YAW<]#+06@*T'7ZG\*F:@CQ27 MH]72!F]C Z@<=41>WV0\YD^#QX ^59>"B-Q 8*622X%/2_=Y;^TY:PL$2@VE M.*S2N!1=.G$8A(_)+3*LGI3-Z5HNC>I*K0,EA25GR;);3<93&^J3-@);%;0; MF(),V+[_%"7)#^ 6)\C&[1@_W+W"\ #OH!L]AH%ZI)T"G\Y#FV(GR@>T&B9: M8FT^G;JZKGCDA[%&<%FO/&$'!7XC]V]$YC\Z":W! <.$A$]M2<@5*5>(8U.# M5XC=C.L\T7R HM@8NO^&_36N:#C/??="T MIJPT+.(VW!MV L\DLL2-?2"MX9,E\1-ML/7_2$*6++QF9 +TSV/H!2G^2Q1_ M(>,P^'R"!2Y]-7$BSQW;G@,MD$=EH-+7$C1RG7"2AQ.#N,(^1>'C'BT-CU;0 M1$ME?_"0Y;EQD6I'OUVMS\GSX#1O0Y.[K&WGC@ZTI@U0N]R!$)I4BSU 9ZZ& M4&L?/N'F\E*KQP9!WB)@ZK&:S@7DD>SY"0))'/UJ9XU:+HW9>M0Z4$J_(V>A M,77S]=R*I"2-P#*NN1,SN0^_14,78;WI[',;U+0 YE=:R 8IW#IEX*1&IQ*G M_GM*A8[P;B4E;%G4^&ZZM./8VQ"PJ%(9DB3OWK81;$34]/ U/%LO;3AD9@JSJJ0Y7S@'C[6O*+0(E0W\&MV%X=T M,5+#(?K3I>\[FCSY:=Z,/@%LV\6B6#9M(WO@ZLYF-KP"[X:>%[:+S]7'%D&Y M23,I9IY?G" F&M_WH9LFV[#JAW_ %\WR&ZRFC= :@Z/U=+6RQU/8L1?OYT:B M]9QW'3"M-[#F!-L&U=4>.7.%>VP)9$T![/'.&CL)-?B=-&B1C_ B2)S'QQ@^ M4M>HG]W0*,FV(J_&U)Q-.E/*U*G"F-5^6#I+&WR)+2 S5<1*36"O8M:(F3LY M]PEZASW<^L>7&7EZW-KY4^4EX^%,?'=M05G:;N#M?9C2=");#H?6RS1=LFG# MMM@8,'-3EC6 -?-7U2G5=!&*20W(Q5;]0:[H(-6C*Q M(3;N*']O5&Z&ND"7J_G,AL=)G3O 5O;U24/@4^!#ZVY.BZ:!ER'E=CF_^]TD MMTZ<;GV.2[N)'=CC;YDQ&GL?+)&%V=L/43_M:+9Z#RWL5:C&2J MY^J0XE3NSU&E3BHGX$ M;SJ'NJHK"4,=6^"M2M2Q"4#:&";4%K=,JK9=AWX4/U,CI5:BE-AT!=2J=^$4 M0UO/0X.B)_X*&B\+WA@M(TFD+%^!&=S!/=K\/)!&H(\,*P+INC^\O.Q)\(2S MQWD1K_;1UP**#,1#1"'4BUVW]C3)8Q^=/@IJE\:(3,R(+)'/Q"W\FE.NSUK:>STW!HV]5-2:OQ5$CM83/) MD=2DT_0]VGD4DD<\J$^X0+'2[EO#H_7U:CWXROM5,0-]D.PLO;')\W0+J+*H MD$(S((S,5R4Y72_$:2<1,@:P-L#VF2.B%^\FI:BKGI#@HY"CZ^G4@RHW.#.Y]U MY5>8H#,:#M#X]@)=_OKD';H092\B M?<>U-Q>(F;%@O3]HSMHAJ[ZM=;JV;>O708 -$+EQ9-9A?V MHYUK0VASKYVISZA#FP>G=6+-^J"I4H+74]_OT-$%YX8/7;03UL?!]M.DB971 MONO\9=&\O2PQD[N#GE5KHFM/F%3T>7N%%0!PDZ#](6 M=C@2-VS-Q%IHU6'^,FC4% U7<*Z0$D&) MD+W]'(7D;C.[GN%Y(I59-7F%&W;EZ Q6Y*-9S5[A/BO!4NP81OF"I$I=4Y6EDS: M #TBKUW?Z)5&#] 9_Q;$U\:XNL KC)U'"&X.SSL8@ZU?$NC2#=W/1G:S'&D& ME.+<^A1> 1T9#-Z$-VJ )A&!SGAN07'?'GK I++&)#;-XT6P/Z!/F;XTF$E1 M$UDHQ&JTL'\NU?K )IHD7,;3D1?,MVTA?H5(7\W.T[HUGCT*4W9X>V-@TR;T*I-G_$U]%0PC^AF!F0RW!HXD4^@M5[I"BFH= M=!WPV E)[W!=5L)QMM(8T"ZB< M^6L+S@"-L-KI=KA/G90^,,M2D>;5V3;?@NI5C"*/QEM:%?"ENU@9 U5G_M1Q MK;AQ58?*OD_*6,'':LT]@+F'$+DD3@OBAOYU$C7TCU-O?H'18^R\/ 6NL^>( M6 WM\**E!!:+E)20/MR9CAS?Y)[> *)8A(I\/4B/* \/!M%1*DK=YL4Z"DK&Y>,&O$S=^P;/QNJ &2%(N,!&1/XG;)U3,@BD@D8 MOP8N?F7Q$#L!WF E4B&DU247-6!/DB$@I*$RHZ79-R\-(#+20;D 8@,YW[ " M\@7G@/:(JDK$HL&CTB048H!'<6!):"B%Y\_,IZBM U<5 4H/*,.P_'D<\DTS;X$XG'Z.33473?WW;'Q!Z"UZ-CG#@6&807@9)?V(9 M$%%J$@,YT*,D\,GH07[E0,^X,E !6)6'$P^@3(!RF2GAZ.QA\H &AN2US(I) MZ9D*E.&,]4F:;QBQG((2FZZ-)IT.EGUH]#=UEQXKGG5)T MS/T0(?^ H=!62'(ZO>,W9%Q MU2V'QJ2(I=3@.JRON*LGW^;>29*MG[TFSI+U2/R3$GJ->3;K0)=R;(J(J;T] M68^@KBL'F?I0A,D(%&;#0;$9(]C&@+ .YHUL(%S"\H\?W["BE(B9$J<%A3K9 MCBA5ZCRQ474Q7[I6/$5J#%A8+986[=R4BG9^? .X%5-^\L_.?T;Q^2%!:AO& MO#L8$9$>S[@87NX29RFHHQGN=@N3%I *-C8;/J('1P8;M-7E-YSS_Q D3UA: M\6N\G6PG%)-K?&M2 [ETZ2N@I>'X\^7*LR%25PTE\]2WQ(6W0\QG@U#1 .'C ME<\G_",X^ZA8KJ0<^D1+ 7A1NB3D]'WD8K6;VO!$21FH(-W(Z?8N9[5!S/!V M>^,\2TVJ$HE&VXD#K60D%;ZG=^^+W7AL0[H.,3+&[$'_ IC4!EG(ZCGA*KAO M#^A,D#@N23+\\:WXC412FC2@3XZ:=ZLH9>K<-+)H,G.7-B3(:XN[*J%YR3E" M#HHM8;.\_.U@D0AY5E7Q?4*50G.^7,']0?GK[+W_:JPM3$[H?)(!$Z6T->V: M9LO8<,5!@5ZCB[H.=,E-+2*F3R5'R]'49.120YC,'0>O=-"@MY$/7Z-?8>A% ML41OL#2:-(<(W%%W5 EH@9'5PIGO3&L/.;3JQ"-JD)$;N6*L)(@5KS\N(;V( M<6>CL2X_F\(5HP)23EI;P@(R'L/:7#HI*KW5J<5[D*#Q?&Z!ZJ[#5RGK M'HJ])>G6)S>A4LGAT.DLZB8 62[D5B'*HLC'B[$-=],U\)A+)42.B[41AH$# M40M%N62!R2R5MJ!D$]D&_*W#@5Z36*@ OHH$#+B+#[ F_C&0Q#585:%9#(:+P!E!T=^ M'=G=-_M]]-5!,\GI"*T+CTUKD<6NR*SQ,-2H.Z73D1(G51W.>.G9X$9O@YDY M1>5M -0(R%L!>3-&G"+7X2O:?*/X[5=G?R"WD5DY$,$EK8B:;O>3^4K;Q9N" M>T05+GM3F_'EM5&,QP#439)RQ_5& /0H6S94(E& R(1IGV3IR)1+56+:WF'2 MA>,:$MEGV9Z90\W+:3G[)"\<5".#?36N3U[['8ZB;/?31S MO"7=KAU=KP\[=/+T0K%%(]3]Y3BCI?&K@.[PV3M$FON:7"?E;0+<*#BUBB/U MBQ76!TRJN7F.D'GQ#[+\MOZY\Q*DSC[X!_0X<5#X_I,KQRT:T55+O6WW3L74 MF[9 W\*/YOI2A@O%MR-VQA8M-$<*CIP:!-SX-]+F0!J87*_1;>,N2/ZXA3'^ MP'GD/^&6D6O3I[60"VI32)O?/8T6Q@LU*:-DE6"!$6#.,W#B-7T<#M/ PXDR M@U=X#]U#3"K"77YS]PE=H0G'!WD.:K:IJ(DZT2 ZAJ$9&3VUK/'3W.1BE M[C]"A-!P8D:!OW'0C%LWOF/ MI:;7E4MGMS3YQ+HI3B79H>RV7+!>!6&0/$'OERCR:B]7*\0&+E:Y<+F7JB5* MJH6A ST;$M>H8*R*4DX*"*TMTG/G?/WLI#!&9D>M\)1I#<@.#RQ7=(J$U'D^ M^K%2 R_GWG*SB2_@DB;EQGO=,5\EE;-$<5;(=X&QT3X\5T'>C2#;2(."O_M-17.U)ZU:P&D[&_,#R;!V'2+U^(B&2RI:4@Z=V2YJ@9*P-E M?"TPQ)FL"[(%C@\!35M:HEU7)F=U3!8D51=*FYR#)DX:37QM*9ZD%E(#K,(L MZJ7\Z6> L)J.&G+=P_.!I(N\@"\Q= /B*49_[R%)I!MZQ? YX3"(8DMZ:UYK M7JE>AZ22BJJ7MJD_P(?SF0V+8YA>L99!DOP,"K\%BC]F*(9(T!.!JUI&3\]4 MG=&*^F590:L1.W0*+5W.YA[O$*S.:^0A0'UG!/'_8D9Z%[QV=]!DKJ(.D.NB_2VV M^''<3 H_!:_0NPY3U(E@MX?T^;;T^J663>,MC&(72I MR31"RROSNM]#-STX>U#:$V^=U +/AJ1W!4NKN*::#Y.P(2O$M*:;BH(K:"6K M<^.MC9:Q[PM_O45>Y!VJF'4)-QNN(B;35\Q:!+%8S+I*0P\_\Z4_-QD&JH:. MH^4R!D Y;+#SKT,/^B>)?X@=#SX[\1_B8% AO_J0")N"CM7ELAALTO2V'%%OLUN35IA^RAW7=$*JFV/'MV\Y7AG0W7" M_GHB.X3:*_F<[MW ;^G#5[A_A9^C,'UJ<015:M0*Z6_0?=530'V+](7Y=.Y- M;$@;UV=?6$>?2_)(@^GX#""QG+VKA? WZ,0/7Z->QNW8EJUB7^EL>VG/&J+! MS\Y\LK8BJK9[%^ID>_[^9!O]LC ?6=O6K);O8H<[2CANBAY>/&?JVQ#!V4LG MZJ1\\>ZD_ H-TFXK@E:N+.W)5O0\[W/OI0)^#+]R?@B+:_ M 2.-62W@A>YV%'!$2R,8QOYH;/EI5+D/=0*^>E<"OO%3&/U)4HN<,H4-#?)Q)]"74\054II M2R R(T]HC8SU]@7B9+#A(WFU=A<\/J5;_TM"!88W]%(&&C<+O=E25]R;PDPT M0%R=F",K(+R ,..03,1.=;+I!Z.!L\N>/-?<]7(I-3X1%0,MO0UER3+_QW*Q MMN&(6PN0B3 [,5BPP',T;^>'.!:\\)%ST#2YR^EZI^WG482:66NB>2.& M,TF<7YYLF^:SP2S2<^E\!VT*OE+":N,9NF8^U+JIAX\Y(#,+ M^\AC^EQ<[HJ\7): UI0(20I?<0FIQ;-8S!P;JJ@J0*RSZWLIZ"V(]R_#^PWB M(P3T-DBC.H\PN8//3A#FWSZ@O:O2RY9M:'HIT+9SQV<$31N@!L!N-EZ:C OO M 3I3FC3C_^#0!L"Q@4Q&<1,_5PT;TX^O\/L9",LC<1$DI #YG9.*]%\]F\[D M16I=**ZY+>Y^U!9J\1VH+='3CL:-9!?:CC^SZ'ZN8R]L?]71>J:[ M#I.U"JQ?<;;!R]P>>4]J#+=IOR(3O=]IV@8]H>W6D[%%T<+=.F'[TYVVT]QQ MD&S58;U*L@VQH:V!]Z/ <)/O0'\)GJLT;2,[?:U'NW?H+N-WPO:766VGN>,@ M6:N_^I1D*T(OVP+O27^A)NW67[5O[EHU1!^IP>ETJ6L3ZU&327K2YKF=57I, MY6UIR[;LTV@#RK8-<7#=T'=6<$3LE=2<52N@XV#:*.==1)L^,IJNO/5[.FZ4 M4?,3,GX.PN#Y\)S=Q^?,-DOIE]#+XF:@=_G-1:0TY*#-8(G;LD1^ZSJK+,RB MAK+[^J6W-EG]M,A#3[8F: MLYLNH:YC*UJVG1^H'0'S=8/%+Y?Z>(GFC.%RK:OJ9]OI$F$6OT,K/BI47VL= M7AO@0$CR2Y6>5;_4]#Z @7,,_#]^0Z_[EZ/QU&2L@@P36X$S?JY[#ZHG%4<, MG:W_R0D]@1P7"32FV&!@E7(W'+^EBVCA3\8V5,D1X6*2-2"ZTWJ^C&1X2W$(U F#J/W%VDCD/3UJ(&_+C?R,FIPA^M?6@RUJ0Q M4+:*3<9$I>;$!BX3U]G3U#[G>^=@?.OZ+8K_0%;8>?2,%P,!EC\TRE +%I0* MHS[5I=Z-HOZJY\J=8K.5#4JL*5[I$S+3-N4'. M!B[@*]Q'I,XTP"\:M4!/'G[B[P?U!:SK+(7S$(&0> MH:[=T%EX7+[ZE?#)8V^ZOY@L[EGH9DI22&-OF6Z!DYU4Y M# D?'[A0\LKDU&*?K'<3&TX9RD!E,I=S$CD#F'<0]UWA)W,I+P@YD?'/)$J; MYVIJP*S)J=>X.T?_GC)GIC:\\<1D+$D7S.U4':!-#2*%Y;3C"MW:7/#&HU4S MFB2S0Q>/,MJB#3+S$$[G*Y-AJOV@ER:;BT%$N.A/NH?Q:^#"7(5O M_3OHPN#5V>UA=4MNR*M)6)MVYBBAJHS'7';:7ID+Q;(=9,%EVTOF8 1((MU\ M!X])(] S[;F.X8L3>'DAH=#;ID\PEI;=D+-H]%(K0"_YIB7T]%':;#'V;,C- MHXZ4$XR'.0&DK EP0@]$F!LX-?4@NNS41,YS/_HVS)>**/.HG%[7WJL ^K3) M2HAIID,X'8V-JRUUF$U4%0XZ,WV<19OTUO\EBKP$+8=,(R?WT5[)8:C(K/&0 MVZ@[I?.N$F=VHH1S:$5T<0O,4K,.]I%9N0>9#%\A H7L@/O#+HJ](,2>R NX M2[.X6M3;4W1G32F5UJWIE-I.'2Z+<:NFZ.W7&H[7-KROZZ43S+G[U"CP4$OV M"/E-E,($[2W8\*UYME'#9$1D)? %DLGAH-D/O?ER;H4KNP%6F9R%F-G(=3!> M*]=)0@_BD(X=8_CZ$7I)LX1HA)$(6H"K$%DPB7&7S2VF>(.@Z13NVB77AMREK4"S=SL$CG-F\FOS7!+Q&=' MV@+%QJRH4OI+'!U"CP9=-XM94.+4)[@-.E*45P4VZIZ8+OVU#=%4C0$SQXY" MA(&C%$NCWYAI8,50'\!BOEQ8E !/"6NM^7(&PJZ7[@I._,+/HH^?T48;Q6\$ M=:[+ZKS)*BT8<.BK=XSKUJ]GIUO!;.PZQE_D=0'..EQI6P"/*W:9':7RY=A< MG7VM9>^Z3R/W#]PG=$ ]Q$'X> OC(/+NGQPTMG04$GH'5SC50G1T)24J!$NW M:Z/Z=KQ^NE]4L=U:I$Z W6@]MN$M1I]]D6GJZIH@)Y6N=V "M7T!$S<.7M(J M;KRX>5I!3J])):N /BI@&3%].[. SM3XVS-UF'6;//!.31E6I]<(69+BH\GV M:PB]C\X>[Q6W:.VXP8NSE^;E4>35IQP;=::H Y48J2$WK+2"S>WY& MC(\$B-H:4<17*FA5_0VFMVC(GM"IIZU@-FC)A)@V[BA?:)6;H8_W_8EC17A MYP[(]"RQ?0%N.*MG9H/[,$S2^( [G">SPF\^BY:*S%>EP*S99:C<'<996,M) M;U%'$V=IPP5%&\SL\W/*!6+S[WQS+%ED#NZ><(UR*'6J2B'0LBIDR*@QOUQX MO@WY4VH!"J7%CA@!>H*B)RNDDI%>AC'Y3'00$]-K/"O7@2X=@T7$]+9J[*^@ M%2=<-9A5<;K\!F,W2/#)-9 ]X!YP-LH1TE=!B+9WI#K)E0EO0F3T-'1ZNAS[ M%I6@4P?,%@OP81Q##_@Y$[WQ5'35=W N$(?);PZ^H$K%3V%X5)H<"6* 1_%PKF?GM(D]0)/21N'^%C$.)RZEN? M:X?&7!$DUR$="EERCT%^2;.E,LQ ,39.OS]# MY',\WJVM\"@,WL'J B0,,L?_8/MBQYY>1;$/@_2 9F 3>KEY>.PZN\D.^WLT M>F'B[(:O"%4?TZ:_PR)S?9@;)4VRHW$T]9FC?\)E9]S^T=5))GCON,S,E*[J MN]\O04R39_/$2=N/TG#MR7J^'-PB4 ]/UMQK5I\C!N-O9+7)F^[!?T^FNL6+ MUH8W=OIZRNP&I-T/I&%0_/%B_#;8O8$B788 $ BXI!CYK3-0@$&>+A> @" $ M%,K@;IW+T%-TZ)0H];MR.$!Y3IP"&;UK0"P3!>\X&?)KDI4DGCM*CPD2#MU;KR<)D)=>6<*N2 ME;< LB; \>KG5G[U,Y!X\9R;66Q'TP&0-F6!$"IT54DN)>U0;]1RYAG-!==? M#X32ZV32"TL7ER JZLUCTV!'V]8NW)G[K^GP'-DL$-I*%Y0$-..A-UDS?Z*M M-E4K8>2B;2AX.-5TC:=W(!$[^BB:=KO :(&8,=U0$K0C%_7AK.;>PK%9U 1X M&PO;L/Y?>0^(IZ)YQS,V*T2MU 5%02,\U+1:SF;F4R U1MM"R'IP2G6S""^I MB=#9'*RT8X$0UG6RJ2%8:H2&]4_=B6_U@44-?B<3D+;;C_W70YTY[."Y#CV$ MV'N(2)!>G%S^UR%(W^C_2])6JS+KK#S7I#OE$G0JG-F#5&_BVA ZT 8SX]4A M;8"L$9!&@#;SSPF@38#?<2/#^/WNL(_R"HW);12$*?[C?\$X$@?UR>DUJ5 5 MT$=5*2.FU0+]&5P;#_E3AUF5'\()_FGVXVPTG(AL0TB H?\^?*V3#SZQ3N&0 MP2U+!H^2;C43N%N;O-QH@E$@$^,?QY/A9.(>OL*0 ,.B>A]\JQ$+(;U.R:@! M718. 3&-RW;AV#>>S4$=ID!$EC^.%L.)",9#@%UB\TQA:Q$SZ!22.MAE*1%1 MTY,67*R7QMT/#7 *Y&3TXVK [>4([28(8;TF$9$;D1$N9(&$E&BSZ \?>G:H M$1640NE8#ZA%\OT/XWI Y%#1_F#H39@@ M!\*Z1"3#7XZ],E5\*HL(PR#.6W"PI8IDQ,U?7HR6BZ6)A^T M-\4I5B7S=QY67;@FN3EPI'# WWD_8=/"0>HS3)KY$>JNG6&'OP57% -WK[K" M* V.3"UMF8%F%K9>&'1MC*:>8TW:%Y,#P"04SR[GC[?UQW9 H2'P*? A?O#P-^C$ MR1DHP+!!@W30I5F@ T[P/>BFS?F=][-I"P>ISTV;^1%Z1S^>3!9C6U;N<-T3 M;]H%QOQ=TI]GS9)FD_5DHBN" M0"%CX>#]M"%=TI] '2WFR]EBI54=78:#YM.HZ6_\9/:_Y\J1@;BJR967M/9Z]WH@-LJ$^MN[^#9H8I;64U9SE+ MTY(EC9*DKJJ8/HWRH_IMY$C_\SM:_N)J;,:MVN#^7'M!U MONJTTPW0YU:[7:*ZW5% IYQG?]8]C\DZJEW<&R&@L^\Y<#7X<\D>DW0.. 2F M4G28W_Y:2:[1F7M7F^![5 PF8\P-=WO8W?"(Z7^'#9%)O6I \AMAH#O"R)W! MP?.9:=T4.PR"F:1"-FR*K:37\-R]LXWQ?2J(L:ZX@(%WQY8]'WJ#Y.3)?J]; MY)_C!F"]7*Q6NH(6=%\^J_>^\4[88U;OSOLAZ?T#^@%) K(*C;Z=A NN5 FT M2$!O:=:C^AJ\[\/X')C^-A'CP7RXLF:@5<$\T3+H'(+>&:%(9TO%OZ1@O MJZ&3%G$==J4_P+!^G1>(-*]R!AZSQH\49$BGD]7*-ZG85;"QZWOVXVB8E$I' M7;/'3^@5-'J)3K=*YX!D=7J!B+[PGN[&2^,)"^KAL;.^^''=\>UYS:Q+:DEV,PX-M8*\Q61B/)-(+3K>A ^4Z2[' M@E/_UL]WD4KS=+, F=D^D=#U,QV//)//:I7 L7,]6/K<(Q1I#B$>E>ZY%F<+ M8DEH%J_1? 6-ITVN \>;Z\FPBOQ>S1:_-VB*A.%=$QIV8OK,$GC [D( M'#S96:.?MNBZO,>A[.6FL,'O9B$CWLZ967 EH[_'TM>JIR*5'^N*%-DH?N8S M^?CK^6AMVRXS7"^KPE3,YE%_H_ ^1,CF9#/+\=)U=+T%T2MNZGWODG-F")LE MB=."O8+^=;)5T#_^_A"D>[CUKY'*?0T\9%)QPAPD=,-; ;4@L;0+B>@S/6>^ M@R:=YXKPJJ)#6,#6!R>F'N(?^HF(N7#2VHB8$XWFB)@J."8B)B>@QLC.A8[) MXB,*T/@1,9AV,(FH41QW6(D*E$7A.ST*@@&3*X7C%_2F:@WG1F-0)9#X2;H' M+'IX_A1 ?_L"<="NBCMTY&G.5O7D'/^'6;.LRJ MC)Q?;L'OE%!O'.\IMB#+%T9.LJ"F0IFK$"F72 M2*6PZW8TGG@KXZ%QZC!%Z@5-[D2_L,C#;>HX# J,) A'3DXK"4-OO3)Y/F@, M5"(VTV'%IO[ 8.B(4',HX-C7R]$,CHP'5\J ,=#LFI]BH(G= -G+W*25U 3'H]'XW<]0U>% XMIEXD?20A(3;D7A _FA!24B-[ MY:RFQI_"*6)4\#,@SF&UR.7SRSYZ@U"B.!@233(A@':4A,KW=&S7RZ5CW*R7 M(F-"%W+B09U*-5<\GX,P>#X\JQXNJ/RZI_1E_HC!=4VZ^&M@52<^ M(S4Z[Q,YL;=@&H0N15?@(_8P"OF MRU*BT#*R@[[2N$Z2 _2^O$3A+1J#)R>!!.[6/X^>GZ.0.+)Y_6S&K_E=1Y-. M,0\^5)CI7>UZYXZ,VQKM83/A:UE+("!-@0-J"[QDC5%1Q'+IDO9 @ALT$F)Y MB^0:QC'T2)](+Y/-(7V*XN ?A9R$D2H'];4L5KZO:Q=)T1E1&L[8!'!U&H^\ M=(IJ2U%KGBDJIZJS1*FSE$&..]9U?ZP0R<-7B%^WH)^* UP MU/)IVDA[_T(3P26 -FG-]!6B]E7GL,!"'P*ME_.I+L]KRXD48NXXFTJOEK1- MZ:T3;^/[%"=7)>8*S_!JQDG-'#A9NKJ>Q#:>8#7H;><9M0Y(LS9$AE#=<7&( MD;C1))%4#&_@5_*5**17E5ES#(ER=YC DEI.ZJN=C]V1%04N6F!F!+9@IF7& M6U"SE6@1S((Y2M:)8 A8,GW")H)8%*LJ#8T'6N\F*QO*JQ@+< [DU;:+T.REV0_'$50W@=IA#-7JIK]?)_]YVN M7MD@#K9Z>3^:W63/G.6[SF'1KKO,LSW$ 7P<>A=D/%;LO;*S8QYK0!TAF6O_ M%O6JE2= UIHEKH'Z#BO["L1-T=04SAS.3$8>]=H)YA'RXV-,JC!EUPFG>Z'( MSPZ.$5E'@UQ6%NY3"P]Q>+=A(DI-%Y!RH,>K1CY9EL#-=Z'): 9E@%41N2K= M7OL!U M1O[49)KMU.N>V0^?!LVF[@&E.-+"_S]K6Z49S5(EGNK) V%8S,&U/B MTR=9&G%,QJFB&/R&_S9NA[9-,RD[6LMT\9 _J%FN!QVV7G*BUOX:+0L&U].9 M%1=JFOHI=/#LT GIK:I ME(>G(&XQAT5[!*NUKJFLI,Z$0&OTR<=2[P-J$_8*6PQ M&'9HE)ZDT8;0BT9@VRL5W)CI')OI;8N:X8&DSX-0.^)ZV O[M1T :^F&8[%_1\W.0IA"> M/SE!_ +C1) "N)9:5^:O6L"GO%]"4C(=<#&=FR^%K@J2]]B&\($"XR B\C'" M]6U\"DJ2WXE/ITDL9""/ L$CHO%J.V>LK>J54!3JX56%@'#@,*F,9Y#YQ_>3 M6_^HF7C(&1)-LRZ =ISPRO=T,!=K=VGRBJ$>&6..(&(\RTY.;MJ4W3M)LO6S M1!_;^ [7JZ+EU;;^/=K+XB -8'+N[/?0^_B6)P3)"$4QPIU;U6@>]S, )4.Z M6Y/TCG?L3M=6N)W[[ R3R9C>:0'_L-\#-%E)X)%"*%&(UTCZ!('S'!W"%*"% M@LMA&7\'X^R=&/5V$WJ_.8_BQ_(,F<;[8P'$TJUOA8:JK/%T-#)9M5P-';-O MXHAS)PRQXR#!G&^&920[8EY%\6(,>JA=T[L(O[-OK^2=4Q!C?@/4]^>L M?*-EI'J WD&:SZQ(T)$_([N#>YQ'Z5/@['#R 6P:'N(8AU2%N%"X2_\A&,"F MC>@3ZW;=*\IULQ:R]"S0GYE\^=4'=JZW*TFZU\_K7LK6=>,#"?E# [!_<+XU MDE5E;HWE;YMUJ%085XV5QK;/1V.C;I=.H)GDF)0;(!:0R3G"O[HM*MCH$>[T73EFSQXMH#*!$]DW "S#R(XZ%0,$R3B M2%QQL7A>%Q@236(A@':J UO^/JN3.%WX)D.AZI$QK^LP,4#4(",W;7%]2V'H M(?471][!33//VQM1BL[^7&YHJ?%JM*^:=*9D5JDP4B_D;8N;D=:\'>"C+9+JT3N8'F+C1X!M^@3C M;#&U.[(V:D&?P+;H6%%B&[#3U/.NNW-L2'73&CAS-84; KF>O:0/Z,WDS&>[ M@_I!\!4^DASJY(PT-F4V6BXL>D'; CDW\,_(?,GW]^9&3%X-UE_HNEZACL7[ MU(E3V2PU@7\#M$+A/QR\@+2_XHN/ALUH?&"N477RG4FU/FI(3KW1V,KKJ); M(V=+^$2O 7:: V2+GX3WLH_$/B*/$TS3/;D]/X;_O)WOG>"Y>B=92ZW+#U4+ M^.22$I+2=V^K&32:C;@12,91=>0#6[^PK1+6/X]%Y,Z7<**K*CBUB"[1^;?; MYG0$S3P<(!6 ^,:0Z1A1>EY""BMZA@_.MTSI?(0A](,4O\D)P@,"OWW)@O>2 MS2XA[W0$X]2E08V1H9V[70H*;=T:?0:^A-[8AOSH??6#K:9$VOW9#EF_@C@0 M=<_T3SXH8B[M4EO7 8YHBEBH4;U8CA96/ %L I9)2$NY[) Q4G",>%3=QI)6 MQZM=WM0ZPY$Z.2,-VO1V.];SP>=+*(IA\!@VU7%"+OTZKJ8# M/!TG8*%I_5?SA4U[K!I81L=1+C-I-Z3&07.SB%Z"NHZ&P/(UG9:0I+276OE- M( NL'$"923!!Q@XR?CMT0\T,-AH1>VSVE@)HD=E3!Y/-JR$6N.\SYA],NS[S MQ.K]'3 [M:@_]WY/1\P.S66I"W?NSH9:E;UUA,UQ1!N6G#(U3'=V"FF@I-0X MJ5W@3]?:C!B%F]PVT.T\MC6;OE;#8$+Y#"J--H3;-83+;*$Y/\@::+N7:IC+ MTLFTQ8RJ\&<:=NROE_9IF>8=L/& WF8Z.PR(":VC35)MN 9N!5JLAT@SP D] M0!JR6!]EOH@V>XN4,S]DNRM=]W]-+)T&T!L[;_1:.DK3UVH8C%@Z0TJC%8[# MIG@EM@YMX3W[#=H=+BTZ_[*YJCY"!!D6>GJ!_DC2P!6LHDXMZE-F/72\J.@Z-$#'!J'9R:!SO2?FF1G('\-][?*'6>R%F/S.0BC.$C?KL,4HJG"K]_*K5S^UP%] M_1FF3S@<_161D'S5_P16+\6N ]MQ[;;]>1H;MX-PY;[/Q=Y/Q[MJ!_HC M@/X**/S,645QX*>FN&!!M-_CEG+4'8_-@J/+:2 JP\8SN27$FHXOM7"/!Q@A M)7W^.9GY:UU.0.$11A&C7/(R\0KHAZGSS?032-^'+BYE<.S-G9/".UQLS@WV M :VBF0?B8I_T 6%X*Q$+EGXO+6M\3-G?0)2>N'1OEHJ7.YU:D;BW]PY5U\N7 M>Y#D;,"-XI<"N"38FO*)@YO5''[P<<&X\)P7O:QW6!X\)1K8FR+#/'S"P GL; M%N[RZ]QZ;CGM9E:MO9[[55UX1QYT7@A2^)R8?@\GZ,WY$RYB?AWFES2(8),D M,$UPKF/:WSSG4S-MUJAAX_M6BV%0V*P:M$K5^'+BN?;X[_KK#_-Z@C2$]AF2 M\9K6"7&.N<70/[S\^AKO00[Y#3O7SVT<1#&N9RF^96S5@O$5(>N8@NCSV(^Q MP3NK=H*FP,4WF&D$7C [>,,%3HGY1)+CV2FZ-Q%.<7! ![W='F;;(2G4@"NQ M>.?(3$2?T'4?);6V4[>VC8M[N\%06 C-&J9JTUW-)C;X 0;H$N> @DM"O<*L M($*4%9+"09%?LQ)4[V?Y;)ZC. W^(2LCW+HU*Y<(K\,M%T6Q*6I;^ZL)M.>" MHV,GJH+_BX.LGR\O:->X@+L47'Y#YX_'0Y \65!+\"%V7I%TA=XEONE($5(, M*NNB8)!J>/1)KQ+XHHQ*&>B#S/EZO;,A#J\!U*J\?8;.GJK5$J^=NI4D""T< MH:_Q";K9ZA0T85R+2KNFH#JY_#1#YQ0NYS:D[FV/G)N[U\C#!X&?J(&KC*I_ M;^>N=6D.A:<-2E@5G,C?[[+0<=-9#I"Q&87XSG[K,UZ)NN1E:KP:CF72X[&TX3 W9-_!X-_08@OW9&_CQ^GOW@&<@7)#ZJ9+]Y M!O(? *>")>C#4C62<]1*D (<@J7WK6P6./:*-K,H?LO@" MEZ\*"%FC,*/.)VR@8$C^L,IP:PQ];#/G)NL!R5$QBY:9XV$B7EG[C^9._M5Q M>9Y411Y=I105P9]**=8PT/PE:W\Y-7E+U@*JJ+193JU?*2ML<'EZ;M$2;MX$ M]6@XN^7$@K0JO?2A.K''E.9#:O[V<]>MZ^84AS;A-)D&L2MN9H^J"J,MN0R. M??LEBKROP7Y/WKBD"#N^+J)?J=KETB8,'K@4NB8]2DGXZ8O9R7RTL*%^8GOD MK-F<4]-3D.G+[4+/"@79*HOQW'D)4F)6A*7A"';^ KW ?O>!;)%+H MJW[LNO^"$6'O:V $:Z%K\YD5MEKL;'#L#M8Q)H;PU :X^W^=YY=_N1BF>A*. M2V$B6WC;FHA25]4D*=!3Q20N&1WKT=+SS%=+4@#()OM#/!\($RAR:3%-LY#Q M\/$3+O]U%SP^I9%_0 8Y6]139@4I-6/(.&W01:%UJM &K2PS=N=SD_E&^T'/ MW&7G#0#2 B!-?(C\#Z@14&C%'H. &BBGCD=) MIJ(Q[NK$'>E/-R:V*1GEUT:6/2<:6!3'-CR4: 16X>(O.0,J M$%*#0E> *I4R1$>SUJ[FRYG)7!OJ"(5!/R=QLC,$K5CQOE4<&K01M>O+3%+8U-VY^X]0:H50\R>3?>1(<9UG?;LHDL*\%D8H,A MU4L?&AWG^E!,]-1X,'"755 M2&6HU6E[B%)KZKGQ)T.ID^;514/9&>L*+FN^^$_X&JQQ=/"WS@-4 -C &53E M,N@7XG= ZB(JL] :5O/%8CSX,:Z-MT@&EG=[P7$>T>I;UMR^-;YLL^-NK=E5 M6LT%E.\X2]\&]::*L_ZB#)2X!PI30=O[3?&>ND:"E+FTA:^H=J 0RE+'0A.& M3V>CA?%@^J9@N?4L@1'90C_*Z-[KT(VQ6\&KO;IKUX0FJ6O9M:,(-N3/HIB0 M+6VRG&5WY#R5Y['OL7$F6=H@+]&?-EEM+Z*6269+@13,YGP\<4!'%BZIP:1(V]0XA>YGH]EL9%S9 M-07+WN<="4'D S\K('Y*F9WVDBM;(%X/7Z/S0X+^A/%G^+R#,:^+'")-PB.$ M=Y05AH)FU%RO)W.3AKX*-L;A]34".?T@D[T-8?UD4,X[&07A"]16MJ)N;6=U"_NI#"H<#6>&*U/I01.MKR'.4S= MP5<8'J!XMBL$FB::"^LXQZ5OJ8)\-,CA>Y!_Q+^8NU MRC!S%GX]T+\<28B/WSD2@111@1TF^]&"*V9 MH%J'C/GB%WM$;MC]X0?BXT@3!(]T-/0NOR'5'2187#^^ MW<:!"^]PF1)FEAMQVS/%36%;N$ W+R]Q]"UX=E+X.0B#Y\-SKN21FJ$[ .Z( M1'LV;,">V6N!_"_HD\/>B8$7).X^2@XQQ,XK-^,[.'L0[?;!(S5>=F\@#9[Q MVD4T+[1-X!W@CX J QREL3ND($A &*5HW3\'N(I<&IV!/5($'U(8/P,/Y[(_ M-8J^(J&GQ4_P9OR"QNNI_ 4K7L4//J&_T(?Y1^C_=HC]+_\_4$L#!!0 ( M "F @5C_R5LX#ED +_8! 5 =&]M>BTR,#(S,3(S,5]P&UL[;U; M<^,XEB[ZOB/.?_"N\[!G(DY5\7[IF-X[E+:4+J^N M?H4JO<,>OUH#^W_/DZ7EY]2_AOUZ1SUQ-?KX?SZ\^K8HD145Q]9@M5J0KQ?]W M-4G#7ZY&B\75C-0HKF:H0/D;BC;-+9+TS[^0_P08WQ46=%K\Y4>1_/6GY^7R M]2^__OK]^_=?OIN_9/D3QH-!_>W+W6/XC/OUH.+EXD?RG*S]UE82EMUAL]N]G:RI!]?ESB_Y+UH9C&TU>4EV-- M2*SL%D[5UT>\4*#G;!'A56O\WZMD^=ZWS_263M7W:U@\WRZR[[W%W&C@V)[> MH"+,DU?"W#2N%M.NWC$K'=NCQ]7+"\S?,3UXFTAB//S3Y2@,LU6ZQ)O% Y9* MF*#.+HJUJN.;0FQBLJ5JVCM3($"U[2VLJ>04/CZYQP0P/K0IR] M9%4:7B_B7#$ZZIU&"^$66&?=LVDD?%WNV=S VHE07]LK#:BI\"YUE KGV5]O MT!(FBX$VV(/&SHI 'Q2"+@6#,2@&0PJ&>S*MELD;&A1+H]4!M3?.*4"O,:P% M3U2.?+5/H6-R"HZCZ@E[QRU'D3:&UHJYAR"SVHEZU;FR=M4[4;\Z5\NN>B?J M%_>(XZT_S'F'PCFCSIG9 PCCZ-#6PGX1TWS%JGZ1._'/FJ#V_/ MX3VA=E4\6<^Z3YZ=-4_6M^X396?-D_6M<__KKGFROO&?8KE;.(U%D7]IZ:Y\ MTAZ*+#0"K9S-#LHIZ+[M#6P)%>LMI=: ME#N RZMQO!]X3C64JL,WQN.PRRU MRO"]Z5R:&56&[XW @;JSZDE\ 827.)%&Z#U^S5&!JY>U[_ /]BJ@'TN41BBJ MFB&]Y_'K7B9+4E!;_T^_^GGWDN#GJ[+DU0-\0E>3-,[RE[570]FGJE>++-SK MR((XLF<'?N.D'P7N2.FN7J#PEZ?L[=<()>0-@4G^4@JL%!;^!RB_.PJ*/<>N M!0S0HFP?X#('17X]>9_&*1;5^PP])>2;Z?(>OJ#VKK67W.]AGO= DM9%+UM'=NOCPI\XGX>MR MABPF>##_^+_HG27B1E$N&>O29$R!=E8A5[-[CEMLE^U^"2Z1&A)$V@;DK)(< MX:]'I >W"_C4+LJ#(ERR-"7(LA6*A+G_+5NLL$3R]]MD@0]8K+G?*,HE7$O: MW*= .ZN0-Z>2VZ0(X>(/!/-Q&I''?90=EEJ:2]2V!%%W 90PI']'B\7_3;/O MZ2."19:B:%(4JYWZU3:TJ56XY.Y(&^(=4"4(__$%+A:'3Y;:1'Y0D$O0KC1! MM\*2(=YGS#BQM<.4J:?ME^,2KB=/N"V@),AVC,^+3TGZ]#G/OB^?.81,J< E M;5^:M)DP99P^UCO(#+UF>7F!A&6U8BX=M!I\9Q%Y!SXV4BEGD@>4)UG$5$HH M1?F$+>/DQ\0F88"7ZN=<*\TE;QLFQ Y^,[3%[>A!;3U;(, M2X,W$.8FR:S'QX", R4_:@ED/*R"11+>+C)(L9&W%.,3M;PS9 LF*4O**$U7 M<+%6CMCKR7Y)/OG*.#JRD,FQ0.NE^&YAY!TFFX@DB)6X M ^1XGI5R*>,H79/713G>OR/F56U'13[AR[M6Y,(M@8\Y_#&),,#RL1?I6_>8 MIU;AXT#>\;,#JP3ICZ((2ZG8_'&7I$AG2;ZU.)_491Q$.S'*D_@U_NLTGV?? M4PYYUPOS25O>%285GSQ9EZO=-'_(L[=D':JS2^"-&GQ2EW?X9".5)_J'#!^! M%_^9O';MKNWE^<0N[R#*0GG>2WO2F1Q!NICW2_ )5L8)M W)644Y">-\M(H2 MW,YHN43%6BST(Q"K/)^899P^NU&>UTUJW97;)'^91.UR/BC")UH9I\I6+&>5 MYEU&[.[/6R3A TA"=5:R/*%SE>'G2C6!.'*+;Q=HLQ2=6&4=# M&J*SBG6>0V(C?WQ_";)%NTP/BO )5,8YKQ6+E$$Z_A$^P_0)T3W0VTORR5;& M:8Z%3(HA:8E(3Y,W= .7<.,IP;8@M=?@$[F\(QT;J0P]@3ZH]PKP"5;&J:T% MAPPYWFWR23!EN2O$)T\9QS$*GH9,_^W71M?O\ ].\GZJ*]E$[4V5]C@MBZ(FF1N\%Q$$_S7-L>=0PC;LB!T M/-_NM%&?F:-]";/9:$+9WN-)I^1Z 0N2,X6XO(Q^)#S,'%8!OAM;J/,XKS!! M5$2U^U89+-7[=9.]P*1MD]\4;I8%D>NXL6H3ARKK5HH8J"1S\XA(P,C1 VX- M85TZ*KOX!5%,-944Z)6 &3L6LM5@BR'V]IG$@:MV?2Z/KT]]^&JM!-Q(LZ%Q MR7RQ<=6NVF7PM8Z!)XK!QB: M'6D- Y3Z3'% VKWM[\%3,UH/^0FHHG^_TV5.RAT6 Y[O&8YW06)FHM@]Y9E%@2+' M4!%BV&AVL0'D:F-*,R(+QY1'1CF(7/^"U.L;3%J.0GPAL>:6O1:(' ,P[S(&<8!:A>Y0)IRQGL6;2D,;-?P M'45N&(35,0J66DP#&9P+-A^4376>VB#T'4\5 M98+%1"MU0@AK(1.DS*]U@OGTJGI?3^&NQ[CECIK&J@0@YCJO($4B8 M/3YHM3@,RE@8[K,T[&5DV%4$L6':\:52QPNN%MA!\I[&0UEK<>!#2YGCEO@< M8T*J18*03 \7*2 T0]U1Y";B&"JV0&J!("Y+M^]B;8/3C_0@4,1V)+[([6.H M19*X+*YJ(?OQT:.\ =M+]]"M[O.V !S3-+M?["C*MS#*6NP+R;QN3 9"3![4 M 39TM5B1"T5A*KH(I8&MQ=20J5T^P'>B1''?7.V7![X>.W[# KH5R46A;Y3*U=E4%FF5!I(@?'A\;(OMK"]!:@!@Y:_$V M.^Y]MD35.8RUZK96 )&FQZ9Z=@11XKK@U<+.*+.8"BZBP+!\TU=O*Q2EB@VN M%KCFLK0C+NM _63LN)&GRD.-8>C<0JJ%R+DL$ON8VQGV3ENSXKAA\;@XBCD0 MU@+X2'((K;T8ZG@"TE(8Z+H3>8HHIASB;J6)A:L6"4C6T7$3P+Z8I!N?GU$4 ME8_(X>(!)M$DO8:O"9[^[),C;RL@,.U0G=>__1CM!;@6HTB*_5R451J>" 61 M%EPV@5W8:C&/+NV>9$;21ZSHJR=P,'D(*!IZO*^)G MS!![^TSBP"7YK=K@(:1BS=5E MAE8N(S:M,HAA;%PJB2+XY(:C:F35':V6SUE.!AP7?8>5@&FB.%1-6Q2GC8I+ M;CRJ1@\G1;$2HFI= 82^APQ%MK>C:3K =%0HJN$I8F?GIF&JU0*1!>U8&3OC MD62U 9,;XFI?3Q+?S?CJ ]/7/$N1(+*B+ I"/"HR%B48'+L++>R06NQ*P+ L M([PT'4, E]Q 6/N=Y%@:]#C!TY"%% M7#:'X.L EMP86&T=Y%(X.BH"*_0<^(%8:\/6L#'*N9CL\N)C*Y=B,RXE!1E(ZRMXBUZQR6!%&D>8$B+A2= M4J9H;!1(TH.?YRA,UB),H]'Z+H:6TG%[@T.MA-561S<5>2+:CRD>='(#HS^B M!6[N:0.+=?M;+P<\TS55"?S6CQH*(+E&H!F6'\;^C-'<8,5FD95!I#O)858# MC@4=7Q%-KQ]7?/CDVH'NT%/75K0M O#.:UJ*>"/UHZ2)18'PYI]1BG*X("MM M])*D"0%"$D5W3B">VL )?>@K8O_N1YH03,D^9=O "A5$!GN'10$R8RVZZ.V) MCJGF.W99QZLMI/6!Y X?'#DXW14&MF<:UD5O9"Q4-1^S"^.5K"IK0)R9)?8+ M \-!OJ>($>2(A96"2G*,]$FZ1%B2RW7ORHZR#,N-PB!V#:L94DIBS%^*G%N) M80&2'!V]ZEJGK7XH5T>6FK!PB[[,TVU_7 M.RFE5B'OO U/$253F-QN6!<;9'VW8=]B,:UCOZTPS-T5Y"<49SE:EYO#'Z@8 M_\ BPX"3%.;OY44L":.":V) BU)"ZZG0=<]WDH\"2]/="U[63R^86O3W2QRJ M&/1F\GW"!S[FA12E K BHW#F[CSZT&L"W;<-4Q'M(F-9.5)+CN!_V[Q,LDI"?I+(X M,"/D1(IXK'0*G(NF?5R2X[D+W*_),Y'ZO]\-;BOBO$]69$ M"GC/"C8$K,C0FW%W/P#?G8@;$=SE^]B6G6V- 57WM;7Y?6T??QO-QK]-[V[& ML\>K\7]\G7M?9RVN6DC60,Q106S5@N@&$BFQEO8AB MHI)]M-OO6U=4H-;BP#%B/5;MH2E3ZNWG!B:XXXBBO#%M#7134,/(D#JL*L#4 M'.@J,]=!#&K M <=W(T<1.W$/LOC ]]#<@4IR-C.^E]Q[CYSQ M;UU/$3L50]-N5_C:@.R>-8K-L%>\&V;$BI OE4K-PM+B&Z&<4>S%JEBAA-FD MP]D]D)3 *463W"T>*"UH#X9(R69!$)A^H$KN3VZ:.K <%3:+(N.:!K2>Y;=9 MCK76MR1$Y/WF6Q)5ADF*[/D; *[M&($BUS!"G/3 >-0[R".X&KU0 C_RXE@W M &+=""]NT^J)\:CWD12N?H=Y#M<90:>OI>O1^ ?*PZ3HF$Z=]8#K^Z9RH:1Y MF.&'=HK05XRO,^=,9ST0H]#T%?%3'XJ0 VARGS_V;Q?9]]:P60[_5?[UZ/&WJ]N[Z>]2PF;5;H>W@(0N[ANU M@.4ZOB9O\R,=JE373^]?\?8\2;=/!D?A,GE;IY[J!"G>%L!SPU?N'HS%$6U# M[0M<;@RO=0@EMMZS*P-TJ&F!(J%1CI!Y*XQ+;_Q><96Z:@(MCB-/D9CV M)V6P='FCQ2+[3CJ-NWB70:+_ENH*$0\1&M9?WZ?Q)QB1%'NL M=5ZH'6#8Y"CWCSI0>@I+W/ZL3&R<2?J&Y9OE[W>3VRD)XYF_D01(219=/\/\ MB1GUB%T36('OJA(I1\*:PRL>R:EFL0!R,L1OT/K/.F1R'N(PB'$W 3P?(5L1 M&[:,(2$J)\EI;9L='H5EUE:R&*+DC?UND:9*H2"_MDXZ$-<"W8X>4/A(<RIQL.% P7W#$Q2;&&_2:%0GKH$*O W07>K8B5R$G&P4-M+50C&IP6-[) M[/8P(2X/ZP(GCFU;D0O/DW%*12T>NU"9N=U49AXA2PUL+P\\"X;>Q^*_ VDM MH.&E<4X9V0=2$EX/#NJ#.+"P5ORAQH0@T]:P*#9,'I7B/6#M"= M2&MND1]MS/!(0'*P#_JQ]P&^][44;*H" SJN*H[+/>D1M!4<(J_%IK@T1Y=6 MD/D*]W\G+L'!<5 ;:+$9V^J?$X<9'S3PQT7*H#UU7!7XS](7BW: *Q_['10# MNNUHEB+/?@=AA(E2XB@(I[?-*=(4'0*5F*0+@9ZP\)H"SA:I >*9,8YPQ#B M$44UE"19^;":N;D"'87_O4I(1HXE3)\2K'IV'>H[JX+(B'1?$;J/H*B5&)9X:V(@%= MSC2,>,11/;&39%C$70X1BLI,8CM/WLJ#E['Q,.N!T/%LQE8_9A[!L^;ENK A,ZNOD/0"\;?<6P) ="?N!#K.,@"CS?5<3F.#3G M/<10D2\<@%>V&D" DO\3E?@-+E!YIXZ%E(18JR6_P.KR_@]J)==.UH>G^_&/ M<+&*RG3MX3,^IZ$9UI#'<8Q8*L1Y^P'BB.05^IC#5Y(HJRD@_#S\HJ? B48T M"(S 4<4"K-0 W4JF&F_"AF$U(C(K.>IBW]%B11ZCJS7J*LE4HTXX:;<2(>U6 MKZ^+,I@47%3!I"9IG.4O:VZ[ X;Q-0!TW_/"#[IZBB=^GZ4A1K6S"Z;1=A4IHVIR6$IYF\"C$WE($3O[(+R*0Z_B30V:J>L! MGUS*2Z!Y#B/T O,_RV C,Q0N8%$D<8(B8NLI78>IU[*D)?&&0&CKFBIS59R. MIH_6$2*HN-TJF^>+!'N#BC!/7MBO[M7/5S=)$2ZR8I4C M\H_QX_5L\C"?3.])R-=/7Q\G]^-'*0%?I_D33#>!O7[Z,9G^4^9HGG^\GMY/KT?W\:G1]/?UZ/Y_GF9\7UVG>)Y@D6M!,P@MIOIO*2!X9B!K%K L%P' M*3+O>,1..9UR(+S,Z?8-%\P:CT]J,T[7#F<#9;M",=W^V MNRY*][ATU\[*P(QL7Y4LX_UHH=V,<4._S$E\-QX]MIXB=?-PZFZ*2AB^Y=-7 M#J5UOQR 5A A22:;=5>F\1W" P<)S;?.JB"VW-!5Y J,(O/6Z<2/[#(G4RUI M0Y6LX0:]H456:@![R1#J,\TZG&G7HX?)?'0W^4^23&]Z._]]-!OCL^2W\=VT MU'>OKJ>/\2A^O+5!]!#9C-4_'D@DCC)> 8\UYC#.\EA;X5F=.\F M@1-'=J3(3!?DKG4%.%X2%[HR+++5!F:2/FW"_5]GZ=YTJ:\)=F--N)M^O<$3 M_\O#U_)JY7$\^S:Y'I/,F_/9Z%K*&7B6%'\6I4TCQ&<>F*1\K^*8U8!OAU%/ MGS!:^!B6\/DF[ DFC\)+U"V\QT M&C-S>O]M/)N79]J;\:<^,Y$VCQ-ZS._C:]NQG/'DL;[OP/ M.9FA#W-Y\^2%IM4!D>GHS8=3LJ#<9TLQ%96["6#$EJ>*EP ''^U> L)H#Q,_ MGW-+>GE)UCE"2E6Y]&A *<5+1V]XZ6"5\NK4#,@1M"!DEP&N'K*,4?%V@&&Y>NJY-_K1U;KW.TIA5H M[;K8-N\;3C_5P7 ]ZT>?9^-QN0@,JIZV=*Y;2V54 H%IA3UC&0KULO.PQZX% M-,V-I8>.%Y!GR\F.$^%E3IQ-B-I-/A."L72VOU[E1* M07]K<\EHN/.,KJ]G M7\75U_GHYNKXCM/-..#8=(?]#M!L+;)DGV./(KMU4SZ1E"YZ[=F$ M.FH[%!L-QZ9JA?E]-)N-[N6M%-V+17MYK+UA'B0Y.GQ>02)SQ.46WU(8 M^+%MQ(IDA^R0;^M$9&&ZS-E4>_;:-I-:/(SPB7=\-1_]39:W^Z:_8M[NU$I MMVP]DI> Z[!?7!Y#]%K M$,K4"0$ H_86Z<9%\++G&]5?@%\/@@1.2*0!MMF M7L-!Z/KKXQQ/O1DY>EZ/R>F3/ C],!>3AN:&OJ1'FWMDD&X*&HZZ:X/(]EU5 M7J'P$4$Q#PE@O$D_&4TVAX'/$_Y;SZEZKA?_T KSI=!P:1)!?!O1?+ M9<_>^>8RM1;0 S?0%=%>.:1.F\#= ^O8\[]1"+)\G5 P%U(AW MWVU&]UHT M!=8S";&60&A'T%/'?M"+X=Z@JYCB_[AB*N M\7T9HT"JP@[)X>,6)ODWN%BA+PB2;8R,FO5ZP;V8([",3*O5/R5 ?0<%S8L&%?%K%B2#>D"H<'E9_$L9;%FGL4T.N M&/E^H$A0S[[4<\#;\"T%L L>4X\<5KP8)@-^Q*LD"MWVRM7W!Q$\JH! +D1+HBB1+Z*DD%^F^TQR"O[!6#1NP\N'3O)I'48E?"1[L8*N2? M($:5 +Z*D M,93[>6(KQ!A*MPF7E9K!&2I^ZS&I =S0S5L3ZWW>*\B&LF)=D M1=K>' KHM.TU (*&ZUR\3ML!KJ)+DI%I#/,4@R+I7\KG+MRL=50$L1$BZ\)- M];P8*PXEV9%F>,M.5P@?E;.G-!&Z;>FL"ES3T:)+W3"%459,R@J$2D;9)ZQM MEXH72HMU>-_73*FD'86XHE&2_6@4E<^F"]S5,A .]Q;<41$X@8MU MQ0ME5!!CQ:%D8Q+>)6IFD,T;FZ[MEJ,R,)#I-U]I7A:7(C@KAP9)6:VK'!]8 M#PB2=)W>H(M&>AV2^]MV+WPFC^(M@0L MS8NL"Y^>O4%7M&\'N&H.G_/R%KC-W;,13$K$W7/=[$=P]HSLT&QZ.)_)[/?R M"I.\W G*[,#%-#VTGI2"YK$'BC8% CW&'5)^WE;\M!L*>Z,>TLG[S _RD@(^ M/>7H:9/%:&.GX1TH7-6!X5O04?]RCCDXQ) >NI&>\RW;VH.#N5HW HS5TK=( M78X'S^-B( ^?;"29$L-G%*T6:!IO>U@]0^:<7KPM8)AZY"F2CH*'CG:KH2C: MRWQ;TY:9@CY5&['-VO-32)VU)TU485N&)RN!,[5WQWB:U6(0A'KH*>(8S$]$ MZ]P50'N9L_;0Z$F?L8WP:(V$%%(GJY3,%*;OF&:_-$X#;L.W29HLT1TQ;;?2 M*;0CH_>CK6.[%A>%W,=U=44C0C&]]]6-QZAX@/ERE[&X9KH3 MU.(&^QQ 412J8@H]R:@ZA;#D/N^KL&6L&7.[(NF 1R]9OMSD'=X8]D67J"&^ M C3/#'U%GA:>8)0-*J/#MXIG3+%3NH?359)&Y,9UHAVI>DC/C#NQ$06AI.- MV15R>\H[%2D5@![:L2H^/A3YMDZ;+CQ';>L4-XY-6O3TJ?QX%=SMO9,"4IFK M+M"@Y;N*Z&=<;(A#.VK?H_G7D ^7$?5;;+[JX.J9)$N U;"[6 MBI,X"&*YS]K)H[$LWU\B'N#[.OQN]@FMG_2BZ O$&@[/8KJ5X3'M@CB MG%) M"^VPL'>OXA7,&D=5'LU&J&*^W'%2E'?YG6Z8.40?3)W(@*?)A:ZIAI>](<4YAL+9"67J,I M7KY :O1J #F.I\E^#\DC\=8]D0^;O)PVSE]5V2C5X\(F@V^;ZC !RYRJ?SC%87EV8O\:+I:%DN8EB]3 MR.]0'B9%B9]W!$GM%S"BT'45>5O=>T"J(4(UKG4VL[*1]&T3):"8YK/DZ9F= M&*A]HO,W"5#@F$@1GY*!EKD>Z$]A7-M^E38X/[T_Y$F(9F3L4Y1;H3: ZX>: MHTCT.&$N^\,]M)W)SH5&5QR;\>DI&=%.A1V' C/::7H]?7//M1 M!G7]DJ3)R^JEZL+6@,9CSA!M!E@06=*?; I(O#EW>D.6=^;BSHA&GU&-L/%B M>=%DOR4Z?X*T*'(MIY&"\]R*SV%R+CS6&RC$#W;BK6*-T/)<16[6^Q'9H1$= M(1/I"T,5+HL^_1O/" ^3EDF=X -E+S,#W].ENSX>A##C=ZQH#$F^EH#A>6&L MR"NP#F8ZYJ @8'GSKI;8C#[G6AZ#[=*;27X--G">,T-SS%BZ&SHQE60IT>"( MD^NFMQNEZ1-*49ST>" FW"BY\D:N(J=+'M(Z)F5_ :CCC$YZ_0G%68YV L%_ M%,LDQ!O]+?YY\M3M8M7B2=VC8:#KOJXK/CB,D(#=%S0["S<9= ?=]\T(B/>[X M)=0@L PW-F1?9P\W(/J!EV>ZY O@;OJO(C0^'7%OG73NBOKY82Y0?$U2%8LK&?22] M&RV7>1*LEN4"D&&M\R5+Z\XF% LV9VV@1U9@*:*5"[/9!ZAHPP,\G6"1A M::/;K84O+>WMCS;^B%&OWIM.S0>#HGMZ\,KSX M$76L.'9)#(?3&6D["?GE>F5$KF6KDJ3C6 DVE<%]C+OD@6>>NQ1V-HL-A9_- M;T$4.9&IR+W5\ P=HMRE +RD]R]"UH_=!5_-_-&(VM3#_'&E?P0#B&\%?B#I MDJR7 <3U',-2/^%")5<. TB%2)(!Y#(/6K9C.YXB_O1]AT$_Q#L3B@IV,@[- MOH9$I^R^@JT (_)"6WV[63O[QP"6:U)IU=\%[63 BP/#5]^"S9RY;&27:_GFB"_\HX MTS3+ M,(HE@1G88B838;32C;=%32*:GBA3ZBI_63G!\)#SMMU8"CF;:GB(FH M%U%,5))3B&WZ=).]P"1E,%0O!F+?]"Q%KECYI-Q.4"NH4Q!2Y,L:&?A?.R+P M/W;3YC/*GG+X^HRUA 5ERN#RU.(@M .C&HX8FAA%I?XB/XE*98/L_(AR!=$SNH40T9[8>"Z M.E0E8TO[*M,T471 J60]:/C71Y2_)2%YYS;/<>^P9LB6-J4X\"/3C11Y&,@M M[RXPE<0'C>OZE03$CLK96#!EW2P(H.Y'GNQGUX)29L"HY#MH'(E)BJ?1.D ] M7# %W%(2A"AT5 :F2>5D9=,WC*U MF&JM1C3?/J;:[1<^@LDVM!P$^WE]R3+9FIH?0$4.T1R2Y3'95I NW&2K&9%O MJJ( MTN8UV1;09%NLKU>P**8QIMP"YN@;VQS+;4*L* =JN(E(D)0-R+)9MK6 M#G89;1F5@&=ZH:;(B;U;^ORD'<"33!LU<>>G=Z*ALJ<91V4017%TB2NB"+93 MF'^'X)!TM&L*"0(?HDJ8:&T;U(..,PK^'+V@:[_6)=:E"+0X"-])=V=Y.;/$VJ.A&%[D.JJ8405VI4Y U?L-A2CBV878]4!H MQW;31"SIR5H7!=S$M0"43-_Z#<+N,$@^0H3+G&2,2L!T;2NXP.,6#R;9I@I* M'[NF&K,:L)T J1)SG(<$$?8.(,KF;]N_S3&Q?+['Z89V6 489N!=XC&K&U%% MDR[7L%%VC-.>42N+T4/-4^2U=;>P66:,-E2RR2&'.**W=M@I:J5 Z$"_&7Y7 M_9G2"J*2ORE9_IU6AKUR((Y-W5'$/;-5KDP&#D#(YF"3D?8!YLOW>0[3 H9E MX(<%@-:!.WFP>O\!M)NHV=S.EK3,+XF&!@21OB.R&TY2^CI$ZK"K -C3+5&2P4TZ/3:ES(=K*O^$& M>+K;T9LD1R%NBLH'+K1?I@S;&"KBJ<@X.C3N0BDPME)O7!V>S=/C+2FPU&XS MK*:L@F6\6E3['-/%@UH+Z,CU;=7LDW<-+\1V@PP/,+GI74:+1?8=XKGX6)6"G6$9YV^(>4%* MJP/T0'=#V<>@GKQQP-H%I[HT';N1_X-D$]G\;)-5JD);Y6"$BZ)*"=<])H9I M'R#'-&)%+$VBXV=@$1SF7CGS.A_A,;O$FU'ZM.D[8TUOE 6A;D)#D2 \PNLW M'7ZOL_PURTOI/N3H)5F]=,XY[ M7_H,/0KM+AKW<$R.7C*\6O^]E-DTOH:OR1(NDK^CJ.4*@5C9:#0*MP-LZ :6 M(O>10ASVA[HAL!'<]+BI6)J&UDO +"G^?$ Y^0%\HK[-IM< FA\&AB+&2<&) MU0UJZ^(G22E,ETE$8H0F;^@1A:N\S!TX_A$N5A&*;C%\DK5VM=P,K,/PHGC8 MX3,P0X\;&N7:@!:%@);)W99!GW-H>?IA M'3#T346B*XL;^+B@5<0)1T"7;V>HJ0?\C#,J <>+M4NU!/+@VGK;*1,?Y;#3 M1,U#T3=4T'/+,.L -[1=[1)/HWRP*@8E9,FM3);,5+B6?A@C97+_;7P_G\ZD MY[K=FER;B8TYS,\MV9 CU\9+J&13^FV2)L4SBCYG6<1C1M\K#US7L) B)G0> M4;-MZ>W8Y-YA;3LW@]^_X.4@3^""AZ=Z<1#J5J"*M]WQ-+5"^U W4U9L.NH\ M!#N6+SJ^OE=4LG,L;:'=(YZU'Y<"81@[D2)OQ(ZGM(YHR/PJY]-&UDZD&_LN M5_0VXU SP7K)S71V=3-^F#Y.YLJ$:!O_P$QB4I(4YN^C-/J:KHH57)3Z(T$)WKMZ=UT"F)[CJI+K6TBNE"O; UB'BLGY)D_E,5]W MEF?H].;AS'F831_&L_D?5Z/[FZOQ?WR=/'S!.KY<]9[Z"J![SG16!2&R':UQ M@W*F&\!5GB9+LL:GT6WR@_RM^)PS"=./?7C$ (R-4Q61[S!RC I/K MFE5&V29IL2AU@:X'C7#A;_"B/\N :X'8DQ3A6Y5/A28K1 M/F$Q=W''J 0<$VN7BOC9'4D>#TRY?E]4@!T$LNL!,XJ1ILB1ZMCMBP_I40Y= M0[PJ7;VLRKDFMFRS MF2#];+;.[>+#M'=N2X'8#@)?$?\%?N'2#)Y-7*>PR>R[F,Y1BKM;T\JW;^2X MG''IU0'40\-2Q(^Z+S>] ,M+WC/!;:1/2;! ZV=.#"NUW?0\F8_N/T\^W8VO M1H^/X[ED_Q/BE? ]62PP60U4 AXI0LT !%U'EW330]PQEN@.[RJ-GG;9KSMJ M@M )?*3(,:8?(>TF;5[<WUH/VML4E0>E@2:8?B&(N>+(3CJPGEH$I>^0^IM6Z3#OT5>Z?\XFV2, M3TRR;G4:H )]1U5Q$+;3\*6E?&;L"R?3P;"\/Z M&4V2/E5B8-'971NXAF-\2&8%L.]VN4NRX5#69Z-M?78%UF?C'V=]]@P_\B6Y M&C"TLMM5Z7U24\@VC\F[\1_3*@@]R],5,=3W(U)4_^67B;H'HV;G[_$J,O^. M%F_H2Y8NG_N=ASG:!4AWD*7(*\9!6!8^/PD(2:YGDQB(/Q#,Y]^SH0;.ICE@ M0MWV_CE>F+(YR@=*QC#!7V8%A^G7(# "Q_,5B:&EU%#9DXY<'R[QWM]F*T9< MY'[M =^!EJU(!!.5ALJ><.2ZC/7H?.T&>I"1@LN".(@]55ZE*C52ZL*1')9, MJ/.C>(GRH8?+7J, ZM",%;DW5V7,M$M(KD,< P'3FXE=#VBZ94?_R$M&70@[ M;[4/8"AC.CIY @8SN3Y.;\< ML$*D18HDBZ!(LWW@M\/8#?1+"THV?45DFTF?2BF4&>.F\==B/9/I=#*K 3N, M8:A(#G<*8ZWL\J$:\F+OS.M+ H/-\TF.1:99&!B6%L6*;&O.^J M>T3%5< M\H>BO@7>SO3X0=@7YIP$@;?"#\;T%M3.8'A)5H&];4Z.M=1P\)'DR]CQZ M1)9O-V,>R9A'G0DE6HL#O)<$AB*!TBBRY9@^AV@4.7BW>8W9C9"KAQ- CJM8 MSPD0!Y89#)I^8Y_9WQ$YA:!HA-7\F'(52KN?5'<*'%[3?>3(G2(SZ&5PR5K&NFL#7 C-2Y"D#%XVBP.2] M[MM;V\RVM:T1M/%P;3,O:6T+8]-#DH(([ ^$28HU2[A8IVHE:5$/!"[_3N%6P(Z)$# M;44>$9UBK!SBO.![!1'$;,]>X:9*@U%32_E@PV0/Z>6F6A;!S/;J%6T)Z!"& M@2)WDJ<:)GM +_=Z1 @RTT53M"6 8L?4/[!^T@!ZN=N;XRWB_'D]Z"K):D M^EC>)1GV6:]A[$;8WT,#O]PG,#T-_9YC6FZ_I],4AP!R8U-^A'+3O_T],)W( MM]6\PJ_$TKS";W9?[MW\*$=P&M_!E)&5>U<&6'YH(C5/@.TRIT.0&TMD?UTL M9ACN-O@)]T9Q4 WXN@%5RJ(M M0>Q* 'J69JOIDT)?ES@QR0V6\7N6_XDW>Y*."0^.4I25T\RFK_29TUT7!%%@ MJ1)"7&3Z"$"3&\*BLJ?<9OE#GH4(1<4M!KX.VJZM3!Y M%(1W&&3B?%KOYO2=_!U%54JT&_2&%ED9Y)ZXX# >H]J-6/#7HX?)?'0W^<_Q MS=7C]';^^V@VOKH9?QO?3=>I,*ZGC[(#Q-<@'V:#PWM4M][,5Q\$>A@%DL*& M,+K8E9BLHR8(PC@V%+F.%&2"97[J!BQ7N6=T4S@6O'A;P/,\UU1$$3HQZUTB M$/9V\=2)L2K5ILP?5=\ 6BQLU%KH/.3;J<.6%HN??LYEFK$:4>L'- M6[*9ZTS;N(U,O1D2X#P0'_%8*5,%S6&P8"C3^^6 HX5XXES4A*RDW#HA*?"V MMPN->%1G9@?/933!?V6H538BFB[(B3Q8-JRI117-QEY^B;,UKH:<$S#-Q295#PG7>^L#Q?4N5#,E\ F]:6L715J2=,"\C1Z=& M-Q3Z>K0$+ UJCB+7V8R]J,6#EO3^[7F2KC2J5I$^/*']+0E2-6AZUOY'\ MY/IN^O4&Z_9?'K[.)_>?KQ['LV^3ZS'^R?U\-KI6)GWM+"G^+$9I]#4-48X[ ME/*%@V)6 ]#SK6C0A&YU>^\!/=-XAD*4O)']NTTA(?5YJX/ ]L) D4A)?#)N M3D%AL'*-< \Y>H5)5,623:/I\AGE79$V6;6 93H(*N* V8=%$8RG2)\X2M,5 M7%37+=.T&CZ, !.L*@ Y8:1*$*J^LXH+H-SH<60_G<8DL"L!N)GZQ6.VX#5A M<]4'=HA\6Y$@.4?,+D&TAS?[9U1.LO0-@R,1=6]0L&3<'#8B2F-MX]MX-B]# M2M^,/\V/NB.DG6[VN\?0'4KMOKTTB%#L-^W=YYHWVSX]K@),=)*22P72OXWS M+1X@.X],#BMHOP:!'6L!E+U.\K!$F5#'H99\%[CK_7VV1 5>Z8F6U/V @%D/ MF B9GB+.Z,<2U,4Z"[]<;T("<5(4*^(?4IXZR5$6'T]S%"7+$3Y_I4_E"9>= MQD&DE3*\4:2(L]1)B.\E#>''ZLK<\W[.LU4:;=R51)T#."H#&[J:K\H%TRD& MC(@0Y/I14M8TX4T Q+BDJ)DIXT.SKO>/:1?H MD>&:LK-JB0^#8<&?PCIX@XHP3UZ7AY\G8Y,R@UE5@&- .Y1]O=QOOG+ADFL4 MG.!.%4NBB$^_IRCZ!!=DZ7C 0RI,7N&B*P("5W7@>X'ARKXVZ3W7Q##*54UW M?2662CS._D#+AU4>/F.M^@ARN1O#H]H/H6R#Q@!4BR.6^S:H/&ZG&..*]'Z2 M+A$6>1D+N;X_=!@O.NL#*_:"6/8IM#>]@B#EIJ&MNK>YWR-]9TW51F& 3 =) M?VQ\Q%2D(Y(;1&BM9*V5+[P8X!4!Y>7/&+HJK0K6T;U0>@RY_FIH)RZY87_V MW8UNDQ0OX'B>E_9(.ENL6B#2-,^]6,*XH.W"_ER25:8<=\]XV\9'G_%_KY+E M._TJU&DDUGG\;30;_S:]NQG/'J_&__%U,O]#[HO)\H2W!Z?[8I%>!WB.9X22 M0HKW?5*AV[HJX;\Y)$LYI[="NO!G%*%G.;YL)9\M838;32C2GU%L^W:]@$4Q MC6'_J=W(FD2^8SB&9!$#E(=V6?5KOEUC0<,K#4XKP-F$9LM2R6 M,(VP*O@)/24I28,UC:DV@S*9%J,*0+;N6(H(GK'H-P7/A4KR?0K1?R: J)ND:5$=HBA-\#%BZ9ZH2S8)[<)Q! M'J>XC#FVO[=9'J-DB<](Q MV_ /E85*@+0#:4GS:KX((^LID\1!:7LXEF,OU MHQI:0J])OHYMS!BR \WMSD\#QW61JTC4CG.O?/S2$U!%J,UX$#-;09YDV"!%^)#C$X>_$?=@O5@N-1=$6WAXZ@) MHB *'=EFJ1,S=XCUJ NP'BQ5_^C#T[8N>7,?2,_O?6*FFFB/RG?1BRNL!?5D MJJP)3*@[ANS'EB?G:1_K2+TD#[&O[34%0D,/+-F6X?-M:NW@&[9- M!6Z/=W;PVO6Q+G)]?*5_A MDPT96TU%%Z0MD-PY,0Y%P1QR2Y;E KB!=^ 6R MB5$8RESMMTJ8]P*Y@B+] GEM9YG@]>X'BN99Z915C;7-B&/>)O/5!T'DVK9J ME@P.Z@3A20[4Q^KM''^WZ^Z9KSXP4:#IBES%"!(D3'(+[).$\YL1@RA)KOR0 M)>F2_.4_49XQKZY958"K:\B0;>[H)]^F>LB%]"0!^\HO3U-4?AC_.?_.P4E; M>1!J$+J*J!7#$,*$6;$QZ+UD^=E'](;2\L-D$#PF/[H)H50!=J"[INQS\*"< M="&M:!DTGU/Y9?*]\L-C/BB']7.:@"3#-P54F\-.S& M0D-:T3+H+57Y9;R/55L:UT1I*P](U#Y5XG,,0P@39L7&H#=*+6MF^1_1/:56 M"4#3LPU%_'].L:FT8:W(&?0B:?_;IO@DFZ&R(0KGX&N@Q:OX(+$+38ZAMQY M.P,0LFVHB'K<:U!*DI?*6"_.O0[2I2$W M8M& N%C."F<99JP.@"CV[/B2U[LSRDA>^'6JX\@NL'S-<<00QZ*A-EL-*%(=QS9O$S> M/#>>YC.RWG:D;Z15 8ZEQ:YJ&A,'0=V(U(@\L-]!SA $;95 ;$1:W%B7I3Z. M9TB?G[0#>*?Q%EY_D9V7<;\0"*(H@HK,#![!->UN%$#'1220?AZ0:FB+8R> MBOB2,/:H,QG:*FGL#&UB UT&0ES!?7O 39ND!&H+(@X[LT-B2!B5+'CM# MVO%Q\?X9W($6P\#U#5-33<7O&GWG%,P_@SLH&=S!C3S/5"THWIE637[I2 ON M('WP2M4S=5^+FN$__S$&)UT:?=,/K?7,0:2_11=_M#E MDM$NZ,>'/#@50LK[B8;U<)T INV9JB0B'WQHGT!.NX@G9SZ R1_:C>. I-$M MU \0>9;63-O\#S+ ^XEJ%R_FPRG(W0)KG!NDC7*AG@ _]GR%735./<[["4LX MS<3EC/2/HGM[>F1XBMQ9J:I[5S*J730.<9I4P(/);/-@,H4\F,R/X,$40U<+ MI65/[>7!%/F:TWP:K)P'4R59'@^F"M*%>S#IFJDKIQ+O2YC7@ZF"(MV#J5RV MR=,AMM?27C&@179LR0Y&V8.(=A22X]7T5R)W<-+H80'3>_C2&=WF%%\#EF6Y MJK@6MG,\L/K.(0O9HVK(G$@.;AVIYM4@LO!2$4E^Z7AL3B3?T$W5[/M46;/\ M$-M0'<=-A_MA]T/ZEI+ B'2WZ9 O2>"G7+WH'HQMXJB8&C3J5#V1$]M;M*4D M'G2FITI $,88;W&%88"IY#QH/*GJ6W.4&^JJ&*,DK5MM\JC(&C3>5/7%KG @C7(@L(S(4T2/ MED134Q@51\,F2JGF;T<3]1XY Y" S5B[O_5WC/H9N)Y8DK[[O^2[ ;X\V]^^S="VX]8WG)"V6^:I< M+<[Q#D#@Z\#10ABK0.U+F,U&$XIT;[A! MO68,)PB:]H8+(HB*2(UX7GV]9K3("FU5+D,[9=U*$0/5*;@I\F6-%_RO'2?X M'V!.=O=I/,$GO[O\VR<+HF21ILR;:C8C0 3^I[T;$B=;'23QPE3LKM@><2XP>.3PUF[ M*H8/.JX;JG8.X]B&VE%4<2=D,]"U[QP4!+[A^:JXS+=+EDW" 8Q3T-"QOI6I M2^@[R_;7P''#6#FOV([=I-G[ZL'^N25,O7"L>EG=5#M^[,A>5EHEUR[<@VZ? M0KPB!PV4)Z@8/536GE*3HXJ^&DST2L!R0[V924D9?]=*.VT_<'#@JOB2]9:P M[.*G/GRU5@*A$X61(OM!/[[8N"J^!G55OGY.4#Q]1<0BF#Y-XS@)4<[V#6=5 M 4Y@QTCVN>,(=;3I L$%M^)F4!?E6P* AL+PP5T76%MQ$JFHJ10=V)#T9!CUFP/WQ\9+9<'5S87&B'5,E_4"?A MMB]W>G:S*P'/AJ&FR,9Q' ?;<$17QL6=FAKD2(O&ON.]18X5="V05_YEFKP;9+"-$S@@O^@0*E"_+UM M)/MT/?Q!H0MNQ_SRNLC> M$6+/H(-2(-1=1Y<=KF?024-#6 E]R+2>';;:+TF:O*Q>6-;:O2) ,V-=D_U8 MFV*,;5ALV[M>B;G?:]U^8H8_.L5<+P*\*+)\5C0\H+]T'*6L)K3@P(LW1%5FW&9Y,S;6C$]%1*=([GI)-BF*%HJ^O M6?JPRL-G6*#RV]/X.GMYR=+R)$YA0J0)@ +?5N;1K0@[O5#*?=6P;WXONUF, M5LOG+$_^OG/?;1J1V/5 : 9QJ.Y#K78*Q:#U?3RPQ!JRS*<#;?#6 U:,[74= M+$H--N]G+I?I UA#^M3+Y[GVMDJ,[%I%$.B!%U[:YBF(K6]B&M5H?X#Y-"^% M%)4: T-A:I40K3ZP0]T/9%]Z#C((.B'VS>DB?RR4^-8+VLTJQ^-['1Q^/>SO MT??R5TRO=)[Z *$HL"]T01"$N$N (L5E?:<^ED.5SMQA2>"'=F0HWT9X<+UL71 <1JG3Z#!RB=1"C,%(X7AAS.@XJ@&JH#'GI>;2&(+JM M ]<,].A"#[$=D"J"9+D/]PU.Q])5.V;XZ;X)PL@-/-E.(\<,E-.*I1IL_3RC MU3HOG#I>5>_[,*2]4G&!7-5;6UMXPP M4Z7W)K,2T"W?C64%9]DI,M-@D3R5=-ZL\.'S$859&OV!(..%"T]MX(8:U&6[ ML@G00#&-"R"]W"BP=)CSYR3O/1JVE8%I0ENZP]WI!D,3Z,[KZ..,!1(!?_G< M=S#L:@,GP#N7[*!HIQL-+4@O-Q)J*TQ!_@$R?,V3;;8[">%;:#M')J4T*6:0 M3T=8I3HNTN<9E2M7-YWF6Z!S6G:LE>O3C:ZR>.$ M>1RMM#>N/U"X(NKG3B\AW1DODJ* __[X##N>&G/7![J/[%BV-L9>OIH7VN+P M*I8&?=!&'$J3Y1*AZV>8Y*\H+QA1<]8:)ZT"RDB/^@%'#,6&^. M!65NP*HC15/ -"!'O:(=*C+]YC7I-)^1W"_KU$73^!&OH'FR3%!Q#1<+%'UZ MWR8]7A=D'%:.;!CHT(&6; U!E.>!L4M.0@87L QSFD:_PR?FVYV#DL RC5AZ M])F>Y%'![.S64LZHZPOQVRS_ E.XOC"_1:S'=>T50.!XH2;;_MR3FRY,AX9G MA3R#AWL"IULH#B]M!^P'\7*?QE* EFXLZQ_C0?R(\KX6T^4SRJ]7>5Z"A@%YO(7W$88;CWMX MYS2ZOIY]'=]66 N@AK220?U'G"Y<>#*=AB,O>:1>5S6@>\B)/M \%0)]U-F(%I\?+E"!QP@> M+13?@3*@_7XI$" ]4.52;B@::!CE'G?&&V7I(<^B5;C<6#'>2]!P<=VY#?)4 M!W'H(JC(U<.0NY\0^-TQ2,JFMUADWV$:(JR WV?+$O5=!M-BAD*4O)$1V4DV M?QL Z9H&%7GB,.36)RZ!P\/->6DO838%(*;O"#1"XF%IAB(6WP&)[R,"N:%_ MN, ?>:(#OAL&S9O6BV=;#/PNJ- E/5?:8*PV+8:!PZ,9.'X?S6:C^_D?+DV2'U'OK5%E[?5TJO:ZOU M$N9+J>$7V\"M[::3-,P1+- -6O_)N"<2: 4+SC(C1>X>^HR+7F!/885X1$N\ M3!+[^/:>^/UZ 9-69^SR#$BM '1']T)%ME(A4CAQR;UX/=$*BR++-Q4YV)Y@ MA:W@]8UIO%YAQVDD24VI"* 3 MHE"12$VGGM==,I![=<1&WW?/!D&$SPN*6"U.3'"7"(0]Y_RUWINBI](=0YY5 MHXI%.*BR=T2C(+;-P%'$J^Y4HVH(^@TLWS+.K8? M3QIS-'#*8G=;=6E>NC?;Y"PUO:CWT.%I!;@F- )%;CE//H"$)#+D99BDM6>M M=?5?>YCU@:,'L:O(1G3ZM8=/%KM\&)O24%[BP>I#5#,>7FAE(:^+%KZ(HXC [/$P_R1B8'F?;]W47'SL#O M:EP&_BO]8YCX#1B%S8O$TEJ7R2$$(-?*WP/!1G48=%ALV@21'GJ6(B:F+-^KE$+X5++?ROB_5_C77]#RF;B"O.$B9&3;U[6YLCQ8;)(UC*N[J2)[6B%^_"^5YCA M;W5\X\"R#%^5FW_Q(7 "0:BPS9,^[76>6#Y MH:;*.WW)0ZFGY.2^^17 ,GK)\F7R=\A.?M.S01 'NA\U%N!_#B26K':>$S*& MSCR';V@Q2J,Q,=(M89(2$]RFO_0!PJP&@L!S[7^P8< GD9W'@T+K1/G"??NC M]*DCK8Q(*\!S=4>5>)>25P2V@"1G41%V9*'Y;D1N8+NJ77:>T]_+> Y=E^J(A/M!CMK2/GA!*2EDJ7>OOZAD65Y>\;0-1+U_UB M ,+8M!7Q?3R&<28X:8EN:9%/&^#6@9R^P9!VF"^#@'94 YH36[XB1N=CR>0& M>]0U!"]!S86CBK/!GF_B#0%',S#$#THB/_S+S3C0 /TYRZ+OR6)1^DPM8?I$ MS$CK7PGL[HQ62'Q2SU3$1?84^S8/=C5>/>(N[Z4&. MQ?J,$=V@-[3(7HF)B=BA^<;$L1\!KAGJH2(>-L,.F<%$<]1% "W<&,FNT;A_ MH.P>[85!!&W=4>2*Y]@=H@/B409USLU]8SA*G^Y(L+DR\U<6K_ 6PHRQVK:] M<;0$3,]Q0D5L:D-O[R+XY5K/&VAW7<^*XAKK).]QEG^'>22R1=,; :9N.X8B M&9)/L4-S0)=L%3_*(XC'=T4S7:0W-HN/0S$#LKA17+DH)UN8]XCCR6^]-/!# M+0H4L;*>@O@ZQHII67'(VN$));KB;P/82(/&!]BL^R.O^!XTH4S+M]]IN@/U MG'R@@' V!&(MMA6?K"P^F$J8J PJ2F)T_4R*.T M5TI.:^;!D=H0"#PMB&0G'!]J_!PI@VK\7'!PLWW(HL,$6![2-;5UOH%&PQ9J M1;IST:2O5\(:/C&U;[\B"&U?,Q3QWS[!,&!BKL;#=A;(=&JY)[<)Y,E=FW.+ MR>?1XP?:PJ#$N"%D:!IIH#(D/DK?.* ]]1/BQ4PS-> M?._K-CH.2M86VJZ*P'&ACQ2Y=Q;G11#D*9*0X"\WEMO))@M*Q&6G(LT(M@+L MR+-5"2)]G>6O&7D5 M/5\_CKY!19@GKXSKN.Z*(+#T*+KH*24 \O"1YOD4O^M5@7^ \NL,#Y9TN?;[ MYE$!K4,5\/KKXQSK@+.KZ^G]]?A^/AO-)]-[593!65+\25P3OV*8Y3L4/@LG MLQH(0R]N+OOG 53NL\2&,*=DDMX4W"\''-\((D44##[AMJI^%%3;BS%)-V/; M;N$IB3H>##7+ FCX6J3(ID21,)N-)I1*Q],&I:3(ES4Z\+]V5.!_@"_PO[*\ M6MF*T8^DC09\.QNYX!: M'$2^YIFRW3?9XFU0T8U&\MW]^ 9$3*Q*4 M662UZ@2T7;/4H6B.OT>=10Q1&.6#IOH=D:TX] MA4Q'4PEY4 M9C=."=RAO"@+?BF LVU_V^+%\"*>2\Z!6K!EZ0^D*,46\5P8$ MGF?:BF3MXUQKFV)NAU1)6%9RMKIU@QP['U!.?@"?D$[?4%FU@ T-K7D9)%G[ M:9Z_6C=2+F"'5R=TF]3F-^0_ 2S0__[_ 5!+ P04 " I@(%8)ABDFVTO M @!@^A< # '1O;7I?,3!K+FAT;>R]ZU8;6;(N^O\\11[WZ;7LL27,Q?B" MJ[T'!EQ%EPTT4%6KUY\>4\HIE.54IBHO@.KI3WP1\Y:2P$ !EH36V+O:2*F< MMYAQ_2+BA_][.4BC M?W[F'J^F/^\??5D5*BM[>3%0%4T#;]ILKZZWUU\'+VF7NMMX$?V]C7V3_99^N+YA?M(8\F*#9[[V[MV[EY?8$OO>RS*9 M]N#ZZNK:R__Y\OFDV]<#U4ZRLE)95[M?T<2_7CT OK6/3CP9;/OJQDM\W5&E M?S-]FUSS_,1,Z-NX:NZ*>7CSI7S9>#29^NAK>32QC\8ZF;[1]$6XQUM9/9@^ MV;@J7E:CH7Y)3^@BZ;H?Y-D-?I-G[;'?%;IWY:Z\?DG?.H(K\U?K:V^NVT)Y MPOZ@+MM%GFI/+SU5=OAI^TUCQ=V\SJKB*CJ4+QL_J*OBRLF\>TG?V@?+HFIC M^5-FXKYJO)GV:^P'T[>3?K/:7EUKKZ\%0TT=I#GQLGVFU'#JON"+QL-5/OC3 M/8D_5KKY@)]8H__W[,,/?:WB#S]4297J#_C^/VNK7U?H)O[P4C[[X?]MMW?S M+IUZ5D4[A5:5CJ/.* )[^*+*2A?M]H5OJQ>\CU_^>&'ES)V)X]'45F-4BW?MU6:G&5;O]=EE?1&[WOT MVZVUU6$55OWMWG-^V=1$O_C&=:S MN_\KO32YW,+$="'_3.)89_Q/>O6!4'^4J0'&U,G67D;[--JAU14JW<]B??FS M'ID57U;'N!Z?:!SL.,YZ=:W*^=]KZ\Q%,71R>=Y>>_UNX]VS#ZOT?QMKK];7 MW_SPLC'BU1/8II.)<3J?4G5V\X&%J6/P:JN3TW5264^E8'C!E%ZM/OO G]YX M-CO,\:M/2=E5Z;^U*O:R>)=HYDX[\HH(M"V?WW@"EE9E!D?T;1Y_HL_*N\U@ M_=F'3_^^X^!8_E\8>N/9!WQUA\&SDVI0[15%7NSD=!Q=R.Z'H(Y7UU/'IT+Q MT&:.ACUM[>2#04Y3S+M?CU1Q6)Q4X"F_JK36=%PG?56,4=BCR:W;R=59 M(E_\ZFPQH,O]XMG_PJ3G-3;I7*ZN.A.RT;CY-&6.[KOIYD?RI MXQM.;W)JJ\V)O:83WER5__NKLSNL*V@@4#.G3F_C]M-[\^P#Z4WK&^\V-Q]Z M=G?8O+>8W9O7=YC=$:DEFNY%?&<:_(]YU7].B-Z),IIO_*(''5W\S26[Y?Y_BY8VUV3^WW$)W]K_;RZ! M!-6K^YG_?EG65\Q]XV'F3I+N@2?^0)O^ZCM-_"\3/(G$UQMO-N]C\C<4//>] M@M??>P5_F7C>W _QW%"TWO?LWW[/V?]EZGEW.^IA6;L]R(LJ^9,]88>]4YVI MK-H?#(O\7$/MWD[3_$)<0%.T[/5 RYZJR%X]V=K;U[=9O)\@Y\5*6. M21<;ZJSD:6\7A+H?1_Z1(S7B%5RH(CXIBVY2 M$J?*Q**ZJ27Q'W8I\"']IC!X=>NS>KUV]Q$WM6--DNDF:\.$< MY%FLXYI^T4FUF74H16_NC[KAU.^@E-SGU/_*KK^;.O6730\T:SV:=(SRPP^( M4&V5' >CUT<662=/]IHCLH]K]H?;OY(8?_<2740\53TUX+BS_W/3]3W^XP_VH^;; MAWQS[5^D1Q85?,T?_!3M[_QW;IJQ?]1XF)O?V+_M("\;VW'-[EPI&4XO\IVZ MI'_JPC .^?Q8G^NLUH:7//!&FOW09^"/\F=,@UT.TZ2;&!$=Q0E]RP'L9V51 M;7U1O^>%F_KV95(^XUC1UN2*?G@Y]8TW&,A>R+W+BHR!.BG[F.%A;U=WJF#( MQF9=.=K+L67>EGS6;TX^Z_=,/E?*G"7YS WY?$?NP>WRG@'H>]_2Q.SI.X5FEP@M/6\*0NX/(0Y_4F MTK_M(2(JG525UCM]E13TWC+/YO,HKU[);-Q*WO2'/]"]2]VMJ^1<;Y\5FGU MY6])U=]+D[)4_SSIJVQ&M6(7$4E5=J &.CC:&Z]IH4[:1'M6VZN;R].][],5 M;'+UP6^P6Z7YYLY7D]]GKN;R\![\:IKMOLG5'#OIOWPUFXQW,$SSD=8-/\0_ M55:K8G1Z0HG3?4S3)OWRJ63;,FE%X%>[\2E MP\.?DYNPWK#\^XGN?4HRE743E7Z;9U_DA]G",>WK-N$QKD2PJ3-V)_X:Y:X_ M..4>TCL4PEHWH=R%)-LK=N!QR'9)L_=-L\$RY]29_K!4>0VE"!9N8O_FA$X: MD;&Q>]:X;;-&#[?@%S?C&G]56VK$3![^7+P^.^\G

7]F<\H M\ZT.='GQYO%0EQ["I8=PGN.QWXR\WX]K<=ZH>NE(7 BR;L*\EMZ6I;?EH8G] M5G"XQR3VI5-\Z11_8B2_]$S.K6?RNQ/8-'>9S07>2Y%;-$%,8ZG",T9-#4Z% M8HW!64Y;V"-14'/39MU1=QU5G"XD29PNZ>&N7"(YZU<+2!'!NI8T<4N:.%E0 MP7&RE!MWIHE/R;E>0)+PRUI2Q&TI(J^+1:0(MZPE1=Q6MPQ\[(M$$H_E]%Y( MFG ^Z86BB$?Q"\\K/=RF_N*,$\%W/IWOCB:8=K67QS>KS-8'1.;MH*YCMH\3 MD9A7>KAI:*.2[,_R;DM/2C[PDI/OA2TL'])*8[HN8EI[K)3'=&S$M M7=Y+4KHO4EKZRI>D=$^*]]+)OB2F>R.FI7=^24CW04A+S^.2D.[LMIYM C$' M9B9[6!S#L)]"+//A+C;GL+8\ASN=P]H]G\-UK;J6YW!=(9!'"I]PZ;'_U45^ ME"=9Q7Z8PUFO%2OY#OM9K"]U?)IS.]>BW/NCIDG*?\,.)-+=L[35O?TSIA6S[MPD&1Z#FJ7W/Z8KUC@ MTSMIQ]>P$PMXGZ>O[PF?,\NO(,JZ@$<]OL2G=]JLC_)>8%,6\%I?L<"G=])6 MD-'_SGS5N+N+Z7!U3^^,$2_D;< _0.^+=LQ7+/#IG713A"WB45^UPH4ZZVE> M^Z6?Y-[.]['R Y9.S+D^L*6E,S^'MG0JSLU1+7V#V M=,',S5$M/2ES=F!+A\BL'MEMJE7,]IG=!F.Z@,ZJJ=5VEP?YUP[R5E5M[]WK MN-;>6'WH0[HUV\&D[I'MK*T&;&=&%CQVEWF*-[S+X>[\Y;N\)@WF>7?6I(/\ MK.V.F>)-=L>LX.%#,#MJF%0J3?[4\4G>JRY4H7?)5DGS(3.5O)QYC+%?P ZM MNU!=GG585ORF2WQ2(FYY\(]P\-]#),K!K[UMK[XR!R__GCEI8:=X@]VQ*[@O MA6&&=L0K#..+?#@[1:RR_:R+B9WKHU3Y&-A_RJ+ZSVY2Z&Z5%[/- 3#O S4( MT_&N6]F5M_S& Q[KE*@N/B(Z'9V21ET2ST&[B(^C\!O??;ZYC4]*O"Q);*%( M[/O9=FMOVJOX?]\FJT6GH;_D!+/;^#!^R^6Q?'??Y+0LT>6QS'S2Z.QW[9K! M_EFSB&5=9F3/QP%>[_-?WL39UPN_=9#+FS@?!W@E*SV]R'^EM^>NOZ7MV0J7 M'9&[2O6,'BXLLB_J][S8J4M:BB[*X$3'E_77C452B6@0QPX^YUV%2]_LFSJQ M:4^*JR]I:3YI::[XTG:WF]?$JX_42'72&36P'IF>]B[1Q+=.RC[F=]C;U9VJ M24Q3=VW)G)8$-1\$-6,1K M+3K3YZK5/16^L3SF)W&;63S\J/.S0@W[2?=8G]%FSN8!0PPXM=%/6:6!-)B^ MDJ=R9Y>'N6@W+3(VD%0ZFR:=FU+=SF].<7,V3NIO+PUR@FWFBB_.DJTG]/RU4DI$]/_]'>M6: MGM0M71[LHMY84B74EZ2LCH[SN.[.N)/A1LM=9!G#*):B#.:6,^+ B84+6>^F9U5 M,J]^H26/&:^SFLIY&?K7):VT(R>T]7ZU0R(X%E12B9RG?C /S8/ M?$[H>+)$AWODZE7-ND5_1>!\>4XS%J"]]CYM+^0Y35W57-^GY3G-Z'V: 8G] M\,0X6XN\[Y-\U5[=:*^_G:U%FDG=XTFNOIZU6M=V4G=;9)TELL)?3G;=L@9: ME76A/R1E_FI][-F<_76+/J(77;&%0_KG MK3:P_*-73;RKKHHM?'']FUXFEUNTPKPNNKJ4/_M:Q4RFM(P//U0H$!*5U2@E M>N\1=;7+Y$^]M3:\?'^1Q%5_:VUU]>\T>-7)8R+FBGY8Q?;YCX?'NWO'[8^' MIZ>'7[:BS>%E5.9I$K]_]I+>S\]>]_SZY/,OS3@O>5X??AC:GWXZ/#AMG^S_ M[]Y6M+8ZK-Y'_,&G[2_[G_^]%54D@,LHTQ<1F94J>Q]]V3[^_R HSZH+&N.'LBKR[.S#+P?[ MIWN[T2?3#2_/QXPQ^LK?SR_'^Z3Z-O'VP&^W]S\Y/VP<_[D4[AU^^ M[)^<[!\>//*$?E-E/\G.JCQK1;LK.RO1^NKFJW49=Y>>[NZ2AK+VFK[9[[S?H@/D6R W0;,\,,"[+T?Y)M;NIUEM4J/]3 OJIMO M;2\O!JK"]M(IZNY6)\_3CDK3G#C697/GU['2=V]>O7X_OOGAWLM_(TLKVP<' MOVQ_CH[WC@Z/3Z.C7XY/?MD^.(U.#R.ZP*=T2Z.UC>CP.%K;?!Z_B X_1:<_ M[47!W7;W>GOG%%^OO=MXM0#GZN[4I[R(JKZ.>DG956DTTJJ(=!;K^-MWZ(AU MJ#WQQMWIQ+=B6'/TNWZL1AA:9\TCWWCV85=WQ1K<6&M%>,_XX2_ (>3%_"[B M%AR"^TUP;.H!N<0KPR5>37 )RQ*F<0MWH\W_GAYO'YSL,W]8LHYOL([*'6LD M9E74HU=$D]O\./^-JGP!-A<1PJ2$\ROZE) I040,)GCE'=MCLQB/RI-W4VXV MV0AOK[Y[M_KV^_'9AO'4R0NRJ]JD4'5)N]U:?1\H?!@X>%FJ>]7[@2K.DJR- M?V^INLKM!P7J7\LG8H&])@,LZNHT':HXIE?_X]EJ:)#9\?N:?[A&5MBS:XRN MOZWR_T5KWOCZWIKP-V@%Q;5*W-T*[3#N1B^OGWV@U>]'>P>_[A\?'GS9.S@E M9>OD\/,OX(\GK6C_8&=EDI"F:,*^BO!<5;H\B M54;E4'?AC(JC)(N2JHRZ?570[U],TZ/?:^IS^WMBW,5K@/WMJD*2CK?%-$QK86L49 M!K0V-LS<'^FINMPW+F< M*3PBG2\GI:^(?J^+I(P3[AY'K/+>%5O__Y/L^IDEX3WD"19G*DO^Y+^G\>:& M)+GW2_"]SF=_Y7CE9"7:&PS3?(18YW<[D.85B@[RE2LEY(V$_;T=T7R\\X9\ MX)O,]L$(\>:4\ UVNQW'A2Y+\S^?DTROW8W5OGOVX>VKC=7H9)C0FZ+?U.AZ M?CN#F[!#_SPL3O.+[$Y;L$:ZUZ="QQCBZ_CB6]^R&\TD?!!3?2 = M9FWMV84V+(B"DZ%*(WVINS7Z.M+'))-T^714 B*+"'0Q6P;J MHS)?[^7XK[^])3)_7]+CJ1[V\TQ'&6OW+3+GNVD-$S92A59TB6*]%3V_\@*" M56_3@W>_8]%^P2-9>D46ROME>>_WN&_;(O-#! M^^AT[W].V_L'NWL'IUO1^AO\>NJX)\0$BJ1*Z%7BU-$D+*,Z(X$9T7>LJ*ZM M/^^\ /. 5WOOLMM7V9F.MKO5E@L3S*0+U'PO#II)$6:^%M$UY?LIP1U*K;C[H GU[K M<+EVZ69Q]D2P1OL1?A#^S=N##VZT788$@A<$&[B^_ETWL%"8SV.#=$83D;W! MQ">=/'T^\6$Y\ M3^%2#Z[M7:4S&)$W6EOO,/NZF\ZP*;%(.C@&TK>BH2JBV8_B^%?UU%G%'7[NOLU&A"%1(EL0Q"W3LI(11>DP[>_9OE%%I5: ME;0M,7U1UC!^51G%NI=D$M8^KDG/?;6Z:3T@W)IX!N#1[TR9]QEE?TR1]U@@M2Y5$/H*&"879E-*R+ MLL:#](6[-AL(E;F_&,-FSORV!_UKGM99I0J&'Q7EW0[XW?* [0%?]#6'6,=. M^?G:BZA/MQ5'&T8!>F?SK!MG'-SKD&?B:^ 4HYB^S<[XT6&A MNYJ]8VOK$:-UR^@YO8^$6U36I,N7_1PP&(O^J_JJ&I_[A2HGR9-_;-;P@AA1 M%D?/UV6-'1*1]'WG=UH!GN='Z4>8A7D/MVC@2? D55E%[U:C6(W*E6\1[$Y= M%/1K0:%"W:I45=^-;M=7GWWX-W*=IA,NB:#(P5&7-,QG2\1)L5O%'%W.=5EC_VNJI3@'\=(W+\CY&VA\#K69W4J >B3]FGT'/OS MYGVTOK&^XL1;PA"N(2!<#TWP,F&F\6%.I&H)6I@MR9>4I504Q1]7M$KD6"C2'&*MI#+3F$!<"&NNK[Z^:'G^]]MX^]LT' MKIZC/Z"/X)?QNR@:UXV MYII87X=>GK6G[/G5_J5[VO#7]PRT.C$(@5J M?>/*1,DE^F[BG7M6DOTHDNQ[D(2=@TS!S.!!2..:[+COBPQ9_G?YW^5_E_]= M_O1= MI,_5U"C2RM(A,G9\QO]L' 6 =, QH*I* _:-S:1]17HD34J=L9_682]569+6 MBX_L7NM>3[-K*S/(7?PR@<7J1ZQ>_OYVF;TR\H)RN.\67\-O-\++-ROD@.,P[J3DIH64%$O*0;B MYQO2V H/$>%Q""WF&:LZ3BHS+SG*J[UZ^]U>L8WG\V+;[]JG5)T]B,ZW>;W. MMX DW8M*']Z@PVJ>[93+'P(_B4RNY&?AK?#46-JBE*5]1^A"9&RQ!%?E9R:( MT4LYMD$?=?.BT#:1CMEL42"LD8/8SI.\+M.1I;5IHSYQ%@5)P/N>DR"1K?,[ M:L\_.".^QLXW#S[6S3GR0.PJ'96)<*$,X =B2^V.@FR!]-%9*?P-\0'ZBF-L M;O3PU!V_&T\^*,HPT%"0)#P'D;@I&'D7$BEV'8&+5ZLK:ZN[[34BU2=^X-.< M]&5?IZG51Z+G4T -#5\T7?(7$N/^EK<&[WU(B_SUE=S9!6,6-OZ]S5?MGW6F MHXU5J>[4XN-)$Q;I+PZ3/(M2C MY-^@5&F$I6J$'B+S0,E_A/3VYMF'=ZW7:^NM59^ 8F?XH14)MZN'N4BK;IJ7 MX%9#(DA]S2$T]HQ#GU"$H"7)>P3=-H9FPY<K>YV5I?W9P@'8$ \V(;Q)#[6<[;$5\';[U\^ M[AT'-4,7;_E2^\WP+%7!>61&C)-RF*K1%HFFE#1HD>(DC)]].-W^^'D/M2AW M: YT+4Z^7Z7B6\%R_B)COUUYJK=-R,A#G=]^I0??JD3P@+K"] IALU$@[)%. MX(CDJ3N![[,UWU(LNGF*"_J/9QN/4G)$1?T"UL#?AFO//AQMDQ#9_^&E>KRR M+(^YP>\[I)V=%7F=Q6W:YKS8^ENWJW6O]^"U)MTN)R@FOR([?*]PD\8(%FMT M_^-<>X#WO6VO9HA0>OQ_CTDHBBAE^X%)A<8X3LJOT2>]5FBGL=G-V0KK.T\,/70 M&#NCCBY,K':TI)@YYCP]$(C'!7Y$+4!])*[S#-W(5MFXV%IA4;XK,]4 M&A'%T$V KV#N2>;M#)',H[.75Z3_/RS)T A?R$R*3E1/5Z-H-RD1^ZR+^>O;>*K.#?N#QZYZY&_;YK,/FP][GS>YRC!0!@ /3RD#:JI: M[?U1D^[9HB=2CN!R(+R?IX"5?@&HM2@9WRK%2Z*CNNCV52F!;OEM4$MAWEG% MNQFBUY!5?'=Z??WLP^N'I=?7J'9D@/&?',@3^?Y+HEI0)OCFV8WD62PY&'CF6)=U*OCFPZ&65AM+;C=W1MAC*"5S M1P=+3>TZ)O7VV8>W#\ND: 3/=DX\3A]\YZ0>#E/^6Q6C19"&KS9GB-!F2L5Z M]^S#NXE+<39/9O_DW@!90S-S#H(E M12XHZWNGB"0?..B*,78DR5$X'GLLXP7P.\T47=HE[/)D7-N6XZ=W0P^G6_EZ<'5WXUE8?&#=!8^PF M2&_.B[(5[;D,XT.;80PU8L?F)$4_(K,86NO<*ZHS&C2? ;(#CO2A@:0TAJ>U MG2 =?M[):I;<@+/%S=:)K!X8U8,Q;(^-Z/ B(_[53X;P,^_0NA79Z1]UIHFQ MP>:6[YF_>;>V\4]?&;V;<_+1!ERWC6!(!3=97K(BT,<,$<]^T(/@ZD@9+#X$Q!AHO_W% MP8/?F3P>W*WTZ?#XM^WCW?;GP\.?]P]^C$Y.MT_WOIA28/-8KK))>"N;27;% M+I^BW>=VEM7$,H]=ZX)/>3'@"GE<054E64G72_S]O;RX4$7<3O/\J^DD405( M45//?:!5AF^)FFPY^?4WV]/;9YONNAO<=%L-I-O%8@%YI[+V2FJ:ET*;UZ'Z03JVW2BQ%*U=-17Q7$VF@GZ>8B M/@(O- <@BV7?^V)M2)]V=5#2?"C1ZN\@'.0 M?ND ;ZUHH$:890R,K^N/?.6"5J)_YW7455ETIC-=<%?:)$8A^-[HNGU 5]N) M1=@J[Q]LQ(7^95ERTCC4\14%/AJ$NF/:R+I%V5=!4&&J.9VTU MS]2&>WK MV?=UR_9M-D F0/?3+DDMF8',GE48TS''@@@7M>G:LD9?H*> GSQR0[ M1[$C-/FM!QTZ07I+D91?)0)79T9V@"6WN$4[?7_13XB+8D)Q HA6G5;JJY M18YD[/%-Y9$U%@M:8[;&/7OB>MUV2V2CN_#4AIQRBU0T=#(<*:P IKC6JC5*8M9VW:MPZ^63"L1 M42M-W2[7$.<6KU(D%9]JFH,?R&Y 4*'="P@16XB%J6Z?9(#4W\]["2FB20J< MC&TEPXSB/;^5]7%^97;6!ET#'3A:>9I-H\I MMVH(G@P0+&/@J _QK M+H._L&SX6-/.$DF+ *0NF!53 M1>..BH",79G]"VZ=I VGHL6PQHG_90H:4X=Q5D[+1:6'A/.=6=ZG,!"M"EW2 M\A)BRMR%9SHCI]G@U+F7D]R[,888"HDQ.22='OC#TO1W8ITZ_(G9RBROH)RB M,4F!%QC>"F:,]$=^M#,";\A-SR/>(:+@DIML6'7=\DMHFGBA,!$=BX)?F//# M'27^BK?Z3GRDP!'-UUE<%W=S"Y1[BF3G":V2*Q*D MT4F>U@;UNY]U5Z+G1OW!HQ->G@F_"JF+K3$7B/G&-)RSOCE1.,_2O$-CIBS! M60T6UX%"TR8(R$&2A98J]U6%.49DJLFTM?9B"[T(-38)S5I] M(2.CA=Z_I=A^"IP6:@\K*:Y=YT=Z%YDB^WEF7"31J>[VC_OU%U!_%17ZFN;MP?IG$ML=CCPP=6B;I MBF*WB&4**]YL0+!=96,G2)M2Y4KT'8CRN]V&7=*-4K*?8M."E^B36YD93X*. M?LG8/.+H9!GMZI[.B :WXW.H9UQ12'-3M"/QJY$]34?2]8>ZNWU\M.V]TXYH MC&L6+TU %?2NG^R!'ID#=2])?CIRE%%S)[MN3KHV<>URH**RFT#O(SZ]?RI= MIZ'2Y'79WUZ29]4#9B/3'NJ M&N3EL,]-)L,YT!ZTS-5@I;?N#))N(]')&AI&+V<0\5D+"I=1ZX M)LIT=2LXW2UE"IDVZ-:92Z4BXPF'V(7-S X7YXZD4^ZRBXR.%91]R+9SEI^+ M@Q8/TQ^:;6BVRNEP 9J+M,S0-K.E:]W'AIEA5?2Z#7?"\W?O5M[1_]%EQ*O. M.$Y01%]ALN!H6XT5$<=C)P@9#S3! =F;9%RT#3LI(_33%79F[+/*A!UP*U<\ MX3CG4+"0@:;YQJL5B!XH.^;/:P[ M-9A&F4<#&) <4E+<$R^IV,U(!]O@NW16)1ZSW@LRG'@W;?R 1_,+]C?,[CU* M=UV.0);8S'X]2&(N::A<-TPZA^Y74"$=28?SJ6C?ZHRL-R"*L6_2=3NNLE8&N?[@%E%%_T$*/:P4A'JL;32A$#37*ZD*L M%$R1^G#!!LK12K3O]1[:F03Z0#32U91-,3YD#=N&CYG[]JHB9AO06)\LHS"! MQO&,&Z!#[@I,6W6?JL1LD3&;#)[XT/X[@8QC.SIVQA')45*+ASD4!:*)"ZV& MQF@AW;%?*&+EP[R >5 1;S?9P[$F?1 QR0K #H3_)#(J7G71-6(]H)=6A078 M..7%!#:"N=$<,EW3HVGR)YM (&I8$1>*C 0,?B9@"%H3M$9V=#B#W-*\(N*& MV/G3&!5L';$9QG8V[@1$CM2&O<92"JT=!>P$C?]'K>&H8,O[^>K*1GLCJ@>8 M=YR0D4(WX84-&3N%FHVKYIBT\O$+5CI+<.7P)VL)VK@T&#)]',5JH% 4T-XR MNO?BA2B3DL/6>7'&VAB]C4,AN&/&]]+R7A@^2#I!4NUKAGD,8.;93R5:TZM) MF9-#'FE55B_H:15A@[S)A'!E I=2%S JK B[+#]*DV$2EV9ZL+LM]^K42_8P\7MS;T! ^ZE3 M5>#>%_50F.BBWFT01ITE1)6D^53:DQ=KSE8D2.2H-*R8I3KQ!,=-A\H$]\4= MP!'/ZWP O%@S(.HZ*R!&6@AA['R&@I4A^$?L,PG[QA1G.[6)E9M X$,XV!" MGW C?,WRBPSDG/QT!-!"4DZY]RG=;IX1L;#)^P5K]A+WEH:9O)-B]^=D$1>* M*)?CQ$13'4'',47G+(%IK2!"MEMI)Z"M:\VKA__->3,"X.40:QY Y)G]D?6R M^83YD,SJY6<+3*3@TGTES ",,H!9ZW*JAFKXKYJN^"-!>6 18X[$ M/>]&%*?M4'<1\I< ,X8BQL: %S(]>)7>UX@;#=%.[V@'7NGG?WNWNK:YVEY_ M ;+_9TTR;)T^D)A]G^YX0E-J!\8SQNV0:ANW,7I5D'2;\**S]]3XGXF*7Q+U MLN%/2G%J7&HTM]]\1!^&?EWAV38;^61N)H,HE^M!,XY2U=&IX'H5E%;1B(6[ M])*"UH=@_9"]4O_'$X%<4"/'IRRF,6,SG$'!"&9-W%["+7E.9DSFE)C8L=]* M&T*A">RYR80S8,$OS@W#& UK;JC^TY1P%S-88":0X_KBDF!;P[A)*(J($= 8 M->!H-7NF<%#C-.V>)B$C'GV#%K-^QQ">EP!Q. 3P3732'^'K^2S.,MRD(V, MN$OXXV?OB-= 02JZH73=E9%[!C=3BM)D(E6B9R;%2WM7"J"X!1$L?(#)JS2: M2H?6=5*I87]$.A"$,RDZ1Z6NXYQ4945_?#D^V6Y%)RJEOTF?(>7MI[6#M5:T M0T*(&%RV,28'Y?%8% M7?B#/&MK][G1.WF&-+>UUA@?([UZKDX%@' '.A3R2R8)9# M*N]7'7W)LZ]Z-,POY6-)B-@^/FGOY+^VUP4GSD A)5&>G<-?]W?;:^^LJK^P M]Q]*@!'^L*"0X !+@+*"K76'(2726I#X&R_K)RL1+L:SS"WIK<;7[@[Y8\GVZ?1QR0'I ZB^:Q0 M U.@TN(HQ][P4S[0JI32#=XO4VEKD@RD M3CL'OW?8'1H-28=.RCX+ST*0N]Z2%F.*N CB> E#7KV;I,J)(8%@QYT=B*DD MF!.KU%5^F5L3+0;\L,"Y> >. _L:0XH9R$5>I#'+=B<\PTLH.CSIP9NKHK00 MI_A-E:0)GU4T@=V5G15B8BHCQ4\N*?O1+CDEA"3NJU6;;H":4:+("4"9&'U> ME 9D)U#(D0T%!.$J./$1[F*KT,W7L3. $8+%WHZ$:[F M)**2,;8,$J9;W%6LZ@9*<3C#EDDVR#NB'!1J9(M10E,WVR)@:%731K$2@ M" M-Q?ZU8@XZX#30HAF2I:\9!BS_PM+@4[ =DNLAVD^POBMZ(^:SJ1GM']9\SE] M$ELWJ^T5('8!@LXYMV>"D5#D0,@GG.+!Z0Z($EK_U6?L\HG;Y9^LFO]3L-V? ML-TGT[;;>IM*M_%TUD.=D[DH3QI]7;3^H3,MIR^8X_7":XRSA(.QLN_V5607 M:63< $HD8HAEGREZ%QWHBHCNJT=@G1PX=]_"2G]0.*>,U*R1PQUX[N +/NNB MYR+[$6HB#(7]\T5KFXOFGG"BE)Z\@*%=J-^9=$88H5?K5 Y[+-7':+JXOR90 M *E*4G](VKW)A&MYBXTEI1(H$ N?5FB&&PBY^8)IA21N/J WD=V9UDRSK.9. ML4Z%-HK$@'T Y"<1#3B8>UAU#43=!3#@;*6-26T^"JT&B"Z.<^B!7'$0H '? MN&MGPTL)[^((.5U$K7;F,8X#'"9X1V!0-1G@BEPW$R\WN\&\ROA%$-9"AAB' MTL?"+!&G*]//^_1L:EUKQH.'/SU?%/@)P#K6BX:YV-P$9.]R.&ETEK CG-_J MHTDGP>"I&C&R!2D7V)8B9V>1S6(R^S\&2^1(Q1!9"*R4TMO)9B2.D*2I9$>N MP#G@UEZ-AG@W'*QUA8A>@SC$?K 1*=:X7%0*B\;<>0I=#XAJ>?;>BNH*DB$U M5-;<)!J#CI+>6-"#L>X02!28#.#85^A6(LD09DL4,FS41%'^@5-:*+^+0-K1)PI'4GX[UL(X_WLW,1( M82)9<&G@&@RRJP#J3$>29*6L40?^!3<#4'OFV0X''S*7]%CIL\)@+F7J1=ZA MA7.^6)@_+-'8,\Z89:/(YBFN1-L5JRO.UQVS*#%>HD%.5S>3V&QNNVM"#[6" MA3/:FOJ<=\JW MD[KCM/$X\-)=H^D3@5SVEE5O\RFN.\V7,W#^2/[!$S&7EW M%H-YQX(F@8C()6@R M:;M]& OR4X2,*6/WO_4_Z5D=P&Q2NR6SMEVBK=TZ$; M"#?GJ'N*ZTIVAV9ECN:?II"=O206Y\L@ETASPEC]Q"IM N+6Z$1B?@_"@X-) MGO#T)# (3CYLXZ9==$7!&L?&\KI)++4[V@0_V>S(,RTFG=A1!G[/+F@Z)340 MM KG-XY,N0:V0-08OL4"E3%LA@ _#8N$!ZOYP!L. R^ Z+:B#NU/)88LF3_M M*F]SU$SVG%TV.G-IZX'^@[7HDA08']UW?A*YDZ1-_*F*>(&!,K^*O6H[_D@YM080BOZDL0Q4=.> MHO4=:^#+Q<8Y&64Q;:L/D'S9.S[Q;]LCBE,^@HF_&C%,^+XC\7UC<\0I+A 9 M 1 X!_C"TM5O8+T7P3V_X/\I"C4R,)HI7B9Q83'^"H)7ZRJ,*(;"-V.HM$%& M._ ;^)[&N3;0UN:EK J&$,:FTXS%:ZK/K9\9K!2&*1R[06QM806MBR&PXT9? M#A57ZD&D(C/>&W95!+4?(*KH4I$$S>]:]Z MY,K5^-XA%?K=F/@MGCP.R@+ Q8!816(*7.FLSZ+(.H8D&9#]&< 4<7C@@J8N MBNF7_%Q,9N\I427=CXDD1D MNRH>>&)$Z@/-G61A_.2R3@#X)(;A_">6R3@5L&4S&0U RA?UL96I4EO7Q-@3 MIJC"0'!C9&/EI22!D/$%)PCJW7@MS;$FF! PH[BAG/720"NK,]%U+S2S4"WU MLC+O3X2[FVTB4@)5TC7Y5.:J(M36%5[KU.A6=&:H7751,H))51R6P'FA2(2T M;RI-E176F$?6ET7W"(@'";O#VP;_UCD\Z8(6ZAD>77I P2G'+^3*MJ*#_!SR MW/YYU*/Y%22FZ<9^I'YE&$S=/BL2:QS8W_]RLKL]#0%KP9&QK>>@$[ M1:XYK57JYXD"96N5#9';A+0>;;BYEVO D*$B8FA,<9TJA%0OU8 #!?<;!"8[ M*SXC>9Z;?'1>Q*=_0^9LBL[(WYO5K;WF1"Z21&Z( $\&A<"X%QEYJ;NNA(RQ M28)(LWM!JCI$H ?6'HQSMN(2'UD-B\T8GFA]PN846FPM)A 1]*R)T$M UO9S M-//8BL+@Y+X)KPDKIWMSPG&XWSBN_!V"E8\>G=UWHC;Z+R*O]\#H )!VHL], M:>2G$+#U]\VKOU+\C)X3]4#%<<&P7M&7'1S11XFPAX*BX4L+=+SG=G\,DC(&76D@^=]IB M2,- C?!YKJN@&-)FA&0I-#AOBOWT.T?7J'%VYF+-U0%2]?X7H@.CY_K]> MM \#$W;LZ\-_O3 9'D0X"\;^;^NJSQ126"TXDEBTO< MA'7+J$C.&T0&Q1=75=V4 S,_&6"SW'VF!1 M3(*'E- (ZSNL1+]9)H742K;%H*647374-E5B;!P!;[>"ZH;9%2'P<7C+E!6+ MV)%JBERNDY3*[M>(=-%,<4<&$ M8A=/B,2<\&!0K76^6V<'8FMDRG>%FH)J0>/U+<;/I_0%BY"(DZK$*(P8&5C/<0E(A4X<9,8YVN;1<4H:Y%;MVM(T? ;X76SBP _Y:#W)F MXUQL5B%M!8J47:=QD)F$1A<0:_GCC!Z('$&6FJN-K!R3:CX.5W7(6\1@,UQZCJN) MWHJ^Z#[XX=0$%_*P!5K@[:O@;W.BY0K%(:AC+ZR8LSV=( )T%4P@0Y[Y]4@_ MZP3UI6AX[/7W FR/K2=W2^'0<.,PI2VC=@/R$#-1#%L4"HF.PELBQAZE +)6H".3 @@"%/%HTP-3-$"8"7:7/=Z0O$?- @\5'3R+ 2V M-$R+U.;T)0NL?G\,$A7&+9SI<>30\ \"R UPZJ0]%R1AFG F&$II(J(VD]&A M6D3)-&7'DJS!-[@X%_$.TNBFLH^F1ALP3RAP]CH!F3)WG.6Z04BWF!*D76@7 M%9-.+^]*)55QT$S9 ^L/[XP"Z (+'RMO/(@,SBP#\1(VP27F,XVRBTV$M>%_ M"$_F.6 UAN#%!AAT2,YGSEWAH6"->I0!SD>%]>8,1[K7:H2S=70_32R68ZV( MV8AO7N"H09BM@=QC!XJ!')J& M5JR*9QVH@598IH9(&I *5-@RI ^F.!+%CY$/<4A:W;RT^F:L5=5?8/2=@&Y> MT48$S7%,MS#3\Z29+/JFO;;Z]\;>JYC(S*A6D_>S2;+<=,+DUZ#,0(HB1\26 M-(XXBEU1TZ3@ S*P&"Z]FW(]';@M"9Z]DRZTIC8L:N1T$^&IB)>?)YW/0A#>AQYY["C M[:84#PB=Z3"H.FQ!@@ %AM"H\/($D[69LDA5-LJ324_!1XS/0^/-;E_".OE4 M%\>/1\[#(??NU^3/Q/I()FHEL5<95&])U4>W'.3=.\15Z:*C7+6I"I#"/ MPA*3017)/9-*%/C#G>O>EI-I&9=)6;6;[O(F$"F+-$(=)J;J^;RL+V C-]:G M;*TVS MM$%>*3HI,%!@X!7:*3F 9T249 #T#K\)4O0!O#'^9J*].-*^3H<^[F)%8U>2 MIJ2SEM2![.I4&,.6,J5V(>;IILOMBVYLF!+8LB\:IS[<#3QD]E MX''H5Z@9IX8:@:B+SC+[DON@25%_VLBL=&5GQ"U.E%6;;F"34*8@LFVXV!C& M$&_Z/9=KQ]@A/C1^]YC[9DJR@)MNH\B4][^;ZSL!;!Q+4\$66334"O]EZB=* M'Q5KC"A&086*HUGRM]GPT]S' M+IAJ_:YCCKQ2^_FL^,$XK(NHD2GP.Q:@=SFL-N-$B(27F"8N3FRR 9%6'\;[ M$^MU3#B3$3LP&!IXZ[399?G;^X;"?P..'E-\OP\HRQ.DGS#0)% MUFEK_C2&CKMQ)0DDY,$CX]U$R2(7,B+1$+OHDNE]95'!4ALM@WR+:PAV3M9" M,-5433&NG5@E+.'/C4FCQ[3W9BF D!LR]W+F^EC#K9(YDZ:WA9PD\&?[YL>A MLNN968-QP! (V^R8?%RNEMI(/S9QF*EY,R9(:Q-E6NA>U.<*N0J^#NZM+*S/ M!#@'HEMH6R;-'8H84!-YW3:9^+QAEG+1<)(^).+FSG5YI8H=(+T76HO>0SH[ M\LA-B!@'2B\%5-_T]+(X29?V/)24YL"9/E&"4,HZU,-A.D*99KX^O@". 1O8 M[EFN>+VK50\4!1*<4*F^\!T"3 (@0U$DL1A^5"'O]=55VUJ0^TR(/TKJPN&J MDM[*Z4^,W33@9DY"%!4HS>JJ2$Q'@+#NA\0!Q!;N*4:&C&@_T+<@24F=H^O 9ZWH-I&2EM9.D2F#6N)6 M[\\R#94=/@N::&IX0R=!>PPNN=^B9^J2_=026,MJU"MC<[O+#LEJRGMC,OL+ M7X ISO_4HMXA&T^=R=%TOTXKZ<25F5+9(/,VKLR)[%(]GLGI80[:#^U@OZ_OEV MS!,+T)GYC>H?..# KJX"_EGEE]RJ@VWW,)04^,M6PARFR"1NLQ,AUGJ8=_4(B_K 70Z0*1-0!S8R52?\3E[R(^K70<'^=14WV;2+M,%WK=; MU&?1=HQ\"%]XVS9+V&VV+^#B_C6N(%%02%G;==4'4 ".\))U6#LJEP:&D,.3 M\AMLA?VXY.8,G'9KOV\%4'&))-$/4 S*LRJ/.FKFM@25B()0TX00^40V@D%, M,MD:^&LP0'B,\$>+[&0>@,-K!7< B7QERYR(LL$U=GAQ;Q^K-1%'JJNFRN1) M@6']9&!RH%C%^+?Q=D\ON5AZZ*EE&_Q&!V(, 1I2"JH!IFCT1[2;N; 7UE7_ MN$"< .B6@-EQY1SAOIT\%R_RN$,T2$ +=\[OMFVT8Z,GQJ(RGD\?2PDB)BO1 M9VB#2OILH#U:@AY'KI ;.G;9]A/:%:^ "FUFTDB%-)D6[[%$061Q)JQKS:2< MYL2-3 2 M7KH_:=[P,8U)<03%)* S3C,4]N.H9<47-,J*5EP-I'B M85H7XL9< )U8TFB0$:>J ?OL%C7"SLQQ6OP_0^8C9B"ZW-T^VB>XP#4/-N"6 MGQR7 X20X0#\'.>2D4(O"KE%.L1Y,4@$B=YBSR3J9HJ'3Q0WL76X*>&85=$H M+\T*G1CA5D?#]X!THR"FE#Z0$V%GAJN\#L0,46>I@PB;&#DZYA.5=B:D#U@8 M?5>B==<%#?F$ A?BO'&X.^32-^X=4 :E,U&;Y:&MOVKH&^1X;6OJEDV7%-&W*>A%Q*VX6]*0^]'9^Y5S:Q-'1VSH M!FG:E:H+:5[&'C^IE!^=B:_8&?4KT;9A-#XOG)/$&FA;@[1Q]3H;U3+'TU=9 M-7![HCJPA+1.RH&U>\W6"+4RM=N2G(@9<(@%,^#EMJ9#^03AB"I@_$8E+D*+ MT*G&O#EX&]L2,(N+T!(S*I5-8+.*G:_5V*=EIU)UU&ZHW>'&IC=J\[F @BMI M'F[FA'D85-P*RF#=R>LQ%>=-YJ]1$VU[*8].8GD[S&E!DY(K@%7MAYC'*^(D_I@1 MTK 9^QSW=;5,L7/&^&)I@F*HX@3!)M2EU(;QSD].?Y29M5E=9=^.<9(N [F/ M$\A]NPSDSI2 #-SJV>]UUO5N=6[F9="FK0 @ZNKU.2/8L@"#+@[@$]!G1?NR M<'6C- E.=>CJ80[58S) M-4$!9FT\A$;["S00Z!<[W!K4I\H^+F/*T)*', 6)&M>M9L MM&9Y<"LLCM\*,+@F3CC9< M'$?;^XR0<"DB/BR><**PQMCV.F NV'B#\)JEE9B"QULDVL\4-^?A[">1G6:SSTVWK[$"4BM1YCC\$39YFB!>^TC(!HI6BT3!0[[2H-=F189[KNR[E1)FMAO> H_ZKSCOB>Y M4N22?COL)ZE[1Y2IKUQ/.K+X?-:AD2S,#XAFD:%+)C'"!?&5; MZ9]37IV4 -@?9^Q)I%LUT5-E:VPF!H#5%-P&"L%\PW;WE5P9UR4U(*$ /YN+ M5=CT]=V658&]9(WR$$^$33@P'!M,;CPJC#*)DSH3X:GU>[1E4E'6^,3(ZOJ+,FV5C$2 X1>O_=N.#_RU 'W5#FR MR79\9569L-[IRLS'TN_LN:GJ^:*1.F4@BK?S6<[&RC]Q>2=_D<;@1S_"HFM6 M@CLR?B*?(?WER &R3BQN9Q[WXL@8R(%U"+EK@2)_&(>U_@?] H\\3-SHT?-1G.Z<4OI#, J6[(3GK!O,^<\#RN MYXOTH7\^-&':%U('A>MN^@[RS>I:MBK$/*[W,Y!BKMR8 U*:OHM<\V0>EW60 M1[_1E4)CHNB8]&T]CXO8S0ULRIC_I,:FJ%TIL1^.A)-U60&BTTWBN5ZAR:;R M_KJ*[F!?J_,1JJ2KE%CK<[)P4&H'_XQ'8+;/>X4Z*SB-:B[%QF=:'Z^?LQKB MFOX-B4BR0*J:FL2HN5S;GBD&@S4=<\MW.$YB(+F40,$LT&@>5^?HUJ@M9+O! MY+&]=I\/\M@W_\A[1*HVWO""2SJ2I25(2TY'+5!9+8D1,^XP3IZ%Z// [)Q+ M$FA>;J&&\2P@@V#-1ISRTR75N&V]-?.X9'.C)Q;(N-?\9TAC25.:3QS4TG+Y/P!"H.UV#>0;YQ>-E[):5!_=H6PD MMJ>3ZK$#%D7'UP=B;[))5I#6&/U17,!1"O6'>$:LV](\Q^[$QQX[?!;;[(Q)3?Z^:IZHS]4#X, M:MH3^7&$/\UITB[0[PK@\\?^\4%2PBFF,@W_X\2*O4?;NBCKM"K4>9*GN@J; M&W#1SBPNM"MB39;H8)!GB6J[9'3W_$IT@I)D^6^,:'9Z?^_U_#2'])*U->N.7#2LUXS9FQ!H(X6JL7LSKL[^-VDJ1:/&(%XK*VU&(H3]$/9$/%KU*] /PK.7V@351=NFVV LF+&R$U: MU,+&\>S^[S3"J#M<;/=,3ST0QC1"^>8Z,%F>?S79%RI# ^#)H&H#QVAB_UQ0 M8;YV]5;T?)!'1P6GA;%@+J?N9#QNW0Z#G_CJ39*L8TU6)DLI[.!:];BRLI)# M:)N-+^[V[CG G< 7@^V%UHLJ%ZG;!Y,(";A:9A)BC/&2H59.LTX'%QBSR8ZX M_8;?=_.BX H\"[RK1ZY1QL2N-LJ96DC0>(TS=N&[;AMTE&/CO9)[,:F"L:34@?RP"XY9U^##\VF!$5569=""7L2\E)TK3.Y0?B@>)K?C$R16- MK9@WDOPF:'D"Z\EP"BZD8]'A3P?,#,REJA);\*>Y-P&D#"FWY]*?@^TT,-<8 M.;=E"#)T-J#JXCKDL;(E-#LYW4XI0F"%G=1L;O0=X&R)E>@G>J*OT]@VSC9X M3TX>RB0[V0@X "9^] 5MX.= J$: MUD WRV&3NMM/-"ZL-R5X31S8:1@5X_T(860@L22UF>Y1/<3>KZUNK+R-!AO1 M\XW6Z]<;4:_:> %Q!4HP&))7F] Q:HZGA7A$SGCAHE2@N1?@-S;1"LR<^SJ1 MZ$(/";\&SOKJ:"G^!K,2NCNFQG/"+!N]BS9>K;SFV:VUUM?7>'88YW>;NLC$ MCCT71RPC3NTD9%<0M>"I!L4;_8Z:Z@ J5L/*YEY;W=BC7@T&UF2_-_;9]WD4 M!+/X1)M5;L%&_;XMVR8_EKMP;77I+YP)J?H#D5QF1^*GP9Z$KV\QDT%&GU'L MC]17DJ[T@P]/1](2QVPG61M=U>P>H!"L;?1TI>3-,^N9"[+\.@H55X.R%T/B MPDD])B!J"/8_Q4U8H%1L813A#O3"PG8K+F+.1'158<-DPT$.\812Y#'_LI&> MB>X"B+I+0JDK/2(094@'P2O+BXU\!#9]>T?J)^Y$P_P"01B3-Z\\;W8EC"I; M5VSZ#ELTIQBK M]HIP$^F^4651N"NQS=Y9*;U6E4.)!\G?BT6'LAF[HN0B( 55WHAVN+;5NU; MD3L1+.&F]X+3H<[0^R9;7@I/#7N!,7 R(O-Y\(2OQN1F>%C"P:\.RL#4[^NY ML7TDEH*4@4"&+!LJ\HK*%NQD)ZMTFT,!UF\9/2O1%Y<.R6\J&]9'F2!;4H . M4F_;6Z;:P@9(J?$=!T8I-% M:P8!IKD0,FZ)YF; =J=6/] U(R:/= M3PR1IPU]GN95]+?QF][B[E.2NX?:37"T%:AA8TRNEVSQO52V2#R3D2G\4!0T MZRRO'/ZPE/K&JJ:9P]J5W'_>%,"<["I@O]DD#-X>SD\+BS@$Y<5E2XF:_@K? M6AI@CV. K2T-L+D2:TUN?IJCB$&C>-V.*IZ>ZG?%/D079*X0:Z8?V/I\23:L MJZ!^Z?2>PGN_GD3/]QJ5(HQW^06''PR/ZV(,3G@7O&93[U1>L_SIA[+N7 $. MIF^>?5BG8ZH['PYO^%P$E%Z5$]NG979HM=L)C=XMZDX'LN!8H^:231YTV>5& MWILZA2:JC%HS'$91](H>R3_?,:*?YU]MGP4N'2ZB8^1*?4*\$X^7,I@&>@+G M'XN\V+X5>F120<2-V^ '6XT P7R#*E**SQZ\',<-W0G>M5IC1&-.S;HF!P M!W6TSN1*-E#OMG8B5P%T7;4EQNX#M5S$5$;F'&=8Z(!4E%R(@B?MSVOI'KK3 M]3_X]?\\J>M^R"UB+R):-U$:%_MJ T00]#VWU=_"HF^NUAO734)F-N!^DAM2 MT\^Y;R#W7PT+::++0U";8R((:UE(P !6R CO*M-:"5@6>A5*C2O'#0# 0R7X."_!M%R<30)VQ,OJ@;/>N0SCN<6R M-*T^TUD1,I@E>]#9R/>=\<6*?OQRU(JZ_%\N0?3YR/IT=Q,$?"436@G"@2;L MUD0WDDSS,OJ\M]MD5<*]%.V]BW-'E2SB";KLV[!8U,>C$Y>VOOA+E$%CP8ND=9T[(9 M3NP!3(%WB(,X7P"")"O4,(=(7R;2G>FG7[=WS"M=>T!&IY:-)NIF%/QB.D8E MZ.HD&JURP0?QL0J$A6M^U@.3?V#JZ0,EVW7UK,.WXI>9B:W GF3A!D=3P47I M6?HXSZ69@L\7D3TT6'"S;<85;(J"6L^C]?7BI&12KK*G2:.V((Y34\ZO=L6P MQYF:2)RDM/:T]Q+$#M!CN@B@*Z3!.ME"38HLTR'< B4,[1U3-Y)CHW#F;G>) M@,JDF5JXLQVTEC.C*]U#'L%8 E+9J+LIZXR8N:L'KS!]?OI7ZZ,T8[BEFVG1Q M'7/Z)CBJ(@' (:EGJ:W82>]&/733[ NLP[.H M<2(%H5N/O!O5XM)-QJ6,8SS]#$D8L=/>^%NLXNC*!%.%E#M#6H,=J-(2!A_38 M+LV!M@+^8X&$"\D[8Y"<*8CP,0,_9Q,DFM8* W324UGQK%JQMPM!-U\B*W7 M8EK;A/AY\X3=^.[NPO%9V2Q]WZ%VO#.S".1 %7"5K+]]%4U!;LYW#MK50.!S MK5/;<"$SQ?1%>-J6UD,B;1S<2*OB>?EB)=HNS6S=U68,JNL/A*1K5'DO:I,M MW>CQ1T3GR"T>OWT8OQDY=%V##*X73S#8EA9DFM]*LC7W1UA<'F_U->T+T1"[ M08T=U_>(9&$F =-6A+PJA29.P/<2ZT*Y/:O3U=D WC3!50?)M2UK1?'9L%&6 M ISJ[C7W$V%+39[,+S()2)\D7!2P*HV_K34E@0*3![>4U)J8V\VQ$.#2<9;? M#&R5BKZC$D%"HPDYD[S/$XC"9J%!)\UF[\M,RO!+6S9.5C793];;!U(5E+*%IBKPAU 2MOFTS_GVPAPO7\2A"1)&2S@>YNRG<]= M3)SGLRT+1P]VF=YVE MN>G4HK(RN(XBZ)H7O]D[-*R.CRLIK(N;+&8]#O@+Z?$HG%7,!\)=01,Y0F%0 M94[#CA( \2M%BX1F9[A1RW5SL"D[[I XG[C)1ORA>2BU:QFP#-0_4J!^?1FH MGU/WS4^C3I'$3]A9(QO0DA:'G2#?Q4:>H)K8EBJLO)J<(B-TC"='K%>TO,NJ M:0X/'4_XTL>]'L(U-4H%(M/%> 7V#GX5Z\5_ Y>FZ8PD)HOH>;!'&HX-+GSA MO!JVY[H5%;9OER+IWN4@6&D[H:.L6VA3"_&[DN6,B&Z8 FP0Q7"1C_^30 M!SQ:X3$DXV@2URBHU&FO;9/'&/VNAI*MQ'K*?F53.TMV@R.M=%C;* =\BYE" M'P-&I[0:\2F;RLI^NK24-H[J_A$EJ#.0%S:$\[,>N3E>Y'7JNHR@TW!=,7P2 M@!&L*C4QB<<=A) MV+K%79))<)$9:][ 9K_DN4)S67 C99R)!B&>J9%-#O"XZ#I9AU]->@E'"&VP MQP!X6X&E&^3_<5J+*XT OTNJBVE^[Y8)CB9I;!(^T-S0!O.""\#<>_T]K$SC M^)6(JI+N.JRMBUJ-R*JKZS;BU'_>E@!+1$:#Z*K.!^[@"\:-%%1[& N$J93V M,Y.')9;;2%<(.UD,N M35<:%)TU4ADV(#>M%535:J:3G7#5%\EO=Q\>D4DR4)/1C+[B!%IK2<,^-HK3 MN5RPW+5@8/2BOZ&^KA_QBIB+"TO)1=8HD.Z,W;-U-!O]GFT.NC;7LME*SV:9 M.W1%HSI!2W#VL/@U#&Z?A3Z65<881'9*F82R>;N,MR.R_9,V=[F(ME-H!^AV MAX^VN3--JKI7T4G+EG3CYX_@_67?03.0!+8>Q+)\R&YJ7%-&%I]"!_*9!+=H MP7"]9 PRE6:N^87 6A2"$F@CQ8<-A$ (@, O/38";<\R)I%TU!J;.>)R*M;H M#6'"$0' P^E(S?QNIY&Y8AUA@1:,?>5R#=;&6!Q6$_H( G6$+YZ8 @8U:V>N MFE50=E,$2Y?]P>)F#3+>W;2D6,*B4O$G\2NA*ST<6(8+L1?+-E)VGCD?T8#. M @#?52?4Z-;I6GD:FOGRZ<<69\YH!$!0.B:S%8>NYY>F (Q$RKP)&$2R29/J M)T-$H.O,AEP3[98$SUI4V4!?,$TDNZ MNG."HKNK;*O9_H0D=[64<\RSB2H&CGG3<'XE1F,R/DY;1<&[$]W:7;Q3L/(E M(RJ%KOW,O9X)3[DJ@5\:Z*J?QX*O9WP4ERVD6MI*9I MQN])[98%KR=T[ M$\@>#\L:;:)G@C"Z1%8TZ"*["C/\=<&$&WNE0C;V4ZR0Q&-,@:!I8,IU(%"OP2V(/]"!I M!Y\]V>O#\3[;Z,YU]=YMLJDG=W^L.\>5B&KYJIXMYT:X=.PY#QF\:_>/YG4%? M^$:(^$2Z>W)C=0/D=-NC"JO/",/A(_'K9G13DG5AR1A--6BLCABZI-@Y?[]U MC:(A1"$_-YA +V9A32M7MVSJF;AR$="K7%&K5XAI#/U@U^75;PEFJM#GB;YH M^?[J1L,SI2U=PS+?(]Z608/;S!7M#1/#E^'>QPGW;BS#O3/'K9VVPTVE#0^D M:Z0*N286NE%:[(9P#8PM 1*#X_8%6=&HAI M#XS>5.T-%HVVYS%PE%S[&HDT1CZ6;I9#4N&JEZ+[A6UD&,JG+X>F*[I#YZK2 MGQV$;]B8K,4]J3*SBEZ=G27T'O3M:H!(YTQYN1GI6^V-E7YQ$C#^3'JN"+;\ M7#.&B4'#KK%VBA,;2* 'F#NC,Y>NL"-)38$A/ED]>3^T*?XE<&9;*?70H@.( MEL>^ A$>!4#HQM=/5JV^T6;>:BNCYU5^IIEJ3;!G__!?+X_^Y>(]3K,&P S/ MA&Z?(%1]T!SJ>I/)VA3#6R7'$\6D-*)=*-J M.9?&A0X-B@Y#*(0IQI)?DW)7.;\N7Y)Y7V\#5"-(Q A>QDFF8XL.1$ M>.G;\BWV#)V&]X!C?*:>@*VR#.KB,'P0"QRK'S_RJ4EA;?8@!M3TG7H?IVA; M095ZFR='>SNGQ$:B MPU^.HX^_G.P?[)V<1/L'T8][!WO'VY_G6DGXYH9\"9.GYGJI-P\T:2^%3 ?1 M,(&,$5RI-AD>HH,XI]0/9>TF.X$=).G$RWKSZCT@A,,/4E48\5O?F(C>_G'_ M]";O>?OJ[;I]D4U8$N?D7:?CI\% @B"V0))Y_^3PW>KJ&E0:V"8%2VAK$(JS MSR8:!W7!4)]19UDY2L_I23("=\FZOE ("?IL\5MT89S\Y'=4DC,] C,N$<2=Q% ;HU\5;R7OBCXPV)- M2X;&TFM,V1(D^YS1226L<;Q9>?OWZ"?;_?3(=#]=V!UES<]6GBFYPVP!GXYM M3M> ]WRIC3"8:V@QHO)(+S[_3TP)CYK_B$2(N/^3Z;)K"$!AGP.)+TX#DP/ M$ZEN,JZ\F.!;'H%#@S)TH2ZL!1+EDN(N-2"BBP(1],Q46EV)QG:72Y7#_9T( M<(Z=^ ;-CQ?[T@E3WI >310W@%-&CH3 F5W HHR $ ]] 4>K8WM+@*;:K89@H18CQQ3%G9"Q@:]Q(9!@S4Z!?6]RMJP3A%>-Z^I> M9(:M3%41\VM;<@-(0F/.#<7,XR5PG[<"M:AYQ[AJ$ESD!5?I,J$T(BR@P-I] M)%&:XB7PS[//Q&V*Y,7;/*006-;8<0O5L5W+;'[#O%W,&\N;[5)(TO#6)+RO M0W-?0]HSZ5(C]A:PJR50K8P<,5+":P;.$4(:@3AP-E1WLUK5#^K4D% M\26%?.D6!G2;=_+C&HH-D5A.,BW:)N'A"ZOO^9(O#-(K=*#^C&B))/P@D>#5 M^2SH2/C8[.]_^6Q_OK#4!J:(&'./-.;ZZ!S ?SR=I2=&:2 MZ_JE"^<A4)1=X8D=E*J:_O^C+I)NWS#UM,29$#7-KMOVO5JG*I)Q,*RA\.A3U MLN58T<\-.1(>I]\?41ZYO0<7!<#Y+.RUM8=GSQ G=S&N,UTESIPMI2UI;ZPZ*\B)FK%-6 1E*"*(B$ MH%E+:HHDG9N&G+062V6&'"T=-BC*3Y@S>"S=-:44$ULO0;@&)V*VSE#?V)(R M,YO:]ATV/4@EO6'R;DZ3HGYT7BD<&-PUVG(O,P&CBI92?;O-J'3=0'@*C[M" M4IM#-+MC-PM3YO/TDY"52SEA.ZU1"=^QV59PR?X1$UI\B]F<_SWP*X:@/ N M;Y,KX65FR. S%*$O43Q&<2D/SS+":R'!'YCG@\3 OJ?O]4_0EG_.P;+L53(/ M_DSOB0$O#%B?/9)?R9#(T%+7LLL3,G'[EKUBE7R&HG@71OEFOL?QGJ-Q"\1= MR[&[V' MPJJ$@7"S^:PEH^#@/.7 !*N17+!, G'2XK=*3$,X8DK;QR6IG+^N1Z88E,GI3E4'-7R^MB9_/N0XG0-\6I<$ M]PQ-S>P&1$EJB#PLY&MWM/TM#1&'7J)@]C0BNT;5&0<4QVC0X&U0S4JJ'2&/ M(W/:/&*"%=1F7Q^Q:Q&^G!_&*8.%QSWYG04TDML%P!MHM-P$V3JD+X'0S2TQ6 M0B"@J,/&7E.,\'$FG/"55VX'G5(WE=%SNIU=JN'Q$N3OTKV^UBI;6&WCL.': M*+1D&(Q3K>F):S5_[K0=$7\S\I)]!6R]6=4#Y M:(UI?,=X;X7%GK*W%$5JU9^D3F#G?U,EVD;*;S;Y*=>A1;%]L9VF[:.:6$8I MB14_(8/$B%3G5/*O_I)#+LK[WI@?F%;31]R)4C ]D(MHT\4_03%;=FJ;J?3Z!?3UP#M5&AB 2I(?KXAR_A8EU(S .AQC_L*\5+JK MF5USOY4I_\@0[+!9#>KTCCW[:K6QQ1/*B!DJ<#K[-S!.1MXBBSUR() ]HDUY MP6D1N-^23-S@7.'0Z,:@]T#*(4IHD(_IE>D&*]&QT68]Q0M>Q+B /'T'_)+3 M%-&8^C&C84\;G[&YQ&?,1!#DBQ,?7#0Z*4UQ3D V%R42=G+P71I M:N!D*ZG^>1=\9T!<6G'#*L:7LVA2*7@>O\ R95/(-._\;B!FB17?065&U,KD M8I+?SJ9R*H<9K&RPVD;LSU2D!+#2IO]81Y$!SDEY52X%Y0.",JH/!T( L^(W MQ2-\H\GG]L; G"A?[WBKULTH,F@N\#0-OOPS4[Y++;^FE MU2A>RM42$%3KRI+;M<2\@C7+UKANWAF'$$U%#%,OQM(3@XK+T/1J7FBI+%HZ MTZ6LD:'F"[[,-QE>$^_]#9%)N(1#ZR5&>?W*U!9T)>$S@^Y/?>E :^45C&,% M \*I=74CZD"6+0>2.0^&GYE$)11:&&?%H 8.SS9&;(U%CJUY92>B+RW,F&VD M_Y^]=VUNV]JR1?\*:M^DRJX#*7KX&??I*EF6$W7'MMIRDK//K?L!)$$)VR3 M#1"2F5]_UYB/M>8"04EV$ENBV%6=;4DD'NLQUWR,.8:+7L-O^)Z=.[!5TS.M M E/;*WZ4SZ(9ME?P)K]S+^$A$X-G+2DKGLD;_XY%B9Z2[X![A^?*- M7*S0^V(*["#^9>O>^I-I:7;I=O$<0Z>IN'.+_EJ7YGT,\6[+&6^.TP%T(FA.[V/YNRBS3^+K[QU[*?0]4T?Y4@ ?? MK?KO'CW?(RU#?.J[__: 5J MR?GF%AJIP%,MI.',DHX3*0/I2.F*#H5? /7(U%[FVKKD&U4Z%1 /(L$_7K\Z M,(3QT>VR=GY>U>Q>V[? MABLH=,*&<>IP S('5#189JAL=8B':['E&0;J5CV \ 7^^=?MT^WXEYQF'+"@ M4'7%,V\G/_4]B!&XST$/08E_WN(T1*%@7E>3AO*?Z4H#F7KD(Z-C5"XG3K&_LYY24>52!5"=O4ETB8D#2 M!#U5;B;.%6L\$ZPQEP$:;GZUX# O",E^N!@]5HT5,5-CW.F- 8PNA(J,_?;E MVQEU"4ZNV0NJM*K/RH)^(T/YO*ZR$7/19$J(]BKT3;L7\PJKTN+XZMV'AUR M*(E_%4.1^2?5GEY&RIY1&:=FD,ZS[WN>6D)OO8> P/&NH5I#PQ0#NOWW20=K M;K<*YK8\P\/W;@YA-&N;EOTO8B@6#'$T_F&LX!GF$U(]H^^JY(*'@@P]8W1! M77=![D4F5S4JPX9:W2Q9$1S)G?GNX1>2G)=>U)[BD692Z=+22.F%DE05:>W. MTJ,IV$G<@7$OSD\N%KTAH_@T#5V7-/%[3XA_9XM%33ZY\!]&)@W&61+TV+*4D'G7$8P4F/OQ(&^HTBV!.0>0K#B"'<\[UBN::- 7'88F]0!';#>L:F_"[6XU![6?=%_GO.S1V&B!;H&/0]GQ,C M">LBV,R'QQ.XS3 I5&:G,_GL^;''WZ85]-BZI;@MC/-/W#RXJ L40=_3VQ% MN-IKI/MV=[;^.T47OSM[P S*?V[LW_\G5<7?I;\^PY<1V"P8ESQE9"3M-R1? MW,\C7O=TPE ELY@P56S#&CP9J"6,N(QPT7WCT"8'@&8D,BXI>H*8^.O188KOV]$#G M9 P&4P9O=)H.W MU #C=I]M,O-[+':IF6VM665V5 4M[-UL@)XTJCS4!B@'Z =RE159D*Y5"=P: M1X<,]'+/6DMG!(%I@@&X*7G-Y>7E=I,/MYU;+IPS:W5J\S#(7L]G_YV\/CC\\.[]Z;8GY[F; MAW__@+F='J6$A'G1+3MW9!!45G+L #I.9W-M@*#U5Q?-1RQC*%^ZM2@9((2C MPXP*2&TMV#VOKHFNK0(,)*D1:=4C%;4-0ECR\:Q$M)2:5T70T7;R,I^(VAYY MW:.\&3KW-DKMSQ/P*2I3"]K"BBG%S8@_\=2\D?!/@DU6I,%".BINLPUR"J2) MCI];2"LPWM 7?=B)%EA"%),G1&:!X(\CXHX(P3$-O*?N7KN)4X M;(7&C$&'J[TB=%6W09 W+J.GU(Q:#H6"D\V85BIIT!$OA)S64%&G8=B7GAK# M?#SFQZ*<,9).?&L)SD?<0%L,0YTP.#=\"V=ZB&C I,LHE^S67,*=I21MW#3" MKM[DNJ)8*I(F14"EW$8XSFO-#RP;5^,8U5=X0=(BR-]7#S"RL7+^K<'N%DOU M'LO\?<"+8<G:"C1X];LI&JT-4,5C-RFT!0K MX(C(,KFC?5QXVKL.(/E>I#Q^]WH#U'I2.C.)H2.@>EQ)VM]^Q%6DO>WGR=2= M YHH^YP2551X$N8P;20^ST;$C^4LT;2=B-(5:'8HL2KC8BB5 MN7ME]*(>,D;1%4E3%2Y^[=AUZ]P]=3D;,6S!=G->0N/J=NJ[!4U)AD)8X< MAK*QWU^LGA7^QH];OD-%*67;AUNEXN0K\QS>.YI/L?&STG+?BAI-G M2 @373B"[1Q*2TT$+^+M/$'14FG#?[Q<<<^QPQO '/@ I M_M'R>LJY'9H0: A/HD6'0J/ZJK$!W0%6B3!O]L,;;?<+\/)TT24H[A-F\Z,D?^35/53!&[H209I=NW[ M-2/8!7U#,!)!)"%,@[_+$%!E3]Y*.E*#"8[]#+:4\^H^":9;3EP(,Q@\L:GO M(3*.",UF4[A QIL#0FZ[H9D1\1JVO/33'/J\[7R)?L.V/M[V3%R'D[=,%_ M@84E*L;6M&+2TFC6ZAR8CY:*)HVVT_'NPWXM;;U5*Z+,^;)J3E.S2-SN.#NC M#F)X\JR3=J.+#Y-F4EV2ZC(ANI>^4GDWHR;Q3H;L8+"M/?)#B#9KC'* 6@6C MQ[/CCKH1R:;0TR,J/,!I#9_6I.H-8 MO_AW6XQ(H4=_-6Z%,\16Y\=9,2'7H-(,$1<$OV91^WY7QIYN*F.W(KZ*^5SC M0(14$CZ'MY*_;[[N-MH4"0[356(P7)"":^W^)YP=,4I%&934M^@K31]:]R=3 M8&0(!Y937BK@5H1G03^]Q*+[E[\FM=9LWX\X[L\P /;_]M1Z'\GJ_R MZ'M81C\"N.E64_R1TYWI&;9X]?[8?0JW6L^*\L<=7-:\)QT?/7?I;)-Y-?MK M;OQL;^])[YU[;RCKDC/'I;&2,9B;%Z*#'2:U9_?R$WK.$J7[@FHP;HL2V8U7CHV%:"09 M7GI(MG[T>NAUJEW2+&^-BYR1F-A<6@\%K>^_G"$ =='19H&%72SH31$FI0X) M8EGU/0^4=YPH=78S-S]RTBH5%('\DA0NL^&"*:ID8TM/IW0\N*F)NO1U%6WF M)6S\)<;HU$/-1#^VI,;A*]A\:XQ;HUDO:0CZLSM],T?F!!0)7P8]^[4=,:"& M[*:D9.2(M#7")H0H4&UGK3&F"/M+C+,P32D1-I%2ZM_HI!!2;'FRYESXE6V" MF?S<%>]8U7TOM5DIO;NYSHHF[[ #%Y13U_8?+M'F]91UAS/JV4I1,,;JX/6A M]6_2TZKY9V=K^R8IIS\U M.W^A_.EG4Q([/UA89>L_AW%&5Y?;QN$XC-&8A>>0 CBO/'G4H7A:!LD M37+WLGS,4F N,TAL0_2"<=>^R@1SAMJ07OA4%95#9.D(52EIRU+"?0+CV43/ ME$_9O\V&4KTBVDOW<6!F$ET,]7DE)AA<:>V)R].[U2- M(9RB;P;N=!?0>3 3ET:]N:'?"58U-)=UF4)&%7>:7OVBZ:HW32/\DV]'KZ-PR28;6B^# MI\VC'&N0 7YTASG*M8(3JG/J3B4]#JJ,TL)C*F191U)UHXO=D^SEZM'601;+ M7_HLM!'$_!/#KX.]- FR37QB41^#8&=:$ N*FTJ%&Q79W/VX3I\KVZIF+8=% M/6RG(FG:*=9)+M5MP:K1XJ 15"'0MQ;_J%S._=&4L@MCT26Y"D\F ZV4O!DN ME(FS'2T]8?S5[RDB7TS:B%W8[D%Z\ @:W'4ZX3+F (.CY" M7X-B!BO3,\&*KW=LR]VHM-1='#7A_95=1.B?*9_DKM3,P]S[MF:%D&*6F?E MT9:6?8%HV)A.NUA5-]88R-SNGAB]+YH)MB,8:*(L5HWYM^(4N3$^JU&SX.FA MJ6F\V;%7MQ=U<] *I>\2!UNZ//DB9*VU?/T]013XAJL6@@V/J18(;/**I_(H M9=K,SN"T$K?S)B_&W;MHLC8B9VNEQ\?9@+:'?=H[I4"I=?PY-:57W0(<'2M> M@"T@T[=+&.^.D7%+C<8#-U\ 22_+D 6GSF>1S0-$^ZX7U5ASUG#6&KIE!52M MI3'KBL31V3X@-A<9=JN&L:3\00$*\#A8XHM\KH0AY&-[)-3/54/9A*V?"2XU MQ-+BJ]\C8P4Q ZN$A^.T;V!&AKXCE M<%(!,#DJG(^!24<+HSNW781/0P^>&H23W+I(]%8$W"I&6WL[NT_9C0EL':$P M_24+Q6VL";&NDXOJ*R) +N%_41RRQ'(LL0=E35_0_G>;4?(>=9/IM"KQ5E0X M:DOAD1],*"[%J]MT?AI*/66U-:^(#B&0V?E".(M1$)+*Z"*N>D]G%R[0IS!9 M4/0MY_$ ;S9GG&\ M/KPG+$A/*:L:B5VK$^N'D6V8MA.LGJRN'X[\7&#'B.Z MP$A/"K'+;OT0H-6_=I@@?G,7J(9LDA;.\GQN3HZS"EQ&*QI&XVCW!AV=&VS: M5\*F/=M@TV[%F2OR1A$G']@+&Y@&?9$UG[2\@2?URQF!B9-EP@ M\F *'\I;CB "IG!R\'UB'(+A)7 XJ$#S)SY K9TFE%^Z"/AN>YO%EWVB M 6\$R[::C'14F2XKBF[<5S&%Y]6$5_7 ;9%P966 %.A D:D0 M<18UMCTU8=O)DPEQK]9ES-/_0V)Y:UXS O;+V^JF\ MRA9YH^?C#O M-%%W+9_P.;V0Q'C\.A_4+4(U9D=XCXXG+(VV')(:):^2K68(LOTI5B'%=21V M"'OSZT2ZU/ZEQBT'VE- 3R$L.%LNK^YI[F%]Y(4UBVE/=;_=' M=%8O$7ZQ)NS6S]DT@QX:I]XN26_N33$:N;$]%&?.F,\KU9OC.K MMQ]+>PD?='5U_:A&;_Q ; LM3>A#^(PESN*Y74$EB2JM)(S=#66YI9 M9P%X'!ZJ%H*.?Y-[F+@_I;C$PJ] P7A,;HC*5#7BG[5MVSE]!!MUKZK9SDSF M/M A98/J(@S!K"*!3?1F 3$CA"Q2B'&? ?IWR/6P9S$2CG 3?7#NV=WA*0=ZDEN%([A!4#QMVX MOC?=#J[.%^]PKFTMW#=FDPK\3$.,2#57'RZ40V?P$9EPBCWOT%?*!"\DIZK) M$AG='F: &PSP'3LJK@V#C[T_YIQM*L42O)!JB]UC%K7<>N[E:/F@I:JS!_NO M:KB'(E)^GYJ8I/&F\G$0#!#;M3A$'6 M3GXK*M-@SR:]]V)F=WA^6F^"$(&X4#0$GJV5QV(O<\Q< L.Z0%/NQ&Y^M[[. MBX$$#8 MF-LT(>!9(TK+B&B!LS=CD@%S[[+J1>S%W=[=&O*:A"]";T6NJ-H2%E2:$1_$ MPB?(J*.3N43XM]8(=VE^@A].!BF/V )(J!CY"BH]490.4ZT_^&HT @'B5]"[ MF$"C6S4RR1+*)[/WC\MY8@GG',X5=Y4)4PSG;?CU#:V(I!S9@@H$7Z^?EV>0 M)"D"#TG0/.$+X2#2L62"2S\-/BUE<,A]9X;SQ=U[7^@)H\MIY35Z)U63D^3S MX478N?;'B+O0T*W;*,@K1ZD7$!).A[ 9FK:9%.ZCPAS4ZYC0:F4"-0G1T&G61W2E?KPS@F[QQ 191+-W7PZ,Y>K6 M#<8YI"/)G&4B=>-3MDR*S';3!]0SC2MLDYH!HF&=1WQ-ME$\',6-U> MS*Z4CO-4G%>,')2+,QA!1IL^'U&V^KA$AL$Y<4B]OF[+,_DG;O.^ E:"?@&W MQM>*+ J4$1ONHOY(.I(329W3Y<#-29,,B77,62&);& M).9%"&Q IL+6J4D&OEQEVO>$_;[=B!D 6[)-.!7_W69JF;J7JT3TQWR$>@9L M/RLRI'SBKG8<6DIDAHV'OB4=3PP"&J?<\X_LEV6)(G0/K;G=XS#3CGEU7G+G&&OVUROV8[*Q3LSW)-/KV7V14JSOKSHN9&3VA M30I[:153M$_]=FB0M/F5DOXQ$E\X]A32H=YB\"N4G8G\BY1]>0(Q(XT/OXNV MHVA5#;.9FD8@)!G',.4*@)9_FJ884&FS(;;YF>! S%;UFLM*U]$V"T' N M9IV+T_.QK"ZWSJM+WT^ID^,'-_//'G!(R_;HKUU]@KTM1W_%Y0V2R+)U:+\F MH,U^B46KPZN^291.%1CR"4T%B*J%Q?@&ER8TK5Z3:U!A1.U!$&R_]^)+XLC$ MW,:;P_AZ6%-$N#\OF,^ GR)?ZO3B%B#=',ZB3WS'*M:CS+:PULQ#_8/)X97H MA/BD5TD 4R,9'/6Z)JP0E2P9@8+:>S18=G=>E;KH35N$!%;36 MW/!L2\U1("')35P&WQ;0NW$T>HFX[U@ZH??S6*#=4B%7<:^2G@['\X?>JW:. M&A9#)(7C3N[X)DQ0,0K2)QI]/G&0TP$TY5Y5][IME,>0PI9&FF0..27IT^*I MA,#=[",><51GE\ACCH/2-2"DQ1_*$@LFZ\FDFQLT.#$$RYH.17\"J<(*/=8B MR&9)XMY*)=FTI?L)==CER/-;=P1\S0CBIFI67+&6FD45>"\*&H>,NX<6SCV,-TWPJB&CX#;1FHV M$Q9,&_E#/A@-=I7E? ,N>DH%K= 2?M7L**A;%.'%<>,^?*H1!4D>8JN6:H_" MEW@C18(K^)CDYJ)0D30/;1:X&ZR,K: 0/*;>K2]P1HF31[VG46=H)':$_13& MLF^37=EEVGW2JS9NW#5G6+ 4BRYGB;,#IN%> .L$1134=.B2591TC'&?0@:Q M]CEAYPN6$H;V,*U2]-BY!>@X+66OZ0PL BAB+&0<=/J8C37P[K: M\M=2/<-!OJA\_["H+L7@R26B_B#+5"I:KAV-\E)H)GU/7O\L!STJ.!WG0, X M+\!M2P#(2-<[//:V0BB# -_^I'Y? M=P]U<_OZW;OD?P M$ZC4[@&<)*0I?4#\:LO X9641W?-M;OQTC^L2EEQJ7AN5"943Z"[^%?EM#1$ M-?G=B!%1&W%]>["&N3>).D;9%&>DA$$=B@/_@%%:KH,UYS$;SQC(<>X>JK81I0K[(+MTL%5;^3X M5ZM"CTT9[^N4\?9V-F6\6Q.$=ZE.EG>6"2FD5VPUD?$]":!C88CN&!(:#M8R M[1G-98;H43[.<2R,03^"1X.[9!BC?2L'@APRD%3]0&2C_XXJ(2JD?45GX! I M28T>ESB0P_$:NA)):@\2:53!:Q7103>C)GNVCQN4^]Y]]#[B2 MY->O9DF=./_7'V C"W[BN/-A_ MTQP8A[T+P8@\OO@$H81YSOP)UQPG,L.;:?FL::'*%07<<6%=CP^%^LGO/^8+ MRTG%^2@*X $81;Y 0XL7;M(V4_$Y4Q'7#S75YR-;)OE'D,+),IDB[KZ5#I+* MIU$ME_]B/2G$#R;@;#UCIH_\HB*$K[$DA%X V<2D:,Z#9KNG,.BL=24A#]Z2 M:5!697D *0\"%Y1P %BK5(;Y&J]A& )C*.(.BZBC1;NK(_ID2UR= T6[*XI MG0P#,_@WU"$!5"U-?.6"K28OG*VJS4!] M, Y8%W <1@LKX?E\,6KNN]]!7DMUZ$OCG@KC',.S9M\ EYR90YP$6M!I3\Y MIYG4HQ8P(--9KHY5-K=CGA;B![$2=VU>B[*'$/ =P9CC0G)GL?Y5'5C*M! M**80:6V'A)<"N>EL4BUR[MO77)4^='$J% MKANBAN;>1GJD M2]Q,_%55&APYDVTII%E0J"L(&7EM9:0I>D[B%F[:".P3\"7_-L"DS MD857:TS17<^V69-,3]^';%,S98=' +JP%VP:Y_1\7'Y%K>8M27;8C@&)/U)R MC8?: D-VTU-A,T)$5Q'Q0RW\6>5\E?-BDMMG\#3H>4GM\&2"AYB@\'6?FVL, MO95!_W'!7M#,QFQ4_;3*H6.?SG54^ G+W;FK'D9^G:R%G??&5:V9INF:4J)V[(L(#N-+L!?%'O*_5N80?8 J_:Q*PH2BR,D(Q-/$< MNO'5?7/7(!<]J,"W\R=WA3R;-[ZM&YXZ!\)I-&FRKBU( MA9H91C'!A\V8J#JE?6MC,E*%H1-!AG)2V+-"DRO8DZQSTUC1MKS) ZB0)K"/ MW^N*6+K/WH78NC>([@^Y.\P-?WD2ZW8X;[_[[$FHN=U87[:WH'>G_:>;9Q8; M3D5(YDR$!JD=/C];> X"FW&H&#>[=.YTF<;)#E&O.3CZ+-]R8( )"EETM%X] M2T;(1LG]V'CK39;0R]NRA7 KVG+VN+6VP=W++9HIA6.ZLZ7]BG-PU[+*&GXP M?Y_(DOA$0%7G M"\V$JMEF%U=G<;5?N:]U\=IG['!FK%@HGLR@G30$&W7VN&R8U^U2M9I$B4F> MD8+TFM'Z9R!&EB]I_L.4(#H^=TSV*SPM\X[4./E.R@BWF.7"YT1W-FE=,4+F M2SX)+[G54""1U@&5RJP@ M=:(_;1!?7PGQM;M!?-VJT_#$L+]T'(AX9Z^R\LO]>Z:9P%#1 +K+&4IQ$AGE M/9]SFH_C2J$FBRF.3$>LI1C6RX1$_/5NSS(AFYP&HK=Q#5>(COT-1W.P/!280U$.?Y\PZ:7B0WZ(>YLDI8SG#'4Z>*KS[D9 M=AQ6I,I7V^#++1[O^$B7^KW1I8%+/$('TSS3&JMX"9;F287(VD:E'WR,ZI4J MBP:>)$HMD]"<)HJ1>6=^2>*ED;H,53W$"@7)LQ^Z3Q6X0)1@ OP,A9OOET7U M[Q;9SP='PVK+N4/,HGXXJ>KJ4^JIU)TWB(,Y*W/\=+X8N3@_+U'IJC[!#?$W M2!-G*^L,U9Q\WF49=XY=C:Y*MQS=KA^)D%NV-3Q''Q<95?F\\FI;,4P8DVO7 MKR[1DA4RAY7;)FSNB#*X9AT/$L7U0'KD=Y$.\%\V=DK]+$6J](NQHK/ /=8E MM7#D%]8"N1]FN[I;B]3*NXICBZ()4/ MB5)UK9"#'J9!- \3$B.JT3OB.V^'DT*\9].J2+$ESPXMI3H7.=;(< ZRNBZ$ MO-5=0WE>^-C_F.E=V9XIJ+[X0M6))L84W"THC/NHM5W-RX9)2N,$,KFI)_[VU5NNI=U"85 M1H77U#@A/5M2;IU.&3NBT=5DV8/:K_LFVB&KM74^K@(9_"!'JZM[S@D) HU" M[]?^ MGNBK6!1\-Z-'EJN(\/(JZU9Z_SS.Y_XP-AQSVDEI=KH(-.7 0AL69W_@S0>N M^ZA%C[+:I1$7YF'TW7?BY2Y+%RQ/^SWQIP23-R2$'&5D0D$U7J7*VV! UT(S MZN>N:)I6BVT!L=%#:!-2-$@.#C7 L51_4V=^/=32-,CV6\A\0L0I#/^>,D@O M[I_U"!QY2%H=H9?7':6#P*)F0S:4'=389H,F%^Z ^)U3@SXTU*^$,N1[Z0T6 M6DPUK;J4U/JB!4^,;U=OG[RY^GHWW3RI;W*\PDM+II\"+1!) =8L;EKM\!6T6L-JM1)T:C85RY M'<-.-2D=7!@%3DM)HJ_CXX[^Q)1)VK!( C)Q[!O;!V!9:8TRYA13F\?K1#N^ M%A%)\#498I(_*)"J!J#OP$4X- ,[H7.69G"86O64N\4DH1 MN^Y1HJ)"0^-*T-RA6N$N_YQHL:SG5 MP,OF>39-T&1F6C%$W;KK/!FPH6$G\T>_%1!I<-+@Y+_C -\;6W1[\"JGK8NT M2(Y(:EYC*EZ76V;P8TR_&_9\7"B#V;^J 1G MY2SH^6LOF4TOG5XL0,[$?)[7COW[&%.8>3XZK^&G$/?J3OLK-[$<2_2UVG3, MO4 E=+ZINBJM")?GF'@:OVXDVD%B]857DH>4[<"@%8(!3[@M79"3XTZ**0W= M.7W4H_?$!EE"F*+IE&FB.>S)C'#80VRX0'H!9Y4OGH-\+6/?[/ <$C%' M_DOO^$MI\JIV>S6;@*GP=#LY=0YLWK-(OB2->]=VV.=H,O ,L<&)+2JZV?JH M?7BSI+I3J.[F0D2*WS15Y;24*B/85N=.W_*+9?F8T&E1/_U M$%)00-ZX<^9-5>>5M\<8 FYOKG-!0I.M]*Q\.+>(FW"14"1H6;0)^7TN53V! M2#.L9:B\4# [#]IT>(,SJ;!&0H1,#%]$[XW@ MHIV,"RE$Z>$>5)Z)1I;7MQXD'I5P'];X9ZK6J3:U2D):CONTJ^H5Y4),08%A MOG,8^#^R6NB,J4^@E\>;,+\DR6JBWJK;CA)J8KTGES68)C2])X?+L@S>==,A MPF$\*>$8*3.W:P# *IJL8?;>EE7+S;>F.! MX$"1M"DF;UK,E3]8A-1H-<9]CE(8V[ M)>=U,6@%J9N-IPJFE36.*Z%L%7+1&3L(#Q,<1.EQ<2&+8 M2CR30'2A8=:X X&ZA:33*8UZ*FDF8!,:ANE%[5"7 :A"K0D4"V%1JO,J. ): MQORS?A]:N@2CUMPQ!7.BU9HQU"F5/F@WEQ@##XDT+$X&9*D@;N<*&N3'DO$, MC6+=R,9Y<>S3:Y^\?K>2+T3OY)XV F_AX6QHYFMBK!]\4P4H_ M.T%(^^+^5,,"T"6VT6&NM5ZQM.7HG"0(2W"8M)SX=V,L[M'!F7]B191.NH3W MCF'?[[&)X''/YN>I.*6$O%2;Z.V5V$(=:>WX38PXCBFK4:/OI0&V!@L8MJP: MC55/YLOQAC_9+Y7E+TEK:*<+]%V_E5 _WM;\(I[DF!GY4HF1:2%;.N055H@. M);V)R1-QO[3!*?CK.]/8NKCVP,85- Y^G%KY,!CB"0S:?VL):>J(1L7P6YC# M1HA)="Q9W.;K;,X8GK$\F\%7DV6*OF!I&" 0AV\28*$VS=69UE0?8C%AFFES M/)\[":6BL[3;1 M?A63^DT(4*9%TV/8!$@M## &D28VA^M_) N@(\A*#6B.T:VN6=_E.6Q:'T'H M5U'*))0HT BJMYRRRA6Y0D$7R[O_Z L<5,0\%"211N KHOM* ^A9=A9:YL%B M41E*N(;L>G^L.\CUJ9:ST_?AO#TT2"OTV4#Q6F(@00 K]-WSA*A5,+*UM"TA MG>>MM+/_;AXA:^XLE%=FTZ^H;('7!V\;CH HU66JSY3U\I:/<$>]2;.Y;SF> M5O/.XS%< RNLG3?4*SD6Q'6XN6%XOB32!EPM!('*5HB @!H'%+['.\N8T[!Q MM-5XQ0/;3N%S)3@XSR>S@(I;1>P?$70)VFTDODU(%B([F4F&$ 16RC\UR4=G MG(9377:#G;PHEDP^Z*K@AKF@G,0 \XYW]&:U<1%F&*O5C*R/:*J?(*F(]I@4%8&P/7H^(*N[C=)=JZ MU>YZ)&QYCQ+0KRFB%45?#@LD_*1S>41]*'8?K[&7?[ 4'D,U2U.BIA;JMYWU[ MZH4D5;IW(@-.%8C\TO0 !HI8;L$4W PS383,Q@MSY','.:%'AM02'H3+6&R* M@8A^N+WM65;W718S?,'Q9C1TE"4%"^:$6;\;8:I32J:)-8=I;,VL&$ M9$<#45P3 D??09UJ@NU*RTAVJ9>:H@==%2 _G1Q=@$(,*F?P70P'P9_[XFQX MR"SUE'W,)]+%'+>@#-LX;TGG0FH/A9#M)*8_8E]MEB?<5&P8_D(2G;1)X@6# MOYYR-1J;[^@3V^>%UGY""$E,UQ%U5N,QMUAV6!<$I^T,#3L\>[J";Z'&M[:9& MC@$@]UB8P:%!U@1LE)>XL\/ MV6=M>E""=\U6?YDL@MLONA\1'$XKI*1HS8*8](P@8)P"\[6TP!$AK(,33TW MO+R&#ENWO%">P-5KZ[SC6GN?FW?0/&\8T28A:#C3L6?!*+9&S7N'#[/8AC2U$F%03Y14XD2HPU$+""YW*ZV9MZ3=.0_#;H7=+S M+HG;E%^VZSJ?BNEYM/,(2Q?3PX_&,5]4MXMLB)ABQHHL$[!:8#ELC+#,\*VW M/*4N!4G6P!3C+QE?]CFI>>[K#*;-Z!)'28#AS2%1PW9FE \G!6"[D?1!C.() MQ8VJ[I1 .N6.K)V?5WQFQ20.'AH:Q'*[/#)^,KP;M+;FQA08V1A[*T#Y9<-0 MOM1SVYLMJH7=XZ*@-D^CAJ+(I%BRG(F,%D:$ ME6,A;Y,>_3J/8";+O<-+\<%5C>W)$=$&L%\DMY X+[R541,2WE*LI,D%E]>H MPHHH3#T$Q39H1H=L@-3)A<@H4E"2BU&F3]-YI@X>OK7+DW<24O61)C3#!%^&MQRI$&=2[V(60<,-9)PT\DDX'MN%EI0 M^TY:F#^C+L;QH-(5]9VAU+]&LR+92Q?83=TC;@VSF26 >RTD98'!A7<^OB^+ MP)",1*O$< G<:H%=_?9&8_?;J5=V$LARG$<+6\X_%R#6SD]DY'I6EOC4\PZ3SJR:*)3=37!CXD&V3,WJ,-,F;C0*V/ T60RJ9IM44>-T>> M?38BG\H3CW$2CBS59QBHS5;Z6X-;:UKT9YL\?9LM^3 R$W&G;S@F"12$#EQ(: 4SC9-D,])=Z MGC']"7#7;MV>%[/-B'[6B)J:C^$W-.4L/1 ]/W\KW<\!GK\QTW]V60=*E\W( M?5[*C'-DZ*MM:SAUSLT3#$1S[GY,FG^W>?Y'+K@9$I=C4TR@CP5A-S=#_KF' M'1J*&/HXSZ8JLN"U(.Z&IAB9L1%85+24FH+!9>@R)TPQ"QAQ76D4NG 55I*5BF./ M*KI4EU+8@T6EC%M:CQW!M*A'/TREHC>SNF3H44$P\%1; [6Q+"HD7_HU$4H# M'B;#]3(4HR CC1[B:#A"76MI8*Y82,E!N2 ]\MJ3%2^MPX@/(."0 X,6$9UI6!-@U%,)J_#;&4LVX$2CO6(.GK@Y](ST'="K M2@VL'@VE^:?^K^5" M9)K(_=TTV=O9VQ]&MG&/9-MS#)#'^B.@8)'R79V1FH+.:T MT1YO/TZ+OL&0+INL[#P.'OJ[W>V]Q]W;/-E] M=NU-9'RE0>MFK_ET>^=)>,VEE]M^YD?UJCN'";U^?)\\ZAE?1F_%;[R?/GU\ MS0M[Y([( /DQ=O?9V4U.U@<^H@:)'?Q6-* R>BPXQTKW*CQGU$VT MT$ ^VS6E!@8<.R\C&S@3A_2WLB$%3K?C6+9./ %_AE0Y(2)KVFG"NQ*K.E3$8K#O(2M#;&2UY>@3>Z:]OH6I_L-(J/*$#P MZ_00=4-;?1J6&Y"7\@K;T:":QWTW3UQF-YU%VG1 MT%+.??CP]N#TU<'_)(?9K( ,\!NV:]I6]C9K1MF_M;.,.2M'HHZ@O)_::L4] M;?$^&2_W^3,8EKSS0<[BO,0/=JE*:M'S&AHDY@4@N&913A;R'FZ6\ZST31-X MI>#F:XL4=5ZXW<4H<7'I] 3O.FAH%G=V+1D4(_4A,CZCX=>7_#I"T3HWZU0A.7T+]]C(I$K'M0=ZDTV-'#48"663B$=K,.&\OVPO"X-,8= /!?.K#M"9[R]!"%C2!PX\">9T4H;G"8 M7")2IHU�YEGQ$U"-@.(=VHI59^7O/@A"6)XG@I0?C8/".=9Q! JG/I@ /) MC@Q>6 #6.^L<2: 8\M\T:%]=T=*FB1-3%[!72:1N:N%W4ZDK@0SSP%LFH+[W M7U=[W-,0+5-^UR7V+-V7!@ M?26DW^,-TN]V&5&[Y_U&)));<@-XKQH;000H>I[5&?/"^ZSC4%P["BSA1Y72 M:[M$V<-ED!M9.?%'^BYH/!WJ5/#7UR@+ZI'%O)U'=*G4^AHJ ]#5W;+IO-7/ MPS17DG^08(F&.E6>5R]AA>D!KX:&1+Y*E:HK,IY4F?-$?$PA9"3N M^R-BH]7)2N@T=/\]JZ@SUX4ITKP IS?2S44^0>:Z;U>(W*>*<2EM9V/KG/I] MRTR2]KLT<;?X*)>OQHO+B'49.8KPFOW^$A71U%MRD=D$RD)"NS5H%XG7<[Y? M-H#2TAZQ@N@RKPU'@"Q-1:]06IJ&^]?MT^UDG(^H0\8<$^ 6#9W0+!LX2E;0 MTY@"*=S5%7$N*872+77SEI"^]2S#%I1%PXEYQK_@F8'4I,4.H&@DU$2MB_2CQ/ M1;QWSMS!KR MD0BFM[#T*+="]-V-(452,FM( D'*V@VO\&*QL\G,*5%Y(*6H5E1/SGL^?JE9 MQ$%>$C%+-E%"]36MHE]MDD["H,M(DB"4)#U C@[ I/"$8.%/B8I<1%;YAV2P M@"FR#->SZ+*O)U5=C#("V&@JH''_0'TGE;DET1,A+W(.56H;_[ VZ,.5\9I67TB";BD+!12(8-\/F M\#!L5W#W4;+U]!/U'+B%&DP' M@LL"RFLXH>MF+JI]?A:1@+S(_%Z5V:8".>'C2$6HH7RZ+,D:>2*@+.A,I;T< M_T7<#7==@?*YI?6OJC:+Q9D94_")-_>!SXN@4HQ!ZHS1KJ>%HY%)^Y3N,#2* MT:!2P'CL5BN3WH3:CJ9#;-6"L]V7I?().BN5[#[^7JL'\J;!G! 5DC7&'OD! M9!D&3KW*_C=.U:<4'8:E6)]H"APO6O6ZT8< MN>[P19ZYSFQN+X:;>#R1(=9?5JX.2T\8<7G#"02;DUJ+#D-N48XG;S@_?:WV1A>?6-ZTC<$/7I*"-!'V-]N U-9D8-9\=^:/A]J MJ?/D"G"=1^%Q&HK7[,S4[G$>7;"QXV8!PM!1*)R)#7>?&E$-CEW+R%;1^J5P M$I![+KS;HGU8Q.3H=0GGQK",,HGD"!)_+:UQ,54=>)XQMJ'?9J4/R"]M'B?L M)(MB2,6.-]Z+#XZ[=O]TX%RT5]WI3W*@5S0=T+P&,T(Y67'HP\[ONH@]*>TK MC(&78@WQ?90@L4B-)6=4FC N"K=7,[OHY=&#?>,8H,2Z9\2(90K+)FUO6?KO M/A4^4"(#L'AM7]>E7E226,\PFP3TVJ?0.[NBNG8&?!1WM M?6/O:5TU9+TY)'%$KB O?E \C B,LP0,I%16\&6(WDM7I+HY<0'I'&CPG1T. MT!X4\05_3!XGZG.#E$>?IO#D3ZLZ+9BPM6%=67+0R)_I@G)UW[OJ,5;,# MES"E0FG65!!6UA2)C(B()FL%9J%$(Y^6M.2W+9[<;Z#%DPW0XE99Y7=E\CH? MU"WP[(_8D:2CWXL61GO/;7HW!;0%QPMF.TB"3B(W_*EII.]^J;6ECV7)_L[6 MR/D@C(]EQ"3U#'8K_RPQD'K1(T;5R>#6G$=;G)%+3^-96DQ,=P#L?7F84J.OV=_AL:(BOF2<.RX. MY(M$P7,00-37>%OF\23L*E=[7W3FN4F?MM,.X !_$:_<.Q<67&!,NV&_JE5J%SI+G9708W/$6)W*M2T7 MQ2(7>C&CW0T.-J6=2@VI#,79;ARJ19[3(#">3)ILI:[K0?\NOLR!)_?M\X;, M)E893),SXLRO V:7A]$GM0.T#<^ DWEXGD=)_O?PGR^/WI\>'?[Z_OC#/\VR")PT=W[8Y$47Z,MA0[E(2$3A39SG M.V4AT<7:;X[?R?NNSLKB#RY6@;2CGFL;#591AY(YCB?NG0 M(48[\'7G> M>@:0LA.>E#W/WF>.'[GS3*(!RZ5T))@';4$^@0 6J$N6Q-Z]C(S1L 7[S#"H M!Y)O@ARN$7&?L=B;\+B%BW!&UBJ5>"B85R_B++=*&=&#AS%D72NZMI[0T0WH M4FUI@!39D.O,!&+(D' W+@*-"#O@93Z'3KRDI!?.U9HVV\DI9BR,MVHJS,X7 M#=BI@K*M/#B-$E&*0C'^K"47F-JQ*^= E%A]E,H5MU?E;SN"79' J*PR:NG& MBA'"=Z2-H6]$_KZ*&M.*UH%DL7G2R'4A.RY_5F=3R9 6]6@+_<$+I475D*Y& MDIEJ!7EYQJL':C61'Q_-<2L3B$24=AA=M!, 51X]JX=0E]$"^5<2C2.$8*E ML]\4=)Q;>9 .F)F*OK3Y3+*Q[E4[-2B#:/$CF*O96Z3D_;N3H_E<=9;ZV:/]G>1T1@BRWS. S&JD1PIX-F]>)7N[ M3W=V&8XTSH9_S6_'DA!*)MD ME>VJ7C N+RGF5(%.1G5QD6\A/4%)E*3X^>0_FM:/;X?,DX!=F(EGCY[M(97G M?O&?IVXXLC=%,[_)%W>?/GK!7^,$+733W[L'3D[)<9-&0S=C_GTQBF9ONT.7 M>OEKQLBQ2^5<,S0C=.9'24$_O'MS3(6W.9PCO+FAET^PRAN#X MG"^\OS9&D-2=\UP*WA5]2Y>*E)@ZZ69E'Y<:OW(!^<+=1ZYYF@W/:?;P9#0E M'(-(IG+NORW1D4\4\L1,"%BMI9>E'>Z37XY^.O@%3L?AT=&KX[<_W1NO MXW?+":S-<5G"H;^ D%F^GM(/^4@+1EY#%PA'0L6X14<9(X)9]O!M0)Q.E'^) MK98/"D&^6%1F*LTR0J'J\VEZPUS$;?E):<'KX\^_#-Y=7QZ^,N[TU_?WWFO^W95/N[WT?AL(G!^\_),?'7\4.^.>]U4;SL1C-Q]NXR7\??7!/\CYY?_33\>F' M]P=O/\A!=TH5Y7=ODZ/_^?7XPS]3]XE?#CZ@W/SSP?NCG]_]XK:4N\"'#T?O M3Y.#MZ^2X]/37]VO3GY]?_CSP>G1:?+NM7PWD>KCW<^"7#D10OIX'%+5=_4U M_Q0Q9O##!,GC_MB+X3%D&ZR7HNEY9Z7_[SIFXT]-Q\/:+XT#TUZTNZ^P4$YL M$-)K;_<1%:GK4<3:W5E1+]P?+R&Q0)#$03XIW \>I!EG$!YSAM$@Z>/NG,HY MW>?YA-GWYC6H?,IL"E;X4A_TF7E0!J\SLX;J[ZPF/HS1?)=9 _;RI[N&?/Z. MS?252_F5ZG2L_3I>DL1!5DO0MGTR-%!R6=:*646QV=>K]4XKY@OB&?;*-H J M+*O;S"O-L9%R)8Z'K%QN^I'KOU^ M?%N5ZV5*C\%E4B?OR3FX=![+X$Y- 13N8;^< M@,KG^/A88%]-GIZ_.XMY3S M'[\]>'MX?/!+GO_[R@3X"+,@!_G#7\R W/JV5P22(CL)I M;)O&XVI)NJ;PL5^/\R>@T!Y?40R$!T11#W'"O&I+\F9T&?>//:$46/4@(CPX M8$T(X3[[EV*!/;U*>%#JT!&^3\$*E)5_*@2=O9_UM!>"6W%^^J3)+[GR7][ MB%'&]TXMFRLWJKPKAO!_&%3@XJJ?B[/S"3%6W=6MLG);>-ZQ7PG5=Q?G\Z9> MP"M6)L&VH9WH>T:Q85-+NSIBMN)B0BJ$#&JAB,LH)"P\QK#(0*D"8"/+4SWF7$]3-3RAR%*0U(O=#3 M_K)CXFYA%4?Q58_YL? DRADP^LE]:PJ2@1F$P!A&IG"=W"/R\3P?\X7%X" K M@.': HJ4039$^=CFJI?E;L&\M<3:54RE[]2_ 17L[EQ0?-,U=EPF[X;S:D!L M8J/DK1LF[?KTXI;966WE:@C*2E( NWO?]X@[4O/HK"XNT(%)G(NJ*V;%UZ0_ MG4!@A#0PO$SNRR5$A2=&B>@[2E,2TBGA)*E_UJ=&B+-Q[FYXPM&25.9W>^D3 M(>@PG'J!CM=%D] MG#.-A8DC3U2*\P"C@3=*B5=IM/08<7U(/F&[L: OIVR"/R^\B88[B#3E&_1W&."S&@/:!N/*+6 < M?6%/!JL ?M(RAZ"=L0>>?(YI]-@45$2)4KI>DI(Y@2A5+1PE?VQW5 MXW':Z=-Q3H?;O**-OJF[?XVZ^_--W?TVV5DYR[V=HOW)5;YXA\K!V]V%#!Y> MWH#<"M[77,[$&[1)A1:!_^N,TX!V_3P1'[XJB5/7/XYW?BC\*.B>.R^&VOH7.LQ\F*6DH-'@R/Q_B\&@$JRX7H9H&%=?J M,X"X?SIYI]\T7_+:K<1#,7^SMFS9"!JQL2@1F'#E$\N(TK(@G?AOI3K M:#HEP^=//6ML&7.V'@RS43XMALD; F!/DD,:(K=< N?LXYU5W\Z&$.:A5^&W MDF%(18:#'B5<:&_UA:8#-,F"Q'4JS"?*Y<<3E)-.6:.*:#1KN[F>'V39&V8)KI"$QE!(8Z C/WB\SMKJ$V7Q#K \NU3J>@@5CH:YLK MZQDM$^)?D=^8GDULQKKZJ&\B"C2W>+W'%5S4LG3+?)B/EEP9S&GAS.9/=76) M?II?W3"C]#-GFE R*\;HJ2H[^2NB&\4M"[[T6+&#"1J=;% T?H'%=YHP0?1+ MU#J=^?D=6R^;-NZ"2+?B A_J(GE[UB[R,B4KZE8-Q*FX:0.NM)O3^;DSG<-S M5.\Y_2%/X6_./1/52"5IM\V=4O0ZB.PHO@3'M91^%S$4:6R_R8QIIX5;I?64 M.L<'.+NPMDDRO('Y=%_!QQH?.2V/2\/M?-OF194UO?B#XP3IR5%45%';/R8?R^K2/60.Z_B8=X=V1M+AS*Y)A7=W$HA8 F4ZJ %6 MS!9KR1IRH48/"M&S02*<%K%/B\B>+O+H.#IW+KI[,A T">NW,RU;;I%NN3-F M7+B%' ZT-$1J0YB&JJ%0U)U+0JX F4P7S[=L'W2#K^GB)#:0*4%(AD*:2Z0' M;%!Y)2B71M,.T$TLA'MLD XY3744TE2G8JY4X/KPZ-2K6[O9()"(4%,)(584 MT[NU,Z;$Q+@EE]J9%=0'A\QZ/\X#[<8HQQ=#MMY-?LK;KS5=\^_YU:RWL@;)3T8\9Y25JC6Y9:9 MM08K\JXN,R#ZZFQ&)QNUW8,/F:UY90H2&@MHQWT!!&S3. _=.=5S>-\'C5WI M"2CZZ'9BWEG?LOCYQ)8YBH:%KMG^CG(2R%$= /8C5]ASLD^=4YE2%_S45M4N MF%6R\'@NC"*>S1K@)9LI&MR-EV7($N>7ERBSZ%/0H<(TA6(#:4CU1-, EHH" M\,KA\&=GK3!)O\K<9U]G-7S 0W"NU,X0JT;OY7E%XGI3TA2<51\A]E W+)'" MCXJ!RH6A*]AR##$&!T^R_1D)S+]^G_W9:[+E<-B8@38^-T<%&,DI=%)2P#C203U8/$G[T+B?4. MAE8*D7@W.P.E'^&D$4@IN'BTQ;1N+NIV1N."7/DH^!&*N!;H8WX?0QGB@FAG M,Y(W>9.E;M=."G?OLMCLM,U.^V8[C5CK=*-%]6M[]+.HPLKM]CX[0X;.GS_H MQ?GIYS1Y<_R!-L3/67T!OJK^K>8%B7)JBZ& W9VA="Q/LH%U&PZSZ: N1A"C M?'.PV3:;;7.;MPWEX0#>,/M&]LQQ.2K.JN0D\D%]Q2OYQ;FOO^5GF3NWWN87 MV6CIA/C:E=^O^=^_D(;^IB$W-4%E2-3DHR0*7$P>:2!*C&5SR8R="%&IQS"; M+>(S?[OC4IM+2MZS+6<9Z&!S)/&[<F\80WN9%H,:T#8 MO4HA9=,@YZK)&FW3&E%."ADRU0SG:DA>,VLI,3)EPX54RL>YP.0S6<&BY.MS MN4&ST6Z*O<4N2Y6(1"_ M2B?4;DL9<5F2D,#8GYZW\_G$EF7RLN$]BE>H\W,IN\344]VG]HJZ4.1Q'J-W M^SQ'[;JFFCY4!,8*24.OHK+[1!!\G),-6294RJ0B$[)Y&KE+%I["Y&M"=[=I MBI&;_S-A8)M5,Q2K,,4J,^"#^;\RCL\:BP!EE3F*X^DY[3.6/M*75Q$*GRC, MSR^JR05M*:FZV&6W%/'?EJSGLX@M^=1XU%[1_KT>!YN"P;:V3] D\_;62-P&9141\R4J% 9 M@:>"(5^RA4O%%[)FXTG^B4#!=!P[@T8#9.ZC):DT&;-)DQ-4'=,:J1%_LBF]8H%1F!XS*6]XV M8N+=24=H.((\R$C^4HSSY)166*[H%KD]?7U<<8Q.KW]"::1M6&O,(.S)A O2CL\VM=7N.42F3BW#"1:M"N%IM M9T!&0IRVA$$DE@ =( Q9(P B SDL;H09#!7,&C!Q\M9>'G\(ASJ_YOR\539U M7=JAE.HVE/J-AMV=9"00K9G-$> -'D&HS':='2!@.>[+8!;M!KEYVH!XX_GY MNKJ!QZ7I!,@N!9')'3(>ZN&&R]BIN/D$%E12K=OH&O/]<=>VQP7W4 EA%5-* MI":[Z1/F::4ON!\?/7U$#0U&OWJR2 /*EH^+W?WO_8.O\:2)[)_//IR,W?E2 M)^^KX<=%\H9:0!1ZT1WE>9Y1Y@YI]I:$/R !C<.QZVR'PZ*H?2Y;H\RFE:.T M:0> /-#N'&53J'E+?U#F_E.7V:C:[GN^<])?SDF]3@U#ZOZY )T4@AW+Z!( MP-Q=J*YXKJ!%]TR=MJAX51[ZYH]3>7/"*N\^R R1CR)5I:09.K/:PA8W+FX=59<*3F(#34HN;E4@I(*X MI=3_T)CFNTW7=2U[2J2GRH@4D*E9:7KN /YPY]=U^QZU.X%LTZEO\#3[;K5H-OWF^6FP_VPU07 M0,?B;S+=,5SIYP4J"*+0I;_\X#RR!@=_VFW.=$:I4JM3S,F9\R1(["608$8= MH\E6(LG\X:EN9]3RN:XS^B'8,N]H,$B0Q*382V3W, $32<.]\S/Y^Q-,-,[ M'?=RLH6)9-?:+H]L3FH!$"& GG;NG.Q+ZJMPGRXKSI,011QP;/7L//^4.A>F M9"\!<0\.9A"(B)CQ_'-?[TL_D"<+[@*"+N 5P?N7@#S+&81FONU,">%5ST@OA^'-\ M@S V-7$LQ:M/T_W'CT.\^BS=WW]V@WC5N0L<9*/5_OFS??Z*>P"F"@C5."J[ MP)HP)I">3<7FA5W11^LVD'8G#374J&;-^I(V7,.NJ9D_U6YW#GM#)A&:]9', M3Y%[]YO$>/2'Z[L&H##%TW'X[K?C5UN[SQ."XJ.[,4.4:[6%))-,^:WE2M9% M =^EG?)%*4+U"H.MB6Y"4G"A;3S:08,*ET)ND-F98,THA26YUXQ>ZR#70L3$ M,A9\#B">'XU4M,=G!#OYQTZ!;5I)JA5I/IMHQT&GHO:47[IN:+D98+*(\Z4( ML[B0IPW/FGT]I^X<[MB16H!TCFJ%?>$SA&N[ZM_9U#\UL92V;9!*^M[#T$#% MI'V]4*N;X%KWBIN7H7-0:.WZ1"D-Z+9T\) ?4^=4FLD;W_*C1%@^IRM)8DNY M9?ARM!EMY0/K][I6KH1F'&UCF-8?:BU/0]MZ$>)0P[P&*CL(\ ?UR?@N](Y*)/_ M/"A^/GEH/4$/98@X?2S7RT^TI%_6!3R-M5V:9C;V'O?.AL8M M+/:FTJ,WR($R@K^=2.@ MYCA_)*M,*[QWJU?M^'3Y.UARC<&\:E>>^^97EP= M47H=R;]V+A4_KEZ+"UM/Z )*=;?&Z_? ':\3]Y:]JY=V-6&6@1F1@EZ3$^PW MK$V/ [/Y^E"F.SSZ7)77GI>P3S*!6C/7$Y!G\>EM: M'HS"WF 54TGW@^=AS'%=O*N":"O+GB'\".Z/NN[EZO] M@I7V:(6=C$N^8T9#C?)93ATWG1Z]#DN;1JJ!TTTR'N& \K83'Q62 B640A\' MDRRK2J<\";N/_W7P]O_ZHC7%VF_=<#A#.Z&B)('4(:GMS$SC##,Q+CUX>W1Z M\)"HD;*/P#$?@C_'UJD>G,P7#Y-?YB->PP?OCT[-M>[!0GBR^L",:=CV J6; MDHV-"I^BT?@ M>);0QJ"=+2^+$D;H&(X9?],?Q!1.0?FC^O\_IYX\9Z=_6!U$*-^JMC&$R6H4Q])+03SM(6 S>NN!^2 MD( E.=N2M9^1W1L9=EJB!?,="_N,=GF;/_EF;X+S.#/N[#.U:%BJ,= T6RKA M0"\F.<40N:O=\.@=V< &M'7H_ YMW%OC67JV M%E2NPW8\=>?S<)XUZP!SIZ[BK&8PKC8MYUW$\.F_IKM\O9 MI ,8+HCSA9O8]+'OP63NK@KWG;%9T5Z@+1"1)>G'C7^EA@AQ]K4O8HUG[32? MS1DRM>J06.490%XVL$#^>OKJ@)56CE\??,&QC9A;_8=1#J^-HFIR]>JV21Z\ M^OVWATF8YQRU02*L'/ =-BB ;XD"V-N@ &[OSM[M/V"O%\LR2A. FX.>Q'DF MFH=Z^\]3]PX'OWUX_Q!9]->$;W/.YLZ.S\!S!D[3Z$016W#YR06+N.W6$#)$ M0XM@NR_AV WF1Q"0[#-JEO&PFKCA%2HB9+UQGG7,:QC,AK[..P+?\^=KW+%$ M6 LC &%;K?5B]V,R]IZOW"Q@]&<=NG$ROZRX2\W7D;ZXB0G>Z]_1Q(3KKE\3 MTS43&6CW^\$2WTQ&8UW'O /6>70O$3H!CO!<^V.75AU5DQC.GW&0J0D6;-:L MVS*[@F0_>7!X=/HPIC;FXI.A*]WB=1N;>%FH6B+G>R.O=X.[-\Y(/8WB+]9M M040?XG6=41^@$Y@7>%40''HO(P,W' & *_<@Y6AKZKRCZCVP934B>]01%3%%VIL/MJ[JB1"PM+<9"I+V_ER='( #MI\LK8S:D_8]\K! M>^IFK,CORQ%+[!]=KL_0EFYD2-C;2D6CML[/"E[06*XH#;)Z4@]1$[IB2)L* MW7]TOZ()M?]P&<5RT%($2ZST7[NOYI?,?$3R+?3.AO1,KW5R7DR*V0S]K-O) MR\IM%U$XDT N_X0L$/9$8%,:*0\B:C.-UV^BIZ2SLLSH(@&D5A8Q2CBH( M[#URIT8)14SG'B()WX1&0!:39CUVVE0P]M&F>L"X9GSF,N-1/_HU>7GRWAX: MK&Z$.(Y2_T!S,0WN#_9:#PUQJ@=D/=U^]KW&^.G5\"P/(<(QEXUS4;::P4'- MBEJ #1 ;0>*\3DH@$Z $/BA$Y5H@B.RA\Y&LSK+H< GK&P\#UJL*4L\*L4Y8 MMRQGB.0\)Q7<5T#+Z%:U^P"^2RZ\6X+KN_K< .)%SPD$!N--00T2G#O;^X^_ M3\ZU-CC3VJ#V,VI7.:M)&FU)")U"OS6#6*ML_EE%?5;\FVU_;$B)BJ'2JMW+ M!W9PJOE!.(,P):IHMR;=(S51*D$(GQ6]%&CUW//.JV$U8>DSV\U+4N\YX6%F M\TP49*P;[YYFMV\(R(T*#X@!) P%Z?=)9D,BN76&MPFKA.UO"Q.AB329?PV$ M8-3-K =R0YYTR>79!&&7WA/VHTC>U6>9BX$%96$0BQT=8)5+-A*.H@U:R15\ MYD\IEM,@9>2E%7N%@;&R6-^(5$2#E*G<0:],P^*](72O#=UVF%!E\*QU]W/> M3;V8%XU'Y0\,#(<.WZ7;AS8EM7RD)DZ==RDQL.E2!UW0<#%$V9T8J,392="K ML)B3&B5WU.7('-39H@F EZ8J&!8.KG-$- 7F([06R*_=/Z?.:[A8XSK$@3,& MBX9-EB#B1W7&ZHMUKA1=Z ]U<^H6&=-L@IP)C8G4P<##MBC033.I="E$'=W M7&U-JFS4B$Q7*;1.@=M>(LD#AE#7Y%4SH!:IJXS=>>ABFQL5U%>IKMY%?I;S M56>>7&P[^07<"6 41V\G'@RZH3\0/+0E?L6R*K=(%])]X@?WPRC'XF?2*;6$ MANB)7OE'\YS)@U\GU7"2X7H/T^0 .EYG;NVVS0\GN=N(P+&W4_>'88WPVOW[ M?_TO'C*_/3:%ZV]7N-[?%*YOE4$R!V3#8JZ1@FN6C./\HU!)2*TEG*9'9'^V M?",\T8;.A>;"?W[LMC6EB(?M@,'/5.@.>]A](KO 61;]KIT"DMS]=5F_' M_FH.>01\[@CJ!8S".D&57(XDTH/?[S MH16AB9);L[S,"=1$7Q'?G]=_&%WU+:FI4(7L*3^53P&RD#3XVKHN@5[YKX"M MX0??2!_II+W6BN[!F=O ;D^@*UH[6(!V\ZTK?P/J36[SZO??_%V^$@;NUDVV MKV509& #7H3JD3B=VGG*F6)4S3YR]BM$Q$OU#:O"L)V\<_'7695-E.$:Q@2I MJ.RC#9T(+DJ4U[2PG42G?/#JZUE15"*R!V3(P2@^::NZJL #@STU<:XO3/"#D]?O3A]RN!A] MJ )YU; 8T2<.J,(% 7C!%2NJ"I6V&7'XG8.K!H5/DE\@AP1:(!3M:O]:>#[? M;R4^34'%#8M$9[,5FK*P#:0MFAM>W4U/7A^_M@\:6K@XY F[M&#- M"9S-[JUJQ%65O)'% M]XH7GW@AVDN!#3U*[]2P^__?O;IZ$)T4)YP2Q6H\X",

84B!52F[JT.ZM1 M :E<"E LXSAW,9W?F"FW-SFK!\?C+)/D) GTC+#_6YD)O]&7S0"CH^AH=!?S M4WFW=L$-IZ/.S]J)= 'SVNL!ACG+P2:Q.:]JJN,S"9/S (?!'-$QR E>8F$B M+V( M37A4U;H$G,(T&X4VWLB!"VN=W#BT;5LJP[4;Z]_/<]1 W%BI1B+6(,*-H@;? MG>1I\@6*(675$%-:765,CCMIRS,IDOA$I M(/O(T3!;3V7DEG0)(*W,@,X0G MC7P9ZAN-]B=*E#"H0;Q ^;:\OD AC*$G6O>XR+T6[)V:BL_)!]!R=C]-4/AQ M_J(S+!,/PA=?,Z5E3R 2=FNKF1M[%XU1]7394J JJ@< 6S(1R@,&R.O"< 4X M 6S,7;^80"+>!T;Q-='GM+2O:/=P%F+))S#H7.\9DPCS8+&E (4N5[)[N_-V M6HR46;SZM+AS7L 7HB%/9$A>,4$ZAN2> ")!&2Y-RM[&"TV\0-B\+ KE3QJI M80(PNIXC$O) EA S2JM3W@YN^HC:(3RY@)8&H 1M^/4[ K*6%Q^8*[^A9=R9 M7]@K2H/ !KY]%[-NI=8!6S_/<%@WH D>N,=&)]DL:QI)[" %V%03:9T8XA"X MS%R,AY_.0;CJXP/Z336G4JQ6B>I<,$F#'**;; J1IH2PKQ;41',4;^XN/R62 M#WT+U?&-2>>U:B.,/=(.14:TH%PK]RV2\>PT+T)#JC1ZMRZ6P?EEM4\WY?!O M6 Y_M"F'WRJK]J&GJ12;4,T(XY'=E@KQD3&$;W]+EUM2BR;PE-">]%(;A7;2 M3*#0.P;*J)22?5$-?PZ704*[H M,]A9,JJ&THR2>7T1[B.#*6;!+L\3QHE/-[)<^J8($9$_$MUD=]TCYA/;>;:V M'A'C%7W;0@2X#FUR(1Y?;E*>4R/#6=5IT>(><^^($DJ*NRJDUK;$K4+L7G*S MI=L,!2X'W-E3R3_>*4A"1S[C^\R,\I ]XX^R/SBSL$ M #,GIN"*E%QP<3Y:B_P&*BJ[I!$V; ?%D-K;V/*QXN4D&61S)DXDCZH0><:+ M@")'R*GM1&P,FVH\5\;%&2"N<4:@ :"2KJ9]JUAF$[XF%9/1*T!26.1TZOOX M35E$?/$*4U[O% M(UB7*V/63'' 9UIH?5!2@/ )TK:J<'UWDDW<5(FBU6 A&"T4V,HSF#9_3K'@ MEP%Y4,/S%H<@5=),L4=8;,SMCG:JQI%42*3*R^WF?WB8PXI7D:=%"QK:4NIJ MT#(O)GGWFMJ6E?_S2>_6%9OHU['?F=I',=>/\I[3_CQOB7%*N1#(A1DHF=_H M9C2?6$>U$#2H>1#'A (0I.>HRUP/P":?%EO69ZCJR(6@OJ]&GAR,#O[)\:YT$+NRG1S//4@=&S%K%EOS:@LG',*G+<1/-M@3ZD,<2%RX8/R_2NH8 M[ZAH(G4MYN27\BA 9L.JKBLBQ\5 F;C4I):H9T#RP"5CH?)Y(<2"= L#A]'S M6TCJT3\$V-T$E)!U<^ZA"VMK30YZFQ%H=M5YF-(:#E3#%DU$Y3M!4$0;0%>Y MR A2CI=\%%GHLA%U7R+-KMKV#0L@J[OLS@TV[>PS2P'%6D"EU^6RX,QY4L+7 MD#!>$]>->.7YGG[=UNX8%J.#$KYF-Y:VM%! MM9(:2^NJP,+E!3\X:Y2;P(ZH]O4&*P ^'=/TRE+&92TYG< ?K69_;-UI+ M1!.2F 6UU)).]UE>YF)2HU WBDUI18/ VAGGO4?D1Z(&HVT<6#LMLU5D1.DT MR><"@!&"'_4'*-ESNF8-BIN_\=+-%G_BT<.LO&S'::W[N=AAM0=SY MY_]HVH&.*&Z"#\DHN+_\XS_W_N,'][__^>Z>M.3MXH."MZO7&&U" =11G! MLVB&.CJ@\\AGH80=)6MWJ2HQ^6FC!-%>:E.0?2 MX 'Y$YU1QL8ZBFG&ZBXN.)S)BB;W9%W:-3@*Y8SU#2'?6>$&P74%6)?/.'O; M3WF : *H0,W8RBS9W]LB,%TRJ,#%Z]U/M:8 W,RI\CI'D\88Q\H9-HQ;E(\? M;_$_DQ$$>SJ%OE#C4V<,JD?^B"SU.G)G63&$R&?T8V0BHMN%Q&6C6:6$?MJXGJ6^;A@>;$Z^Z.J?Z#_;@TF&)N!RJ:#<']]G;?(H6[R MB);/LDGBK/6=@>KT2)X"43JC@3G1.&>*D)1/7K!'$&,(K8!9+D4CW+6$RSSB M.B@8\#I,O:CKBMP9Z"U'.1')X[5_">%%]_E]H6B[&SH\_4IE)XDV8J MX^8)T00Y>213%>A RI&<:;F71P[-#7V0@HQ8*&V?PFL^."0!C)/(=W@KYRK: MO]V![KZ'L""7I*8<2LA-7=J#-6=!+3@/+*):]SP*2Z49'KJE#)]5)>\@AD!- M*MI9HW#H:J*BX44UQ**R@(=-;? ;U@8?;VJ#7\,,]5M<]W:OT>=(L>V[6:Z< M5N\N<+CEE_+^=\K@KO0+Q_Y-+2<@*/ZWV0SSLKC%%K+!=!^ZX]8XFQ:3Q8_=>[I8QIT+/^[@(N:5 M:%<%:^+\SWG.*>@?$6/7V0PK]&^XH1J^$0;@'RNL6;!C/&3/OW_1B9?AF%?3 M/J,&%)![D?)__V/O'W_]^O"F4_VEI>4;NTJ=<3XY>/7J^.U/]D5??+VQWTSV M7SS9>[=ULEOT_[G^:Z[*\;C:%?O3L-DS*9YF ,?W?-S4!AUES+BS[[A_8]A?9 MA$.!S3I;6F=[Z?[^9N_?KCG93Y\]>7H;YN2NG?X0%ZV1)WN/ZER;)YOEU;.\ MMF[AB-S7N7C*"AG?>ESNVAE_,"3J+:V74EJ%'/W=%TK5GJ)2LUESO4?^H_U; ML>INU9V_]9P\?;IW&^;DKAWYQR78 ZNZR#?^?=_">I0^V;L5ON2MNO.WGI-' MSY_K@Q3FJ MZN153H7>S6;O]1LWN;O;-2&/'MT*;^NNG>SO"-S\WD?SF]W>6Q1Z\N@V+*Y; M=>?-C-S!H_VJ_-TOZ/CXD-?3309OY:F_]Z[Y$9+\3R9% MH*U1PW+T23L]-W7"F^6D=Q[?BL#U5MWY6\_)X^>W(KUSUSP.>!5;<^=5])J& M0V[J+>"'O*W \[)9?;VK;^_YQB+339+JV]II<]W-MO]=LW)L_39H]N3;KR[ M7;0W;N]^I=P-.:MHL8K?4J=>2BWWHWP@H@[%OUNFW-<.51$W53U4%9CTTM'W MK@4U7KB/ODK2[-'23NL>-%]XX_] XV!T#?E2LY@.J@D]V;-]]V3X7&^#7^]S MO05;+5I85+RE"IW=8'J().&^VT\?/Z=:\/9U9_+?W@-\MT=9E"3!88&&<8X. MOMO;?;H9W"\?7,]81$),TL+?'>)T[]FS[B"O/&3^U, F?S1^TL@TU M@[*F_!/'RE'_L<*LLW50 +WBPWO?BEWG=IPGFR[WS^QR?Q(6J6R)UVY%?H@7 M65A.7[WG]]:2H6SF M]\_/[W>W=7+_YB3V%SZE %32Y.T&"KJCM_ZSSU+>EXN55W M_K9S\N#YLZO+.9_S> ^_2N7_"Z?BI[IJFN2DKL;%;369MP:K^ADMJWO/-YP! M=W\>W5'Y9#./=W\>'SQ]>O4T_MWF_*MYP,SH^,X3ZQ]I[W?3SE;OQ+P@O@W_^I)]?KC?4NT^FX'ZNAN>/>FEN M-JOA'JZ&!_O]$+,K%\/:Q"G'Y;":YLF#7URX\I +XZ% ?+M6Y:U9?%^RQM+] M1U>3)'S!BMI,RI^;E+WTV;.KZ'6F$)*Q[>DDE= M@^7T^"_/-VYFY,_V\V[R/G=\#A]<4^Q:&^_X!(C1!NI.@$H^4#%+N,D/U6A_ MR#[=-J*@>Q6_+;6>;J+XS2K8K(+-*K@MJ^!VAA_HBHB2/[=ZV>Z[13&JVL$D M_[(O)V!R\NL*8;)DHU/9GG-NH0;:_]7K;.=[=VG&_MQZ^?H\6:.;OL<[>S= M*F/]U5SQ5\6D!2'#QEQOS/5FCC;F^H[,T57X:>?E2&?_N=I1MH"Q)7P MM2@2OBEG4=,A+>+G^O_9>]/FMHVL4?BO='F<6_8MB!:IW4Y2)4MRHL26-)(R M>9[WRRV0:(H8@P 'BV3.KW_/TMUH<)$I6:1 J%,SB4@"O9QS^FQ]%E-B NL5 M8N->).DKK#65(1F+43B241A+T>/RM1D6"DEUQB @ M%/MDP4#P[8V,,;1,BF&2X@PR"'NJ= <-]9_"3W-0>1(81W]HB4]%BD$2GO S M6MG1^;].CS?:!V($"Y%#L','\$M6=#,L[E*9N&WX=!W@L_NO/'V:M?%_'CJ]&0G_MB MD,K^+Z_^D2>]5[]>$Q: R1P!P+G[N_^K8OQ-%G 7%O.XXO.EJ]RO6.RYRD!/ M[K1UE8%<9:!&5(%PE8$<3;G*0 Z_KC*0PZ^K#/2H55X!]/PO(5C 2N6OUT5% M3['B[!ZX\4+UPLNOMUZ-K9JUF?N;R0&VOO?OD:9+UC-#1;A%TD5RG?AB' M\4V]B.)%10ZWO=W9)6GJ$$'LJ&'EU+"]-U,X.&IXB=2P/[/1<1UHH9Y6 :&^@N>%$YQ@/Q"9M%2L/1XJ?(725.<8X,?KX=T*\"-04/41_ MA;&-,-;B5AB#L]P8"Q5/@6W\?I/)#7"$0=@3E_(F3&(79.$N5!8+LECZAMTOM!I^!>MU MMEQXAJ,&4T-X;V:5<$<-+Y :WNQO/YP8&E,\QL5:N%@+AUL7:_'"<>MB+1Y^ MG[^UU=K;P0'FWN@'"0P&(/JQRWSC5]$!%LJDG[S,GXRP8"OS(?$5C0VOJ!BB M""LL8_(C2)FH>F/L*T:14; 7+:F#^%)JV-K%N,R-L#C"RBZPL^<=/9F>D%K )F7BI,WG?:3]ZEMDJ?R/M>8YL)<0I@!EH%$A9!(?4047(G58'EED!/+(BX#)]- ML/\H^N_0XXD"W+^1Y7CV_N9N#R?=V6]M_519^.YF:^\G7.&$=Y4=JU50\+9X MC96%A;"P/$_#;L'^*P,0+@<[#+_A#+RMIG@)+V#K,LLX1.B3=)Y"I] [3Z'S M%#;'*G2>0D=3SE/H\.L\A0Z_SE/XJ%5.V0@U"]BLB1MD9^_^O!+GF%HY1KZ3 MZ>,PLFJ,;,],@WF6NH,-<2YN[\R=M\*W^\BWL2$8NLW2$&L<#?TPCL;H?XOD MC1]YPN_U0,!@=)Q';L1^&/MQ+_2IL5A61!0WAP.MF_OK\1!31;:8M;-#5G&5 M'W3'5F,1XTJUIXGP1CXTVKO9*](47JL6YD+_B!EAAA]S .D7@\#H<)B+7_TA?.+>ZL M5^<6=V[QIKA G%OXPZ]SB__ *K]C-3@?X'0(Y^[,@A M/ $SM#L_M90+H.KUC45@[T-^&\F8O<$J--H%QX'[X#18)-"OS3'0E M3FT&@1_F>X6S!S6.6+/K@KDNPBLXU0BC$X:M"Y9URKOS"CJO8&,L0.<5=#3E MO((.O\XKZ/#KO(*/6N6TB>#<&S,*8F_MN+KX=IH1*S_8HNGE,YQ]AEMYF+MNN[Q>FT.SR.B=>RM03DRJ,$\NO\Y^Q>4';\'. MR..736ZR]/9Q@KL?$(ED^!!F[V?D?^1\>]C),*1H5_0BHH_O/H^?&5=FF1K@ M1L8R)4=A=PROA6D@ #3YN-RFC][-M0L7OJ=K:08 Z0T(B,?R5D;): C;='Y MIZX[/Z!G9IB=(.9LOG6Q^9P?T-&4\P,Z_#H_H,.O\P,^:I7S307GYYA."S[H M.,]3K3"RM>,P4B^,M%WN_"K=AQ7^'93\^PG\B8K;37L3U:%[E"_QW@QR13OD M3-S>G!L_"/]+O[MM[6'$UDHJCUQ7R+2?IVJA<8SQC1A#&>8#VM(5*!7^ES#+ MQ>_C;AH&GKA._3@;)6E.0UW)"%X1%U&1B2(.\^;X#H_*$@JNSJ;3[)W+T(4. M-LD\="Y#1U/.9>CPZUR&#K_.9?BH54Y8"*[*YBPW2&=VI^0:P.7%8J3MFB35 M"R.[+GMXA9["HVIM3%4R4O$IU9&:C\@R,X1WRPSAK7D9PIG=I =VC^/ NSV@ M*S^,T8WW;Y@M@Y_]7"2]2D@@#UB)"Z3'@C &E*/VQUX^(7I7. YOL>)"J,3 MBT4O$[!=6V"8!GA*#34UROSG%QKFQG<3I7MG-E-\5MX5S9 MCJ:<*]OAU[FR'7Z=*_M1J[S':' >NUD!L-[.GDN(KQM.=K?=74.]+C_QQFD21R/UO,D,O=)Q[\&A6 MI'[<,R][HLC#*,Q#?";I]T/[)QT@FLH;-6L26^GH71]C3;LFR'3=8CZ?$@?8 MW_ZU$0=\?6 XT0]>(%0+#KSFL_3=OE+F'7CP9@$BRM!;#EP%F,U4'RHN2B#_ M4X3Y>*/K9^2R'^*+3!/WK67-B&*N0_4\QQJLIS%L7!(@5^Y&%+10-3KIBF^Z\< MT!W0&PCT>EX#G:(XD%FNO1UU@%2=R//1?O"VJ\ZQ_DAT.%Q_'+;K4Y1E4>[? MIW]6R?V-@[L6J%_,J*H!-3Z!V6?N37=GYFC--,!^X"[5X77%>-UX$$9? F-_ MB52PHM-=3QNCW'TYS-8N/FIA#!HS,F09/PM1'2O7_H<#Y5X *"O1ALQC M9I'Y@R%72>Z?F M(?S(<<#8EKQGTYP;Z7:3);4CME1"F2D.]QBA:ES'M;NCK M&^F7N93I!E&1B_USL7]K25,N]J_Q^'6Q?S7 [X_M8'T#_9[3:3W/--!7I>+- M1QG+?IB_M3TGM?&HU20;=.KVJP80<;BH#T0<+IXS'N4%Y%17V;CR3^; QLFO M]E!?6C,<7UH-D,-?/X?_*<(@S,>TQ2-_%.9^)"YEEA1ISWC!9CH9:K_Y"HUL M[\R=]S!#I_X4TCUQ)\7 AS/O9]QLB?[ S.A;/Z++@>DV3AUO:^O ^&KODO0K M75\HN%)*MW>P2?>U+7%>I)B('??"$?RH'TIQAE0.:08_)2]L'S0@D8PDY^5G MF-Q_R_[V^>V@>,4\)@Y)WWKTM7+JYF%<4'IWQGO!/.\HI)(!=(LQ*KI1V.,& M6#&UC,=[$-B/O<26^!O!= O_"K,\29'] 21PQ3 VD)&U;I@8E+F; ?UJ-Z?7 MWUN/\G:ZO ].1R\OA#+.>\<>]X2$LO:L>C*3O2*E4@>P_"(*$$Q%1 +PJB@ MFQJ *RX/%MW[.DBB0*9J6'6S@W" P<,8ER$#JFA[-S&8KH^KUIK)]!;+*B0 MN!MK(T-_K$LWZ#VJQEQJ2XC_Y%;"W[JXKYDI!Y#F$X DH/?\&*O@=J4I#TPO M(JK*F[.[,(KP$?_6#R-R,JL$?G\(:C5>JDDX0(@I&!]^D>D0E@Q:]LA< 11( M;P!D&#J*2G3'B1A%?IPQC!!BO*;WE;VR2SWM++;T"([>_3'>W;F7>' M1R@&BXQOOJW!'GC[C@H83KYS4)F\[76VMF=-WM@KWT-!)R]([BBZ@&42B$62 MXBB6$=[]*+E[((BYS@NHO_A8%_2"N_=U8<#N0K.F;L<57FAJ;F95+K%IN0[W MCNY2:CTO+=RE5+/Q6]M+J7I>9? JSV0N2'6[T#K!Q[%X\Q?H<6]1D3LW9NDA M:EQD.SO7[:R 7Z.R/LD":Q1=7Q< &Q/@*0%O/ M)GIZJ5+P3*UYI:D#JW56SG+^XK6/V?T#?91T#6\T:LYP,?K??:DKJN(UI1I- MY*SX8@#$#]-5BE2C"]Q3Y:U-BEDJ;V5<<)%GO]?C*[&1/\:AFG'9#[0X6YM\ M*40:FMW/(=+OAWTPE2I54^6PL6(TGT++FNS3!-H/O\%\P-\E4EN1]@9^5O8] MM3J96G?XP(*QT'^NK_;SU \DL-RO?'_?&&*=I6TUGUC+>QK[\OY'"5:K8XID M.8FP>JF&I-I;: 5EJ .R7!T#D?05S2:@J0?JAG%FTB RL;#;A+1 MRO:W8&7XW$R'_U(%6L4% MTEB1RO3__&,?1/8'*YV?VJ!DBT7D+!,C:X6(2,8W^^->)!T<'P3' MFRCIJKX\V&2)HA51%B>83*(895+D% O",75]*BE19"((,Y2\CG(?!O&2;0"_ M2&AN8!MIB%&J4@=FIE]!"?^ 'QQP'P)8KZ[6X5/PKH[CQG%OTN3.XM*Y]($-BDSC)D>ZW M4B\BHY!@U/1A,3G!JTED1[;3FD#9A<$R-8TMP($H8"WP MAJ3EJ6EPYS/:E%5MCJ@(N )0-38=07CEIUT_EMG&^;=(CM%>9"-BLR.N5#6> M[9'PH'*(YR,AB0X]B12?"\Q$'FJJM(,4RK'\RW-2> DD"%0M8,\Y2 MQL&/DHR"^3T+^U4C(LSEL)9&@W[;V0W/+/2):)"L(K\KHY)CG%P<(O2%%.*(5:N_#Q M(>![>D5.67XH7T)VK^0@D*E.X2K%] P MESV)$H62RM7EG3;']34CSHJKL U!^&^*ASHR-0-TVC:^$12I;\\/[_U;XO1_ M2TP^"Z4:Q2A^Y>[07)UR8P ' 4!M3ZVB-!2U84I6IF\M"Z"JKSC9%P'CPW\K M>S%N&V8AF7U=I:)'4JF3FN'T,6QY\0##3,K*'K)Q!D;I6KL:[J'@OYE6@? H MPSS7=\8 "&WL*UL?P-%+4FD;_81>U94^&F,N>E;T^V$O1)V2G!.WRA3K%ZC^ MS_$IQ>0Y&_ECP8F2\'P,>NH&9JRKC/,RZ;[!B-!GB3"!4)#?0@YO 6/(5S4+ MYI>L("5>I?XS3MDEV965"(!)_*G?1)&Q,6VAL'(@N6P(#CB4DM='2Z@4M:"# M8Q6SF"R34:E<81,!40I27PS $3D<; #$$#C'@"LB8)D%8"19B#ZF,H@!^&"< M:3>7J:91K4P1HG<+ZUL4,;L>_33,)##/1+%7"KSAR@SHVPS1 5N6G=#+M3FB MKDZARB D:24F0M6+T&4J/+[_N8-CD@W"45F;V60$EU4J3%$'*F4A@[*H!Y=O M8 Z<2;L*AEV!@CFEXM8I7\*C;[B%*D#A![#6#*N:^/T^GWW8.$I]FJ%: M-N,8=V.%C$ ,LINL \'E)'1!"D^M[39!;/HWJ51D0JO0:RZK8T3A,"1Z M3U)3'D.[>_QN&)%@4GY.% ,A$*IVP'KXHSN%\6F.$\O&EN20P5E(HV4)6,HG@TA M.(*/,M-D?Y0,X7R+*R0VC*0+R#.4J:N)(,'%)NB\ZT>:1-&)!.,!PRLJ"LD1 ME['1AT5QST#VHC!67*)< 50L7];ASGYK%!D W1"P;F(-*'S'2)ZL,)1$?&< M>J]1DB'3U#[L7IIDF?Y1(A?JXWL@TT#;1KZK*[EPT"(8HSHH4$W"9R+#BV+D MD,W"%B\PJI61T)!D<2DO"(R;FZ0.*:QI*$6R P(E04> M^Q!)ER#.6<'^#.JSKR-BX"W!Y!Q('SVN()15+K%4M1P@HC@:6Q1LV#I/ZHEN MD6O6 5N2065AI7IK2P0E*RG6-?"'8,=ICUPJ1T7N\T7*'5&"XFLAD"JJ:$&( M(AR)&^5Q09*1!(:T1>=L:'1_^TP3L!B*;A@H@$Y5 MC*K0$Q\T@V._ +28E$S;+KP.SFBJ3^=GET>>H@ Y+;$Z6E+%@'(F'S+[+A4 MHM^_ :)%_UD5<1A(BT)UD%"Y+3H#0\438%)D),R0IBF7FEBEJ*-2*\"$\,NJ.EK7P3-V>W2(\ M04+%I:65#6!S6EXW5.ZH=X@W#6 M_NR+0^7-?LN$KCF?WP-S'4XC#:I9]1MEGE-H+2MT:IQ3_8P9;52D6>&S!03' MLT?&%"D_ 1]$Q2TI:%8;IJ>V5/"16&[1]!I%OJ)T2].M[.-"/7FAGS3KP"M9 MO)5/^02AP,+Z:GAQC["*^4S=T#2F5!T;$%3.CF***:[8GN\, W[U'"W!%?9F MHD8%!=/I2**@.B-.T/%VU00T1,YG1^.AA(@-4.(5%X=-)7-TZ-R0)C$==FU3 M '*SJ?J$"IH@;62?Q(#4XI.\-H:40)0PF1!'[TME@[.Q@')]2%?\"=@&I$:K MJ!3F[FB]L,%>9%)9;/G4:E&/T:\CFYIE!_)\RGV O@6PT8@8"_B+IN-T(#C. M^#N3KU:%ILA>)#U5$"N99A5-)A<^.$@0Z.=2/L-^V,_131"':.GYZ5C##0\E MN1("=0KSNY%K =8S82%\/(=Z7B6"R)(V]P$S8 ^0,% MOFA3:&IMJHPCXE^01UX<;+*-8 XZ"P9"4&@4_])6&E"2ACX/I2+&N[9W@[Q? M>3PI'FN,CI4X5S8)2CT2-O"?E+_$5\,DX,BV."._\VVIJ.)K'@Z*1KX6"*A$ M^HAF/*34B43?$M.)!-GIHWH.BF>9!P4<_.TD410QJZA*8L@XY @G9A.54IU9 MT?TWV82EM$!TCM;2\OYN(=\C5&C0CC[D+$;$Q(GBT@TJXWM?/!SFH@1AUBNR MS$06QGXTSD+#-.QJJS&?7Q60/2O&#=[KTI4,W;*P;SNFFSB.;C.#F7)]F68A M9/-UI<0#+<$V9JK&#-,T*(,8_1)72KG"ZX725\YU6,L3\5=,&N<53J?X)0]O M.SHR.7-EFC]ERM0;HM6DY3CS]7\7P8WE>K/=?E3Z5Y:N8_2'4/JB!X8I>]W( M'#*Y0"IM@U0"3\&8(P411<"6T/1A#H+[)XV#\R'Q66M,WJ9:*'-(T"(R:S_P M7C$<&>]N%RW= /AF-P%[6MTIX+(LAT&HO(%$(QG9F!ZB.XSQIBW. ?:*?= = M$CQ5Q(J)M##.M+"NGS@:&*UIX$ (S#3D"LCZ0L0 ^0F9SL*'PM7$59?B;7E%-TY+//A%&GY9?%$BSMERJ?(C E5-6")0Q, ;>R4VU#>>:!>8FWT(?(L MRR+$CREHHM'CI 'Y+G%@OJ#7R0\PCN:;7)5;WS]58Y;+O3"+,OME*YN<3L"L M*^-^5]J8>Q_#G?CJ*LL2>!+?LKK1HKK^S>+QQ"2[8Q('Y-3EK(8A<(1\?N"W M-R-2N[QII #P1NA6ERJJ]%+VDIN8MKEFVWI(1DO*N_ROK$333F@KGPSB+1WS M"FG63\&H_YC ?\2;3X=7']_.?N*O$9DK;PZO_GH+.GT+K.[V]L;F@27^++22O5X]#*\76YHTB%%)B@^ M=OL6PP.3'I+#S(<,SUY\4YS8*1,/.42TP/P0>?K4#Q' M?"[ I%#F@$8?XV'>T.1OT_AC>X!C+>8\/T73W;=SCD=U97II? AZ_!)I$P Y M=._KNRY^&7D*T]W,=6@J"TO#TYP#'1^H3J^V.J?6AS>^O+A;M;;&TN(ULGS6 M&\.,,K<"YD2=9,YM93 M]X$Q^506+5OIKEWT\-,%/9GD/$-+7,'F1SJ( F1EP!FEE"P+LC.]X;=+J.!Q M4I ARKQ0"29*>U"N DO[U0X(;J,$IES.U6OZ1=0/V>VLYB-'P,3P1PF'7Y7# M7QKO1FKY1/!J P.B..<6F\?K.%V= FFVT-A#<&&RZ+3Z2'#,=+BO]H5D2AED M1D5@H<)65H,J$VRK:K*!M.1\?;H?)(6%O"KZ#8,6I&@C_)73SBB"RM6DXF2, MP+7SF!ZI#5:40!U;/5L!- >QJ61PI?065:",@R@F:&*2)/#N82/"/#,,Q@(< M^4;^,A?C(65\HXQ]L$%O_<@$,/:KY#"90%\2&HIKM29@/FK8=";MJ'@3=1_/ MK%KK=WSV4?XR?THF./=R2,>8#$TEG1-SI8RZQ9U/@:BX?R87'<["T$?#E-'$ MO^IO&7VZ#-_?DA1$OPP#U9J-4EV&H,2!PFTTP*SH9D!(2$5E6C#.J\.YQI-1 MBS[F1-S@!6#4T[%_&-JC-F-T)=K/]';6#9NS"]B1!(5=GW8(QDR.*2:'X@!5G'"@DQQTS0ZE;>CX8QDH U]!,-$0[$U T' PLF55 M_[XT#_^K[D3X1I:CC\N[)U3]J8XDS %4Q[$9I6*J%Z5J.B5#D(D9Q_SC+&:) M74D1AC\P+<=$JLW;)UC9R-H^,4$D:T8I<\Z%PN%'3LS(UFQ3BS$.\S&)(03[0ITY4KNMHF43 MQ,A^HK R#@4?:8_>M/](A6QHH6YY_VC])B^"*J?$MXFVL4N7$.\()-.:D;FYQN'ET)<8&Z<;HK!.92M->&%MH@D6NO3>I539/*\+ZZKN,19^Z MI.N:7/=9-W)R]KX:(:+_XL*#5@#@6NUI<=_[= 3<]X,F@!3@(11M:- 3O?_5 MNFJ)WPX/+Q:(DJN$FTW$R>GPN#)>+C8!;^5M"HIB01Z5U^*$0@ ? M$HO&L8%E-)HX)U]5$M\DG#Z>A9SK)SEW4E:CUZKU^- G9;GX3>\,/G"IE4E5[A,CP--"N?5 ]X$#2A'?.KH0[,Y^@34G;J7J-#_QB,HUQ@@5 MY9ZQ?,D3TU)"U0:[>_P[C$F@36'^(_GM/"# T*:4F,RXP',S/DI@!6B:D*KZ*NIVY_B<$$G-3F7YE MK ]?O'#=AC0E BJA0HG3LV,OUXQOS#97-&E>&M),.Q^.3\5R7 M8Y/E#'/?J7H*@5J%9P>RL$\I[&DNI)4((-ZA2K=&'L %IFP_\2A!Y92B^7AO MNB OWI@"*\6+.KQ,\M,QG5[V/0LA%234K6BFL$2+TKLG1*42PQGY?,[ JAWO8 (2? LN=,6K]UQN M 1^QXN)'/L8T%K*P)B6JRW'*N ML'839@,==,B^G8K_GQ1+Q<60T98W4N3[X; #CBSCI-CROF#95$EAE<1VRK+A MR2P]49\7JZN+R=4GMA0F:7F+FW1A(S+KH2YD8C?3H,JN*"[)7 ,JKFF,Q[ZO M334N#H&A!&0G5EA268?";$"7OT&',_*9K#'-W3X#3C8^DWU[R K6]4/,,8]3)5F7*G%0E%Q>%M "8P! M%^[+5=LM2FB,.96HK)MD$Z.A124Q[Z1->%IH*ZE35<=+]2$?*-.&TDRU%D0- M!F9MJ]P,J5$@$"FU2DVB"R*9U##U)I::06/2;'!B(9EIW<3Y4T6,5JQR%%NU MWLUBF??:%<5T30K8!ML8T^M7:;Y:[K(>P!O"JE:4YFJV5WIT=)0&Y1)GMO8% MVV*C:-K4J8!6)?8"\T HHI&HXN;HT=*XXV',U;Y61"TN55J8VI2:WJ:*+566 M)F7D YUI'7GJ!\(C!2X8]3N*3"<(E4$WB0HQ3 (9";MFUH3)ZDW$B%O&YWM= MK5'O<68:7R6+SZ*!4K'$$8ES P2H+I^J!IL:YXDJ;HFU_X/L0TDOBLRXEH;* M052%()$O8%$VKLMK@5Z#@8>O((T)W=C62F^W+// SWVS.3;1T140 #=)QS8T M/*[ZHBP/_$O7(L!8I01^M)*'*N_YJFP.[]&ZYQGX>/DY12$@NQUC#&R08/+LVK??Z^RU]G9P@#GJ M;UG(@F_=D6 6R]51R?F8LE,6A&'P'E[]I5)T.EL;FWN>..7JJ>9L7I*+DV3: ME>0 _&.3V6MR=3K[FY3##P86CEA0!I#VC_+MGGK92@NNU/CJZII?5%O F@'] M>=8MS8PA#>,ROC4N,H4ERDRQ2R7GC@:A[(NRG3.P%<2OHAEQ[;H]$8 &;'!CM0^ SYI'"@:9G-I&ML@^* *2 M]#"JG*M08=\ELQSHA:2FTLQ)F0UD:HAR,#>"(Z0B6BH7FRZIXQAWR+X2H!!Y M$\84:"Q4C%5=VFW85;J M2)J4E8CE$%<:DCUYDUW"U9FK2+95MFYZV:$&6R[4H'YBW1P'2ZR#I)XMH0^F M)?0IFQ77_K=9DGEO>_-MR6-M:6/JKR%?(J[-;ARZ0_*55*!H34QW'1LY4#+I M'*9,F9N#:P][,Q+6E(Q3*5/5#_) ZUP17=R6)-$%SUFTUV5V9IDX"7G9BFL.+1=J-C" M9U=RB=4R<6G!2C4)"6/%Y==905[8=%";G6\[K+VM<+^C')19;.R$MN)L?H*_ M;&S"C]=I4G0CLC:[F&"'E_38G(MJ0Z)0_Q>ZKV^DS5DL,I98I#M6CC!IP_L& M*X]K9V^N9Z%BZ&EU%G11T?V9N8#B&SN%0UYN>W>C#;SQ"RNH7.(/I ??NWUF M#S*/0/'PYY.A:L@FQ.JN4R'OBJ1KJ<:[/8%ZA10K7A MJK71[]LJ*U\"=)"4[B["K'12<&Z_WHNIX#N>J$BG]5*LN!:H/'4-=PQ"4+BS MN4AN+ YFZZI&K8Y=,:7J5,@_EY^\2\-<;B3]/FV!HZS[.AK;E"\HMUY>7C(1 MX5V,[?)!<%&C8ZV<4QYS+QF13G!X=22V.KL;C)2GL0TZ=E3+' N!K[%M.X'< M.)IF-+!'%85_BI*V+$JJAK^;0!U3?&5!%K[63/L>3S[0\GDO3Y3JT[Y7]6EO M;.Y[MI,#B!_;JU MQIJ=7854=WB?\/ >%C=8G /%Y[UG=W-C<]_VWB:(@[D4I7E;377JVZ+E+E9 M^I%V3 46.;$*8JK'3A1E4MUIJ[C&OA*J[TUE8]Q_R4R[T+KQGG $BC(&Q1G= M#!5BO/_$:D!4Z[Z'+>?.2R;,!0K:1N*?9\#S,R!,#0-?053\X3KO7E<."G4G*A\KLY#K^GM/LQ:A6MU,V(2\M"D9WE;E832B M)G)0G?PV\ON/(I9D6\]S$BBK>Z95O5$UOO7%F?6BOC_3]K>ZBN.EZ]XOW/38 M<&5B:R (]$T"KFM8-?JKP;;)'%FH%#F^B%2ER+/)2!/6:RF2'H/QRH%L55U) M7%UYO)1'70R3S2FWB(ZUL9U-M(.UU/)F\>3HL[E9I 4H&H?OU8+0*\EM.F!I MF+ZP$24)]RI3H2-E+$:9"%#E7K1@1,8!TDGJJ& .:;+HX ?Y]>/4?T[,GB_T[F,LO.K9QL'+92SW MEJ8_A4V)O<.6^.=?AV?7I]>'UZ?_.A&'9\?XQ6?]^?CTZNCS^=5?ER=7XO#C M^5_7.,.?)]?B\O3JST;4K;^'X9X!J90=U]R5YXJN/+?=E>>S7_BN/#ZT/3S+[9?.1Z3@!)>8%(-1VQRP'"<*J8HI_FXO1?GB (MW?* M, ZV 3C>BRY3,$VKO;GQIV>;#[' R(^;;0]NYJB;M@4<""7:C$KL,U"&#=* MU#V4F \4,1^TQ)%20T/V=AWC';QI@_LWJK[*"44-< '4ED^*^B$:M)?7<4VB M^OMN-<^2N!G)'(^F(U\3$JA91UQA@4V4"^R4$J#_;,V)X5YXG50Z_98'X!Y8 MK"40'I0%7+;&T UR)<=]3K5%-A88W5RI' ;K8KMG0W%DH$@-N\)*SZ[+ N]U MVUO^1GOGC62G?'LG4)^X8C7.>*+K6+TKEX.0#G09+3;]MP35?%'%I MXP66S6(IYU#ZR2:L%$%;!B/=214TK.2G?1]N@G-&U-U5I_N@$Y:JF!3=(5CX MLS>-<,-"9KH*GJ=[&N&?63'$3,+_JJ15$X-KW8A36SAMZ:K:EF40Z=7)D?'? MI86^:L==6;7/_%ZO&!;L>U;-?(=%3+E+IJAI24/5T@_45U%U CWYIMN_G6,L M@JK+4OY>2B;UNZ>C?>]H&Y37TE.!HQAUE@8<*# =E;IN3'[A\_JQ+$ /1%2> M4(^P\ .P9@\$1N"QEH?C>X\_<-ZBK.%.4E]1[K7M"6H4.>1 9TJ*,4'VAO=$ M8S[ %MO"!H;5I<\-D:[HL=]A%#KHFA*WL$LO%Q(HKW&5DS'S)EH$Z5![[Y[V M0%92E*DQ-"O6>[+\S(R.;S-;PS7V"#R >=L]W)7GV*J10FE?*0(!CV3F,- <:UF;269 MTP&H]!'4CF.K.LM$52$FI1A]B'J'?I?*HMO[XU0_I$.S#PX?[=*5R8R0,%X> M F8!6-.=D:I=;?*OS3E,M6CD; WR:E)Q;5.OB I&&("&646,1G=6,Y;*EVB4MPQ70R$JJ!N2UR%PY#2?;QIW<<,MB"DL39N MR7$";LHMTS2ARJ+]U"\"!C\.1DU-!;$ I![5&QZIA^Y1,I60HE/8L68 #N!Q MBC$LMZQA@;GTO36,T+U79_\RW;EMBF6?JM17K<>+<[QK*(7-UZA_S)Q MCK(1YDSK*'*9H5,PS ;:&Z!+2]#G ).DBF(:I;!E9FTJ%)%KLGGHKVTTA)4GT? M[)-AIX4_6U>9TGK#V"8B8*I^&'ED!J&0CCA*AW7"BM2S6AN9CCM:%9RHGN:Q M:74OS;+\K(PYT="@+-B4Z_R3A0CVJ4F3(JZ'$M/EO5*DVPN?F9T?1&U95HZ;;2JL+3$890EWF2=!]1KJVI1U1V4)[HR M@[9CN.R;Z:Q.G!?;7BFH*)V*XX(HCPO6K&50M]QZK_1XV_V8M<;$VBKZP%E5 M PLR+.F'"WDIYL#U:8W6ZH^MZD/-<@Q;MP1.-](3'W.-'F(@"5DL/;+N.>0# MZ"[-R>E$)DNI58/Q9I%@\B Q5>8B6156N0@LI_HQ2U<<:JSSL:GHU\3S#YO9 MQ0:L*#9@Q\4&/#NW>_ U6%=?@WULB?/KWT\NQ>G9I_/++X?7I^=G:WX!MF@, MP'%9L2P?H/0< N$,YE8.(B>65K2HI)ER'"NO\&08'(IGU1X5U2:A0A?9/-SL M[FRT4;U,_/'7Y>G5\>D1 M$OR5N/[]\%I<7)[\"X@&CL+5Q0G_L*YGP 7/U4= [CH!N6*2-[!_I'P<;;WZ M]>+P$CC!Z>F:"\,G51O:FTIM:&\B=[T$)GE^>>6)D_\Y.?J+@I///WTZ/3JY MY.C"H_/+B_/+P^L3\=OYOTXNSP[/CDY^[J;OS":7!=D'7J4IWXERT>A[8R7> M34N)$&R5&^U@,TXMOB#F4A%[NL0@-9#25YA=&25WM6*V&UGX7TD<]TX4V=8;!4_%^H8[F(F/S0!6%^DR9%'&STDBA) MW_^CUY.RWY^4QH^$T>]^%$A0KK%UNQ]74+(,!"R1H/8.5KCX1X[)%2EG!_T< M#3!5S3=!?%3/\Y$DTJ=_GHA$3J(PRWSQQ_J3"":(K >)E$5+;1(YUF9]'3C' M60A6QA^24@6R=2:*W74ABJE@P#IPA[_]"..ECEKBCV00@S*YQJ2PMU5_4M \ MH XLX$^)UQX@& XQ7B1+UAGW.VO !GX0]T]Z[C^'0U!1!N(J66NT[^ZO+=K7 MUP?VH$J?4Q8*?/=>'*?J,P65T_TOWKL^6,$664B-S55M.JY#@+7QJ63C'=5K M&F)Z(S=^T&4?RB#QEK44*D"$#>.R-IWU)'4-Y_?) \2U=:Q2".5J4Q/9'$6V MJP@CE;FWZ?UKQ24 K [L,;%23C_A\$%KT_C>#:>,_@ZKSP<]=#X=1AP!XF%9 MXQ:'3",$[0%^4YTY,)4UYENLXX3]8+\GV2C,X;>_L7??47(+ZI$GCK!\4I+& MH=_"/ H.V4]EGGC6,D=8S")$I%XD0>CG*<#HJDAOL&\<)=]@+S$.7X-5?*7> M=5@(!XM&C56 GPU(U9 8TQ0^^KV!C.C>35SUN%&H"GO1'5LQ*(LJH7%8XY<0 M6 #.U#[8/?"F!ODBJ7?@S,'*S<+^HTC>D..\W!.]BZT$:?0]E<:+,S 0YSQ] M/+'>!TZSU0(LX[T>G[ C[H:F4U"D#D&+U>^5H106O!D/G0,*L%=.V,L\$_9CQ:^:(66U?563=4.&% M@@S#6/>*HFXSGET6&\']-4[N(AGR),-^,]DP@G&W,-I 5B$6.-1 ME2O347+XKMGJL?$)4PP5!7VI2FJH!^B0](U CN!G.E08GAZHVE#$,)FSK-O- MZH,DR)0#@R3(E^P>"3)M?[.W=W!RJY)] M>T^ENRB*4N4!X*4>,%X$%TF*]FY+?,+!+"!NXU#5P3T+,X:S^N)CZ[!%-0VR M<6\ ^NR-6;!*T)$:IQC.>"$(S1RA$Q00FTE5 S82T)%/?QJC.C M$I')J+_!+ZC<*]/=!_.2B@B/D6>'0Y-$\+_9D:74^[?'E:^45K21W,4TAE&( M:+E6NZ7-7;5D73)M>\;RL&-.'"8ZPCG%@W\98CG. ,Q@\2=H]LD- YV?3(D MTUA\_GQ!6B7&+$ILTOQ5U_W4#<25LL:;91W.K%-MG_OOJ%U1@6)\63(M&V'E M8Z2BG=]; 8NG/I=0U.W/2FAZ5>EG K*U9/<%J'-!H7HE?T[&2>3C]>*8>_9I M+4$=1Z6RA/$DOL)IWF4$.M:?"_."9RAUB L&DE4\H]&R:X9[#8^JOAH7YEJ: M2)0?L8YN7"H<1E>8D&0'GN+-5Y7OV]H0FARXE"*S#2HVM6:;89A_T!N:K 0M M*BA(W\OC- HN.C]($K"P!LD0S@#?FV-67AK(RH-& M PEAG18"&^ ;_VR ]MV% @;;6AX=.]9?"<9C3(Z ;7<+()'JQ"!L,4=@IF$# MD#T:R"&-QJ@REP+:FQKHH^9(A\$0.S+G*H-& M#1 5PRX(\'($+N/'A#F1>6[MT9@!)<,K<]I1K;"T?ZIS@$K]L**"S3IIM8JF M:'+HVIX+7:N=X)IQ-S!'<&7E,X^47)4A0M49<;X(.OJ?<^N'*TP-YU2ESY^/ MV %'FB8]6P9::;4+T[WR.UPCF4+(*92RBW6=*TO1C)HZF,?<4N)(7!7 W2U= M6KFVT*EA98B4^EFI\&DW8""#LJP+_2&3%+4T)6>W ^QQ(RJIZ%E(\)@$N14@M;GLJ^VN^CB4/'P M]L'^045I9/W?>),^VJRW--N 45O#41IC14!\*K#J:ZZK1\_F]-9:+8^/[=#1 M#ARNOH[Z-E76K0^#7_T!1B=9]9('SR\OJ72CV4_,_+&J,L[T5,STK=CO4WUD M*G/=,<" ZCI)I& M:JF@'M_X(WR_8ID<5^(RX224[33I3 02DVE1\\,,B9*=E"D::NW:J9??)>H( M4YY9EMOFJL=T&$^LZ(JZ+9AT\5:Z.0'7T(C"@B-Q$V M]:$F4X>P"O/4FR-_C.KK:1;!PK.W^C7=<03?HX8A?YV0NT>FG ]Y [HI;P!-7,_*-,!SY\ M=WUQ;1M14Z"$2;(TG#E'2\UQ,@I[_RS\ZI?__"?*IUSV!O:WB(0_P=9(% +/ M"Q HW/6^2)'4O IA*1>'15@5GPGW$#:PHAK>\I;\$*F\X1LF*GV!4G##7#HE MZ0W [[]E5K4FPK\^7H&HX!LA6MZ%CT74>B4$44"<^?E5+F4D?@."'GGB$LX( M&(8A6&S_@@51PG&%.G$)UY7#=@U@B=$#B6*"ABD/%/F&J W)!*.[U%LZ-;W1 M2J\O;1[7?_@;@NNP M:#@-@,,$AGDJF_Q/>"N =]Y@-2N)I1/P["=9,EH,%[&RGD!.]04JBNC4-ZJ&@T*HK-4 !)-)4ON3UV< MJJL4JPA *5ILK<$V"Q6;9F_\FJD*]R9D?&+%\5)R:AYRO>:7X)QQ">/=>V-D M1VQZVBP)?!"CRIF!]*BC&R:'>T (0Z-(2UT9P[$S0?(-IRO+;#&:(QI_H/EQ M%3%;6T3EC&]!0#PG*B&8O#"H49" H,Q:^HJ4%+[K)0N/^O'Q.QO4V!/S;['9 M$;Q@>!^QKLRZM8'O4(O,BAX6L:$6QR) @U=&LJ'Q?=225V,5/DG@NHL8P?7 M0]YK>!4[H^9B;^H/HRE#+G.SCT)*N[LN:=]<,".^88+:CQ)QWI;&+/ MI#"::F^L+:M[Q\T#IFC#%$)V *'50(:B[=:H7M.0Y&%EIS7#(T7I@#T4)2/^ M5E^]5==F>U0&5#R."P7,$Y1;\LH!F MN3_-.U3 Q0R/D8X1FMB,4B'M"],R^';=3NS"U,P37T_3C:Z2FJDR@C[UE ;8 M4;M**MW#3<+0;7CKAQ'7_,K%(,]'[]^]X^[12=K*P1P? FI;0$;O3->)C1L3 M-_..J&S#4-F&FH I5U7XFT/=I) E>+,-,UB4 #0Y3&)LVZVK;H04O*C,#VJ M2V4M/5V)2!6:8V?+S#INU=(;GAJU] S1-I+44)HZ3#WK$)2/]U20$ "9RIJK MTGC6!&:<&7.8/&$[3J(:C<%J!!AZR@!/RQ"AZN&:A7LR?E,*ME/">J2[9$:1 M;HVY@?[P<:5FGJT#?)?9L+]9%1[Y'J>QBH[H.B-JOS:C@44.B^A&=S511=?= M#=Z*;O#VW0W>LZMC1TE 6S\!4=EKOCU?*C>FA:JH@D % NZKBL^Z67KB"1]$ MQ(WB^*Q#@?7%@['*GWFE'?&F]%'>8]^_]4R712J0J>[_?%-,/+@-,[QS(D99 M7>BC!"H%0,>)KE\7Q<^.^/MI;'>2L6#[257 M/#"S4+OMGA^I7>;)Z"DF;K=F3;J+O>+*"BS&+CJ<]GU@,I!<^L>*C:<] K- MKJQ&/L36RFX^JMXMVIW*PZ^XNO'_V^'E5 (9U,.BT?C>6B&^)^L EX7?K& 4 M[#KLWV%38]/[R-+=FXR*[16B@LOH S[RLGQM62$7>.-MF&ASR1B<%7T)[>F8 M+;Y1&N)EO'8P&35)4!1LI;E5=9 /B-X&8W1GA1A5T?:ZA0+Y_X.!:M>I.%\5 M^JT)R,\U=7X(VLM.K'ETX;BV+AS7;EG5XH[.OURCLO>"ZHC9UXW)O M8/8*-GZ-B3@9B67XCK(>2K.GO+3IV; 9^2'WW*.[K[B\ M/XK!C)I9OD_?='%XVYSBOB3ZX(^.IWN:4:.U.II/D>SG2[>=)IQ/I=MI@I]V MDQQLWZ76L]-'!(O[59OX,?0N9MYG3UII@S"7!$_Y7L3)7>H_B1R8(>.TWR] MX+_Z+CP97;M3YJ,"[$R +!W4_PM'Y:6 $]A+A)+GEU>=58#VRH\JDF EY6_? MO'Y[+SHO#H^Q-K8-SP^K0[&CJ1]$[\5TQ2AW?HW5X] M'8LW;4?+#:;E<^H4^V[%A/4W]>?(W1ER9Z@!9^@PBL0Y^N]73%JV7\1I.(ZB MGPZ]U^A;(V=#L"@(&GG.[UD%K_-8=T!W0'= =T!LW MLP.Z _K*MO[83@C+C<*XI\72\]'($LT(O*BNQR;K)N;FS78T4N<^:FPN%&#O;S$F1W^UGOFI\+?WHZWN[53@PV]Q)F?"HD'3A"N M/0YW]P_J.SN;CDFN/1:= MMNGPM[Y07'_\M??VO^Z.9@^TI'V^V:J)#M Q#H+8OUQN+>U=^_AK*,% M\:1-E]<)JTTC8@?HQ@/:H;CQ@'8H;CR@'8H;#VB'XL8#VJ&X=J;,RBY#)OM= MO]FNB1_$14ZMAZ-@J[/K[3EWSYICT?G2'?[6%XKKC[^M/6^_O5>##;W$F9_L M0JOC+C[6'HE;>[O>SO,?Q7KF6!R=G]<#W2Y2:CU.4^=@S_'$M<>BTRX=_M87 MBNN/OYT#;[LS7R5Q@5)KBM?VEK?CA..:(W%K]\ [N.=TUM%@L*X77A96FT;$ M#M"-![1#<>,![5#<>$ [%#<>T [%C0>T0W'M3)F5W7V^4%Q__+7WO8/-@QILZ"7.[ [A M>L_\9*K,UJ:WN_/LI[">"15'GUR(E#M-#Q%I!QUW"[SV6'0RS>%O?:&X_OC; M;GM;V_.9J N16E.\NG.YWOCK;&UY^_<;]I ^;?19:'_3%-0M--Z=\*-IN;/[T2"/V1'P0PS"^O-M%\ MX2W,[\U6A?#V2JZ&MJ<(XHF,*>HC.CWKI/?5 M$PFUG,5RP^^25-QQ*UCA8W-63_B9\$>C"+8#!.3Q6#(009$"SFFBL?136,)P M5. /L":_UP,"\^.>%'=A/A"?#J\^BL.K(W&=C,*>V&OOM\25E.(L@15U<"$X M3 R?,I$G(BE2X1=!B*/UDI@Z-/KXH1_&,&CH1[!P^&(H$1+P1.Z',<],T#B, MXP*>N92C),T%;.Q3D@[!L-SX4_1A?[X(PJQ79!GN&>9&:/@,@"PKA@2+3 S] M0.*(@023K-S84D@IWZVK45< $N+;?S1,9D7A'$ T'V_M:1)'N(L67H4 MZ))8P^RBWCMRH M2'L#/Y-P2JAR-/ 7'U@)TC4<["$\1*Q"G\ZC02C[XN2;[!5Y>"O%>;\?]F > M/\=AY3>9]D(8;)3"MSC&Z\W6_HX8P1,T+DZ7%7B.8#Q\83B*DC$>9V!:J:2# MW1+([M0*[X )T4$+<(K7>[M8/)[*HP^0/1$/2/U>CL<>CRO.V=XD4&0M\;<4 ML,P(@!H0A#Y&?N_KQE5OD$2PQ6$2R @78AWGO)PZ!1C"%@/1'=^[=6)T^%X_ MB:+D#K%AL9/WXC:)?%Q$/O9$>^O@IP\ II'L$2L-;T,X;8$8AS("CKL)/Z9A M]E7T 1; @V!',LM%"CS'$UNM'7P9]TZ@5F-$85]6=WU]'[.2?F^@<#&)X@)( M)XW&FIPL# 6]W9;XB*22"FI[,.V 6ZGP(E%NRU.2BP>:BQFS'%!/\!1 #O M3OTP(L(Z3E5-E__SC_U.>^\#()(9=\_JHNQXJ>.EG.[J.9:;NUNW,/,]U9(B]MMS:W''-SS V8V^R*9C57 M%'<6UQ//@5G!<85I5ZPG"I%=7H^IZ@Z7CZ;E^_4CI.EG>^RTNW%+?X'L-*GU1(YRFJ-66ES MM,3G"V996N2*BCD:C+J#M&0:"W H_?W'\\OCD\N-C^?7U^=?WHLNDIMHC[X) MBG'X(*Y/_N=ZX_3L^.3LFJ/;9P6W;Q\\E"N._!NYT4VE_W7#[\,@[X4?W?GC M#)Y;G,?*X:\_^V( J,/'E3?)SEJ=)?//K>9%G.1PU/ TG_RG@\(I#"OY -H2J*?# #%BY^%\X M=!LG-$KE;9@4633F&!SDYRR08G\('Z3A MR@ESY0SCFO 2>M*D:*T./PN'Y$6RGR\]'F]VQ.2KIX>%863Z+)T!BJK'8S*( M;]51I8. HTI[202SQK^\ZDQ$F!XL$&%:[G/Y$"R(AI/^\:PG#&ODDS]GQ6@.JX)? M9*IB<>'O7\6;?[RM"3]Q#,PQ,,? 7BX#,] F%K;:N1T77#$JVT-^O>%8GVYHOVV!F/XV?3:0ZR>(DRR*&U,IY/%[S/,!R M6S4=OW9T/"-]NG:T.PI3YO$>7\&K6:^H+Z=;:;.7MBO![H140V9V6&RJJN%*L"]- MU5AZ"7;GUJ@OIUMQN(8KP>ZD5$-F=EALJJZQU]IT5RA+L@<6?1$>;%G8>^K^$/&<1C?9/7 6P.8X6HC.ER1=B?' M&C*SPV*#M1$7T;%4;:2S-&W$>3[JR^E6JVJX$NU.2#5D9H?%IJH:+GAT?8-' M74!'?3G=]FHO65R)=B>E&C*SPV)3=0T7T.$".FJ'E 9PNM5VGNNXNJ).2C5D M9H?%INH:+J"C?@$=[_)N$HSQOWXWDD^RPO+_K9TPKJSWWT66A_WQAPIT:&8] M;3=) YD2-L+XYOVF34>1[#/X"1%3:U#;W-S\Z95 2AWY00!C_/)J$U4DWN9, MU>K5-+"V5U)[?GOJ\#Q15,P;K/TY/>MR)KN4_4CV\DSD RG:&_TDW=@7J83) M,D1KTOLJLE$4YB+IBZ1(Q5$R'":QN*)?_#@05S(-8?1#<9'*ODQ3&:@?9;\/ M \-'?%R.8_!>2]/D.5LWG,,7@8B=E:(B/-1'B;Q+';4WB<\=%XN'G:?]T < MRQX+X4X',='>(TSRQ,AOXU"^&KZ!=L9UCSD[#TOO(]B%BE MK?\8":_,S/V7S+6>V>)W$E[AH1[&O9,>G>LP-5/@AX N:Y:G#,LHP MAY^S/$WBFU]/AJ,H&0\E\.[#FU1*_"OSQ#7L.HQ]!!1NWGH*07,T\.,;N1'& M&T>PJ32)Q"'RF!M^^^=W:NPE;\&BTB>9Y/KD?ZXW3L^.3\ZNW]\;(G+RK2=' M (E,!#+KI6$7J*@KH^3.$W=2](HT!3!$8Z:@.!'2@IZ!L;@+\P% IS(HH#^,;T8?- MD12&KV#AA$0//N1A2L\*-6@"SZ1$WQ:FO[,@&ML7/4, /28 #P>M_"C"F :; M&H7"W_8^T(I'< [#;AB%.<99]),(@(A;F#%#:W74='_GUQN?#R_OC[_\EYT([_W5;1'WT261&$P2> B5D!6SKG>7$A M,_(!4=U4^E\W_#X,\E[XT9T_SE[]^@"1)8>__NR+02K[O[SZ1Y[T7OUZ35@ M6D0>PWS%AX'PP:5&B:V(VSR<*S>>K_XMF642*0)/#>/\7N8I_=Z 1#/PNM@? MPAO3+(ODU8V,9>I'P)+#N!<5@;SO%<.?PAC8DA^)KH_A8GZ$&@*.!E9-& >@ MEVB>*?]3A+G%I.GKT2A)\R(FSK9"WK5$VL23!VPPUC/04X'L)2EM^7T1 Z., MPEB^^O5W/PI 7[IJB2O@XQ(H%][3AW>M0+$P\9[;D8 <4]#9)(7 )F=>'FB5 MP.G8TIU)X$S?QZF"GZ<"#I%*M?-/^?Y:/.(UT'/Y]BA-;L. )"J(>B9@/P8= M-])T#%3[>F>3TDYGCN!'63(Y#"H3*)R[25QD.,+6'N62B#ME8;;*%8LPXS%@ ML#"/^ 89I+J?#<1(IC @@+HGU5CJ5*DEAAGZ$GJ2U1$X272@X/U1D8): 'OA M9BLB&_B@0^!C/8[[;?#Z MP&- M=V$4@ /$>-(+?30N"(_X8Y'I_?A%G@P34'K@ MRQ%NZ_4>[,47L(%\P$O1G$?9'HR@ 8!T)JV$F45.H*/=#4+@BT-_#$HIS^:3 M%16A,@:2-(!UX9JSHM>364:L+Y8;1(PX(PQ1Q!'\(F1(*N+(3X&]60"12G>D MW;4[FR( <:_X)CP7PN!W:9BCR10G,#=M/T;NQR M81YQ&C.AW"(0*F?%@"- L^+HY!S_XRNEG@C'4JN-SET.0<39E1/'+2J&L,%B M"!ADHD&JOTN84#2^M&3C(X([Q<> . :V;;!N./EA$782 1_RQ1\O2X1-2)=Y M\BN^1VI- .X^V24N++\Q,I19HWKB2U8A\U3V)(Y62@Q;0\.SDHM(^EDN7G?V M2,1Y0,[=?\,BZ%CP.ZF\#0%@*'I*L8 #@(H(M@P,V!W3B3BRU3I,$4#&)B<$ M2+E$Y-( UQ"-%YAM>K$D TNYQYQ4B[X8[3!\WE8F)^53DL+X,3%TQ90#):)O M4 [CT@ZVL,NZ)9D/P12E'<);GF(B,:(%-F6$E-*%23PJH3,7*'K150DN%J?D> \6S4! WU-N*2T%\(;(%98CKS>;;7W4(G@MPDX]#M (B/' M'@46 L8S4,S9$P.:/HF]W,AU([6-M@&_E:M&[8:5C$1Y"ZM:Q0FK_+9RT8N2 M#-6CKC6"#B\37-@ MY\?)'7QY@WLAXG[!9RA'CI>@-?YMC+D#Y,"YL]H15E%EA!CY(>, ME!:_SR&.&0H4XW=:BRKW@/C 9&CV@44!JQ*J0(P)Z;HCV"C M?I0///BQ#ZP9.)]/[C>V;"T?(4TQP=>F%'J$(*H72.QM,@7P6)(BR_K+K80] M(S;1L8>4>Y]^.X^:G'Z[+@I$1;^MD,Z$?GN^F'X[<0H7TF^3F)F'+P9^U'>J M[@*J[D2I\A>AZ%J^&@I'V)E2=8&"<*+YBNX7L+XTU#17HKH7F406A/8Z\PI+ M:[(#)?@-U!R WL.X0-8#TD"FJ"YFG)$Z"&5?? +"C'O(,,_91=FJS*VIN^KA M@=E?M[4L5:XK14GEES_CX^<4H]+LWYNJW<;P@RW&B5*F9[ MX$KXS'):=VGL8H2 0$)&XK6]=:@HA=,7=QY?A3(+Q;O0<6D:(0A0,F9)9/O? M'N5RJVP/*:#'>N BZB'!O!1.LR6.QA.:?'AW2>M@&47ZY,"29'2I6EG1PV04 M8LQ<-=BW"Y'!C0^4&Y3C@M(H(U39Z?@&I,B/513#Q/8F?(55 :SN?6'S#$2_ MR.2LK=BF*UL&L"[4VA(:OTJ>?C9+E++90[>"K"R"_$$4V>$$<8@)^3"&N^%= MT0UOV]WP/OL-[S$86B !THI[J?$WO"?JQA9UFSB)-Y@12)0,#(Y,]MIE%;<=/LR:$7P%+"Q%;]60M$*6 M3T1R&*'ZVL7%1E1<#5E0BDV^F9FQ1!Z8#H@T@$+LHW@62ZFL1D M5>)BJS9\<045;^XO)CB'#?YCD_ZQ&.'LRD]/$#NHC^^9/Y35TSI91V?59=5Y]?3T:,23!O$G.*Z\776FDG2Y_'%J!>3- M0^T0SON*IW[S^FU-R,O1\Q.A5-UJD$[OJ,E1TX^AE(/8'3DYIZR3WHY=)1O5L2?NW'Z$C[H]D$&0^+:(]%55W=8; 8LUQ^+N_?W&JFC,C;#V[P<9>Q/B;>WAQB%DX$A M/Z>NMB.[1Y#=SK:W^_QD]T)G=LI8 V9V8KP),SLL-F'FI\+B7KL.4K&>GK'/ MX5!\3 ;B*D%5;';]34=TSB^V7C,[5:P!,SLAWH29'1:;,',#_6++K%ZX<#2I MCD5=6N!]!<*NA>+BDU%6B+HOIISPB/L>JN1?$T9M,LBXP<^NBI_6V=68+E+F M^F1E)#1&9LNXQV4X/\ENR@51>1 *[^:4,E.UA.*NBS@/(TRWX@Q?>"HT2Z-* MA%;E0_XX3&[]2"5(6=M)Y<;$CKJT(ZZFL%7F#&/6&@:MJPX?E/DRE!+K+;;$ M>9'.S U4$U7+*)DZ$'U)J4=6XCTEP>US3A>&GF)\E_@/0 16$(TQ.RNV@.\J>1*6,]'W)@]A2IRS@?FU6*.+,T,&?IB.>"B5 MEW)8!&%>%GJ9X&0RK0DGFP3"\EB9/=.#>!G?PZR&E]F+=,S,,;,?86:K[+^# M0AB]CP_@8_M/H5SMVRRIK*ZB*Z-8W 0?^Q%]2^_N$0RJTUY4U\)):J1G=2;U M+%S?D[&EY[/9EF:@U20SNN,RHY\],YJKUBB"\'/_QCA:@C ;1?[X/1QG*EPC MPN"75V&[\^K7TUP.1;O3$E'YZ> MB8\G9R>?3H].#S^KW\7AV3$L[>SPMY,O0!GT\?+D\^'UR;&XNCX_^O/W\\] M5O#(]34\;FKCK&>:]OTEQ[GF1*7:(96W.XVI_L>+R$__VV[?,/3#F,J+8+F. M2I(W%D=[/U4,\-04;R2XO<'?T5_;V?Q@*A'3Y_:'MRS"RP+%*"#]$4JPR?HI M\^P8E2U^WZEX/*6I5 ME@[8M$IRWD\I6*0&JV,JHLIR5;/.HA9XQ%0TPE^&_K=P6 Q%7-!D<[4BF\RH M?*:ALRZJH:I\N&HJ,D%W,"?7KC+Z3P-1AH>R;'K"JI?18L.2[ZKJ.E.5(5C_ MQ7),JK;M%)?21Z \5JJV4":!T7';%:I[86&*U'M&U$LJ/7%?F,F, A++RF"C M$W<$A_ F2<=UR&5K<(;B6:8-J1UA.1UM_$6&2PX<,*P4B<4?#0 M49&CHL'8(_LM/73Q\AVMH\ MJ"%07L+,3X9";W-KS]O;W'\2$GNS_;;.R9?SV38V3E@?UCVAX4QJ-C4@Q.^L M\&$4VM[=\3K3%'IQ>'Q\>O:;/I;@'Y?0L_8)/9>RCT&8'/W>WN@GZ<8^=H7"KE7JUCX;16&NH^&K+3GC0%S) M%)W0A^(BE7V98KR 7UK\J3Z7BE.\D! MO1AE.QTHI$*6',4ZBEUQ,L"E'*4RPWC?N9WI\'(/A3#%)*B>S28NP5P>J\ % MH'W5TAE[H'+OP,P3NB$-7S)C*^ BROD]C'-0;=&HA2IWU<$[1SP@,G"'PAT* MY=U?U63GU5!6;R(X\=[H1AUV.L*P5*7T<"H'9[XL$.S:Z)C*U>24+#]X_4K? MTIS?Q<#B!N&(DB=4>\B/U#:;&ZC2[X27+W[LWU :4>/#VF?%F68RSW0_,P4G M.^)T,K*4\K5*."8VG-%.J-*H;2>,C)W /[[)DQN)[28\'1W_KP1SN]B,T 'R M*N3UBY_"\:6CW]G&Y;Y_J1&IC3!U*QVI[9>R\;";1+2R_:T/)L_FP3+FR>F! MNOBI!/$WH!&AQY^(W@=U*@HITX%_SMZ*KS&<"V3$A0HCG7EL\.UADDINP;KS MDSY"=CS@'.8/"YAWKIJL;RR);*35C;)L0(G,*TZPD[%*):6L5>2)=E[N8MF) M#M03H%86RX1)(F)0EP*=I9L5PR&F.U6B,X@98T_LP '^(8#'=M(S27P&%C ' MC1E<:YTTPX=D]PU\V+#=JGR62@-TZ%.&&>G5I DA7:9%)$T#V:N3HY8X^=:3 M(\JY!YL20)^7R7O]),GC))>J>RP9#?!7*&^EI_JL*P/>UKKZ11J'V8!-]R+S M."L,+,$(OQ9"5K:!]X!SL8[K8SUQ, YWEW"\,0 MK"?FFEVV=@GGN&)8M1@BIS')W"+7S:EG.2,J+&&2$3#_\[7"K/MOS]PL,5)8 M"3]+##+ LAZ!4ITK"Y[/E2S.,YU$ ]I;0IT->TE,XI$M7Y-*,9"1XMAF(?@. M,5CU+69'ECGARMO*](R%3B+IFT]1K9+O#MW4T1P/&:LG05 M0O[&GN$!Q:0B:!"6>$NG %'"QQ,#8.:W:%*KCNAB5*2CA+W"59S.PX4?CQ6L M& YJ":6(HQ_OT-.,]MMFLC6U;E'UAB%E(-,[NL]*NJR^)@V8Z1%Y,\YT"\.A#O/B)AHTP2 M_'&34WG/6:!\M(4Y.LJ#.N3]U0E=WSD1C>._S^AD:73N\.X3'EX[0,N=U[5$ MX;R0.H?.[[+?9Y"6=%]#&1C:$*T#GGXTS_*[A^7Y*N*<^4.R8R>O\>L ]@;7 MGF"ML"9 =EA](JP2]SK"S3G,-@NS[KPV$:ONO#XW9G]07;S :];'U%IZ=MC7 MLW2'ANO.3^+*JA#[_O[C\>P9BL_G57U)F:H.Z [H#N@.Z [HSZ<)K*YIMU^( MJ^2K^+T8/ZAVW_/#LTY$_&"/JBF5X;7W-KWVEBO\M]YX;&^VYJ/P(65:?JH! M4-8?':[#L\-B,V"Y_E@$UO@TY5!_6@>/RAEE$YR8O)!SDQ<2!^)8)X_4SM%2 M6S)KVG9?XLP.Q8V?V:&X\3,[%#=^YI>$XGJZXW[WHT#&XJJ%]W*Q7.C*TRJG M_OQ@K3/]+FRR;'OMG8ZWN[M=@SV]Q)F?S/0\:$T5(G9>N6=#!^?9UF!#+W'F MIW/G;+;FX] =JF?@<5O-=Z^=1&&6^>*/Q?6B;:<4/;%2M+?CM9U*M.98[+2> MIM&?8][NAFO=9W98;,+,->6,]?0OG86]K^(/&6/GXT6:%^\X+>IIJ>Q@U]O? M?=G17DO-_=%P_K\UV>Q+G-G)U2;,[+#H6%Y3\MW^]J-L\3ZSUM;W]OIP8;_[/B)*;#8D-@^6)87CW=/7]*+$-YB&WGLF01 MO6?/Z3U.[W%,8!W!O/YGQ4E,A\6&P/+%L+QZ^GL^AT/Q,1F(JV0AK6??:3U/ M')2VO>7M[;WL6*&7PP->Z,Q.8#9A9H=%Q_*:XN[Y7MD!;D[Y&W7?74 M.G!J MT=/RB!UO26UU7&HI&V!(M0G4L^I//WTK,N9[,)J4=L7.;5:4CW,N6EY*D>IS+"1=/7[^YN9 M)T4J[&YI9&#,Z[WEL<&1P>#8R!Q93$M<#Z10]>:YF_6"@U$38>J/2UUQ(^YQ MG,34FIU:\O(R6XM8:41%+,/Z!@R.NCE.5/_T!1H AVOM[WL[FYN(#$-YQ /&)5BRN M4Q -!H.UP$#]R'#?911& ]\O28\_6_"6QC(VVYOWC=4F&4%B:ABE'!O;-4E MG)B=Z5R. ZI^YL@K1D7:&P!1SUB6#9RR9?E$Z_%Y7R= ?33DS ;ML#<RJ+^VE!V$&'#P<3F@H60$[56C2$PU"?MT#,%'GJQQ$$V[V47RSB4 M9AE/?BB;3&H[STMJWD[[X &4!AQ&9Z1:Q+;7]CH[JZ4U:R&.W!Y ;KO/26[[ M^UA4ZH'DQGE %K5M>:"\+$9L-J%E]+NA,$8A&J'"FAQE:G\-AHY%Q\)PG>,O;VMG#F]0Y.-$&KM?>>0I#5_D-D)Q;P&B_-1:Q[FXZZ@[0\!PL<.OW]1!O4;N0#/LHFJ.+Z MY'^N-T[/CD_.KME_/JO7[,[V0P_ZR+^1&]U4^E\W_#X,\E[XT1W@\-6O#V ; M/W(HRC,):O1!C\\BIL;[WZ]3270]'>:HFCD\OKP],S M<7GR^?#Z]/SLZO?3BRMQ>';,WYP!6W?)2>@F8[DO"ON&<:KMJ+7L40\#BVCC4]KX2: "U!!!(8^A 83< "G>ZM&+9#=+>BE[6S^2$T MH,_IF_8'4>#PXLS/ O\_ O3)49+"\1(WZ-B-?4116D0RLSVSN YRNC<0D=I>[@I16$YR'ST\H]\HH\L!RK 6P%0$(EX9?:>H')8!&%.JBA] MZQE02>#C1.[F-R(D_/DL >3XYI+AR%#A;R45FK<:"^^_)0#Z5@+9!=(<8+S_ M-B 68!&D.879WOIAQ(I73,_D^K?FUK]6N[)2XN3\^.3B\./XO#HZ/SO\ZN3\]^$Y].3E@%NSJY_-?I MTW47O$J(]^$D7)'7(5MA1-_ GR'/_F)I4WR&3Z M*(JZ(&Y Q(!0%CYQ,'+EPX-@"\GT-NS!,Z,TN0511&(:SYPMZF L.&(DID9% M-PI[PF?HXO0HBSQQF<#L79G>B,L0#O='_RL,_A$$DP^R_:)UV/)$4*2T7%@? M&--;M CXHP,C9#T01&/I4S._VL5E1;*?+\WB7FH(UJHC'@=!)>)QPA=0>@$6 M#X74+H$R'69W">DPQO&@N<>GA"_^/S%I_B^2IIC#0QX)13W528RG[ECVY!#. MC]AJ>_?WLWSNG!Q'M8^AVF4D<4U1+;+5>XGGXO#X�!>V_/$)#M\/MX_';J MBM]Z)O&QP88*H)@3,%R#Q(2'1/*_?OKR KMTJ5-#N+Q8C.S4 B/UK$9")WI# M^\GY9,\.Y*X!':U?RI%+''-8;+A.<.U_4WQC=LJ!H[CUI;@7.G/#L%A3S2.* MQ#DY39E[S,Y!>#ZZ^XY=6P."? ++^SN4.M, ?DFA]%B82S^4U!,4#3&Y25IGGG" MCY+XA@/5S+IB##?$[@QV% .MKQJG@$/VDCB6%'.K!H&9BSQ)Q[3&5-X4D4\? M^V%$V8NP51G?^#>\O$:GH3RJ(L:3,YMI%Z\BU(U4?3=!L L0*XB*(J58.\8R MCV.>!7+Y;@0+AU?>P9#POI_!9%VB2QY*9>6/9$JQKU;XKSHCZ2*T;Q)6,-J4 M21Z#:BF,U3=GM=$TN,HZ(-H5^%[@7P^CJCD $-PG6;%IEKMGRHS$O4KEQ.$+(P5FZ #N_%UHQ MF03?\M&D)X,B+4/H)Z*NUS64<^%8:96@B11IXO$I3\'64"AG" Z+*(;/R_Y MT559J@:?_O_9>Q?FQ)%D#?2O5'AVSNV.([L1;[I[.X*V\0Q[W.!CW#,[Y\:- M"2$51MM"8B3AQ_SZFUE5>H# Q@9!(6IC>YKFH7KDE\_*S.H\FH"].Y%BSJ29 MMFQ3B<&H0WG^:&+O1-KJ5>F@O)L.3, )//CV7S/;YQH2&.U4#,1:H279J*[G MGO)_T4?,IL>B#,:GHWF^L6A@^O80'F<,\2E,'8M'QGNPN#:P^G"&OL74,MM3 M.V2[QY%V1GZGX"4RI>9++17%B9,JR=?KMLWMZ3[VT[J#>+YREVM48NJ-6IGI//O7[M?N[>\ M...RVVOWSKOM*S*X;=]VO@$_D,'YKYV+[U<'7[&QM@I\9[PG%YXYXUX1;Y9H M@,0V_)"K!#LRH798,+"%0>(_^NJEZ^_)9>P;#F+?\ Q4.R587_J(JG395WC+ M3W,,.HD73Z'P(Y>G^F$51JVS2>7W\4*#5=O!+8@E?C8)XI^RHK0AI2[QHC)5 M:AJS@*9*.FUFFL-CIN#1F5$/"30TTH6NL9UCIUP$VQ5%;B[3/MB')B&GC87$[M&)NAV-<+D1S/FAS8/O]TPMHA;C>JET_\I'ODK[UGK6_HX MMH=HRCEHD++^JI%/SLI7T2#M\.\(SD&"."Z+KIQ+[7R:%I;GJI'D7 MI4*1UNO-L*KP^8K"Z.@ZSWFMG1^0W(%"S:Q7F(HV\6>'O1F2@!-M)C4 M'FZXAV#"DIYWIO9Q0PX'RU_MX594S=)MW&%BF91[<\EBB MZXU2J5PNM9!(>O,#-NXY#?0_\:H"=+_/PL?PY$OE3.>>TS8AE/>D<<:[/EK/ M>TUMG+3#SV!O:!(Y$^=Q-^P($/NY:@0@B?E4>%&J&7K8PZ*.[5)+K>U3\LV[ MO&T^&)SJ!5U9I5(YU>OE"H96"KE O?2A_@'!6@*P/ G)9:K5*SH.L#;B@U/NB%M6\*KAX/VD>LUZJM M6A5\!Y#+]09*Y;__I(\5_6P<3E O5J32B\_/]L 4XO.+V;8F'-!IR/L=ZB5V MMT9)Z<(#7%G1=6'K@U[]@-@LY.J4KRBU,JS4JM5F$U9?:E0;E0_T\<]*.5*$ M5:D4X>J9'I@27+T0IO2H1;X^.<9#L$RY&98WQ32R1,GUO'NNX\HL'MHHL(K3 M2Z?_6]"E%5W'U3[H=?A_05?'8FF%UG$'[?"),%Q=A.&:/TH8%ZN+O-Y*I.YJ M4JF[M29]8)IOK34EGE_HD;=HQ'\9[@SOJ"^W6 "T7F"-J)R^0UU?^8.N].'A MZL.#]OF2*)S>K+ HW..?]+$JHG!5R;)CGI_M@6G YQV=BH M@5 L\G(QU3QU4;')+RH6%Q$O:L4":[S!:>YG*WO,B2E76\U:42.!8/$5.,Y9 MW6F<,^_DX.-Q#H5$!I%<+56;T9%4M1PI0[FR9)Z?[6$JPQ6+6:B+2;1;D&H_ M4V!-AS6.!5T:T/ZTTJHUJD5=7^5#N?6!7Z15R 56=^K@2:7LBN#YZ:52K5GG M6?ESGI^4J2\K9GN8RF[%8EB#!]!ROQL^JC@,?5[/X(%&P)NJ@0X>[I M_\Y@SB.;6EPCD3YWT=IW/F75>TI%'>+2E(HZZ.4M.&12JZAB>%!ZJ=HJQS&K MV(.2*XGD^=D>JHI:NIA(1:6]I<2'$GY5@7632@4YV/6U/I3K159-RGO:IVJ* MO:<<$N%RFVTQ5-."]W3M&"9O<-*^P_\JI72X*U-*Z:"7I_REW2JE2DFO-!OQ M&;]>BK52#@5+^4WW,-72JM5$>NFV_ZU+.NZ][7LNJB?L;^\Y,W;[CX8%UV=$ M+_^,7:?9"H>L*R2V-%1ZZ^!65O34"]Y8I%PJ%S5-5"\=D.HJ@C^%%;NZ7N9' M(A8=Z56#BT^@A/[?,FJOE3,^3/6U:R+:1UJLXHMT_IK9X1.J+L ! MUH2!Z^5J>,]&5"XF+G%+L@K_ZZ=F66]\"@C+J1][CD7] ._>N* F+["N%+^) MR$7GDNC5=D%75WC=5_Y0+FZ"?7N*5T/:CR1W>,JJ30_:$JQ(RW(I MTFV Z])F5]$8#:O--E' M%_X9^=4 ?>F2P=APB^P7J@20@UU?L3N0H"]2\)+K@_8EEXGA2JS]*O)KO\-L M./+,2I9IOZ1A)&NFA4KP9?77L\T?Y%_4=6WWKN#U:$KW'>;Z"J_[BMYON7"> M7RW6?57Y=5^M,+JO-G_PUYY./=L-HV9;J-R^>H9OX6<7MD_-T/,#C)KBM<88 M?<$O1A\<5=L1I?P.=GV%5WZU@BN__3M^N]CD?/5(?#SVS7!G(\,,9SXVE&+A M.WI/'6\J\A)%$5?D$<7=A7D'_?4"@C>_D%^ @E-)MDSI J4+XE;[E5*A=4'1 M@X '[0B)]K=-=H5L,]+:I' M!@=0D. ^>>@A@3,4G9WQH[/F.IJRX]A!8)!_G?&3L_3E-?//U/DS"^QA%3GE MLMA*5?_0_* 7=G'%UZE2^%>-_Y8$0&\<;ZYK?>>1FC,FQ9#'9K?? _,*WEA-='13=("-VER$6L8$;SC+D0JJ:'.$MC! MEWC&)<&WIN*)/JS/F%#VID]M5[D?![BRHKL?!:]45@[(06C+3(UMHBU;,FK+ M5?,]3&VY:C5K:4MM3EW&)UX-IBPKB;)AD9_(NOW>(!@#I4.5#E4Z]%AT:-&3[ _:#>7) M#*462V:H?_#^]B:G>NG'GZ9GT;/P,00*RG:QY\M3/C!%^O*"SN$5*LA..+;- M@A>+%5>5%3N>6@%(?RBU"KHZ/7<+1'F"D005GD19%]&XLIZ'!MJ;@EA9C-\0K/<<01C!G=]'X^MNDHE4/='\&G(."G,S^8B2 3J/YMAP[RAIFR$.K;6G6L9FQY_ M@%4Z,-U*J1R9^@/#'QHN#4[[CPZH(/'$X.#UQ/__GIS1;IN$(* I^3",V>J08!:@%J $KG26>TH<@?GOQ9#Y-X: MCY[K39[ [@ZI&Z!!/##'=&(HOE$+4 M0HE\?558T7MN..;,X9'X*]O] M,30"JKA(+4 M0 EBZ6S@B\ZE)'39LA2^H"/;M9405@M0"U!"6&YK^*K]51*Z M;%D(7QE#ZBCYJQ:@%J#DK[Q&\/5-1Q*Z;%G^7OLTP+8TR@Q6"U +4&)89C-8 MEEY*;QSOW(/GDFOCCI(NKLG@]]Y<&*%!+FU'25VU +4 .3@\;ZG[(1QZUA/^ M;0P=NOV!_S,+0GOT-+^M;*QHH*'G6]0_#::&:;MW'TN?%K;XP;;",;PL_7Q" M3.HX4\.RX(O_/"FA#N"S7ZH[YE0$?TKUYT_Y2-3_WIWP[KH6)C'#YP:!ST"( MLWL'3/@Y"G+B^?!Z,@6KV@@]_XE,'<,]6T?7GNR 5[?TS!<6D2\!?MH?&R?< M=#NFQ'9'GC_A#I/M@BLUMH=V2#"7GP1CPW&(ZX5D2(F%G4(M\E\_-]/##J(/=@!'8#F D \K\&C'1H$B]=X!%-J MLB(#QWE*SY)_$3:;WGGXK'G2L;T "A!+I*$&,A'8C@/QE-P\N45DIA. MDFJ6GT+/!*YG5,#2%=APQ DO$\$O[EFEYU>R!)SEN7?P]]1P(SR HW)W$HUH MV0'HN*>/P$C ]/2$V-8_3X*[DR^#[B^]]NWWF\[@\P?\-6Q)]+ \IIS7OB1_ M;'<1L&4^?V@L^L8@ M2JT9B#W3F 6L9W0L+G$*(+RQ&Q!\@"(/)1P%R3Y"08=BX]\F:0]]6V'WV];KBXS:OB$ M*C]O8^35'I 8I;;.LO.2+KPY>N^W[DV_]PU8JWU%!OVK[[?=?F^@D6[O_&Q> M=BQ=@E[.9:?V:NPN$V42.P8K%7^B\G?L<.]"1WX(/O!ALO_]M7T%JH(,SLC@ MUW8OYZ.C0OB6K\G&S4L<_6HX%G7)@-]-GJ_9DAG\?&S8X)NXD2'PU3-\*U44 MG2F8WOK\YBV>Y^;Z[MH'+\N>&DYV6N^7BNR<4%],H_NZ_WOGAO0O21NDZ$VO M\\=16="W\W8IL!QES)9>XVX5$UZ&=C@+*?NU,9UZX/B3B-// M.*NSSWHV^*C_HJX+)F3 PA+41I-8,.2$12W@A>V3T)_QWSC&PVCF$"-JP\G& MN,/ X /\EDRC/IW!;,BGP0(L:&%[+&#"ON_ \PP$/? X.@83_%F/KL&AKTM MK';QMFF@1YI'*.-/.C>:#7OBBX@'1J)F_-NI0=D,4 JEAK)% M!!1GXW@/&GD8V^:8!(9M+=N B?'$XD8 #I,&@>$_X98:UKT=,!L?Y^9R:Q^? M$,5L,#0#'V$L%7P0MHNO;R:$DX#U^C.' B7!6Q+%%GR=BR[9PO/Q*_$8Y]YD M8@C&LXX0CSX MV[$G-L^_T 1@V/RY]Q4^X6X@)T24PDV$M<&\9\&K23:'N>@"]X"@XQ=ZG]A' M#Q@/8^]@,,Q IF3OP])'H* (CPMBO' %X7GH$)Z!(7%T2H4?:GG :/!,8-<0 MV ='\$9GY"6'>4VG./%ZT2,>XM5+0GZPI4<.[\ASX%](CRDP">M(XD;<)0;S MYZ\'SNXJ8S/^KL6"C/$V%]M17K#M?V*W?I12-KYP*=?RI+>@5AIG-?SA9;SOPR")U]_C\$'P@.XU#[*"@E@_Y:E>9O."PRK(KVX; BE#SVT*;>PC$ MG"V+Q!R4^#B49RH]=>#//&@]Q1?3ZY[_#_E7I]?K]GXY_$YGJUI9IE11]D/4 M821 MRAL-F?XON1#'"O*L36DA^ ]/X?BMD["%N6H.8IZ:VD]Q%*[ZON M-_*U_RL9])7@5H+[$ 3WE3TA7[TQ&7A*9A^YS"YRQ73SM6ONJP0EEQV>^W> M>1=7=@MOX"ISJQ5_N:AI/P9?_@:"+D=R;FN?N;G8;&V=$N(=5Q!OI;_>&V>9 M2&J?GGR)BE9&I L<.\4"&C<4K56H3RUR/1LZMIE.1;FT_4E _M_K\W;_*^EY M9^2S_?C1]=S>;$)]^"H6HX!4H/;']LRRP5+&'W2M$]8K"6AU@X-?PL3 A*R< MEG3X?^BQUWKYM*(+^?%X?ZHW2^76R9=FZ_.'N1&^_']G/#E M:7E?)_!;Z;^[,3"' 39+=)D48=5+7PV'W1ED2'U2X>Y( MA65/P8N=W.*[1W3DW 93=K'E31?0,0CAK[A>K#^EOBCV&XG64G]0PP](!XL# MCQ90O]Z%C6#L>'3L>=@5!>;M.F-3Z3SUPSK+Q6*4BBJ2X2B/<@> M<_0LBLZ-8$PN'>]!R9XYU#0D0LT>9(\;GGSI>:P=H4?FX)-D@"= *C@66@6, M/)(]AA[W%FR\/-7W'VT4<:;-XHU;.!PB4D;AF(??N>[?W&(W&23H=8=1E=QT M?ND.;CLWG0MR_?WK5?>+^2R>_/MH'LWKNHLXZ7*1='=. MR7GL0>B9/X2!N5[OFH/:\95AUF3 ",/]J>UB Q710F.Y"ER*NLU5Q&Y6^CLE M8^.>$@/C7ZPG)[PVL:6-X3YA",U,VP!#$=P(>'!CO;Y&[_"9Y_R)[T5 Y(F9 MFO0%4U,3?8:PT8G#)C WFV#.H/5B9UK#OBX9%XDR%XD_TD3C=Q0;O]0PQU&! M-I^9Z*02/GBG^ 9V8+$]ZPT3=IDM]0X,.H>R.S0"]X/4-0AGI \$MY&Q;DO(LDR>!F<$Y"O.U"!3?CB1 BIK4>4GQQ=Q S%QCA'Q8KJT M]IZUFAN'PC!X-X?C]^0=.^EXSSM<^7&#*DNTM;)3YR9L-"$6HGY6T8@H/6!0 MWV+"/I[7][/!&1E1"WD*6_!'?:XIJ)-F9)6[.UNYC% MCV2+.E#.!/J#K+)F)I(I <:J+08XN190-MXFOG9RRYK_)Y\*PO+N9@^47>'! M]@MD)PI&3@H<"FGK#4,#!@1G)O!X'SLPRF<^&]H88F.WAS%E_0-7*AA$T\BG MS'&)M0H2*OJ*%C_#FO&.>;Z/USKX\#.8""XA!;" 73R1AB=:(?P^AP?@!EP3 M=>^ 9]F'8E6H=<2JA+JQT>EP82KLS>JF0%O,\:L,X9:8.6-/CY84(' M#0=:Y!2Q73 6[^V(NX[?::=3.8P4NT"W!;A91S/1+,4!7SX0^4O_IIEL+^A33F 6X,>":U9CZ/ M9P'JHQLY?#OX$:P$<[3MRUCA!:!K:39.;* M97&]*+;2< (O-8%[PYD98?SPI;86Z^B/XV$K0]8\$K819FI/F(DU,2S643%1 MQ*P/Y@/%[H[!XA"(9K1?I^D;/Y^A"=.S0^K8]%[(Q)2HA3W%78*=2PG 86PI MI0SL ^6!N"TSZE,3FW$P$?G-" ':A^Z@HMHPHX5QV3_A"\/&JY.9F^X:RD1Y M]+$!C,7L+!B7]\6<@=<%J!3^1:Q(5BH]H5U].C^4YR\:5G,?"V.*/QX_L6$^ M5%@S1OB1O-/?"_^0"27.3JQ;:II7V>!B/5Q"B0$JS5J3=EDO4T/A!7=87%X2KYU M:N^*ZX=':R@Z4O,18F+%A$0# M6<[WK)\M!.)EL+LVBE.S .7'ABL;F/'6686 MHF0T >"P*[!F4)LB0KVKE,<]!O_ 4+1H - 8 AN-9C[3]8!J/!8CY8@+YR)1 M*U"=LG@G8%&B5.PV)0\)5*_6^YR/P+&RY';XP,'@,' MJ]Q&(1>+=N-.&.C)).8)$%O.4R- J3@IH>@4ZP@ZCMML7 :-TC0- -,V2*LFAA#_/8C+]F4 M)62PO-DP9 W;H_UEXG&IQ"I<_#V*2B_NH+ 2,_'*F+IBC\4W-MA1U( ^0R[P M*SP5$&4'8W0N@.E-GFD3D8]!3UBL+PW)8!;U5V<:ESL<(%_ AX]8D/K< ^6_ M2GA>.!#<]\>C5UPI3#VU,2STP_P<]ERNI5"-,M#9;KQ%,&G!XU&L&GO9"P9( M\U%Z+] O,(!G[L:P^CL1#XC-"19*')0%#'T M\)3@>2*Q-R/[(^)HJ7JI%[AFB&4;JV/\?817TI&)E+Q81V]%<82/LG!)ZM<. M'87Y<-TOS1(OT,\2/@J?)T'/8QC0K MXWQX<(G!.GC/<^;"5_-/7&60)I8OBROS,0)PDLWD7E\V^3==QKT)E>:D;V4M M%LMFQ>7)T!M4;N>.YL/COQN*-MB,@34*BB$;<%^(<6+*0^*W4S-3+&L=)K8I M=X# '/8,R'02;@CG'>T/?B MKX(<<9XPVBLL1+S@"BP_'#=9)0L)+;-^A6,H+'(VK#DV0$AA4 [F:P:*6Q6W MYCGCSOS92'*($1T0+M&4&[,8S^%=\ MY"3N5)M-T0/CIVIS0W%'=#:9DG>=_S(FTT]] M=@3 G_1__A01X+;\*SARSUE =Q@KFDDR07S+.HPT53%%)+!G^ M36 W $9/XP:[@=E:07AJNZ?\!2;-L#/D,W+!TP!P4?P"M\C02)X:93+Q:XJZJXF(J++;7TP?B!S[E]@$Y;&BP'"H"JHHQ.8ZXWX@@#;\ M2P<7"K8*MOF&1@)1.+#";/&7==3/,1Q[%+D\; N/:>*,:;9F& I0(1 M)R65#A:F$(>QYYT*$'@L4&D@+\:_BPJOA-/]1(8S8%K@49:5C-5@+,H&+ 2S M]%EVMGL7!:,P=@;VOF&&(HHTG85QZ49BW"]AY[W$S-_TK+F8#:.:S23)1_CW M"8N'XY7@+W5K[,$;;^K56 $_]<8+J#ND_AVYP7.,K\8/(.-7BI=U:^3ZK'VV MV,I1A--SBJ*_\5%1IB2+[%I1.?DBPJ-4-@"A23$VK)]M<0XOD>G*XS4$;R.5 M?O)EP')R*3!-#R;P+WS]E*6.7(29ZSZ_DX"5RA*,L@0K!C%:&P4<9]N.(H: V72K^VV=W<-;T&^.7 M[ 4VC;\W'.Z6[G_+EHR\W Y;/I]_K,+.2 G]O"G[KS%)99):(% DE>C04 M%F<^HK9:;FFMLA*UDHR<-^*J&R-N0^%1SIRWFBK;XBV#<6QK&B3TU+NI@H@W[&* MS8AO*W:I6 M;=6T5DL^QTM.,_@WZEJ>3RXHN]0EDKY5)7WS9HW6HGT2D8"??^49FVAIE4I- M.OXXTI%S/W)@'+ M;"$![T5>RASB":()FN4HM"L-72NWFB_RTM+TO&.2IPJO*;QF#@W7Q^NF9X7- MIE99XZ19!KS*:9G?LCY*\UE1BL?DX['L66/>!GQ+:]5+6K-1/0CN4DB5!:G9 M,\J\/0"]K.F5JE9?(V5$!JB^U3$H)M-(PQO%3/8\TI&/B<1R&I;7/MZW'?(& MDYA!.&4="J(.LMC3E$>!:RH*G'MT+I,4$5'GVC'$X70!D[_S MB WG;??N%\^S\&J+?-Q.O5S1RM6Z=#[ D8Z<._0R"6]OAM[&[F>I7-,:%?F@ M)ZFY.*7B%J\KO#2$G)(;G!"'DN1/@I:2@AGGLE>":C+Z80(Q"C3G\$ MM&&DR261O][06BJ'5):1)735N=Y_DHCR,UAF=SI%(?EU*NQVM1*JN)+X?15 M.%W>9.D9G&[<=JQ4;FG--6*!,N!41F\@OM6*]]GFZN %$$%IFQY,_ H$S)N MLW7J2\-MA5VR,9K<)+I>T2JUAE;77U^V55$BO3"(RT9HDVKMEI:8XUF M.#(@3B7?RAV=+-IRCW'D8R)QSL9>7O<0777;7[M7W=MN9T#:O0LR^+5]T_FU M?P6J:2#NYB2=__W>O?V#R'99D<)UX3=:D5@ZT:5,(04V-;(B\8'%O9(;WZYL M8V@[=FA358YT5+ \TI&/B<1RGKG&69'7QA/F1,FP4TM&EO,FLDHF_SS:3K&; M>5[BH97K#3QRDB[13*J1)05.)HW\%<#9N.BG48<_AWXCQ\YL,Z",/Z-)-V+6 M+(@GJ2PQVT3YCZ[ZQN?/1)G<1$&J%#G:KL5(E7HK#V%<;^ !DWQ=7(YTY-R1 MM^Q6Q3U>T!$%D6V1&WI/W9FLUFZ!."63+7@^"^ 9 MU(_N7GBUB7R@Y1='.G+N ,ND^;T&8!L*WSKFE%3DZQ>LNK,Q=)Z;D;+5D.O,FN1Y;(72L[50$<63Y[WY^EZ3:O75$JX NYK@)O) M.'P#<#>-OI1*6KGYLLJ0 ;@RVO!+<\27Q&$4^\G'?IF66REZY7G+GU:J-36] MH;2%@NMKX)IIT[4F7#>]+THKMTI:M7X8E<]O=36*R3C2\$:0C'Q.)Y0R;KHR1:J1'6>_1Q<"JG+%3^<"[L8M0S7:; M61Y0RK=34KU:UFKEE_V%HZ)]@5&7[<#R)M1MFGE0US7]T ^_=F9!GGLN>S!V M'47Q'"?<:MB"%*6X90ED2'U2T36".\36 M@J-IQ*?!E,)7[ZGS%"7XE213KRIFAUT_,R'F%-\QMA-0JPLB'WNW%P.'T\&O,KI]PGEH%2"S SVW$E_+I<&:2WP%!KEETOP M9& LA5-)<%K+E!OG7%Q4U4HU7:N]H6NB] H@YU240WGF I@/9=J'\LR#W-[] MM=PZ]R83.\10,*^R/H??V>X==XCT2R' M\\R#W%XY(R"#L>'3L>=8U _BKKU_S>SP2250'I.4/]*1CXG$!W!8=SZ;S!P# M4SE(.B5G0'UT,=KDVH]:A Q"S_SQB2]Q:OCDWG!F='5R2S/3TBM^%'O2M>'W M_4%HA-3Z#9]T37TF&9^++_XI'O4GGUY[_HG?6+[*VK&=:S9)ORQ;<#8+97A=;KRSM[A:MU&;SX[A&)]N;A4$(+S"O^!5Y M4#+(&YD%^^;1WDQ[LWF<,"FR,^F1P=C+U;1'A88"XS"3Y+XN#LO'B4,9W;!7 M64%?,U;0,V9/+*4 5G^_8/.\0EI]W29*]!6JG\V,&W;"T&N=4&0J'(J!?L,-S8#W5@^^01LX=@"^( MP-=:",4%X"$$2+S)!&@;<+V_1N"CD?%3^"/>'/787T2CD>U6FBSE-8I\ R5= MKI5>$ZP0"%NUH$RREH.N:S@P)U[8L&W]G.->&;77=8+AEBD)V**$!;O5&1:O5Y+O=ZP!< MV+9I\@@NV.<7=&2;=B@):,4#CZJ:Y=W*PO?,L_6N[SFSKGW"I62H3*3Q_-&5&ZF E*H MK&O5-GQ3J]2: M6K-5/8AJ1@576>":R7]9$ZZ;1FETK5IM:N4EYP RXE5&OV!)^P46AC]0=5$! M=%O>;.C0MVGUE^XW?FFXK7!3YHAM_L[,W:@"O0*Z 'QL_?6ZH*)T06&PF,E; M>!,6-Y7S>'5P2VN\H#KK_UP$EA*,0 M]L9E^UOWZH^/9'$<\JU]\TNW]Q'M^4\D1;G_S(+0'CU]FAL^OT%NQY08INE- MIH;[A.EM+NO0"DH"U 6Q@>)W/JB1J>&S[JPA?!UPP P-%F0:V:[AFC9\A:44 ML@+VLYSGG-H81H1HH*'G UX9#F E'TN,T(SDF5$$=$JEGP'7P'Q3P\*3*(;* MSX+"2S7Z29IQQ]/AV$_F\[PMD3#ARV_GW[6FW=]'IW?*=2&V$ M"7M,?=B'R]/J6H.F:#$U[NCIT*?&CU-C!$_Y2 SGP7@*X'MKF#/B:73RY;-! MQCXR]4^V:U&T-A@AL",[2@D P>/I M(S"V8[OTA.D#;WKRY1SFVK_J7K1O.Q=D< M_X4H&I'])^M>=FS9;#"P#'OQE M1ZM9F\M3/W;H*,R-ZW,U;G;M3(XM;G. 5X)$_>=)_0T'20GR<3U%5_ M4,,/2 >$CC6/P_ULZ/J2MSB0V5[\(:)R&H4[P%(Z04V!J'@@*N\"1.B)/PN> MI9&IG3O-BKYOIV]95OKN4V#L/?R=@D'&8BEH $IM^E''\A?.?0>&0P-V=XX, M&[9DY&T&0[<7\FQEDBAOZ#UU9XO]8R]AS2S,7M+A_Z&W>U2J6IE=8(CDLM)/=4YN\%+&#-A*5<@%>I M!BF3 HDDZX\$=^4MDRM:J5[32N67>VC(D&&@8"L-;#,YDB_#=HLZH:*5 M&UC!=!B)7 =@3/_B>T% KGUOI#+EI>2W3,8DHQ@G6-Y*HJJ5FRVM5JD?!+Y$N@W:** *NF7M*J2^KW903M_FY9Q2-Z"!:@!_3*@\TI&/B<0'$!-%^Y,& >_A<4EEBXO*!] M> )+ M^@,F1$ :Y.W#UAHUK;%&F/.HZ%YDQ&6:?JV%N&TZH)6Z5M&S;0CWO?LRFH8+ M$OJ"3GW82H.1%,OUVA,/!OV;O2$)@HO,.YE^96F"M%TK38[<3ZCJ=:W>>+GS MP5%!H,C@R^2GO!9\VSQG*K C[2G+PE^B\PYF10=00-!@KPE MM:Y5:KI6K:L&>9*,G#OB]$SRRAJ(VZ)XUK5FO:&5](ITB#L (_N&!M3PS3$S ML"_H/76\*=8M2P+>(K/-D@9CG!9@WJ0HL2.Y76WI6J.E0B.2C)P__#*Y)*^' MWS9M[%I9*ZM+O-XBPL\]-Y@Y[$!-Q;%WPCJ9C)8K>K>; ':Y6=9J5?G8Y$A' MSA]JV399ST)MBQ*YK-;X9S5M4 M)E6M7EW/44 M=*6!;N;H=3WH;E%;-+06:(MJ317VO7V67=?T)I2\<[P@>$]&\(5(=7BN4AD2 M7CBBZYF3VYCQ.#&O@)0Y:XWDNI&*5JFVL,!6W8%SO) L9XYVUX7D]K1! LFR MUFSJ6NL-#;+W=0%.,>TD:7B@F,431SKR,9%83I.1!8I(9#@*8_^]*LX[)F0> MZ$_)_>0XQ"):V(F2H%;%;^98+',8')%M1UD, M]8I6*6W8?$F%$.6'X&H$9@Y"UT'@BP+^;^I[EA&,GP7?:?&.CW:=;+ T(J!$ MO8RB/G-LV_-<;SY:OQNAGP3L:R#]=27]"X_*U:#,'&F^#I0[-_0/3B&DC/^" M^9_2>KY%6^XQCGQ,));3P)S/3QI2D.J4V/S-T'B4+:U5/HQNP6:L9-([DJP. MU,!X?;'MSD!5)ZEC7QFE^/=ND4Z=Q] W/-^R7<-_ZH9T$H".1UWN>ZP+0.3O M[3!SJ5HJ:[56>?VPWH$:F<4$9:8N?M>@S"MWJ83-R',%I8QQ8]9J\][&EGNX MB5$T@9&)O.MY(25Z7<44)/3>*ID6 3&'":?M*W7IFZ^>*% ,3V%6&LQF:O-? M@UD5=]ZW6]"C(9ES#:1FL@I V/)F0X>^+6#YTLV-+PVW)8LKD_P!5-A+R<&Z MAOLB_U2*%S$N"+0R.1XO0VN_YO>VH:6BN7)[K$5;[C&.?$PDEM=LL^9 +:8# V?,GRPQ1(B[O1BL32R:']I*A^-0+;E&&OBF[D9W+\.H;OVNY= M $J "7]&B:W[D=?LV4':YN_V+E-6?^E,?WWYNO(E9859)L-M?9AMXE.N [/7 M)[GMU*_<3Q77A>W,0FHI"9P_:V3R[!990]!"R6 %M$V 5LUDC+P&:$[.)-9%%!4$[YY<&=RU38']YO-U57@;E0K6JWZ^JZF^P"WC/'=.*2@=-&ALVLF36\%NPJ" M9[A6:2.EC22&=R:C;AOP5OKH0SCTK"?\VP"*I0:Y[/=N3P?=_^M\)&P4PMZX M;'_K7OWQD2R.0[ZU;W[I]CYBK/H321'V/[,@M$=/GZ+AG_\O8;/+;PZW8TH, MT_0F4\-]PAL?7"^$9P MB0%@ WS5LTYN._^^/>WV M+CJ]6[X5J9TP*=87P493^GVS7HMC2@Q$"@((55(B%SQ\,>!1^=7<<%N],CCB,Q_@< MA+[GWGT! G9)I_=;]Z;?^P;T:E^10?_J^VVWWQMHI-L[/_O\07QU-],"AHX M:H3&7:R<+#N8.L;31V!NQW;I"=,H]*]D)>\.&!('/K+;G;]LG]#;G_MD#\Z M[9L!;/\%3/FB<][Y]K5S0RJZ1M!*(^W>!;XH[X("BP)J#?F4^K5#1V%N\BI7 M>W#7)M?8>L[D^JG$_I>I_ZFO87E%( -%YR"4_WE2W\)*(L0.J&_#E]KD&@0G M]7T\NQ8?[7=?%2%?1\@H&A!ZY@]%0D;">)_+"T& M;1%%I5RHE)=N;YOF;#)SC%")R .C'&_LQR("8\\!8R<0QJ(,=%S?2RH.<);K MUNWHU/(N$,6C2\_"9VF]\]&(AH.G<'OBS=Q04;BX%%8\7'0**QZ6P,?=":5M MEYP;4QO,/$7MXE/[@HYLTU:,?02D[OPUL\.GYT,E>R3U/IVWO6<7/.?^%S39 M0VVZVG2UZ6K3BS.RVG2UZ6K3B[SIDQ91GV M3":@OOID[>54W3P6V@V"V6(9ILP'(D36N[X[P*+RVYP;"H4RC%R_BC, M-'):6Q:*'_S),Z\8\#:6@7I+JS=+6JOVB*X;&AJV2ZVHE=)&L$H:(K'B/OC3>+G_UJ'WVI($*ZNADNE. M\#JHO%EY ?E;-:W4E,^3E+/3C3AB!>L![XIAEXL12<6B-%9?T99[C",K$A=^ M9$7BPH^L2%SXD?,W5>,;FS"D_)$;1&E[:-W6)/DZS_5:16M6*]*9M44#]>]N$G[%KGRW9^O_+QSE%6^XQ MCJQ(7/B1\]=_K3G]ESK!Y-+UTO,CV1J)UNC8_)46^38/Z6NZ2E229^3<05K7 M7PU27GFZ*Y N.6?550:3)"/G#\_RKN"93TH ."!E)4PE&5D9=84?.7^!5,U9 M(+U9U%2UBH2IO7*F!?QN^+[AA@$Q7(OTI[A3 >D\4M^T Q7@4(*R^",K$A=^ MY/QU87U.%T9"M>U:0J3&$E6"N$9%U\HJKB'+R/ECL[DN-O<=SJCH\IU0'>G( M^:.RE3,J"H=%W3 MFU!T4UX=RLJIBT)9:S9+6JG^LK?Y++X/M+&"PBK':J9)X)NP>L!@E#,O(]4X M4T4PY&&DU7ST^@9S97F:;2H#9ETL;[,-STYP^=:VRZ,C:G)IX-D*_K-/%4."ZJ?&V^M1%C;EDT>JNAU:M*YQ\Q)M_:OG$WE4 MST9%J]5>;@ZJ('K@$%T==VB^M6_DCH)CU;I6+5>T>N7E;*_CC(Y)BKC5@*ML M!K@WJV-=JU:;6GF-I!X9Q-U;$WV**7BE<:]44F.!1E8D+OS(BL2%'UF1N/ C M*Q(7?F1%XL*/?$PDEC.90=T]<>2P/-*1%8D+/[(B<>%'5B0N_,BYEQDWZV_I M %]))=I6=G$VJ]3,#7A+#\>* M)!@7#RQ"=:[JCZ2 HH"B@** HH"B@** HH"B@'*P0-E"?7HKTS?IY;YXST6U MTE.R'QK^Y(MXW,[?1P5,H]< MSF:[/ZTK9W/JY-@JOZV3HT)R@61L=4,9FT,OQY96?D,O1X7* J$RU^7"JR#W5I'7U"JUIM9L50]"XK'0V(=PZ%E/^++"2_28L$)#8*VZ%HI*'G Y88D6 M'TN,"HP>F6$$74NEGP%SP M3 M ]2M>\<0\UEL_]((Y4F:C\;3X=A/B/A\;//D&0X?.H;Y(Q5O)K>=?]^>=GL7 MG=XMWXK43IBPR]2'C;@\K:\U:(H84^..G@Y]:OPX-4;PE(_$A[[MT7H&"7='J_=6_ZO6] L/85&?2OOM]V^[V!1KJ]\[//'\17=S,M8.8( MH49HW,5RWK*#J6,\?03&=D!IGS#A;(Z2E?#IG<.\^U?=B_9MYX(,;N$O7-6 M]"_)>7OP*[F\ZO\^R"P)1_VR$\Y?Y[_K2(?4$ X=A;E)BUSMXEW'G\;6 M@$2U7?Z/_I3Z1HB>1ANAQTJEQX.>R?=[ 0_[ MO;!Y9XE].ZI97!!J;0O#"2Q024*/W% @@&D[E$32#MZ55.#M.]>DF(KX2$<^ M)A)+;6M5HKIJPAREKDMD]I$48 N_T8K$TLFD79M*568J7="I#\8DOP#"<"W2 MGG@PZ-_L#1GV4&:P;IXPH6>R;OOAF/IIJK1=*TV3O%NE5.IUK=YX^8K5H\)! MD1&8J6)X$P*WY\]^J91;FEY_.95':FF^:PN32_,TF3!/XP:GB"_ ["3M(*"A M)+ N,D-E4M9C6_^*&@%E-.F/@"*,(&F2=1ZQ!3C-OQM60ZOH+V<''Q4NBHS( M3+KZ5A"Y19$O*R(/P(!?%/D#;Q0^8&[GN1>$LA[K%(FY,EGVHH@#9F_AI0ZS MD/H14=+$TM\FYO^FOF<9P?A9?CJ5CI..=.3\X9?)N-\(?MN4Z26MVCAPD2Z' M%7\A2L/))<_$=^^4<-\-=S4SQ[IIVO1',4$8/7*WVX&C](IT''6D(ZM ME1V M\+(+C87W(L,.R@S5+5@A+]UHMJO(AJ07FQWIR/GCKK4![K9HZ]9K%:U9E4\U M'X"Q^YOAS%A-H1#@2R[8DP3-!>:C&X16E?JVJ5-3JL22WL]V.DW] :$69 M=/]J8 WF4)U(YI^=7LYDF;0=QWM A@+VN?(,/.)G1T&8'(WITC#H4W\$)$(* MY2_?FQ4-3*CC*6,X/'"MQE8F?V0+V'I16!_H*8CT]C@G/;;[<$.^A*Y[#Z\] M_XD(X2T)L(O,4ID,DI@(5]W+OJ##-?5MSSH?PV3?&%1- ML-NBH=VJ2>GVR6AHGWP!DKAW\*D]5UR""3T!2^R^LHVA[:A"DZ,[O#G2D8^) MQ%+;E;SX[8*:/GH!Y%W7Y:_>@ZA2DNB88'JD(Q\3B66TC1;3JTP3[YP.L"\ MM>^Q?: ,.RRQ_:NAE$=?++U6ULI-73KE?@"V\K5/IX9M19FT*A4K?R;* MG-5GF4A093=)M2D^:H"-+!\;'>G(.S -,D?[;X+B%NWC:E5KO":]NYCF\6_4 MM3R?7-"I%]BJ#&P',GG)@?PB(T34R-M KH(4;NCR91\>Z<@[D,)+CN5?!;Y\ M3.JF5JU+)(GW8QZS5DFI.+*2Q?G+XDR_A2P[,+*DJ*+2HXH_"/P M\I#'#5UKU.0[OC@ 8_K*<^_(+?4G1)T+[L6\R1P,9H]=!D;N1X%?RJ7Z6O=Z MJ\"SRG\X[)@N-UIY9J@,6R8S-K7XV&5LT95%+;E!51,Q7END;D4+FNQV8('.G(QT3B [#U8I_V MVGA2#NUN=/,:!_@16015=G:"7VU5M4;Y%4?XRNB3)OY87>,T?AU<;='<:Y3P M+%*^C!"I3<18,/O8YTHE5NU.,*]QBB_(DJJ5W5T)0D4KZT=TE>OA06LULM8X MHE\36=ML2EC52JT#;\"]'ZOY?!8 !*A*L=JE=*[/M?*,2+"CM*I$#-=;+:U1 M47)88A"MQE#C]1C:IL!M55X''1DE[IY.X5FX-%*.DM5]?>W?7'1N3K_V;V_[ MWSX2'68=>(YM?9*&AUZ8X98D]!HEO/,72\7TW%V)0KVDE5LO>Z37[8N+;N^7 M](Y].G2)KF#*8;K.>>LK8)I/^FQ-JY=?UA3;AJF,MC>_%_W<",;\7H M2B5(R&NUS#DTT!))>>U[][9%K:]/2-,4PR4$W9E.J&BU5E.K-5]VA956*"Y2 M,[7)&R(U%[6@E2M5K;Q& XB]*H:4BU P#U5:W[AHRSW&D8^)Q'(:FLS(O'2\ M!X)"G& OBF#!S%1)6L<$TR,=^9A(+'7P4^?'33:"*D;LH;-M[YA4?C1 M#W7;ZX[.H&J9%)MKXVD"] ANO;;YU\SV:=<-#??.'CIT-UGZNM[4ZA55EG28 M>,IDG+P-3]OLH%+2:HU\X22C[;<@<:]GOCG&$R=O1*Y]#US^\(G)7+R$<(H4 MD@2C*H@SQT^9/)L,/T74O'8,-VR[5DS0O 5UJZF5ZB\SE@HQ%A>=F2S3A&-%&#^FZ!X.G,IZ7:NWE"XX M9IQFQTWEJJY5JWM2"A_"H6<]X=]8J9*B_V6_=WLZZ/Y?!P9" !#V MQF7[6_?JCX]D$0+D6_OFEV[O(QKWGTB*1O^9P;:.GCY%R$CA@XT8#3?T?(OZ M;*I A8\E!C@&O&#FC0%'[);>??MZ?=WD6G=\OW([4=)A@9U(?=N#QMK#5HBB)3XXZ> M#GUJ_#@U1O"4C\1P'HRG +ZW1IA-/(U.OGPVR-A'3/Z$%TS"![>,$."#G2/@ M78QQ&? H_.KN@!+O3 HAN8WQ.0A]S[W[ @3LDD[OM^Y-O_<-Z-6^(H/^U??; M;K\WT$BW=WY&/G\0W]WEO/A8YS"+_E7WHGW;N2"#6_@+YS@@_4MRWA[\2BZO M^K\/R'_]U"SK^B<"W[[M]K[#5Y^=\D9RG:S!N*EU.704YL;(N8;!=JT1? 0@?A6? L-9-V'D=7]'T[?7PI Q3[D5INN,@O$+*]]#X:R C)B*4Y!, -NC9PL-B3:T#TO ME"W"N7_DOOD$>&48J)[)CX_(@Z(T(DY_]+OA^X:;?S8!WH/4T.HE^5IV'.G( M^2,PD_?^!@2^&'P\T%;I,F8J/"?!!Z%G_F!Y"A&Y)('Q,0;_5[-:2^:0?4VNL%!<^&]X]!""OTIM&;S8%\$WJWF;Q0TTJE#8]39=0H MN\]WD-Z!5ZR89L5,^NB*0^28HCM+=GB%)R$#6RI,2X/I3 KGAIA6>D8>SR5J ML$&Z+M&\X5#J711KFVV;V43V3B8I$P#\I.MS0(/1M,Z06?M!V MK?DW4M^\IK[M68M=5#J/IC/#8W-X,3;<.WICA+0S&E$S[USK=,%\K0Q:2%UC M<: XS61S2H#3?!H[5&LEK:%+5'BS,^=CI2(@I^0KA:^Y0!M)(*],M31W9G)8 M-^+.>69K!_W1YA9;16O6ZUJC4CD(HTU!6QIH9WK$;1_:^F;0KFD5O:%5JX;.A0]^6=/^/U_%;9KBM,%PC6T- >SZ=2A M6,EO."1)F.ZZ7,2#<);LA%6AM+@;K4@LG2#:;;3UVK M@H5P7:QQ =M4AOTJ MN-^PY'9&OO=(C!Y]XYE83BE^RF,M$/*67&OX,O*VF3;1U)JMU]]E(;TSNI_6 M=(D ?P?[/AY-9XE*URIY!Q*1]A_MOU*I"OP;0%\JQ,C M&ID$GC71ET?R0J.LE9JO[Q)4V4:7(,GLZP59W?/<4R:OD_YQ>-IT G6RC1-[R1.?,EK9(YM:O,ZP'XZI3W@3:AGVMQ :?K6" M;\[=5,LIU7:MN.<_:_E_DZ(2*GA&HTWZSBO;4R'S)62V\D#F-CO85[1*HW$0 M&-U+HTN22Z? 9)3;,26&"=[(U'"?T,AUL9<(,7QX&W $I+_S#8=,#3_$FG7L MQ0: 8"E\@"70-MPZAJ\$(;S!&F2?[;A5(#XQE]: ^^OJV5QK4/F[>FY$^SPY MX T]/.?;B>4^H<_8=RG2'49HW,6:P[*#J6,\?03V=&R7GC!Q[X;@P?9O.P-R MVR=S+3\ON[UV[[R+"XJ;?\):X.E?\EW2HBQC@W!!WYM-J&^;B:)J95N!&^', MI_V1N,(3A,[Z5A(-3&.*2L^?T1RZS24+BXB%.T_T,W+1&9S?=*\1-=A?]>OW M0;?7&0SVL,];&61>6IW5;'>5&F' M #+Z4X\3E;S#Y-URZ1,^@;W4/VE,S8CWS[EJBC\2;S_0Q7>\F2_>8CZ2>'<6 MB#??$QO4&KESO"'J,UZ?ZJ-@ W:R72P@PNG@3\% 9R!E'+Y%"E80FX(.BZ MB8$G>#,17^)[_1+J>:__-?W!+S;$+ON(=3%MO5#^1=U^[MS"/ M:K,,\P#>#=%8T@B>!_@$S!=S3!XH@?V?C< MAKQ+%!(@3P(J#^/;QF,PM MA[&Q!R KC&]V$(H!ACY^#(N!A5DS,X1-MUU1*97YGW!2.-0#&!8^7NR S\*=PX6.9Q/;LL.G MA:GA+_T[PT6S&09U8!'\4@C\[7>P0^%? [14 I%*[AH 2 .A$0":#9C)$'YW MYU/J1IM)'NQP#(81/)F 28Y/#4-0BJ;A#V'(D>>%4Q],)3Z5X0S@%"V"3>5O M-H/0 V/IG@+<[@%PP!*L+HH1 UT?@I8==) MS0#I.PL0IP23SX [T40 ,R_+L8A?&U;$^ P]*( 9,#[,Q<9) _(XDN&+R,T$ MS7V/\3AX?_ 36)60 X]/#@'7$+F'O#OK_TI@HN\U\@.\*I>-XG$X_QI-X3J: MPCO[U^M(Q)W!;H-T##CAAD]L,]816?$CH@DSD4W]R>D/VW%81![& V:')QK ME\ 4 7#C#UP8<-4,9@W&Q:EI('Q,',]O!3P-<;4@=OE+VRO>\";P=F&//<^ %)F08,]:T#1:# M$T$38(A]W,P?N'3/B73VR&:TB40(?NC; ;.+\&,C'#L4P9HLB.N1.=K"OGLH M#9@JPUURJ/"C8*H3L3>3F1/:IQALP?D!4Z):.0,1"'H2&!<5HB8L%_'HL0&2 M8HBJ3BA*CRM*(8?TQJ< E!38 3UD_OAGC/G&U)DBEH;P^KS_6_?B5&_Q%>%\ MF1!"K4]QN]G,1ZR7.XC*Z?M*97:&EW+DOYC R^?X,? M_8'NRJ#[2Z][V3UO]VY)^_R\_QVO@OB%7(,K>=[M'*P7\^PV8-#C&JPWTYXZ M\ P>Z!#Q+6 :$>F0QDW.EKJF9\N0^;0I+G?N/"[&(%^,, I)3IFP,CAC,MHQ MLQF%$)I##V,/?0 P7> QP6P((M$&,2V,ZQ>]U1Z]-^:=59"EX']A4-07LTT& M%^=R;L CV&G92E&/NH9P1,PTP?8H W?#6LG1@LDM=""2D*2!7+Q5*2UI[VQ[ M/N]#LKB.MH6/1O!< ._X-FNB>"#\=DY]='13Q\9\36G,3@SD+G0<8 M.G\#F M8EZ#@8P WUG*E/!U6#]ST.$E.RJ8^3YZ(.SWPB,0G 1,#P;8LBE8Z&I/T.?' MYU/6VX6PX "]M[U9 "SM4V!)Y"=X)!@]C/6].$Z(?GHR03 U[*-@M>_\!N0. M?(:[)QU[98PKF'!_%$_W0)@'E14@D7,"EV=K'8H)T8_<88.'Q&($O[3;UP!A M=IEL $8RLLW$ &^61IO"#>H@F$UXEU9N>AN<)YCRFW#U$W,$"V#:@>EX01+X M>J5V9;ILZ<'@&2;!H9L=,1Y(<@<'A!GY,=.R$* WP6<$J<6 7X,!/>#E.P^? M.#0"&_3M WSEWG!F\!7FG<3?3\ MZOB18?L$'\N-NF2=MHM>KW#%[/C"=MQEBF^!KS*:.> 0W?-?9KX2^:W)/>,T MNO@W,VR '79%0-5X,'R++PI3OT/,_N0^(/<#[E!2.K8QC/U:("XLG;FSL'F_ M4]RQA3U"P0@^%:R9^=CT$6;%XHGLP? A>L8@-(53G(62CP+?L>D]W]8A;K(! M[BG?4$1!2L;R4#67\&/*";""^E+Q,=ON!/D&^SSS.%^ MO)$9R!O?#KFQ-PS/?B,TAM"4$%_!FRQK(=H^F#\7M._L^_>@>GDH.?4I,T<3.EO,I!^R MZ'.*GF,;+$S?'#\1+M#%FAV0G8Y0%=-9R.*)0E*R RO;!R*$#QY; BI?/'C$ MGP\Q1,DF&BE1D,;@>]R:FZ:&!"'X*=DCN,]8'K, M[F3)RTDZJ4R0#6_?G4L6K.TD&;F6R<=;S/+=^N9>(;*(OK3:8-=S^=^9AY87 M$SB,5<4Y$^=1;@5@R)G'^H5V3PF66+GO!(NOS)[:.F3V@Y2R%$CI,BDH#$X0 M7RX1.$X$>5K 49M]T0(?R&2'D7C4'_U+(\$,Q5I _IK#'Z(ML(% AK\<:Y\6 M?F"[,5+C6> 1%T?Q)_PUGS"7X;J4^%L@*M9_#IS8;@ M4K&\$8>?@();X<"6\?R%6/LJ+MDQEU2DX)+O*2V? 5TPFPIW?AAGFP!*6%R, MHJ2SQ,LS(L6:639WZ[1Q\TCIM$(3Y,W8A:H+(7-.E, MJ"V/A\5O3HVGV-& -\'CMEBLR&4)1M,I)O%,>$ P\7>&%!-I8ND1@$N,KD@X M\U'R\'<#F@ZH)>&;]'86*H#SS$T8)C%(LG\?"_@L7K/M\&B84$)Q@ V M#V6&(!XQSN*&8ZY8:8!!$1W@1#?9ZO,2?)%$?1 M+*>")X$#B\7?T[+6\-2GIZ#-N+IA;='XT5#R;+!\'\8P-IXK/8*-8HE9L).F M*?79\<64G>H#H<31$S\W9BK-]ME9V$PDU1EX (3Q#HRH87B0>Y]3+^1% >+I MQ/$"IDPQ%$PG,%F7(H<;_A,[NF%'ZP9/#&3*$T_#_7N6\(@;,?>0.+Z()R5# M$$3Q@4]LRC.C@*7/KI@(DS&VZ&.1I1:;5+0+C&!XO [0\%90%[;5HNB]VBY( MG#'EYTFI?<$LZ'C-R1+P*T#4)SPJPNEBB-.:T?G,&2Y[L?C!\X,DYHF! !-7 MS=[AAU& QK_CHU=\.'].2K1B&6UX%J69P$P<3C9!%W[*-7--SW$P%3N"KCD& MIY5_SG8X7A>SH/'?&'CE,(E^R_1+G.?S.,;$8W$(RT+9,6V0QK"9'JL?L(-T M'-BGF&-Z)JK=OAI8@#(,(_,L#M5C#D5 ,/*=U01;&86P7*&,0N;Y<6>$4[N5^KZ%"@1%I986YI?4:A0!H)G=BQS%TP[>NZ2 M'4OT51Z-^G6MVJIJE>KKR9Y)A=Q@$9L27:LWFDNO&RQL7G+)C)NI&L M\#_]U'$>UJ8(5];P;9[J+[)$2&#PJ,*=YUG1H2!+WQ?6M\&(AILZ2TSP)W;$ M2)AD3;0"UVGL8?!V&,6@/9>+T#A%':7Q':]F,8*H (>MZA97M<2RC,H+;:Z7 MS]-Y-%^YDB&#,:5A\>WNKDBTL>5+,UO2ZD\D!1VFM9W::H9;%IMAOBP[,?8> M>!4K=@)B,6(:1NR A@V/Y,P"GD,E3J-/;5<3KS!+Y]UE][+_'HP;L*2M,Y(> MD)DI \ _0 ME4G2G%DN;! F,@U$!1,T( PQ*=8J[":A>/B=1MY$G)$G7(&%W+_(#!9U7\SZ MCT[\F+=A1W7BS$L8PBX",V)^&_-?4(;[UKP7@H91Y"U9D3,$_HHH'S9,X7*8 MMF_.)GA$Q\\'TYX&SU:9X>FBG>(&=#'PT)"E8C G2ACMZ!%'IA>.SR<:TM3R MG[?(JIGDV%AJ_1;YIS=\@%RN2VHMORP9R'?F1Q6ECZQFE_WCGHYMTV&J>C)A%9\@ M8[&@UC%,42XJ"F%9A@Z+D(<\B@"3/2-7>*ON&)63/<&N&%$*N,]B3" &_V;? M7&\CYM:=^+NP_P9*82^IRIW[9GIDD/#?-#F&Y9XW'U=,FK>J>:0\O3^> Y\E2V3@T>FHE1NZL)Y[RLTQ(RYN%GTV MXM%OL6*;Q3TU$8K$:+M8&3.6_@*7'':0A=18P2SQ>J#!DS5SX.1\+#HC",%@:&WRY*-G3F?61 MY[7@%>HJL>6MB2TB?66)!!U52E:U]EQBRYYD;)NULV%*A,F+M&"+ZXZ>XF-! M-)0"9IR8OLVB"^Q\1QQ#(4OSM'=/E#1%$@C$H&_::-Y/'BB C M*+J0'>Y'W:MFS(J+GKLP&=-PT.GD1FEW?J'X:ZSK8R:OSSQ5UA&$U15&OQ/? MBR85)__-C\-WGJUYYO-%B2KX(::W8MD 'V&NS,%.;K\CQKUA._S,%^M+^/;S M:*R=G?8+TREL)"0^]<7F+13/"ZDX%F3^=52O%S=I0KT9\,I2H6$9CK"C$?\7 MZ]OD,J@L5>],?;)MQX^BV(H(2*&JQFH]!*K&LZQ/18XR.@?\;<8]PQ1N%PR& MI?,0!ZQ@F5"L].'=78(%WL,982TB0TV,>)&MP_A#K!A;KT5Y-WPR23DKS"9^ M!O]Z%(]C 9XXMD9^B7PM;?$'RSE_%F!C+5Z+.9D@PH'1>6R/,D,BXOCXY]'D MXA6LGEM4U\0/)N!?<7'0$YO%?$BPX-ESK(D4YR5Z35K)V62]CFSO"M6"&E*(?5SA%% M>8H%AKPUS@M3N<%D_-,0= MP;()T5*3MQ*#9]K"V1K# MKWCZ18!6&3N9T(AH+\93-P2_V5AUS9.%^'!<0<> %",Q !/P6=_+GG0-S;WM\:Y MEX6XG\TRJ)5R6/*2=)/\EJR7M&JC]E(^2KI(I[A1MOA0_YKGP\NF:.9O:XAF M*R9[F.JDO?P$26,5T?<@D?#(3X2?HC+XN>RUU:Q9F=NM4./NC/VP?O-SXOSG@Q:R[0(V++F/>NP6).,U^W=WE"8.]QKT_+)U]J MK0P7_LR2&!>J-,[(\DTK;V/3RAMMVC+)E?.F9477BDTKJAMYF=+AJU3X<\A8 MC87:CAD(-6)_-$"KY=4X:&15]\])WDML"ZVQ6<^RT>K-JNZ8<3;9K'HVFW+) M9J4U(UFB"HMM"+ :N-^Q8Z\;RI?&IF>:$78>^;'M-?=-Q,Q%4IM$QD"5_7JY M+2!V_2'>]50$=?X@G3D_&K$QQ?])=$%)N4+<-;1F?N2)BD<^I=(_TYV.V2E: M7$/!N_),>4 NSN1:\\F\"S7+.XJ>XW)/,-,'+FZIMM"?4.3N6:*> [F1]WQ. MW0"!D@F;=='Y21AW!A:NQ1XJ=L/'C":629M^H);<*R&J8&"&N"5)H!GLU MTZ *V_(CZ6Z-1WYS&;R(WNMP&D4)5&W78D@$T1EQ49ZY5972BMRJ9QW/:J9^ M,\<5;IC^7E^>^[Y8\O!N0"GI>8!1O?:^\!D=\S>\RZ5> D?;_49YZ^FI\FNWHG4&$AW'Y.F GY4,9=( M@9<Y<$8T!\8 H MICXC1UR:,G]VQ+:8!KZ$A@S'L@6R2 M-F.G= P?3V@#F#&;<&Y9=(W1L%HW=BZ*OP*'FZP*1? <.0[AQ%IBK>RC-GA M3A EW+*:;KP2BYTIH26X]*?B#J$'ELJ#+ J2#D]LP489\OH7]N @NM\ML MO0M/#/&$FST]9=0+?HHO*3HC%[8S"Q/.73'KN8R(T&T#41.* M,!$/S$)/"H)ML*]YAMJJN2>]S\3G["?L^'SFXX_C)D]1N@MW,Y*.%L*H#J(F MP^PJ'5'H#DL7LDIL%-[&!K*1919SN<9)%!]866*'.M<#EIDKVJ_%CL_ 3%\+8SIGUTX\5"T,$R^\3VREH@B2)+_R*KMJ* M-]5YXI/$E.. FE&;CK@_%O=IF,9AXW*/)9&R+],DKNR&R7GL4H?EZX!7Z2LJ M$I@:\64\JT9(]8=--%0:QO9(6 )BI0FF5CP16^JSI^#ZYIW;2*^@\3!RHJ;B MR1/Y(%'Z"&_V[9FPLQS.*P:,@1I=EVBD6URGTC&8^9R;*:G^T@N;YH879I M'M-B:-BC4S%3O&$M^Y!GEL%O61+=9QDL%TR?5L-3X,%HTSB(?I//(, #0*SA.R]$>+)D6;55F_+F8OP@3!:\Z:V6#!8A,' MK=1<$?!8(2UXHY@44R1Z2'MFUS(53OGMVLK@_19WK=& G6O5U]ZU6,:R*-Z< M!9#2%8ETJNL-K58MK_>X]"/2!L7J:%5KX70$'SW )W?%@[_#<\]C$Z0_ZB=# M1#NR:>AMZ<[6*UJCMCX8Y__BJXL33 \HJR!MI[[. MMB>J)E%5"1)5)>BJ*N'M50FB]F"91VH:H^:S[3;WY+.^3;^7U]7OV48UN]?O M3-CTN2C?AK9JE;5*)9N:L2UMM7HS,R6)>U#[6]W,JEYYE;FTJ:9NYJ.I7W6$ M=/B:NH!>3C_K=&?<4VS,Q/=S,0@C#K]31&!=[/ *P9EOCEEIQWHI:O5,Q\R8 M$HP0'#QM?D7/W]1ZSG#D_(J]#L*G+LO8 2F!+1#Z+MV,1+[6R) M+)S@13.B='0B?73,;R1G M3Z!"KB>MPU9$*.*H2!*_?79$UI,R:OV8CFJDCG>RS]RA,%AQPE#.GN5.IH;M M8SBMPV8>]-U%I[P;13)\;0=7Y5W@"@76L^"Y;E]< M='N_I-?V:7?;K>B[.7W+LM)WM<#X-#3,'W<^.)O6*>R7YW_\R30IV!9S$:P7 M;B%ZXRPQ7P+S)%9?;J?_O <.B$9>#K3E\_G'(JQ'HSE8KX]>UM\'GOANE6E> M:V5:B<)&\KP3W,V('VBCTUCJ"^9 MQ%O0N170N=C"W:&?<@'^2\-MB24:"Z:#14T M&PY&<21+8!;Z5DI/-A7A,73S*8 M5(#EF+SO(QWYF$@LIP5\F &6@SL;J9?F>SKF$ +Y/KBXSBIQWH$P.@(IG2VY MQEN=MQTJIJIK8FJ3T[1U,)7-L9?J1&UGEMZAAA,.$/KSR0UBXY5 5:C:"%7U MM5%54)&Z6+)\N,W*YGO?UE:.BPV51AYVT,/B)[SOU,8&409K]N::MF/')4S\ MED>6&<&:QBR[X2LI:IKP-NA1\Q?>T2=(6EM]W&F)TO*Z;E47I.J"WE07%*C" M(,D!=EB%(ZHPJ-CT/<#"H-?XBUM7WKVH&:,LQP +9GD*0,6.VJI-+UZH_.W< M&O_15SL4@GK:VSCCA)=VR_H,-0$G H6![V+BKZ';>5(NY MD 03"HV'O8N*?L=MI"S<(",)-I:?;R_F^4D URUD(J[$\=)4P&.2$ H%DJ! M6GMI5?Z#N& G;NLICA7(0,)3QZ."]^HCH4,K"L0K8T MR"YO'=G2=#:27AFES.UB\I@TK%3,\ZPC'?F82'QHQFU45$&NJ4_X'0+T8=F =U#!_1=*H(_W_4.=V)97YY+@-Q: MHZ:(,37NZ.G0I\:/4V,$C_E(#.?!> K@>^LWWZ*3+Y\-,O81RC_9KD7A@UM& M"6]$SI%/6"*Z 8_"KZY&UGZ[YC5,8]0L<H>$"Y8\VOD7?S@]V=DZ7(?QM0E#Y3 []U@1'ULK#FQL6GFG8== M,#V0$M2_MTW8<+P)(WXT[I,KFF>2<&R$\,B10W$2V'L0Z!K8%K;&PC7#+T$K MF6,(.WAK"/V"K0H>WZ*2/YMAP[ZCHQ.D%-#N',]@J4*@@UR:VFZS" M3T#*?FW.;T@RZP?6WQ,U.)METD]TQ"K_0CH-/I)W]GM@#)S:Z"E:#'O<_]_> MNS>W;23KPU\%Y=VOKQUWK$'JL$C/\"GUS_.1Z LB8 M.KH)^&589?1Y],OP[7!!^"XE!==CEL"D!#_V\@[D.'"=ZF9\"#=TQ\$!GM); M>' &*M["1JJX8M@8>(BS;74MZ=(-G@ZC30F-!9;Q 7":$H( MCR[K%O 'UL.5_NMISPMB4AX,H =ZPCM*G["Y<,8>21,5=]YBWI#V8]"5BMR7= MQ=X$P!B>A@>*AAB'5U24]H:!/S6B&O0E>!/119L[67@&(O.>K#B%]<=?P3M(SO#Q_F_THS996C8^T"3T8[@HH+/Z _Z=PDD,:@&\ MR30:?PE58X)T4P!4_<^ZHSX_V^0YD %\;[@A4*E5YF?UF)+%C'E>6-VAG&;[ M -'"_0$0 #/Y7.? QT ^OJ7.8@9PDZ!G!=5.RW, B.[\76UPXK,H\ML )Q2HA^*3.%* M5$!_1,?*TVI)OA+5(=PW M%T<7@,P-P-8 UDU4Z#F'@AL_N>T-P1B4[))UO5,8!.+(@WV=Q4%4CTV2E"%6#$OS0U MG_2'R>J./!BT#C"",'H<&G3349JHKJJ"JYNH^%' =6J1X%(&G09< M8H-K@[=1*? ^LS!41:*YNOFN-.L7RW6#^@PKUR#ZE>2YQ@(<()DS>2A&]D-C M7)1N$\#5X'IGC2-1@[D C:- 7"MR>SAL<-W@>F=EIU>@LE,( >9_)'N&=-KO2/DSD-X%:#5!!,4E4[2] ,2D6J$T0UQD! M=8.F,2A0TR@4H0('>)V@;/EQJZSY-JF&L(C$K>DE+ M[ '#:1+YRV-5%654CCT*.5K?#U0RQ[%L'1]E&:Q *WU2\(V@Q!]61PP*R6JL M,F)05-B:L8*8ED'KBOK%6_TRBP=4%HX5%(;Q"=;Q32\F'!1UK%BIN-PPB&9I MNCSQ8QT3ZY"8@\BY,. S!G(ST$@-:KFRBICLD<1\5I\)$MR1I1<86 O*&,;@ MP,8FT[D).OWS*@(T+/W*Y]0*"MO9J=A1&:'59YOX2 IJ!;,ZDEC+E94"M-:J M@)8#G:#\=,6@DQDD>D5K>,*Z[R:NBKL6U!#W"US[%3AK79[R=T#92 89_F)%R\S0JMVUI8JMLOD^S7C:T1@W Z?E(-K/;LU)H/ M+AV4Y+'X5U066=GB]9<5E)R:KM%BR!0\JKD"S9 5B<<:V%G5NI%EL+C^6GE^ M$-F@8X!*SYF/E@$VX,A!96.60"6K6Z_'GH-/#CH,).O9JZ[/ QYCZ^"S=/[X M'M6]\2W=?+'\FM]AB7JV(J(Q@*^G#92D9>:F7P0XY]XPI[MK7&W3,"?,R^!M M<5**[BK3R; [?K/AN\4V<VC"C5HZ>J&3SJ107MP:.*QX0; M"PZWZY@Y%[$L _!XS0] MP&"@9D?\#;1K3<+G$#W>P?[T?17L*E8FJNJBV=CZ[_LO3W14<@0LT$-AV73-C0;0.:,E+ -ZOEVC1Z=_1KD:7 MIG9CHMX!%+\'"\%AS='VK')_"KN7"5W6VH81:1HEDF]CIO5#NWS\)%T^7DG# MSDB6>#NSZ!;A2QWEPZ-K@0X7?:/%.YY)WVDW'LX8+[KCLV_\T1OGY< 6PG:P M#B5,OW^V49!J*"-B/8K45]76Z*2&'T#,J+J-/BROQAUVYH2ND&W9@KAS2V,. M.<]A\BW>)S.+?11L$=>8*LC_/C"THC!FL_$/T?? $D*A+<)>Q Z,&!2:J0Q%9@: MWF+I=X!"I00?^F(9,"<#$<.%OD,!2/LKR0P(+R"RGPGM.W0QLPG"&_8!>XF@ MOB$'DOZ5:OBX7OZ-T"[59\1_/M^HEO0 SZ/XZGQ(/I5Y3J:J,?58@Y\ FUSJ M@RYE,)3S%B?VVN/84X).4DO@&5@4/0J!B&P?@PGB2_X$D?? . ^@'U!S#G2D M+I\ !YKDX>;][5.3L[6C+Y8&[6SELRY#$U/57FE[0ZH@_N4!"&*YC6]/56<>/-?!7=9=YB-#-S("0H8O^FC_9[O5[DAO(PN^ M8I^DLBOHST@;1UF$]7]"XIITADMUE1PJ^@"_&QAL%G$(H0;AS',]FZP1#3XP M(SJ^08D=EVX!7D B<"]\0-$)HHQUR*/7,765:';E\2"13L2P2J'*NE5?^DM9ZX=]Z=S-<-\O MVOA_=GW,=BZF!=V99)=+Y&2';!:%V4Z/+F;T=IA+)<)D*%X#&C#)A*<5WR!? MT0CHA7W4Z'/XD9;R$6HY8WM2G79IBSQ\XKDX?_9--A^9-DIS/'L5O("RT5Q% M#61\ODVL60MKG/L*#Y<.X;!+E,5,E[$)/?BP0U:P&-YB+OP\@BQ]3W 33%1Q MT5#'Z5$(!H>E3!>"TLS0%SKK.B=G/8MND+&BO>9P'@;19!1=<$1K=*U<>B%_ ML1/!!_\%$UTQC8$:0%FLP&6ZYT8D)SW-4*RW?&9-50A?X9B1W-42[W ,2CTZ M&6:/Q>TU_R1EHCCN99C%^MUZP%67!FHD4WVILZYE,W^5:45+Z!S?]+%-'M@P&RP>:,06"&\+!I:F'?I=@O!8MI8%/ MH-YT)A 3/G\Z)GKY:=]6#O1LD=*-QZ.LRY,;^OW?0)BM2Y1MP2F;I,L?CNW^ M\1FV>.I:]L$")Z,8+=V([(4K!RX\,V[L> OO=^1A?Z.8C:M-\"*J*S I8R53 M)N5H#45KZNU(==21K>Z,*XO2Q0Z=GE? Z""RT0(0S:&1"+^-S1YGS":/OPGD MN-C@/@P[L>LF;+/'Y"BU/Y86WK'H5/8[WN2_&-?A41GN1)RLTP3]IHQ^M!,M M/25 GP;C"D99TF?QLX>Y&O$7%.Y@/#")BFV5P")Y0!,GEI.3"G&Q.4"GHJ75GVTN*'%SVP<5K_ MS!9.")@O=6W#?7-D%,I5^EM#U;R8CC@4\KFHO6;["+Q=? MJ?_X$LPY@/5-X-FXG'*%X@:09C[K:$:R#XDF D,X:;=P#02:2[CP>R748D%]'O5>Q >+:;->N-(X M56V;:O#A'8;+6C\3MP6X@M&8OQ ^DKZL<#%4,UQ0DX?X@ZB3J.?-(?XW)TQ; M5X,%KDW$\2];N"X.:J[N^->!5*+.#.O5"2?K^%HO]W99/"[*); ,%HV8G#]U MP'$3(' NL06A"8,/#Y<77N?X 8D$G5M.] H(EL7$>&Q)@0'Z@B<0?PSR$_LE$X1(X@=9_ZW/$6_L> MW?UX-/MK#-H_X_$:-A_'UO"\&WH$ X$?S'<2TAV@_LYGVWH%8XJ[6]%;1Q8L M#!9=WP;V^!C1&- #9S1&Q-*@ M6M"8;1I,J*FN&BS.!@L27=' O2!-[%5T-V1IH4_1VPF?7:CX&X_WDS LUX(W M0P,O_CW\!@W"I6N,W.;/58S12N D"G76-3[T+:]HD<5MIN%1@Z":@*?- 4^] M)N!I_X G'M:4$O"D33I=32TWG"FB_EUJ-./%H0(3V.P>GF+Q&AU<)Q=.V1NN M6QF11= ;:%V$M8B)'Y'LD&[(W3$QKIDC9, M/1&GD7/J!9;4'_334]SB/K+:VZP/H/^H]G3.P\2IVDC5"E$E5J)3JK^"2U.+ MS)]/7[B0GGQ2RXY218M0)2)V\DJQ+SO)(#G'V+N)J7A?R'1J.4>35\I>\FIP MZ!H*%%S=?OH:SDQP??+@L$ /SB.)Q=P*(Z@2;8S\&5]%8JZ%DT];0@ZYG]M8 ML:P;S.NQR=*RF04W\6GB,)I(FD<"YQ!F8OF>+C#P,$X#35X_OR<,+&>)K680 M< N*F$1M'!XRPP8M30KT;( )YL(>?S?S O#]^-".&+L&';BV72(JD M3JP74GLF@2U ,ERR0%%43<$H,>'W*1&19Y1$MZ5;\AI./CYWQCK%V""ZD&G. ';(;D6\:V@'J+5\0%*\=: A-4/NU &;:&?7Q ZM WR+TO M3'%AN8TH6,(+Q0C,'WF9!$?Z9&'(QELN&S X.0@)Y-M[^?@=GMN2&%*&LG2S MH&%H@6OQ(91P_+"1/NO.U+#0>^Y(;Y^L):!8&;5I6!E()7RBM]2H)S,B'@.I M&'S9CS-A0TU6_&]<@189 2-:(C>@*8\,=#,J85D$R[-GJ+:Q8N'96I@3<377 MR4RZ6])0&A@)E$$:S"1]4_^$G?6WZNKN\[=8]&1@Z?+$87H!PN8"+_J7"33. MET\KB-V#*A$"2W(BNP1*C17&"DNO)ZQ4P1S@-V_3P MCD;#RQJ:MNH'FL+<6>0-#2XR5#.H=3"W7L./> X/^%M?AI-G'32PGEXCX3;Z MI(B&(C$5>JK3*T ZL@5+!D&% :(P"AR F$-"@Q%Q.S!F=#9C.AP+SS5-7"%3 M\S%4]%DW:4T(ZO8+]?A./YKN2V\"]$7P-4ZP&6PO/(P9 ML>U4/_!PM\]+<< M9^C,:<+YA&7=XY;;!$Z/4/'D2\3S'"_2^ QBYS15!P*NI9&S(M&D],K'(WYVU4CC.F*LA9--N+B MDWKSIX!F$1 MD1E,CL]#6/D,A-=2NK,/[_>VLT_TL6D,R$X/JMG[F@7-,."TLO#J4\,4#%4W M6"!\)$YWG3=#IF0"EC-?9,NB?#@AN+*H,]5B>8;T*H5=GZ;,6)8L*F9 MDW)KA7RQV6IAY=7 35MQ@WH*NJ>8MRI-GC!_"[SY9-/R;>COFK@T:< &>Y)& M:K KYM\P[NN91"5+!,8$X[1,'J)!HOO][.DLF8X*>'\4#4>QXZ-@\ 0-3[/L M*'OY-&33[0PN.B ;OS'=@VH185CB5PM5#!04H:9[$X;.R6$A#/^A\-%_J\#D M]DIB1TQ[7>,BYIR%N+DT@R==':75<8A- ^,,"S0IFW 6Y/@UX*H6-$@%E\^R('*H2YH;@[-R_#W'9;XPFD7E2)N MH$PRL:ZSU_A'PC ][C9]ME&+>[6Q(ITUF]$EL#(E,[^<21!L'BZ=)0FC_&,@ M,O$^/A*,@-N%)2<#O8OFL4VM)=5J,3.RJPPN&%&*4?N42%I EO+'JF!%54"F M[G#,^)N]C.ER"21U6[P%6H"G>!49"?W!MA\X!?J0E5.05UIT;W#J Z+OIJ[% M%:#.1@6H<]$>R5$K%J$05#'B(86(N."UKSH+VM+]>G!7\<1\OP)8H"^-VOVH MD1HH3)B)P"+Z;&K5A*Z\6 *,%2G,0Z-JA\>&586\!Q?Z_;]?7;HT LE .XO:C1K-#@55PA M,UVR!3C9?7<*#*+SL.+%!3;,=/X;NC M0^:/#H\;D$_7<4/Z M[M7TD_W"1X\Z_0LPV=^GG'(T 0!$U%N8Z>=7QLT2L\M MS9OR(%UKL33(#YP8L*R%V8O&1OJ(FAKVU0] -+VS]@>8(FN@.92V5=VT\^ M??W!?@ OG#4F5?'A1&*I9<'Y&U\6-2[2]'7?$:9%X,148HRN7@9:]G2-UFO. M&;P Y!5%8@NCKMYPV%SSQKB()1AN@,K05E@K@Z "Z0VL_(FDQB<_7E]AWJQ_ M4@=?!%.1Y72PP'-GH1KXO=#+1"/H31T#K:,;EM ;^/&^H_K0V5-]P#V (WMM M&_)-,9\;N;OGS-9<6A\A2=_1NM_><5G1C%BB.)Z$"I@8A M_^'H]!9ANE;)(/# !4]>>S#+7 \5.]ORGN=!)CO*!G;;$7.]^U4]< Y8"(O? MEN 79IY!O>3;/LWT6;]*1]Q'P::6T"8[[#L!H=:*BC9F8'!^_]LS69IMEM.* M>X%2O3P7<6>0?T<7^:)_5>?[@_BM'YLZKW[@4LD;2F4JUGC4D'\[N(@[H7AN MI1$XH5+/0FY2L#M/B=5-<]9S))- MF+42EA!B^V&K=)Y4_@0EF]E[C]#E%7:S3[T-@D6-NMT,[5HP9(T24]DI*8'P"@C M93T YL;$%$++7H4N:D&"\3<&']W>/5U+0,*;V]] --X]W%P_GB#,Z,@BGE$* M^=S/0N?Z0"21SI7>VKQ$&!>X)E%IG3'@*L\!H>#.W[T_?216LG_I= XVBT'N M9@$DKY@$IF;^X:#<[+>)K,,@,[(D$:\>%R9Y6B >O6M60^R"B*V(2NR26V,6+O;!LM =D.+2LP7: MG%BMWDIIZ%9@?\%!(E,R. ;];?T5=S6MYMZA62M=>3S*UZQ; /HUR%E'SN MY!R:*R2/E;&0R-E)=L[H_TXJ.Q_45^D;OQX5572>NE%WD4R3R)X*F 8H$1"B M#&D[[*7GUPFP[>!B?S2'1%XH+P_ M$0)+UK7WA$:P]3)&4 LML:O4>#X;_ F7?D"!6^*6(7![\D 9'MY'_ARTW#KC M+OM.,PMW!XK9GMP;#RJ#N]0HV+18ZJ/7J,BZI(XW#/B-F)IE\[+43F4NIWLM MZ;?KV\]W#]+GZ_N[QYNGVE]0WYD9=9\2%RZL.C OBDXTZ862&)B,T7ASY?)A MHBZ=CXTRSAAE+'>[_5T+.@T3!>@VSO%0>=2#4["O;*G8)-,@&FM)3&GIV=.Y M2GO':'Y73=T7FB6_#.FQWA0TEW$M3P_AL6B2KN"B6E)(MH\Z@ MJXR/)T+Z+>G^X>[^^N'I/]+E[6?I^O]]O[G_!FQ8=TG"QO6)' 2YLS)Q&V)? M!(AKR0_5)J*E"7)H(EI$(':$,KO[_\.=%RQPI1Z^_#UG^<6S3=8K$P^/&>A3 MF) DEC$N>F#!,!&2$NPJG&-?^)[^BC4.2HE*&?3D46% Z&8BC'F$WN8Q$S[ MT5LS]U6U!0O]JR7G)!K&4RH\<@*4XFMH@R;3'PC'%VGE.WW%7[HXZPG') MF8Y!-3(7XB)O:'B5!&NL3H"RSVQ.LV"P+<.K-,XEKN MRC)9H73XW(T)=N6S39SR9'2OG2_-X*S(7F? )2[S=@7N%XBD"B:$;F'49Y M#@)Y!-I IR.>R7:F(Y>/ND3]C#U0=W"=HV$;MP* AR:Z2.',YEXT3,1(1ZGR/$@]\-@K\ XUTNL!#SW_3U3*8L)[1M MV!_(O<'V$$\1=*D&Y<*@/!&442K*#XZPZPX[\E YL**'B"?1T2R&=%NA*0ER ME-(,XT1)D$S^*:E$2$=N]T;RH)=,CA:Q5$.#PY)PF"@1LC,.#Q3E':PB /]M M-R!$P*&X)4/.O?GB(->H3?-%*ZVU8K'U&_(6,_C"6].Q1C:$MN9(KY/"2J-$ M+67:ERR[S,@XK11*\.7\=07V=(KT^JE!DUMJHXS3:J-LGK02F?2AGIQ.3QZD MV(WQ6BFL<]TN5%,C1@(M3<%")2+1:\!X/%1B&U4'L>#$J/EQ-V,A&)$(C" MHW1RC^7.N)=.;5P0ZS7%^M31_N2TWY3IL!1LUO2)]\'43>F9F,2FC0CA"]H" M"Y6[-FL?YG_-,GD[S4CKI:#A$FVA#DKJ\_?7FT]=KZ?+Q\;K^=:U"LOF=Y"(E:):J&[0S!0!K!/2J/YV@ M0ZAKT?9AGW03.X_=6*8O(I[(=&Z"+?R\8DVV&9.S!K+^,X,V;7Y/-RW2L,V@ M/4YY$1Q_./Y-UMHL,IV@J1G(L1E\WR6TR5M+B@J7@/$VBJ=A)Q%_%)=0ZR@O M6RXI';FC)/7JS:?0L),(:MEC%06>2QTL*IA29VR6XQQ2_'.HLW:*58PA4P?Y M' 4L=@S,YL58.2@!:D$E#H"PQ]D7NJ:O0"9M'6E-NS/1ZP45Y[!NBD,UQ#XV ML9MV9X5UA7 !(83US(W=,]QS!4XLSZ[H18/&B?"B#:=DB0%&G?% [HZ;9-!* M8B@1++07A@X.%^JT1W)[<':)]H7+V&0@4%@A4G0N&_#=^FOBW#B>]VDCJ182LU3<",L]-&R'ATGJKF1/L]BCJ:4X)$86X6D+$,W M&G7;\BB'^TJ$,ZH!L) 3D3Y[0;@ Y6L4;LM]P?;*Y^+ ."J^619$GXD*HH= M[.*;RG7(91BV$^%7*7;+]0^,M@1-Y5?+TEYUUN2H^-R:CM*5E=[VFS(1#\ZQ:8-I/>Q6 X]G:EI?+I>V]8-<HSCW7HBM[HZ0[&CS-[ MVI'>TK./:&RVK@7#JS8!N]N=6YZCFD"R=\W_ 4Q)UPBS,#**_WPO0H>]&L:D =P]K-A4M4"T M.I;O6],=-C7#K)5:)NR-9/!?)_L870_J[(FPHR+!N/#0LF%[E_#$E//\%L9Z M>B7&"_D&JYR7T_*M7?U"JK8;#JGF8 M#03!>9TY;*<@S0P.F]NDE&Y,=> QT4^QH2!(KS./):H.[243W;6"M$M,?\G"/,!%233U* >M1#IMZE'O7ATL$ MSM#6E\#I2$:[?ZNIF9(2)=+FW= #NO,Y*E5R)1 MIB!8Z-"U)%7*H/JP-XSE'#T1>T')OE>5M N'3-]KGHW%P4 ?:J_+P M\@Q=C M5)]MPBHG8DDQE6Y!Y@'52Y11N 26!62JII9V&'5&%^W>1;>=[S!R_IJYT=/H MYO;+FX_CU-/HPOG+4VUR,;,LF#C(54-W5Y([5UTZ"U4WL0;>3)\2( )\$,." MX%=#G=!"+#9Q8 >F<_J'1EZ(8=$JSQ(]LH!6TA>@&>[5G[+T3;57!GR05<]; MW[6IM8"?4TKAL (;+EUZG1-6JG+I%X%A]3!5;44WVYI.O:5J3E?LR>$SL8BG MCA7=*$E,$PO)V+RX97;INE[B(O*.%<(TGYD$>8!'!)>.;AJR&+T8LG:C75KE MNJ[<&R1))V/!091#!HOL@C,+:,-HIYM3FTZ55R^$)6^\!8W M_A-PL??$QD,)CI;\BPU6=.]AP_NU73 M\2] ;K %KY;])T;Q:7"">7"4499QDSQ%*U^ZEO5GR"%^0EW 25:$V3I#F3$< M+;89/ ^9#;:-ED:$@;Y1AH?/C;'Z)FV>(F].JLJQBDQKP-Z48 M%IO%J3 93]UYG7%+NMR TL2%RN^P"\3&O#;D1-95!#8$ Y\X7DL ZS %K!H? M5;)Q5;A;&H&S:J&;L&&8??=,:Y12GL35 RE!D[5I/B/[SD1%(O)ZO+K)8(3+ M5U]4W:"*%S"UJEE+^BK=/:"$/PP^AQ$5Q#',XT4U/+J]C'Y+CG)0'F)E@ZGH M]"7;VFKQF?%:O$S$>2G#DA MK@#%-A,:"P73E>6XM0RDW1XONZ?M[2OT=W'@.$TH;%.+LR%V4XMS%U?U@2*( M^3^W")Z3W[R<3Z0WZYJ"1*\_+JS9!9K[M%Z*"!M9[RQ, M)1$Q&_<)/> #[F;?'7:I5,:%4F\PE,?=W5/NFV3@^L"PL\4UF0>&!V8!]Y61 M/,Y1O5D$&(K9,M57O[[JZ@3][?I6X^^NN]Q5$T07>G4JA\DD/&!&VM#+5\H=*(GPV?ES[)\"*DZ"4*+Y.7Q[T M1\)%\0DULJCX2=Q8[H&?0ZN^M-NR,MI>!%MHP7HDW6Y-L&9*45FZ)30(84WT MBL4=37EZRH.)6-(,'KRUS&EY8GS04^2^DKQ^%C&7&IC^4NYW&=7#64-P2 M*+8)BDH$BH=>'E8(BN?J1+@#Q=:.91W:A+6"=RV>FY29U1;K)G%Z?T$WGLI, MD4Z7=Q.NKO$6--9BR=9BXQHX8V)7U0\0;MM8F'RWXK)N?Z<#$NU"A2'49ZR) ML5!9YGR8N?Y>*,XXG15]-L*G[EMG.APF?Y.5K@*]U(:"#2\&6--UW$9)N<5L09 MPW-GO7/KM5(WD=#(:BG'-41?7CZ N-P<&YV_[F)KET8$NUS7_20 W>J,F$0* MXUZ(4<1#S+G>%SYZRZ7A%S*=JLYD^A2KV"E7V"6D:O$![;, M)XN5A6YN%D5WRE3^LJF)0V[H7[\XY%/:]BC6I:6J\QX!"]1"'*S5;7A:6%A] M 0+>LX,<&79E:,3J-PFASM4XHJV[)0__!A1#734^ZS:9NEB6FH>XW<'0.]UL M[!OJ-FC+RGCW?D]-U&6-,+HEW7XOC!8:CMF7!TJG$ABMF7F5.L@ES=E,:' R M.W-4U[/IZ4+3,E-Z#?@'T&HMT5, .RK5ZK?L.#OX[5>>K$_D 38!N_-]8ZNN M5U)GZ?$4OGX8ZH5-.X%R-/!$/;Q&V=[A(FU-TO7$4DE$+P?73>EHF/2E!GGQ MOGC][)%;&.7IE1@OY!OLTMPII=#@H"^WQ^(5&A3S[FJ=%?J"LD*=KB(2]7SR ML@\>JT^O5BE<,VS+[?YVE5QHKCG9 3(0!+MUYIJ4QE\[<,W<)N4TIQ_VY4X_ MV3ORU"2IQFDS% 2]=>:;1 ;N+GSS!>S]4MAFU)9[[8HK:2<[;D:"@+?&;--+ M--K9B6WTEW).FU%?'G7&U6:;HYTV3QCLHE@27L";WP%FL]G<7B16%8KDC.RA7LF,99 M93#3N(.=&RKN6CC:H864>L^SSF[0Z4\>7/\M[8#L,LGI1#8^$H5;6! 9A58G%8DEA.*]( M!DM$L5RI2QWT"E9/*21%B5VK\I:_%YIKCGMV!Q0LFP-Z1,#Y%+D\%C+JX.=2(LN^W+1&>4:-4*,I?I,+B8V4?^\H+[6]Y)J MO*HKY\W'//*3/XTL/OZB2G,;D?T/W=0(^I H); [(;(*=1RI\"C\:#:&3AAM MJHP2@1T/8$6H]G3^F;P0PUJBE^72U*ZLQ=*#G7JT9NZK:M.L4\/"Q([# TW+ M6[\?>7A[]W0MC5K2U>7]S=/E5QCAL_1X]^7I]\N':^GS]6_77^_NOP'*I*N[ MQZ?'>&!B=>*DAWIB2.IV"G%#-*:&M;:3+QRMI/.I?*&W,-)TRHP5$)G Y MG#6J;@)/,LJ# ^ 11W7$Q#=:RI3M-6Z<.\I<;B/'F['/C=HZ'7NDF98VE; MFC?%=* 9H-%\=H RD1$WC(2]=W2')A)AG#<+VL9'JZX D=O=6 9L9$D!UX0+ MPA2&)NVU27L\< 6^A&,KB?[;9+>*2.:FE*Z09FGT^/&%M121UA(5UX+=:8@> M<]_/N24[W._\ M36Q+4YWY1M:XJ,2E3@.^DL"7N%?8 WRIPKE&X*M9G9;8_4.OGUVZ)6H)\ ZK MM(08NO1I!P.)I-?GDU13H]XMZ55UI']FHV\<\\1'![R;Y?#+7W[.ZXO_ P?X M(\"=ZKCEA0ZFOG/JZ]WWS]+ M5W??[K\_@825'J\??KNYNH97;I\>+J^>:G&]ND&\W9C2-W6%8HK>I5)//2V' MZ%J2"F(PPHNFJ:G M&D&*BE]OD=5AQ!O2#=(A7JOWWK; 1- .1<6L*(EM:J*1/]3H#B+P2KB6+T&;#/PB\G3:',P@$V@SR1473/-IE7 M#KPT-=K@]M)QB%O*U<-@((_ZR> VY%08S"1LPI3AD7.WBX:Y/IVS?9D08L90 M!,]D0A1-++Z^ 63).R[8DKO9KY:E.8 P+DZ=1\O8X(PJ MHY&]W!XD2WQLTQJ3]RW[KZ;0XIMR.R5*5'3E;YSPP'PFDRJJ>9UV"]6WWZX? MGFX^?<60N4\G5>/VLK^9_P(#-4WW?7>P=-]\O#.ENZEK(>)"%X7RV!(* RF<'0_DD;XF#JC#,,TSJF0YCPS&N+T$;RJ&/ON)O6#8^\V29HV."@XCRX<6C=TCI\]C."]I\;(XQPT08=QA,,\ M3>$T0]F9<=IUVI'3KG.!C53S (X-FL!<>Y2..RV"K_*H&M[I,KQ<9-'SLM)>D7 M0_.0+14%-?D!)#>?F?(;$OT9(V80/M3ZW[+:8:;+($+D^P"*%'>X%2AEBJ7X M+B*&V>),OM"JX-RTQNARS))FQL5,GZ'3!:P11"Z:(CS 7.<+D#3<+SV#B^'# M6.$J.M8$JTD[U%I"Y8&51$",T4:8F]DM4?T,M<8;$]0M#X6Y7V$!&WY%N2__ M)N=N!-91$AOZ$T46.C<6,OHT:.@Y0NPO]'90UX2Q@A<<,$P-ZO!H97EKQDK< M2?T9E%M;7[KKD@-W-/?B/H8TH(Z6B)RD2ES(_IB<<,5$ )5G,M('B6XM_<1$ M_&L.,IG8,B/>-)!M$0F!#!CRFV^]PA^@B8% 1NY#Y0P^UX]\CAG=&JB"\#29 M95U@^Z^_/-V.*FQX*K)%T.GPI;$_7+2.>7I>8:F>EFV(AFH_+^;MUPC#(SKL^C,[-]W8R8.OH1+.Y?P<-^ M CJ]24"@.M[DOV3J1O49A !%E=,**Z3X'HE(R[>0PD7>AXV5Q GN3X+[PE#" ME.V2Z/?DT3@I4#:[),9*BC60;^H%^A^2YTJ:ZZ&B7MA-F6(Q#QHP*+ 4H>Y8 MX"PX%YE7#UV F]UD8R41#A"_D?SB/X[>%);N'&O+O_$>*RCD3@;8DPT<]0,P*TSH M7,6DDR6R !2I36JBZ#EKFSJHYTY3.W9JFB"M=1K:591V^6L\U :;'2S9:-[A$V*K* MI%:/DK$I:QYWYYXY]TLLIYA];2,@'1L$K2,HF>*S.X+*3/$16DX>N< MNG3" MV\RIR-5,3IW07&#>\FBU7"AI:$MDY9LF3]!M*$>N,-^@5!KV)[(U]T7O,Q'OA:^,?35-/>#3DIE#* M$6I5C-N)IGX9AFPY/A!E/)+;G>W]6D2H6-% L"0(IJ01YH=@4R>EZ;QPFLX+ MXZ;SPMZ501*N(1ISS<+-G>N_/-I\Q2VPTX)?BA\40) 1^,O!DF^;K3V ."A8WIEEP^_83M!^P73[(&5B:?OQ MORQIBB7;Z[S4@)^4@*/#A_W!8 8$,_ZQ^0,M"(#L#%-E#R/P"?9U0U_HK*P M'8NHF$1!G\YB\?D:\3U:BF!],K!7TH2F[.JNP<+I;5J[A+#Z&GPPOQ"'GQ9 M7GCX*FZ(H0/?:2I+R= PD\GP6.RS#60P449?>$O<>@_C9&<6S2=:A<_$+",M M2+N-3)FUP@@3SEK2%T9.S)YE*;\,&5/+,_SLW?4ETEC<%XM6APB+.[ -A4>H M+O^VJF$F"#& PK.93WS^O:7URE*6MDVP8DRX4?C@D1$UKQX9:B^E^V"'J?3E M!\89B*$(Z^?9&#D[,+XW3BBOP9?I=^]5^\Y^Q$AQ[3?L3;HM*Y)6%>./^H-- MZ#+^Q!U+B65E3K9;[62+9^!EF_50E?T0;F=3OEYOE# ?XY-E@U\&^WV<9:>F MQ78R\]FYD&])E^[&G $4.(1E>V1O2.)B.&U#6)KL"3=CT)6'_>P$X4@F/AR^ MCJM2Z<^.HCP<@V=!-/N0GXY^^B?63N"9;G:+XX&[;Z/TG<"XQJD:9C-3E3RROHT@IJ%2/H/A7,V[VBA)QI M;98':WF TK7*4G\S.3=!*U]OY;("7G[+1053SKB)Y$C$8 7#WK%$9O?5DN:> MJ=DQ#?T,M+@P/_D\^/_&# JD,7B&96*R5;)D;8I-)3MNR2M]*W?F)2OZRJ?U M1#.]_7^M@YFWW]EX,*^?EU2X4>M372YMZP<\R$73)U-A[?<2KA>&*KI'5$7= M*+H*6GMJAG2JV )N7] '!RS.3,5H>1A\E5"G$59U,J6W#F&IY%)'>5=X/J;( M'-+-PR']?N*J_U@<,K<).5QYW5K=)E;(86<>Z:5%=Q;!([NN/H5+.F5Q2<7X M8^M9R6A_M^0]U<_AL.0EUM;.S%AE-;^^2[065J:8Z.PF)JX72\-:$<+\'OSI M]X"T//4 X/>@G/I<)[.@(_O=;*9/ =>,;]@GZ B%#H?/\A)7JL%PZ,1WJE(V$-'Y:A1_A%9XO7X'?OZBZ M3>73)=!HP3;HFD^%%N7*N$(]RNYO+..54FTI4F G*L9P=RG2J--9]8O8,.<$ MAS=6A G%?O;6=^*UP(/MNYM%%BD*>E,BY88C61FEN/'"HN%^F6 L4+6E@'B_ MDXBA^LRMM0P8_JZ[\QN36M+P_&\J'*W>XBH<$4N-=XZ\??$JY9WV^MVX7Z;\ M=R(!X[+ZT?0" J^!+QZG8'ABN31+(P:B;0:08%"BGP(FLQ&'_')%\R^BLJ1! M4-\Z4@$C9,WWTHN%[@@#SF0Y6PXG(S,+%A!HPQ/MMV N6%WM&&3+7XNM/T@6 M8_M "[+@S -GCK32B:%MVLID.<83K?8GU#9V6H-DS!KL)+T)-D-<&OJ,;)2XZ?LXV;Z/ MDUW@>'HYO+%;Q#,5J;007T3$.:7_$K MD3,__6[NI =^ML+43D;(5\V&V]<+N+]%L]8;ZW>&&GX=]WUIF;[90K<="W$& M9G_1H%CS#W#O67@U$&+F<)_B<'\#)UC# 09./W%W(K:!4PYI!#1_^OT3F#^E M[>XZZL=R+Z5OQIZV43^A.(IH&QVTMS6TG))M8"MH.>U.U./;5RV([@0;8V'.[VW.] MX5'M.5[D6C7R0.;.)"6:=+W=&KS$3+I@&8?<68EGTIV&.@):=1VE'*ON9!N\ MCOV.W.UE- 7?X])+%,.NU.VMH6V7S%P7T[8KGJXGN#9+5,P7T;P[X4X7=:]6 MKK^B( OOE(@NZN(M?:-%,?*.>!8(8>?U!N.R[#P!U<+S-?5BXO&HY0AHML,DC.(MQ;3K#/L[A3?#]OESWL.0&Z9[NXYGR)UL\S?FQHXV M=A7=T7+C'<+RV&[#WKZVFQ" 3@E1["IR=Y 9HDCK$^QBK@T3FFAIYMHQ=[1< M^\R'8=0^"V1&(<;8\#CW/SF,L=*IEE]7[8Z+L;Z&Q[G%W&I]B;.U!9E;PV09 MHI.86^)L;+?53P7MKO;5,/VJ\GCVU>F$=Q$&54S!6S.H IUBX\79Z("+,U%4 MB6SU;)CT:S46U!8+:C0ZD@7EYX&=SH3J*7*[EW+WDFU!$7_.J2:4L]F&2A;! M.:4-5=#V_^'8[A_?=!/5Y>+X-FD(7&S8V'%]-Y;9(96W5T?%VZM'%1\I/4+: M\EA)[J:,)?/49]BN9SR\][1>1\?+L#OJ_A[??*7)[('0+L2&39;N$LZ&+8QV MQS=B1^4&+QYNQ!Y_;PNR8D?E7LX>;L4>?V>+,F.35;]$,6/+E^*"V+$'7 P* MHV(TABP.C+AQ+1?4)'913%D$[XX#-J+E'Q$;%&D2B''XP*9B=9NQT\EYY.0O M*;[G'/D_Z76N ^MC -Z$ M$!/59=V<&AZ2$-4S^/M78A(;R(_+OM068%LZKLT(CQ+9=/#,8W6]L73C@M>F MMEBD-L@*QAI-LX/C-SM0VDVS@SS-#GB7 37@Y&BG@90>!-WAL#^;%-.#(/QO MBQ .C22.:F^Q4+%JJ<,ELW\T1VI]@CU%Z_9G"N/WQSNVTI6U;C=9VV,Z)YIG MQ+T1S@,L_XMEHU)&L71H:XEMPB&R'(/,W-*$1:D=CX[=0FZN;6I$](\V_=]> MK>1\J1;VL"^C!T@@._V:= G.B9>C.]E^BTG@"A-6$8&P^<_I!DEYD*0< TEP MHDU8>Y*@;.4&)*7VDFS$1E6(_3ME23".+F&&H"M+_FV41*^C&M+7E_0-GY\1 ML2O*YV+VD[^+-I^8$'C=1-L4N[/10L1B-6L5I@%W<5#2X0% G6YJ#H4 %!)GY"(;!1>(L/Y:G!J7GUQ\QF)VTM#W M236P\>)QP+9R/_5 MMIP=>R<5*O>5SC U'EX VI[CR*7C>:UHWJ:S@@N9DVO+[=:HP:<@(Y'E,/3ZU->&I:B>ES]NG7.)>+8J0+ M =9RCB.7KWAV<@O"@*N*53W_)K:EJ3X+W[#.FN\,90\66V+KK1J2> M@U9RCNA.:, -"LX0!=DRKE>(C!-&BQ8!W6*Z+6.ALEB@1= @V374=P'UFN5- M#"(L8R:F6,PE0C\KA.S:U 0(J1UTAG(_1Q#!.D=VF_,F"]=%AIH=!:.#P3Y! M:-R%=0M*%5V?[5H_#=5^Q)I9O2?[ '3D/36M"T8= :$7.' KXG M5SSR12 ?&/02?\KPIS+./#_\A?40%BF6Z*Q&WI3HBY0_/(QIF.SB1P1JOG2&@3U7W_/V);]Y9NNH_DA9AW)CDX3*\IPR;0R$5#>3V>:-QK%]8\ M-(GDM?"^X&I@K3>TLEN\=6[12Q?0XVYQC9SO_#:X M041)(Z!% U0Q*N(18%EX]&8$EIN"J8\!ULT]A#O"(;;@8B/Y0%:FT3%JGYG- M?BHGP9J$*" M8BBL"1Y,.X6WKJE&.W^B_YRN#=*Z>3L(U!?W%04J GU?I1> M2K-BZGT&JN/J_;C5'C7J?=40FR):"^_24HQZWXC6^NKWXV[AWKHR]?M=H;A9 MO\_1+E9 _;X2WON1$*Q6XP'+LO>'73'U>_K/P:=0MR,K_>80JAY0D^[[]*"( MBNGW6:B.*_B=5KO3*/A5@VR*+S4]/NWD"GXC6^NKX'?'A?<4*5/!WQF*FS7\ M[85G1=3PJ^#!'P^$X+4:#UA:?(YX'OQ;W22/^H]C=12J,6@JBM*D>I_NEJJ. M>I\-Z81NKS2Z?=7PFA*;(UZ0?B-5ZZW8%^ZI*TFQWP.'&[7Z\4 4+-;,;\]Z MU O :#4>L"1IT.\6'J>WKU9_9Q+*]O#SZ;6(N-#FXKB:(%U7ZOO=BN;G;D5T M(AYG>W)N?<%34;0F1:I2N*-D7Y6^$:GGH-'WE3(#P K0Z/>'X<8.1)T<"> " MZO/B>^D[K7%7"#:K\8"EQ>$(I\^C&?\TM\GAL:"==N-0JB1,DV[Z=!6I,AK] M)DSO47&GOOBI*&!3_/3"!-DW:76: M^)N*GD##P@/R]M7LP8CW[?DB[HG[C5.IDA!-YLY6U$^_%<]K97'6]?D6PO=L MP%-1M*:H],+XZ1N!>@[J?)F17@6H\_N#<(,NSQ1.,9!8,R]]K]5K:EU6\^CI M*\+4NOQB>39E>_RED()L3=AG16&:B+M1*IHKFP?3<96^VVKW&R]]U0";(E?+ M=)DV5,HNK%J#6'P3$#9H]4S_% &/-O/1#>F6ZY.B>XV%82S0GFPNG)^2(:?)L,&B&.:Y(&EC7%=8IT5.G M-6D:(7UT-)=HLA2*S+&(Z= %9$5TMUT3O-+JZV;&P$]S C V#.L5= R)TEARO 7 N#C2"Z\ M;87*"7##8@&,Z="=>N4[):F.9,VDSV1*+76IVY$E9!,)OH2_*.^/MWL9<>S= M9-S+=$XTSR!W,TKVN65HQ':N__)T=W5KN<2'P9W]@.+!>8*!/QGPR?R*%W&F MZA*&=&V/H*G.-I?MP<2R83S*P["O[]M1<6B0&6-:RKZ)#>$-Q=OMGV J((&7 MJH:TH0?A+YQ;4_T(;^ICO?,C:*[E\YJQ+1OGZ'4_A7."V!^0R 8LQ/S7F\&; MXJ'KCQ*(GP3OQ 7/J36(AK!%$581@;#9KL9&1.R#).482'K[W50]#79/>[<1 M0V=V*U,W,OO6B,3-$G0!FFH75=J5Y31"TZY%U,>CA6YV\W1%_2<4+0^E1! M6OBON.]@T0C*2M4["BX$6,LYCER^^-P]0\S9(C\I\SDWYCTU>/.+T&W9,IO$ MZ=_$MC35F>>3I!?"B=$S';D13]4>N6SQU._N'F]5LGA2(N(IMT%==?$DIJ_5 M)U:CYS6"M.(CEZ_G[5XA<)L@]=FO4?6J@[/J(_QMME[@;Y8]HSH MK@>HNC2U!-B+4PYV<59*#NS%O]Y[& M9LF[>-KW@*V8+LGK'TO=)AK#FV *ZY;8%0&XKX#HFAP'2.&54]?/$( ?<+F M4V0OM6BWJ(*VK'3'^Q4AJ/B!TF"='4&[%ZC??@0EX'T>#XU3.*!#32GHGMQ,%[)5I9.2*B6Z@WHC\6,3#B=KWG#I]I>&#VHK\?K?P M;HB53H,1 >JY2BKAW[B!NNFI;"5'*9VSN3X-KKB,>C1!7N]R,K?#^>0H4Y'! M2Q,##+V(2;]6"PEV(BTK]\L%7H_M5AQC";B_F-A$_?-"G<%CWDNJ\:JNG#%RZ\4FA@^JPTN1\O!'GL-7?48DW93^0U2[*5A5/X@WLJNFA%TO M0'9DN5$-I>?@KDR'>8_C3QG^]*$$8/A^Y'9KT!/+*7]6(V_*?T#*'WX%7&#+ MPEO+9%<"K&#ZC0GY,PNX#V,NT+GMQY89V3-PY!\C5!^R)MK2] M]' ',7LT'<0&\9Y.X]9HO*VGTUDAK3X83PKTG@@]:!OI+**P:E_3)1 M6DSD65'8W9A_B=JU8/@M.&.LH?;G=SG&^U1=7%05RTO"H4G/8@R >-SPZ[59[M-7RJ"^<*HK?%*.B M\,J^!Q@5C=0]RH!%F@X%& QE(K 8@Z$H7&XT&$;"0+/@M,K3VPF8#+<[WQ4\ M#8$$0/6/K>[N%96/:S_,;5*B@ZS74^1A>WL[Z1HCJZ)03EH0Z6T^*F%![ KR MN TQ:HT;$Z)R $XQ(8J3Q068$(W@/4LCHDP,%F1$%(;,C69$CL(/(IH1XE\W M=%H=I3$CZG5T=8NK4%:*&?'%\NSR#K-!OEOV^L*JHCA.VA#I=^Y5L"%V17C< MA&BWNNW&A*@:?E-,B,(K11Y@0C1"]PSMAS(!6(S]4!@L-U?LS=']4D#S0?Q; MB$Y+V2M:J3$?Q#VV"BPC5H[YH+^4Z OK])NSK)I(3AH0Z7?PE3 @=L3X6AQ3 MJ[T]@:*^<*HH?E,,B,(+.AYB0#1B]QQ-B#(A6) )410P-YH0BC#8K-T-Q MF!#U.KCVZ+U\5!/BD;P0L\3#3.YU>_(P3[.Z^F*KHF!.6A'IE_!5L")VAGG< MC%!:PWYC1E0-P"EF1.&M0 XP(QK1>ZZ61)DH+,:2* Z;&TV)@3"1=C6[C5!: MG;U,B>JS>O4/J0(;/91B,ESC DH\MX:*W!D,11$,9S%@609#^JU[%0R&G4'> M& S5!W"*P5!XTYT##(9&\)ZGN5 F!HLQ%XI#YL:V4)UJF@OBWSST6NVFU%)5 MCZCB6H&6DRI=II-+&*D<0&W M"HWH/4][H4P0%G2M4!PT-Y@,3*\5 YV'WBMDMBT\.M@S9U+JJ&?6NU(#;3GDX5.1VCK*[ZW*F>XZ'32VQO^Z#'F?TWA;9![V;I[G7&FR- M2FGP7E>\I\AZ$3S6C6 7 ^A%^K%+!:VX$3'EQ,6ML*? MN(D?$V=,T<$K__4<5Y^MXF5M"AGDZ?K_GBYN;C]?WS[!*ZV^;F8,_#0G-I%> M\1_3 DJ^$ =P([URZDM6>/1+*OPYDSZ3*86$U.W($D*GQ781]@J!I9N>RHA[ ME-U*UX&4<8*[@*<6NDO5]DM3NZ(S?2;F5"?.9]V9&I;CV>0)1OMD /KSJB]O M).),U26, S8!*:'N4;CH7\#LL,SGC[=W3]=21VE)5W??OMT\?0,2/TJ7MY_A M[]LGX)[KVZN;Z\=??N8?+PY31P'NQJ7_0A8?OY)GU9!B]/OE9WB]J@O.S:F_ M$VFAKJ0)F5H+(JG24K7=E>1:DJ&[^K/*3A=37;B.;I) M'*)[<"C7RSC!<6 Y\#G M5%=ZM3Q#D^;J"\X&/@8<")]7-3AS8%0RFY&I*WE+',6SI9ENJD M.BT0)SA= M68*3PC-<*E:L)1Q5]!R3+%N:JLYTAW%E>-/&807W1@Z M$7AQIAL$SW-]X4CJ,U@GCDOW"H#"YJV;,QNQ(_&9Z<#HAD&H[2(M;9R(NVI5 M#$9;^>;>MC0/"/)55R(%1A#J<.]]>QP/N\MGFU &=PX]WR1^PH-F":H@_O%'1VEW M1N,CGGS=%CWI'BZO^+EW^>O#]34]!JN*YJW,^UFW03X!$*.6P7DP,$C_?ZN@ M4]HKRKA4W.OFU"9H!=&S3#5-E-PSPLX$>OZ9%V2Q-*P5O+:@G,_.&)#VGRRP MF/"#_\PRS<#R3IAFJJ':<( ,_T.AZ63@WW@=]^> O-KZKGZ"PD9\7?=G5\; MNN.H_P:#R20[6EGKC0%'J4%L,BYS0N#TTS54#>BA"@M5I;]@/^&\-D"=4!W= M@4V%^="M(S^FA)J3N%]T=STX>F&YJ#V[L)W3N:K;<$0Z>!J_SBTG1H!7U8E2 M9^,N)]R4W*;]8MG? IWD"R&[;?:5/].K<**'[6Z_)P]2=Q<^8.7=XI9T&P5E MP-#3"$.S!\+V&9Y&E95@:P$H'FA/Q LN \;N0-?SA<+8WY,F[) M*WTKG>N5"!"5J!>%"IJ[&X1[!?B31M%/@G#FG MNQ_G)(NL[L\YF;=!!7/.H)V.BC(X)YDG?C#GE+!-*9S3J37G;%6P0>'P9GA] MB222 CWM?%1LSR0H%MHH%6#A '_49X#\Z-J)[HWJ[PW3&>\-T%Y=Z<8TK1>F MQ'!' RB5]^Y*^NIJTMO_^<=(4=H?[F_H+YT/[UILK=(3JCC! S4+5V.Y:&Z_ MZ!JAIK=JKJ2%;NH+;R$M/1O43] XIZ$SEUKR.C/355B?O6":*SR4RC_0O.*C M4"6+C^!_C;N[5Z'#B!O\&D$OEG-"1?@#32Q;(S:]#0%:O&_3ZPYZ\9$8 MY577W#F\U?X)I HQC"7ZT,QGRNV_\'N.U."O-]$+L?ER,K?#^6P.&]L4[#\Q M5)"M85#=&CIA)R(;,:4(Q(/L0E%RC1HAQA(LAXL)6"!_7J@S>,Q[H/BKNG+> M?,P3^L:?AFRO2@ BD);_T.$$A3>>*"7H<0'3 ^C]\K/ZD4N(S"ND8[F$HEYFCV0*AP%ZU*]4PR#:IY5_6\P_Z*1>,KVV JU&CPRX!R)G!<97M7AL!WSJF)HT]TLF'&JOD97R?6U E8< M#WU*9-CZ9]QEJ*$&Q^7,@S.;A(#P0(XQPR $%[UJ @? ^]:WA^/)=/WNQMV M)*'['5G5-[8H7Y1P7Y%#A?+AU[:;3]G(8@PR<\L[=;>%HJ>'G1Q%OO\';]/)PBA._[(Z4%O^=EB6XS;<)!P M)$;"A.\F!@];^.R1&Q-T"LO44,JDZ@Z*+[CW\V]TTWU IR9"P95:C\Y#Z267 M&AXJDH<2+L5L'GJ:Z_:.+/0WL2U-=>8;N>>BVHQSLL.'*HM)KAD(@MU\GAIA MF"K7/(OAN405IVR>^V)YMCL_"=.E*G\B,^+N)]B>LWRR7-6H )=%$W3\F968 MP) Q:#$\DV@$D,HS)U3N4K,+3L$NV](,! NE3T1#74ZG:)@Z]^H*%P!_VA[1 M_,!2%B9UAV&5D9?"&/LKS[;!TJU.J'VO)5U>73U\O_XL7?_?_?7MXS6+.[Q[ M^M_K!^GJ^\/#]>V3]/7F\M/-UYNGNL7><^I*Y ?&*1%VWV8A=:4IHV00%8L1 MUD!+1Z0N]DZK$TMB>Q:N1OKD1%8-Z]? M(E)'5 =@0^SBB:V(2NR2#>X]9TF#?1T'LX;$TO9+T>8+U-:'"0OWFH$7E4 G@XT"WL] M11ZUFU0U:EZ;S.: 4T)Q:OY!/E"CB>ONT-YD*?CV3G1O ] M.$0E[E=N)/1Q^:47XQ=*#J &)T89 KDO#]N-%T.0D8O"U]ML@/5W!MAA\E=R M8&+_>G,!VK+<[7?R(VT7W]$[D?5>_TXR2-M[>VNY1.KTWPF"NNKC/1ONB9C> MZQ\NS3'GB9\\%6A%B:0:5R5JOF(&]9[IR.4C+Q$)NS_R#M2 !^D%=TY-!3$U MX$L, *'5:S!+D>G##\3U;+/Q+9?/-2GA6SX]OE@VGIL8KO754DWG@4R)_H): M2XE"NZ.,Y.Y8/-XYTY'+QU^BS->!^&O2&,H6V#1V4U+7 _\$06R^F!\!F*B MJ*3M.E$BCH,2+QFX>"QO]+ CC\:C2J0N-"@6!L6)Z)%#47QHZ,A([H^W7X&+ M@&(Q=7Z:@"/VB7'DW)MRLFZ2?0YR96.4(?D'P[[<&V]W1XJ0AM/ L20X9L62 M[ '' T7X$.S,8;M;"3CFS@H3IMA\PJC[U5/1]T;(P37FCY?8U0\3NWZ_?'BX MO'WZ3U53M_(6)[OS[$@]1RSK";+"PVX:<[*U"B)KOJ'Q(K&.:F#SC;D^G=,Z M9]07BP5#L4KH%$:T%OA\V@ $/^LGA/&'MJ3?B3^X39PEYHVQW@JQC@LV"7HN M\-!4VC&$U4$+)JP[TC,QB:T:QDHR](7NLNKC*GQ^YIE!,IH%$DPWL4B:7TER MB2VQUJ8FT5)L-ED:P/>T5!OV#Z$3)K"1M,96,#2+D:6=$['P]UR'A=LH12,? MP9X2U(ZV=6).2=6JI^8%UU,LW8_EN"V!8+3X6+ ;^(*-/6- 'K^PI$$1,@-[ MR7YL06;@VOU"T$*ER09L$L2*16R3#=@0N\D&W'.6GPC\:M)4\_4 $7I*BV7_ MB9[2-4[4^M]\W7Y&]^Q"C2PJ?!)-5O: 3Z>6\!'397N/M:0QE9K:7X'DY-=_ M@H+_U+=W:(-3T'2-09C(E[ MY8/!F-(!:F\P]N1.?_LEL]!R_6A:\2-Q78.YL:S9FE-*,)7XK&[#LS,*QN-X M1D% P* ?P^J*4J]DH1\F&@QZN:3_QOOP/;(/&DR*@LE1NWT()HN3_2$FHX;WWJ%V$L7N<;!@1[KL;&)8$PT2LO[ N.Q%@*&[8Q;DW M_>OF&O7LF_ZEAN8DCB*PSJT%>5)_A#68#[VSEGAY:J)=NKS5(%&[VFAXQ.B= M04NZN;VZ^W8M/5W^WTF*+F=%$B2"X,)( NR-:)F(H[M90)=KYF+]1$PRT]U: M!15D:+TICY+;Z7=N437_:-/_%11P,3A&P,47B_7#3&MN>+H- M/T=(;>+KW.@YWG MLVK?"^*@77.@;M3XZ^F;;C;]K&,V)/\_QO]?B(:932+L5F7"3T?M9.MI)N7X M;B;<;OO%4E2T[HQ0(XN*H&3CY3T0M#7RH:(($C$,8DUN/KJJV\0ME\\GR6;) MC$_H_M/:7M-&WI[ER.5C+]ET>&_L-9+Z=!JN9<.L3$%0F\]')0 C':$TUZB3 M2(OWM2!&,['DN@@%N1KL"H/=1"#&/M@]UKD@ G;WU>K/@HO20D0%8Z-RPDH[ MB;!2SD<9$4Q"'0%-?'.5P5OJ%HD %1&U\SS $&[E].BV[N7(3]MHB<:D=J$:,:")* M>1%N+QH(BP)A)7%K? "$FPNX[1I_PTPU9J;$-;;/3,U!T&!7<.PFKH[WP6YS M IRZOASMYRC=7;JRKVV(O?'2OX@ MJHHVKR MK0FN.&M8)Y(""H9U$W=QZD3L)NZBR(OO;-VKFPA8W8.5ONFF9>ONZ@9].Z"% M79I:_"G7?WGP]C?BSK%G\@M\!#MH'J^-:WYE?^,U>T4-@%H"5TDD"YP:N*>G=8H2]-G,\"")LW@^?1*6EW M">@Z0/+%TD,OT60EJQ:LJ1*&2$WH]$H%D;&$[JO$ 8/0':8/_[X3)RIK2^1BW,? M@!]G[%D13 5@ LF!Z"$,L=W^3[A0I?,30QE\:D54VY$F!-C.I,V2L5&D%+V$ MI;N_SMV,+JZMFHY.9:\UD[ZW'ENXU[B!^!K,"$:@O[+A5>G5L@T-) ^;H;-R M7++ &:D "QN$+0A<^!9_'>FL2I9)+A!GT<'PR_@#I@"PTU3*41HA"Z""39:J M"X_Q9S5CJKP$Z\0%.BWI=T))9Q.0WS:E&_P^M0 3?Q/Z3-!B"4 +ODP7"8,A M>*8!!NC+<'#H%L9S,9BAZ)32X6L.V>C5MJ@3"A>Z/Q*&_Z2#@= M"0>SH:L3W8"EP=/ARZ]P8+*'X&<PFT ')(&^ ,GO^IN,X6MHIZE4PJF&:DZ)Y,R) M/U#L?91QM FZ0^<7'+"2YM%Q<,9SW4%:PZDC8%X3?D;L!]H>RAZ'V+[VH0W5B:(82!V$$,R>E$Z]YB&DT-&\+@7T6+@&M)5 MEG3GR.9-^&(C"T20!4WX8A-)=R97T.>ZZ6)>D-[P=,2OZ>F((FQ JU=&0EX8UGUVTGQL=$Y !M-Y&&Q8N_[8YX+-D&EWZECLU+/YX(TXVU! M6^->(F@KCX_VTN\Z^NA3/?;A_/(X8*Q[SR91SKJY_0(;!$"%F5V Z:>,4MCJ M^$3]21 D-1B.8C@13UL6AE//C0IC6&@E.AK_$41YJ*[4'#9%,&H1*E@O/=@+ M.2C&:AG%U0H[10[4W,9]11XJ@_/1Z6L%PL1U<_D@+,-\&+4'073M/FZYQZ0)WIR.=$8C'53!9:BE&%&>%N*1%N(NRFR+ ]/(NLFY%% MECC/&?EN3+^"+WS@DM+H-Y^:ESXQ2]8D/RIR1^G(G6&:?7=RBIWCR.6C-*.Z M0N$H+4[5_-CO=^5VNR\<1L742H-JLQBVN[1URZ91NC7N-!$!=DV1C+J,:P/\8*E-G=@=SN M[G#;+*+(/J;?F)CH]8?G6-,_)6O)TE\P5>)5M6W5;!3X\OFIE^@/D\%/MQ:& MY'OP]8E!N%/N<:[:Y)/J$ V+?<,K3(FRG#V[R.3GM%Y?'BH[W-V? U;JC-*, M"@MEH+3 \Z S AU^N,-5A8@'PM%T^%]5W92^+RW,<9ZXTO4/5S>?/=V98Y*D M($@7EL?JMMQS'/F<2"RF3OJ-@.BF&N@UYBBX()$:X7.4 S[A1WZRU1=B7)I: MC!+\2"];O>S*W=X.E[OG ($Z@R_A4]@=?$TW\F.JBG?NG-B"P),_\*RJ2F;[ M@'MYH\PH"2/!)#<82W(T)[ REI7N]LN5C;4E*^H5/BN@9N,T;R!:?IP6Z4CN MR=WV]@N*IO3I#D');RGT-M<$P_6640,L***QG,SM<#XYZD-D 'QBP#$846+B=>QP)])J M8WRY4'J[5J58JL_D8F(3]<\+6I[RO:0:K^K*>?,QSW'-GT86'W]1I;F-F/Z' M;FH$"XE32E@S"0L"$WHOJ\*C\*/9&#I653OD7]WD$:$H /"%/XC:U4;#HO+; MXB1K]74S8VIXPV2905'':-')2,83KSWY-E)X\AVMM2E49<"$)1=6!DS$QUV: MVM=P,4U1P*8T4#W+A#6DJRSIF@IO386WNM&W*K*@(A7>RO5)?4XF*(F2.WFN M9XNYMO.SIJ+J=3VU,-)TAE_&+9GRUOXLX\ ]ZCC9KB/IM+ MYVY60,Q^9R2WVTW0?B4QE[@N/Q+F#KQ([PW;0F).Q+"J-4&-K?I,6K6+TU%0 MCCEUM$J17+9>09=3@!.@#*&L#(7DCS,=N7R$K=?AS8&P T6PH BK@*I,#TVB M2;^I4WJ[*0A(Z\P>@QA[)*\Y&45\@I0AD&G9#_'8Y4Q'+A]Q_<,1=VBPJ9AF M6054Y-]9F8)&0SX>NPPWLTO2"/5I5*(.+2;_G.G(Y4-P5 8$#ZTT,!82@Q50 MLF],5S6?L5R$=-D4C3P*!PT2U3P23/2K96FONH$IF"&!V%ME2/#.J",D_YSI MR.7+\$2ENH,1>*B7I%\#-\EIM/ K=:F[\/B_B28]_(^Z6'[X+ B.:\Q! V4# M!T5"P==4H0BM4!M2[>D<&.PS>2&&M<0<>RS+5(Z([S5JND CEP_01&&[L@%Z MX DPJ,$!Y]T7AH?SRYV\UG2!:-Q@JHZ$&I 2"*D&$M9\5-F@5#=XC0K_[6$S67@]5--7\MWVB(#7?77_>G*., Q2 MSXH/9SKR.9%81'USK9I5Y%I/E))6#39KO]$-B843/P*&'*@"FK_B0;8 U] P M\Z+7O\M=95WVEI;9$6G[/MKQIJ"B?LIZ0DLI UJ'V:219E*='4-WZ^ETO+F6?EQ]G 3YMNOT^" 2'8VQ7,B$A- >YMJ MQ"7V0C?A"Q-:J@&0INDS> 8QI_"9"7%?"3$E=TZDF6ZJYE17#5B0ZA+T[$@V M65HVO>3#I^-@^!C:9S5K5/@;1UX0U?%PHIZ#7\YL%(=+XPKPV]7W4'OJEY4Z+) MDCX#8L"S'=5>R=)D):G22Y"IT:MD:'>Q5=^?2Y>/5 MQ;#7EIX]70NF$*Z%."U0#'"AT5Z/$AXX,"]\-CX.ADI?#WSOG]GI_O%"GR!; M3I/U$-[R9*<_T&U!G%" PBI@910VR89O2!(7]T:S(M18HP7#4NJ6F;2GL GJ M6?3A!%$[M0EE*\#/AFT=;-W6&_])V_9W4R??_2S\\3AC@S7/]CEW150;V!=A ME8*ZI0U/LT&"PU<(;NOWUF,KE1"P81[G3?I<^A>P+7T^I=)4-2GOK!.&2P<4 M7_DE($HI:0K\^$SHB('2_3..6ZBKM*6A^-TUQE=SX:9)XJ\'3>_LS.4>\,,D6 3!T6G M_D(/.HN?IM+,<^$ #H@/P*%@8#AJ20=BBFHC$@!E#4*%PJ6_5N@&OG ;K9-P M#,S SGMC%'4&6C1.,2005#BVPA3A=-(1_P:*WI.H>*KKO#XFH(AJ +" M#7VAN_1$IXB%J5)=FRT<#CL/& 8CYL)E.OXQZC_"/WYTIHA8KS O9ZXO*WT& M;3)R?O?56(";OPE4]MY1]5"WTC"-^"[(*U<5!%2M7JJ'N \0E1C '9'5B$2NVM]7G0[Y#I MW$3W@(06JAN\[C^'LOE;Y1U7;D%*K@U#1U\0PJ: $[Q@$[S "5[@!+EB0Q\' MX";.W#*TP#2@*@_]L@'6-7%<25U@(S@ZD]#&80/Y>T 7WV^CAH1=IH,]B2G0 MDK>$$3W#I=)6 H7,-9A11LF#0]K$4'T#4/5@?; 'JPWFC"_)9;9:U52? S,/ M7\$J9"@B(E:N2WGPE5!)P,U7*E4RD,1X".45"D3=9,KWD;@JYJX(I+DR3@0* M75DF;KQ-)_>@.W]^UITI:%4@0YY@C$^&-?TSOYU G*FZQ+/"]LB;,I?J=R*_ MO7NZECH@7J^^/S[=?;M^D*[N;J] ##Q-_J)K<%P YP&N@;&QX;LF92H% MXT0QU@2,[AE# UMU\L,G4 'N 7Y1'>#F]@N8[B#=8,@+!12"I"+PDP2"CW!@1<#!MP1(C:="M@Z8N+4H@MQ_H$+YQ].K=<7G\XU. M=@<4*,,T%,RH*O-LHV78T%Q!/R():)Z7Y.-$*OO.)%B)+\SR=XD[_3. MC>1;/"K;?6CKNV':'^M@5:[-&OOUSNHZ$#3?#JP::W?[KY M_+Y-K_?H15]B%'YAV&[_!#M,#&.I:AI\AWH2?N'W>JGQ&F^B%[3SY61NA_/9 M'.GQ9L/5\<10IW]&XO?6)#KL1&0C$!O$1MZ^4/H;[B./0H"?^9AS=V%\_/\! M4$L#!!0 ( "F @5B)1U69,P$ &<" . =&]M>E]E>#(Q,2YH=&V= M4EU/PC 4_2M73'QB7R2^;+4)RL0FL"5C#[R9LI719&N7MD/PU]L-2- ',?;Q MGIZ/>UJT,TV-T8[1$B/#3 U3?(0 K\UD/.&:4C8!V2RH6*$47O164ZS.;$E]E>#,Q,2YH=&V]66MSVL@2_2MS M?2M;=A78QH^;++!4$9O$U$WL+4RJ\LTU2",T-]*,=F8$9G_]/3TC'K;!AMC9 M#R$@3;].=Y]NR>W4Y5FGG0H>=]I.NDQTG,[_OA/WIXW&(6ZVC\+5]K_J]4L= ME;E0CD5&<"=B5EJIQJQW^;D[^,JM$Z9>[[2/@K*1CF?,NEDF_M@;]KX/Z]TO M_<_73?:_TCJ9S%KLT\WUL,D:QX5C3N;",B6FS.BU=?!OTA_W>+>M]O[CJ7G_N ML>[%D-0W?C\]^VG]:W'-N1E+U20A+R-5C//-QH?#]X5;5$._QJYXACOL]I#= MIER)&HN$H;IC+N6NN5'KBV;9XI]4#UPX.3L\)Q<:AT%#GZ5\(I@1$RFFZ!67 M2LNZ2I4\8P-1:..85NR3-CEZH/Y?IA,D_6N?]=1$ B_J,YR\U5GII%:VQOHJ M.MSLU^L=/ZD<_\@MW(5O^8S]4'J:B7@,_+S_)C@>:VI7#2+0\%(JQM6,E%[E)4Q= +"E5AJ@%^:;,8*($#)HZ1FV3([%3#VD6D40"Q)<8U. ME!D.("4:N'ESUOL3<9NR)--3.\^7$6,)6N PQ.EB\!M>UE9@MW-GGGC[*Y$_ MJY ?/G#SMW]_.&F\;]D*VXI,J&QTDDC\W+<'/H8^XT9XM!"]'&6"HF("*1IE MTJ8D0<=R= UU#OV.I8TR;4O(43\9G078"J,C$>.R9?M *1: /4#1NX] :F/! MNBC509GAA"?Z\WT1O/ D3[_"3TF4JD*Z2#^C>E[)8D"5?-G:4/+ 4 )#%.?C MW.($L>!;\"WR]8ILE,K7J?6DYGM'6P&'L,MYH8(CW5&9<6IYA.6= M6/(=) )[KI(^OHT$'4170E[$;]&%SV9U=, >)G3K.GZ2U^T[8.OTHB0F,J:L M<:L5IU;G%AFG&42IY":>PXI$2SZ2F70S8L!U9JG(? 8\N*$^'AQ=F6&>4>ZK M@(K2%$BN]8P=1=K$W@$_S<9"@8@SY!AW1$'%0T462R0%/_\DQ&57_V M)CPK?1%3K")),%+D!%[:Q6AH\LT7' MAI_K1XE/+031;38,K)$NW6;WMN$4OC@M:!HG+Z\2;#2?\[Y:18 )_K1(^:_. M3CQGSQ#;4XQHO:L&@;^S*4N_;\S2#OU'=*FCJ#0$TPHWK37YH;'19*ZM@UYZ MGH A&\'*7R5X#W;W-^L[W:@O0:6@IQZIJO# BB/\PDN[L-_Q0T0'(9Z4V\4( MH&[TE25B3U,>YHI"9EAK?XBLVGX?G:\] \/YZY%_JU+;M%B=OW:Q\L]3\;Q& M:\N>H19>S?:R?2@E.PR-)W-XX1W'+';:V 5/^PM0F>-QQ@GQ=+%=B(XT)@'= MCR7\\TKVD7;P@26^P?^T$%O,I#'U(!H9E+3"W!6W;,@=N\F_A(ZVH;^U3U#_"RJ-Y3D"^B4&]U8"0 M\%T"C/W#:Y6,6B 9J28ZFPAB&L7'U3.XJ1I+Y$6F9P)WIZD.K<0?I!JI>9[= M/[P!NQ^^#;_L=2YIB6BR+G:8C#5J[.3XY&Q+T1?L[&V^[/R25]T:H7B$J=N" M1PBL>=Q*$'O=HGR:]$ZS-96Q2_'U^-T>6"W+"A[3/OC'WK%79>9Z4D$O,IJ- M\\I&/+\1%)P?OVMM=&D92OO(Q6ND3W].^./-X+(WJ'^\&0YOOC99 ]#YQX\J MJ-/S=ZT)$34&8?76SNGBH:477^\=V:/@P57WRV7OVK^IN^I>]YZ)IG&R?3CX M,,_CO ,N/P'A(WQ&VCF=[PC1_ WKHW>9KWYC>Y%*D>#97D0EK;?L)DS:753M MU:;5,;-Q#^ M*RJ==&#&!FQ@VMJ.9QPPR;4!,L:92?NE(]_I?"IWIXNDLW%^?9^5SM@8DYB\ M32G]$,>65KNKW4?/KN[H)#9+NYU$\*C;L=*FHFM5]N$O<7W0:.YBLK/G1SL_ MU.LG*BPSD5L6:L&MB%AI9#YF_9.7O<$9-U;H>KW;V?/*1BJ:,6-GJ7B^->R_ M&]9[KX.7YRWV=VFLC&=M=GIQ/FRQQGYAF969,"P74Z95QO.M;J>8+R6I^F7P M9]^+^F7UT]Y9\/J/UNK"-COK#5X&L+)?7+>9%=>VSE,YSEMSJUO=G_*1*=JL MLU=TV57;WOG0S:\^-Z.#-Z^[K/& :\W#K?Y#KL8,#]R%,U'3MGP M5?][NW79/WX["(9!_Y+UWQV_ZIV_[+/>\9"\:?QZSLO@G,>%. M7G!^TJ>SUCS[7V]Z_.XC-*H@ON$'H$*=LQJYR-4U%-!8U'TOM@Q@ILJY0 M4A0B)G/&\QDK/T_G"]S M(^A$.I?B6@,4I$YGK$ V"$@$L#1= M(*5*DEDQ#3!&DA372*),(0!X*.30F3/.GY";A,6IFIHY=K082Q0-#D. :, M:^$RATS(42HHPDP +J-4FH16D%@&-B%&H=^1-&&J3(EUQ#-:I3Z%A5:AB#!L MV#8R%@E P*>E?QTF/!\+UL,1'I0I)%P'<[0MO!>N>Z%?_J>DYB+WT"']C,[Y M$J)\ALF7C0W%MPS%,$3[7,49)*A2/=KZ#*0<.JALCA^TC-Z;$V$P@S@Z:OYT MDFM4-4)>FLV7$'V/!!)66?(%094:"G">)](XEH"4R)T>:I86_++,45JDW"&@ MJ@B++-8J_J))":Z!+T:E,G)W+%..C(PDUY(V('W=%*K"BK?Z$YZ6[G!3W$4B4WT@+:M#B3W>Z;#1O_=SA$#X2\*=-RI\2 M&*)Y$?-QOILON@E5O8&;60N*![ +%285AJ6FK"Q5@35:,V4LQNF1"729$(K> MER@B4+U]SY(8\,*Y7Y&N'$>K+-PECNYW[@[M_=KQ7B7[4O/% MS*"2F3++T&)_$&XS%0.O?=;PJ%GB\WKA"@*H1['&4:LA(<(1!%+J'GU5N:]Y M.I?Y1*4309R>\W'U!$]7G"*R(E4S@=EIHCR+\%O( A*^2L';?:PY:C1WF_=F MXX3:QE;U#JN'/CIEC1IK[CG+8:1Y6-:#[A M%1SM/VMOW>?2(GB=/1NM67WP>8M?7 Q.^H/ZBXOA\.(,.4 \W56ZVM3!T;/V MA*H:FI0JME85MRU]\@72GMGS'MQZ7_*1O32:FV\&'_KC47Y 5#XC@"O1&2EK M5?; ,W?L*W$9^E]VD,]_"]%Y3B1(F:G-XQUX5LK=M\+QXT5;[_QUVKHO*O= M%:W_,^#VOXA3;_%,H@K4SI='"1]$MZMY7%[F%M!?2'3_ 5!+ P04 " I M@(%8:Q$42 M(D&)I#&4!>,+<$:7]O2:%)(*3;/,]@9LEL5K*.0ZI6\;H7,7:O:5>^D9\%=9 M2#9?#V#L>Z$!'3V7(-F2%L#I XAL27C#,O/:]=J>7KKHIN>K 4BZDAI)V8(; M-4S#^H7/BGP 9CNWX)_]!%LD$KW,0HJ,+RSG;N)>N"'TNJV.V=X^?(2U)&+! MN(%0-=N19!$FBXH]MJ$S#=VQ.[1#U_<"\,^3?A,X(]NB^&[86^4;_564OG#@0V-,+VW,"S;^[Q@J2U?7N]]< MS]V"026&\1B%&-WS5C^7#>NF%$5),9+NUB-!Z%^[X/![ MADE3^QS-09:62BMZNSQJ-2&A@L[6@"ZX_1CN6L8A805$)"<1D^LJ9HYH%>RQ MJ#(ALJE2HZ ^\.PAI?%B&Z'->8D^4YIG0AX'")C<<2:6.%VT]S#/1 4T9T6$ M:]>4"*!8T1A&-*++&+(YA4,,XJPMHM:%WASIO>^:96IZQF5BZ, MH^HEJ=HDRC!&QE$OYKHHL1G$)A=SP@1JS 4ME)JFLI,T!?2C0A47#3G*VY9^ M_KGHB!BS"ELQXZHRW023Y514I,5QB?[VC=4X_%B264IKTRP3,9XKA>HNOC#T MP1RSH17L$S74T3%X8+%,\%8_:6!3IFE.XA@7OFWH%92H<1*J!K_1Z6\YXMJP M >CK)X-[U=/8(=O9,\LD'H6#@T)'F&4#[%RP%#;M[#%Y-\W[Q-O7Z]MZ!-[_7%\C>$-E%HUYD["C*2B[5-^F/FREX4>\CSWU# M/&V"9VR/V=3'LO4W4$L! A0#% @ *8"!6.-4X7]0% T>L !$ M ( ! '1O;7HM,C R,S$R,S$N>'-D4$L! A0#% @ *8"! M6"@6RQUW$@ /N$ !4 ( !?Q0 '1O;7HM,C R,S$R,S%? M8V%L+GAM;%!+ 0(4 Q0 ( "F @5AS#P?*_R, -!! @ 5 M " 2DG !T;VUZ+3(P,C,Q,C,Q7V1E9BYX;6Q02P$"% ,4 " I@(%8 M%O)OCOAO TZ@4 %0 @ %;2P =&]M>BTR,#(S,3(S,5]L M86(N>&UL4$L! A0#% @ *8"!6/_)6S@.60 O]@$ !4 M ( !AKL '1O;7HM,C R,S$R,S%?<')E+GAM;%!+ 0(4 Q0 ( "F @5@F M&*2;;2\" &#Z%P , " <<4 0!T;VUZ7S$P:RYH=&U02P$" M% ,4 " I@(%8B4=5F3,! !G @ #@ @ %>1 , =&]M M>E]E>#(Q,2YH=&U02P$"% ,4 " I@(%8NSHF-S@' !#&0 #@ M @ &]10, =&]M>E]E>#,Q,2YH=&U02P$"% ,4 " I@(%8'QFG M43(' "!(0 #@ @ $A30, =&]M>E]E>#,Q,BYH=&U02P$" M% ,4 " I@(%8:Q$E]E>#,R,2YH=&U02P4& H "@!U @ SE@# end XML 96 tomz_10k_htm.xml IDEA: XBRL DOCUMENT 0000314227 2023-01-01 2023-12-31 0000314227 tomz:TwoCustomersMember tomz:RevenueMember 2022-01-01 2022-12-31 0000314227 tomz:TwoCustomersMember tomz:RevenueMember 2023-01-01 2023-12-31 0000314227 tomz:TwoCustomerMember 2023-01-01 2023-12-31 0000314227 tomz:OneCustomerMember 2022-01-01 2022-12-31 0000314227 tomz:BoardOfMembersMember 2023-01-01 2023-12-31 0000314227 tomz:BoardOfMembersMember 2022-01-01 2022-12-31 0000314227 tomz:CommitteeChairpersonMember 2023-01-01 2023-01-31 0000314227 tomz:ExecutiveAgreementsWithElissaJShaneMember 2023-01-01 2023-01-31 0000314227 tomz:ExecutiveAgreementsWithElissaJShaneMember 2020-05-31 0000314227 tomz:ExecutiveAgreementsWithElissaJShaneMember 2020-05-01 2020-05-31 0000314227 srt:MaximumMember tomz:EmployeesMember tomz:JanuaryTwentyThreeMember us-gaap:StockOptionMember 2023-01-31 0000314227 tomz:OfficersMember tomz:JanuaryTwentyThreeMember us-gaap:StockOptionMember 2023-01-31 0000314227 srt:MinimumMember tomz:EmployeesMember tomz:JanuaryTwentyThreeMember us-gaap:StockOptionMember 2023-01-31 0000314227 tomz:ChiefFinancialOfficersMember tomz:JanuaryTwentyTwoOneMember us-gaap:StockOptionMember 2022-01-31 0000314227 tomz:ChiefOperatingOfficersMember tomz:JanuaryTwentyTwoMember us-gaap:StockOptionMember 2022-01-31 0000314227 tomz:ChiefOperatingOfficersMember tomz:StockOptionsMember 2022-01-31 0000314227 tomz:JanuaryTwentyTwentyTwoMember 2023-12-31 0000314227 tomz:JanuaryTwentyTwentyThreeMember 2023-12-31 0000314227 tomz:JanuaryTwentyTwentyTwoMember 2023-01-01 2023-12-31 0000314227 tomz:JanuaryTwentyTwentyThreeMember 2023-01-01 2023-12-31 0000314227 tomz:OfficersMember tomz:JanuaryTwentyThreeMember us-gaap:StockOptionMember 2023-01-01 2023-01-31 0000314227 tomz:EmployeesMember tomz:JanuaryTwentyThreeMember us-gaap:StockOptionMember 2023-01-01 2023-01-31 0000314227 tomz:ChiefOperatingOfficersMember tomz:JanuaryTwentyTwoMember us-gaap:StockOptionMember 2022-01-01 2022-01-31 0000314227 tomz:ChiefFinancialOfficersMember tomz:JanuaryTwentyTwoOneMember us-gaap:StockOptionMember 2022-01-01 2022-01-31 0000314227 tomz:ChiefOperatingOfficersMember tomz:StockOptionsMember 2022-01-01 2022-01-31 0000314227 tomz:WarrantsElevenMember tomz:StockWarrantsMember 2023-12-31 0000314227 tomz:WarrantsTenMember tomz:StockWarrantsMember 2023-12-31 0000314227 tomz:WarrantsEightMember tomz:StockWarrantsMember 2023-12-31 0000314227 tomz:WarrantsSevenMember tomz:StockWarrantsMember 2023-12-31 0000314227 tomz:WarrantsFiveMember tomz:StockWarrantsMember 2023-12-31 0000314227 tomz:WarrantsFourMember tomz:StockWarrantsMember 2023-12-31 0000314227 tomz:WarrantsThreeMember tomz:StockWarrantsMember 2023-12-31 0000314227 tomz:WarrantsTwoMember tomz:StockWarrantsMember 2023-12-31 0000314227 tomz:StockWarrantsMember 2023-01-01 2023-12-31 0000314227 tomz:StockWarrantsMember 2023-12-31 0000314227 tomz:WarrantsOneMember tomz:StockWarrantsMember 2023-12-31 0000314227 tomz:WarrantsElevenMember tomz:StockWarrantsMember 2023-01-01 2023-12-31 0000314227 tomz:WarrantsTenMember tomz:StockWarrantsMember 2023-01-01 2023-12-31 0000314227 tomz:WarrantsEightMember tomz:StockWarrantsMember 2023-01-01 2023-12-31 0000314227 tomz:WarrantsSevenMember tomz:StockWarrantsMember 2023-01-01 2023-12-31 0000314227 tomz:WarrantsFiveMember tomz:StockWarrantsMember 2023-01-01 2023-12-31 0000314227 tomz:WarrantsFourMember tomz:StockWarrantsMember 2023-01-01 2023-12-31 0000314227 tomz:WarrantsThreeMember tomz:StockWarrantsMember 2023-01-01 2023-12-31 0000314227 tomz:WarrantsTwoMember tomz:StockWarrantsMember 2023-01-01 2023-12-31 0000314227 tomz:WarrantsOneMember tomz:StockWarrantsMember 2023-01-01 2023-12-31 0000314227 tomz:WarrantsMember 2023-12-31 0000314227 tomz:WarrantsMember 2021-12-31 0000314227 tomz:WarrantsMember 2022-12-31 0000314227 tomz:RangeZeroPointSevenOneMember 2023-01-01 2023-12-31 0000314227 tomz:RangeZeroPointEightFiveMember 2023-01-01 2023-12-31 0000314227 tomz:RangeTwoPointOneSixMember 2023-01-01 2023-12-31 0000314227 tomz:RangeOnePointNineThreeMember 2023-01-01 2023-12-31 0000314227 tomz:RangeZeroPointNineSixMember 2023-01-01 2023-12-31 0000314227 tomz:RangeZeroPointEightEightMember 2023-01-01 2023-12-31 0000314227 tomz:RangeSevenPointZeroSixMember 2023-01-01 2023-12-31 0000314227 tomz:RangeOnePointOneTwoMember 2023-01-01 2023-12-31 0000314227 tomz:RangeFourPointFourZeroMember 2023-01-01 2023-12-31 0000314227 tomz:RangeZeroPointEightZeroMember 2023-01-01 2023-12-31 0000314227 tomz:RangeZeroPointEightFiveMember 2023-12-31 0000314227 tomz:RangeZeroPointSevenOneMember 2023-12-31 0000314227 tomz:RangeZeroPointEightEightMember 2023-12-31 0000314227 tomz:RangeTwoPointOneSixMember 2023-12-31 0000314227 tomz:RangeOnePointNineThreeMember 2023-12-31 0000314227 tomz:RangeZeroPointNineSixMember 2023-12-31 0000314227 tomz:RangeSevenPointZeroSixMember 2023-12-31 0000314227 tomz:RangeOnePointOneTwoMember 2023-12-31 0000314227 tomz:RangeFourPointFourZeroMember 2023-12-31 0000314227 tomz:RangeZeroPointEightZeroMember 2023-12-31 0000314227 tomz:StockWarrantMember 2023-01-01 2023-12-31 0000314227 tomz:StockWarrantMember 2022-01-01 2022-12-31 0000314227 2023-11-30 0000314227 2023-10-01 2023-11-30 0000314227 2021-05-01 2021-05-31 0000314227 tomz:CapitalizedSoftwareDevelopmentCostsMember 2023-01-01 2023-12-31 0000314227 tomz:CapitalizedSoftwareDevelopmentCostsMember 2022-01-01 2022-12-31 0000314227 2018-04-01 2018-04-30 0000314227 2018-04-30 0000314227 tomz:EquityIncentivePlanOneMember srt:DirectorMember 2023-01-01 2023-12-31 0000314227 tomz:EquityIncentivePlanOneMember srt:DirectorMember 2022-01-01 2022-12-31 0000314227 tomz:EquityIncentivePlanOneMember 2017-07-07 0000314227 tomz:EquityIncentivePlanOneMember 2023-12-31 0000314227 tomz:EquityIncentivePlanOneMember 2022-12-31 0000314227 tomz:StockOptionsMember 2023-01-01 2023-12-31 0000314227 tomz:WarrantsMember 2023-01-01 2023-12-31 0000314227 tomz:StockOptionsMember 2022-01-01 2022-12-31 0000314227 tomz:WarrantsMember 2022-01-01 2022-12-31 0000314227 tomz:TwoVendorsMember us-gaap:CostOfSalesMember 2023-01-01 2023-12-31 0000314227 tomz:TwoVendorsMember us-gaap:CostOfSalesMember 2022-01-01 2022-12-31 0000314227 tomz:TwoVendorsMember us-gaap:AccountsPayableMember 2023-01-01 2023-12-31 0000314227 tomz:TwoVendorsMember us-gaap:AccountsPayableMember 2022-01-01 2022-12-31 0000314227 us-gaap:SoftwareDevelopmentMember 2023-01-01 2023-12-31 0000314227 us-gaap:SoftwareDevelopmentMember 2022-01-01 2022-12-31 0000314227 tomz:GeographicRegionMember 2023-01-01 2023-12-31 0000314227 tomz:GeographicRegionMember 2022-01-01 2022-12-31 0000314227 tomz:InternationalMember 2023-01-01 2023-12-31 0000314227 tomz:InternationalMember 2022-01-01 2022-12-31 0000314227 tomz:UnitedStatesMember 2023-01-01 2023-12-31 0000314227 tomz:UnitedStatesMember 2022-01-01 2022-12-31 0000314227 tomz:ServiceAndTrainingMember 2023-01-01 2023-12-31 0000314227 tomz:ServiceAndTrainingMember 2022-01-01 2022-12-31 0000314227 tomz:SteraMistPRoductMember 2023-01-01 2023-12-31 0000314227 tomz:SteraMistPRoductMember 2022-01-01 2022-12-31 0000314227 us-gaap:RetainedEarningsMember 2023-12-31 0000314227 us-gaap:AdditionalPaidInCapitalMember 2023-12-31 0000314227 us-gaap:CommonStockMember 2023-12-31 0000314227 tomz:SeriesAPreferredStocksMember 2023-12-31 0000314227 us-gaap:RetainedEarningsMember 2023-01-01 2023-12-31 0000314227 us-gaap:CommonStockMember 2023-01-01 2023-12-31 0000314227 us-gaap:AdditionalPaidInCapitalMember 2023-01-01 2023-12-31 0000314227 us-gaap:RetainedEarningsMember 2022-12-31 0000314227 us-gaap:AdditionalPaidInCapitalMember 2022-12-31 0000314227 us-gaap:CommonStockMember 2022-12-31 0000314227 tomz:SeriesAPreferredStocksMember 2022-12-31 0000314227 us-gaap:RetainedEarningsMember 2022-01-01 2022-12-31 0000314227 us-gaap:CommonStockMember 2022-01-01 2022-12-31 0000314227 us-gaap:AdditionalPaidInCapitalMember 2022-01-01 2022-12-31 0000314227 2021-12-31 0000314227 us-gaap:RetainedEarningsMember 2021-12-31 0000314227 us-gaap:AdditionalPaidInCapitalMember 2021-12-31 0000314227 us-gaap:CommonStockMember 2021-12-31 0000314227 tomz:SeriesAPreferredStocksMember 2021-12-31 0000314227 2022-01-01 2022-12-31 0000314227 us-gaap:SeriesBPreferredStockMember 2022-12-31 0000314227 us-gaap:SeriesBPreferredStockMember 2023-12-31 0000314227 us-gaap:SeriesAPreferredStockMember 2022-12-31 0000314227 us-gaap:SeriesAPreferredStockMember 2023-12-31 0000314227 2022-12-31 0000314227 2023-12-31 0000314227 2024-03-28 0000314227 2023-06-30 iso4217:USD shares iso4217:USD shares pure utr:sqft 0000314227 false --12-31 FY 2023 false 0.01 250000000 19923955 19763955 0.01 1000 1000000 4000 0 0 63750 63750 0 0 63750 39194 0 0 0 0 0 0 0 0 0 10-K true 2023-12-31 false 000-09908 TOMI ENVIRONMENTAL SOLUTIONS, INC. FL 59-1947988 8430 Spires Way Frederick MD 21701 800 525-1698 Common Stock, par value $0.001 per share TOMZ NASDAQ No No Yes Yes Non-accelerated Filer true false false false 9612000 19955205 89 Rosenberg Rich Baker Berman, P.A. Somerset, New Jersey 2339059 3866733 2429929 2772340 164150 164150 4627103 4495999 29335 447052 371298 388359 9960874 12134633 1048642 1335331 1123246 1025736 467935 528996 206240 0 550677 475103 2348098 2029835 13357614 15499799 1267029 1761750 675491 728703 0 699732 115658 100282 2058178 3290467 642527 761132 301985 0 2298015 0 2940542 761132 4998720 4051599 0.01 1000000 63750 638 638 1000 4000 0 0 0.01 250000000 19923955 19763955 199240 197640 57985245 57673559 -49826229 -46423637 8358894 11448200 13357614 15499799 7354564 8338099 3065028 3277644 4289536 5060455 575728 536311 366677 329164 1351465 1867013 491798 352238 282548 215180 4570597 4642548 7638813 7942454 -3349277 -2881999 11990 1939 63305 0 -53315 1939 -3402592 -2880060 0 0 -3402592 -2880060 -0.17 -0.15 -0.17 -0.15 19834476 19743544 19834476 19743544 63750 638 19680955 196809 56941209 -43543577 13595080 653843 653843 51750 518 53820 54338 31250 313 24687 25000 -2880060 -2880060 63750 638 19763955 197640 57673559 -46423637 11448200 163286 163286 160000 1600 148400 150000 -3402592 -3402592 63750 638 19923955 199240 57985245 -49826229 8358894 -3402592 -2880060 366677 329164 157315 157315 0 10475 10413 163286 653843 150000 54338 183653 0 0 95000 -526064 807564 131104 -152281 -17061 44786 417718 -158466 0 -71754 206240 75574 177474 -494721 707711 -53212 64095 -699732 693732 -160291 -155622 -3598585 -1234264 118630 40570 98060 200876 -216690 -241446 2287601 0 0 25000 2287601 25000 -1527674 -1450710 3866733 5317443 2339059 3866733 0 28892 0 -72086 0 43377 <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>NOTE 1. DESCRIPTION OF BUSINESS</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">TOMI Environmental Solutions, Inc., a Florida corporation (“TOMI”, the “Company”, “we”, “our” and “us”) is a global provider of disinfection and decontamination essentials through our premier Binary Ionization Technology® (BIT™) platform, under which we manufacture, license, service and sell our SteraMist® brand of products, including SteraMist® BIT™, a hydrogen peroxide-based mist and fog. Our solution and process are environmentally friendly as the only by-product from our decontamination process is oxygen and water in the form of humidity. Our solution is organically listed in the United States and Canada as a sustainably green product with no or very little carbon footprint. Our business is organized into five divisions: Life Sciences, Healthcare, TOMI Service Network, Food Safety and Commercial.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">Invented under a defense grant in association with the Defense Advanced Research Projects Agency (“DARPA”) of the U.S. Department of Defense, BIT™ is registered with the U.S. Environmental Protection Agency (the “EPA”) and uses a low percentage hydrogen peroxide as its only active ingredient to produce a fog composed mostly of a hydroxyl radical (.OH ion), known as ionized Hydrogen Peroxide (iHP™). Represented by the SteraMist® brand of products, iHP™ produces a germ-killing aerosol that works like a visual non-caustic gas. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">Our products are designed to service a broad spectrum of commercial structures, including, but not limited to, hospitals and medical facilities, bio-safety labs, pharmaceutical facilities, meat and produce processing facilities, universities and research facilities, vivarium labs, other service industries including cruise ships, office buildings, hotel and motel rooms, schools, restaurants, military barracks, police and fire departments, prisons, and athletic facilities. Our products are also used in single-family homes and multi-unit residences. Additionally, our products have been listed on the EPA’s List N as products that help combat COVID-19 and are actively being used for this purpose.</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>NOTE 2. SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><em>Principles of Consolidation</em></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">The accompanying consolidated financial statements include the accounts of TOMI and its wholly owned subsidiary, TOMI Environmental Solutions, Inc., a Nevada corporation. All intercompany accounts and transactions have been eliminated in consolidation.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><em>Reclassification of Accounts</em></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">Certain reclassifications have been made to prior-year comparative financial statements to conform to the current year presentation. These reclassifications had no material effect on previously reported results of operations or financial position.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><em>Use of Estimates</em></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">The preparation of the consolidated financial statements in conformity with GAAP requires us to make estimates and assumptions that affect the amounts reported and disclosed in the accompanying consolidated financial statements and the accompanying notes. Actual results could differ materially from these estimates. On an ongoing basis, we evaluate our estimates, including those related to accounts receivable, inventory, fair values of financial instruments, intangible assets, useful lives of intangible assets and property and equipment, fair values of stock-based awards, income taxes, and contingent liabilities, among others. We base our estimates on historical experience and on various other assumptions that are believed to be reasonable, the results of which form the basis for making judgments about the carrying values of our assets and liabilities.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><em>Fair Value Measurements</em></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">The authoritative guidance for fair value measurements defines fair value as the exchange price that would be received for an asset or paid to transfer a liability (an exit price) in the principal or the most advantageous market for the asset or liability in an orderly transaction between market participants on the measurement date. Market participants are buyers and sellers in the principal market that are (i) independent, (ii) knowledgeable, (iii) able to transact, and (iv) willing to transact. The guidance describes a fair value hierarchy based on the levels of inputs, of which the first two are considered observable and the last unobservable, that may be used to measure fair value, which are the following:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:5%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:5%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Level 1:</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Quoted prices in active markets for identical assets or liabilities.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Level 2:</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">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 corroborated by observable market data for substantially the full term of the assets or liabilities.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Level 3:</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Unobservable inputs that are supported by little or no market activity and that are significant to the value of the assets or liabilities.</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">The carrying amounts of cash and cash equivalents, accounts receivable, accounts payable and accrued expenses approximated fair value because of the short maturity of these instruments.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><em>Cash and Cash Equivalents</em></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">Cash and cash equivalents includes cash on hand, held at financial institutions and other liquid investments with original maturities of three months or less. At times, these deposits may be in excess of insured limits. At December 31, 2023 and December 31, 2022, there were no cash equivalents. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><em>Accounts Receivable</em></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">Our accounts receivable are typically from credit-worthy customers or, for certain international customers, are supported by pre-payments. For those customers to whom we extend credit, we perform periodic evaluations of their status and maintain allowances for potential credit losses as deemed necessary. We have a policy of reserving for credit losses based on our best estimate of the amount of potential credit losses in existing accounts receivable. We periodically review our accounts receivable to determine whether an allowance is necessary based on an analysis of past due accounts and other factors that may indicate that the realization of an account may be in doubt. Account balances deemed to be uncollectible are charged to the allowance after all means of collection have been exhausted and the potential for recovery is considered remote.  Bad debt expense for the years ended December 31, 2023 and 2022, was approximately $272,517 and $142,188, respectively.  At December 31, 2023 and December 31, 2022, the allowance for doubtful accounts reserve was $1,494,347 and $1,678,000.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">Long-term trade accounts receivable, are principally amounts arising from the sale of goods and services with a contractual maturity date or realization period of greater than one year and are recognized as “Long-Term Accounts Receivable” in our Consolidated Balance Sheet. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><em>Inventories</em></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">Inventories are valued at the lower of cost or net realizable value using the first-in, first-out (FIFO) method. Inventories consist primarily of finished goods and raw materials.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">We expense costs to maintain certification to cost of goods sold as incurred.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;"><em>We review inventory on an ongoing basis, considering factors such as deterioration and obsolescence. We record an allowance for estimated losses when the facts and circumstances indicate that particular inventories may not be usable.  Our reserve for obsolete inventory was $95,000 as of December 31, 2023 and December 31, 2022.</em></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><em>Property and Equipment</em></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">We account for property and equipment at cost less accumulated depreciation. We compute depreciation using the straight-line method over the estimated useful lives of the assets, generally three to five years. Depreciation for equipment, furniture and fixtures and vehicles commences once placed in service for its intended use. Leasehold improvements are amortized using the straight-line method over the lives of the respective leases or service lives of the improvements, whichever is shorter.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><em>Leases</em></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">We recognize a right-of-use (“ROU”) asset and lease liability for all leases with terms of more than 12 months, in accordance with ASC 842. We utilize the short-term lease recognition exemption for all asset classes as part of our on-going accounting under ASC 842. This means, for those leases that qualify, we will not recognize ROU assets or lease liabilities. Recognition, measurement and presentation of expenses depends on classification as a finance or operating lease.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">As a lessee, we utilize the reasonably certain threshold criteria in determining which options we will exercise. Furthermore, our lease payments are based on index rates with minimum annual increases. These represent fixed payments and are captured in the future minimum lease payments calculation. In determining the discount rate to use in calculating the present value of lease payments, we used our incremental borrowing rate based on the information available at adoption date in determining the present value of lease payments.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">We have also elected the practical expedient to not separate lease and non-lease components for all asset classes, meaning all consideration that is fixed, or in-substance fixed, will be captured as part of our lease components for balance sheet purposes. Furthermore, all variable payments included in lease agreements will be disclosed as variable lease expense when incurred. Generally, variable lease payments are based on usage and common area maintenance. These payments will be included as variable lease expense in the period in which they are incurred.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><em>Capitalized Software Development Costs</em></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">In accordance with ASC 985-20 regarding the development of software to be sold, leased, or marketed, we expense such costs as they are incurred until technological feasibility has been established, at and after which time those costs are capitalized until the product is available for general release to customers. The periodic expense for the amortization of capitalized software development costs will be included in cost of sales.  Amortization expense for the years ended December 31, 2023 and 2022, was $0 and $10,475, respectively. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><em>Accounts Payable</em></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">As of December 31, 2023, two vendors accounted for approximately 59% of accounts payable. As of December 31, 2022, two vendors accounted for approximately 55% of accounts payable. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">For the year ended December 31, 2023, two vendors accounted for 70% of cost of sales. For the year ended December 31, 2022, two vendors accounted for 67% of cost of sales.<strong><em> </em></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><em>Accrued Warranties</em></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 40pt; text-align:justify;">Accrued warranties represent the estimated costs, if any, that will be incurred during the warranty period of our products. We estimate the expected costs to be incurred during the warranty period and record the expense to the consolidated statement of operations at the date of sale. Our manufacturers assume the warranty against product defects from date of sale, which we extend to our customers upon sale of the product. We assume responsibility for product reliability and results. As of December 31, 2023, and December 31, 2022, our warranty reserve was $30,000 and $68,000, respectively. (See Note 15).</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><em>Income Taxes</em></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">Deferred income tax assets and liabilities are determined based on differences between the financial statement reporting and tax bases of assets and liabilities and are measured using the enacted tax rates and laws in effect when the differences are expected to reverse. The measurement of deferred income tax assets is reduced, if necessary, by a valuation allowance for any tax benefits that are, on a more likely than not basis, not expected to be realized in accordance with FASB ASC Topic 740, Income Taxes guidance for income taxes. Net deferred tax benefits have been fully reserved at December 31, 2023 and December 31, 2022. The effect on deferred income tax assets and liabilities of a change in tax rates is recognized in the period that such tax rate changes are enacted.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><em>Net Income (Loss) Per Share</em></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">Basic net income or (loss) per share is computed by dividing our net income or (loss) by the weighted average number of shares of common stock outstanding during the period presented. Diluted income or (loss) per share is based on the treasury stock method and includes the effect from potential issuance of shares of common stock, such as shares issuable pursuant to the exercise of options and warrants and conversions of preferred stock or debentures. The computation of diluted EPS is similar to the computation of basic EPS except that the numerator may have to adjust for any dividends and income or loss associated with potentially dilutive securities that are assumed to have resulted in the issuance of shares of common stock and the denominator may have to adjust to include the number of additional shares of common stock that would have been outstanding if the dilutive potential shares of common stock had been issued during the period to reflect the potential dilution that could occur from shares of common stock issuable through a contingent shares issuance arrangement, stock options, warrants, or convertible preferred stock. For purposes of determining diluted earnings per common share, the treasury stock method is used for stock options, and warrants, and the if-converted method is used for convertible preferred stock as prescribed in FASB ASC Topic 260. Because of the net loss for the year ended December 31, 2023 and 2022, the impact of including these in our computation of diluted EPS was anti-dilutive.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">Potentially dilutive securities as of December 31, 2023 consisted of 2,080,000 shares of common stock from convertible debentures, 2,772,096 shares of common stock issuable upon exercise of outstanding warrants, 617,542 shares of common stock issuable upon outstanding options and 63,750 shares of common stock issuable upon conversion of outstanding shares of Preferred A stock (“Convertible Series A Preferred Stock”).</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">Potentially dilutive securities as of December 31, 2022 consisted of 2,792,335 shares of common stock issuable upon exercise of outstanding warrants, 413,000 shares of common stock issuable upon outstanding options and 63,750 shares of common stock issuable upon conversion of outstanding shares of Preferred A stock (“Convertible Series A Preferred Stock”).</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">Options, warrants, preferred stock and shares associated with the conversion of debt to purchase approximately 5.5 million and 3.3 million shares of common stock were outstanding at December 31, 2023 and 2022, respectively, but were excluded from the computation of diluted net loss per share at December 31, 2023 and 2022 due to the anti-dilutive effect on net loss per share.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: #000000 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>For the Year Ended December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2022</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Net Loss</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(3,402,592</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(2,880,060</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Net loss attributable to common shareholders</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(3,402,592</td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(2,880,060</td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Weighted average number of shares of common stock outstanding:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Basic</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">19,834,476</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">19,743,544</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Diluted</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">19,834,476</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">19,743,544</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Net loss attributable to common shareholders per share:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Basic</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(0.17</td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(0.15</td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Diluted</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(0.17</td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(0.15</td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">The following provides a reconciliation of the shares used in calculating the per share amounts for the periods presented:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: #000000 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>For the Years Ended December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2022</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Numerator:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 15px; text-align:justify;">Net Loss</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(3,402,592</td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(2,880,060</td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Denominator:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Basic weighted-average shares</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">19,834,476</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">19,743,544</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Effect of dilutive securities</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 15px; text-align:justify;">Warrants</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 15px; text-align:justify;">Convertible Debt</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 15px; text-align:justify;">Options</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 15px; text-align:justify;">Preferred Stock</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Diluted Weighted Average Shares</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">19,834,476</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">19,743,544</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Net Loss Per Common Share:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td colspan="9"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Basic</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(0.17</td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(0.15</td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Diluted</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(0.17</td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(0.15</td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><em>Revenue Recognition</em></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">We recognize revenue in accordance with Financial Accounting Standards Board (FASB) Accounting Standards Codification (“ASC”) Topic 606, Revenue from Contracts with Customers, Revenue from Contracts with Customers (Topic 606). We recognize revenue when we transfer promised goods or services to customers in an amount that reflects the consideration to which we expect to be entitled in exchange for those goods or services. To determine revenue recognition for contracts with customers we perform the following five steps: (i) identify the contract(s) with a customer; (ii) identify the performance obligation(s) in the contract; (iii) determine the transaction price; (iv) allocate the transaction price to the performance obligation(s) in the contract; and (v) recognize revenue when (or as) we satisfy the performance obligation(s). At contract inception, we assess the goods or services promised within each contract, assess whether each promised good or service is distinct and identify those that are performance obligations.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">We must use judgment to determine: a) the number of performance obligations based on the determination under step (ii) above and whether those performance obligations are distinct from other performance obligations in the contract; b) the transaction price under step (iii) above; and c) the stand-alone selling price for each performance obligation identified in the contract for the allocation of transaction price in step (iv) above.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">Title and risk of loss generally pass to our customers upon shipment. Our customers include end users as well as dealers and distributors who market and sell our products. Our revenue is not contingent upon resale by the dealer or distributor, and we have no further obligations related to bringing about resale. Shipping and handling costs charged to customers are included in Product Revenues. The associated expenses are treated as fulfillment costs and are included in Cost of Revenues. Revenues are reported net of sales taxes collected from Customers.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em>Disaggregation of Revenue</em></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">The following table presents our revenues disaggregated by revenue source (rounded to nearest thousandth).</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em>Product and Service Revenue</em></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td></td><td></td><td colspan="2" style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>For The Years Ended </strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>               Change </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>            2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>                    2022</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>$</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">SteraMist Product</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">5,695,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">6,864,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(1,169,000</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Service and Training</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">1,660,000</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">1,474,000</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">186,000</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Total </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">7,355,000</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">8,338,000</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(983,000</td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em>Revenue by Geographic Region</em></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>  For The Years Ended </strong></p><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>December 31, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Change </strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>           2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2022</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>$</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">United States </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">6,125,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">6,261,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(136,000</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">International </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">1,230,000</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">2,077,000</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(847,000</td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Total </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">7,355,000</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">8,338,000</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(983,000</td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">Product revenue includes sales from our standard and customized equipment, solution and accessories sold with our equipment. Revenue is recognized upon transfer of control of promised products to customers in an amount that reflects the consideration we expect to receive in exchange for those products.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">Service and training revenue include sales from our high-level decontamination and service engagements, validation of our equipment and technology and customer training. Service revenue is recognized as the agreed upon services are rendered to our customers in an amount that reflects the consideration we expect to receive in exchange for those services.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em>Costs to Obtain a Contract with a Customer</em></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">We apply a practical expedient to expense costs as incurred for costs to obtain a contract with a customer when the amortization period would have been one year or less. We generally expense sales commissions when incurred because the amortization period would have been one year or less. These costs are recorded within selling expenses.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em>Contract Balances</em></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">As of December 31, 2023, and December 31, 2022 we did not have any unsatisfied performance obligations for (i) contracts with an original expected length of one year or less and (ii) contracts for which we recognize revenue at the amount to which we have the right to invoice for services performed.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em>Arrangements with Multiple Performance Obligations</em></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">Our contracts with customers may include multiple performance obligations. We enter into contracts that can include various combinations of products and services, which are primarily distinct and accounted for as separate performance obligations.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em>Significant Judgments</em></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">Our contracts with customers for products and services often dictate the terms and conditions of when the control of the promised products or services is transferred to the customer and the amount of consideration to be received in exchange for the products and services.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><em>Equity Compensation Expense</em></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">We account for equity compensation expense in accordance with FASB ASC 718, “Compensation—Stock Compensation.” Under the provisions of FASB ASC 718, equity compensation expense is estimated at the grant date based on the award’s fair value.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">The valuation methodology used to determine the fair value of options and warrants issued as compensation during the period is the Black-Scholes option-pricing model. The Black-Scholes model requires the use of a number of assumptions including volatility of the stock price, the average risk-free interest rate, and the weighted average expected life of the options. Risk–free interest rates are calculated based on continuously compounded risk–free rates for the appropriate term. The expected term of the Company’s warrants has been determined utilizing the “simplified” method for awards that qualify as “plain-vanilla” warrants. The dividend yield is assumed to be zero as the Company has never paid or declared any cash dividends on its common stock, par value $0.01 (the “Common Stock”) and does not intend to pay dividends on its Common Stock in the foreseeable future. The expected forfeiture rate is estimated based on management’s best assessment.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">On July 7, 2017, our shareholders approved the Company’s Amended and Restated 2016 Equity Incentive Plan (the “2016 Plan”). The 2016 Plan authorizes the grant of stock options, stock appreciation rights, restricted stock, restricted stock units and performance units/shares. Up to 2,000,000 shares of Common Stock are authorized for issuance under the 2016 Plan. Shares issued under the 2016 Plan may be either authorized but unissued shares, treasury shares, or any combination thereof. Provisions in the 2016 Plan permit the reuse or reissuance by the 2016 Plan of shares of Common Stock for numerous reasons, including, but not limited to, shares of Common Stock underlying canceled, expired, or forfeited awards of stock-based compensation and stock appreciation rights paid out in the form of cash. Equity compensation expense will typically be awarded in consideration for the future performance of services to us. All recipients of awards under the 2016 Plan are required to enter into award agreements with us at the time of the award, and awards under the 2016 Plan are expressly conditioned upon such agreements. For the year ended December 31, 2023 and 2022, we issued 60,000 and 51,750 shares of common stock, respectively, out of the 2016 Plan.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><em>Concentrations of Credit Risk</em></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">Financial instruments that potentially subject us to significant concentrations of credit risk consist principally of cash and cash equivalents. We maintain cash balances at financial institutions which exceed the current Federal Deposit Insurance Corporation limit of $250,000 at times during the year.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><em>Long-Lived Assets Including Acquired Intangible Assets</em></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">We assess long-lived assets for potential impairments at the end of each year, or during the year if an event or other circumstance indicates that we may not be able to recover the carrying amount of the asset. In evaluating long-lived assets for impairment, we measure recoverability of these assets by comparing the carrying amounts to the future undiscounted cash flows the assets are expected to generate. If our long-lived assets are considered to be impaired, the impairment to be recognized equals the amount by which the carrying value of the asset exceeds its fair market value. We base the calculations of the estimated fair value of our long-lived assets on the income approach. For the income approach, we use an internally developed discounted cash flow model that includes, among others, the following assumptions: projections of revenues and expenses and related cash flows based on assumed long-term growth rates and demand trends; expected future investments to grow new units; and estimated discount rates. We base these assumptions on our historical data and experience, industry projections, micro and macro general economic condition projections, and our expectations. We had no long-lived asset impairment charges for the years ended December 31, 2023 and 2022.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><em>Advertising and Promotional Expenses</em></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">We expense advertising costs in the period in which they are incurred. Advertising and promotional expenses included in selling expenses for the years ended December 31, 2023 and 2022 were approximately $498,000 and $653,000, respectively.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><em>Research and Development Expenses</em></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">We expense research and development expenses in the period in which they are incurred. For the years ended December 31, 2023 and 2022, research and development expenses were approximately $492,000 and $352,000, respectively.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><em>Business Segments</em></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">We currently have one reportable business segment due to the fact that we derive our revenue primarily from one product. A breakdown of revenue is presented in “Revenue Recognition” in Note 2 above.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><em>Recent Accounting Pronouncements</em></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;"><em>Recently issued accounting pronouncements not yet adopted</em></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 27.75pt; text-align:justify;">In November 2023, the Financial Accounting Standards Board (“FASB”) issued ASU No. 2023-07, Improvements to Reportable Segment Disclosures (Topic 280). This ASU updates reportable segment disclosure requirements by requiring disclosures of significant reportable segment expenses that are regularly provided to the Chief Operating Decision Maker (“CODM”) and included within each reported measure of a segment’s profit or loss. This ASU also requires disclosure of the title and position of the individual identified as the CODM and an explanation of how the CODM uses the reported measures of a segment’s profit or loss in assessing segment performance and deciding how to allocate resources. The ASU is effective for annual periods beginning after December 15, 2023, and interim periods within fiscal years beginning after December 15, 2024. Adoption of the ASU should be applied retrospectively to all prior periods presented in the financial statements. Early adoption is also permitted. This ASU will likely result in us including the additional required disclosures when adopted. We are currently evaluating the provisions of this ASU and expect to adopt them for the year ending December 31, 2024.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 27.75pt; text-align:justify;">In December 2023, the FASB issued ASU No. 2023-09, Improvements to Income Tax Disclosures (Topic 740). The ASU requires disaggregated information about a reporting entity’s effective tax rate reconciliation as well as additional information on income taxes paid. The ASU is effective on a prospective basis for annual periods beginning after December 15, 2024. Early adoption is also permitted for annual financial statements that have not yet been issued or made available for issuance. This ASU will result in the required additional disclosures being included in our consolidated financial statements, once adopted.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;"><em>Recently adopted accounting pronouncements</em></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">In March 2022, the FASB issued ASU 2022-02, Troubled Debt Restructurings and Vintage Disclosures. This ASU eliminates the accounting guidance for troubled debt restructurings by creditors that have adopted ASU 2016-13, Measurement of Credit Losses on Financial Instruments, which we adopted on January 1, 2020. This ASU also enhances the disclosure requirements for certain loan refinancing and restructurings by creditors when a borrower is experiencing financial difficulty. In addition, the ASU amends the guidance on vintage disclosures to require entities to disclose current period gross write-offs by year of origination for financing receivables and net investments in leases within the scope of ASC 326-20. The ASU is effective for annual periods beginning after December 15, 2022, including interim periods within those fiscal years. We adopted the ASU prospectively on January 1, 2023.  This ASU did not have a material impact on our consolidated financial statements.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">In October 2021, the FASB issued ASU No. 2021-08, Accounting for Contract Assets and Contract Liabilities from Contracts with Customers (Topic 805). This ASU requires an acquirer in a business combination to recognize and measure contract assets and contract liabilities (deferred revenue) from acquired contracts using the revenue recognition guidance in Topic 606. At the acquisition date, the acquirer applies the revenue model as if it had originated the acquired contracts. The ASU is effective for annual periods beginning after December 15, 2022, including interim periods within those fiscal years. We adopted this ASU prospectively on January 1, 2023. This ASU did not have a material impact on our consolidated financial statements.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">In August 2020, the FASB issued ASU No. 2020-06, Debt—Debt with Conversion and Other Options (Subtopic 470-20) and Derivatives and Hedging—Contracts in Entity’s Own Equity (Subtopic 815-40): Accounting for Convertible Instruments and Contracts in an Entity’s Own Equity. ASU 2020-06 was issued to reduce the complexity associated with accounting for certain financial instruments with characteristics of liabilities and equity. ASU 2020-06 reduces the number of accounting models for convertible debt instruments and convertible preferred stock and improves the disclosures for convertible instruments and related earnings per share guidance. ASU 2020-06 also amends the guidance for the derivatives scope exception for contracts in an entity’s own equity and improves and amends the related earnings per share guidance. For public entities that qualify as a filer with the SEC, excluding entities eligible to be smaller reporting companies, ASU 2020-06 is effective for fiscal annual periods beginning after December 15, 2021, including interim periods within those fiscal years. For nonpublic entities, ASU 2020-06 is effective for fiscal years beginning after December 15, 2023, including interim periods within those fiscal years. Early adoption was permitted, but no earlier than fiscal years beginning after December 15, 2020, including interim periods within those fiscal years. ASU 2020-06 must be adopted as of the beginning of a company’s annual fiscal year. ASU 2020-06 may be adopted through either a modified retrospective method of transition or a fully retrospective method of transition. The Company adopted ASU 2020-06 on January 1, 2021. The adoption did not have an impact on our consolidated financial statements.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">In June 2016, the FASB issued ASU 2016-13, Financial Instruments-Credit Losses (“ASU 2016-13”), which provides new authoritative guidance with respect to the measurement of credit losses on financial instruments. This update changes the impairment model for most financial assets and certain other instruments by introducing a current expected credit loss (“CECL”) model. The CECL model is a more forward-looking approach based on expected losses rather than incurred losses, requiring entities to estimate and record losses expected over the remaining contractual life of an asset. ASU 2016-13 is effective for fiscal years beginning after December 15, 2022, including interim periods within those fiscal years for smaller reporting companies. The Company adopted ASU 2016-13 on January 1, 2023. The adoption did not have an impact on our consolidated financial statements.</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">The accompanying consolidated financial statements include the accounts of TOMI and its wholly owned subsidiary, TOMI Environmental Solutions, Inc., a Nevada corporation. All intercompany accounts and transactions have been eliminated in consolidation.</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">Certain reclassifications have been made to prior-year comparative financial statements to conform to the current year presentation. These reclassifications had no material effect on previously reported results of operations or financial position.</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">The preparation of the consolidated financial statements in conformity with GAAP requires us to make estimates and assumptions that affect the amounts reported and disclosed in the accompanying consolidated financial statements and the accompanying notes. Actual results could differ materially from these estimates. On an ongoing basis, we evaluate our estimates, including those related to accounts receivable, inventory, fair values of financial instruments, intangible assets, useful lives of intangible assets and property and equipment, fair values of stock-based awards, income taxes, and contingent liabilities, among others. We base our estimates on historical experience and on various other assumptions that are believed to be reasonable, the results of which form the basis for making judgments about the carrying values of our assets and liabilities.</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">The authoritative guidance for fair value measurements defines fair value as the exchange price that would be received for an asset or paid to transfer a liability (an exit price) in the principal or the most advantageous market for the asset or liability in an orderly transaction between market participants on the measurement date. Market participants are buyers and sellers in the principal market that are (i) independent, (ii) knowledgeable, (iii) able to transact, and (iv) willing to transact. The guidance describes a fair value hierarchy based on the levels of inputs, of which the first two are considered observable and the last unobservable, that may be used to measure fair value, which are the following:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:5%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:5%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Level 1:</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Quoted prices in active markets for identical assets or liabilities.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Level 2:</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">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 corroborated by observable market data for substantially the full term of the assets or liabilities.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Level 3:</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Unobservable inputs that are supported by little or no market activity and that are significant to the value of the assets or liabilities.</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">The carrying amounts of cash and cash equivalents, accounts receivable, accounts payable and accrued expenses approximated fair value because of the short maturity of these instruments.</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">Cash and cash equivalents includes cash on hand, held at financial institutions and other liquid investments with original maturities of three months or less. At times, these deposits may be in excess of insured limits. At December 31, 2023 and December 31, 2022, there were no cash equivalents. </p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">Our accounts receivable are typically from credit-worthy customers or, for certain international customers, are supported by pre-payments. For those customers to whom we extend credit, we perform periodic evaluations of their status and maintain allowances for potential credit losses as deemed necessary. We have a policy of reserving for credit losses based on our best estimate of the amount of potential credit losses in existing accounts receivable. We periodically review our accounts receivable to determine whether an allowance is necessary based on an analysis of past due accounts and other factors that may indicate that the realization of an account may be in doubt. Account balances deemed to be uncollectible are charged to the allowance after all means of collection have been exhausted and the potential for recovery is considered remote.  Bad debt expense for the years ended December 31, 2023 and 2022, was approximately $272,517 and $142,188, respectively.  At December 31, 2023 and December 31, 2022, the allowance for doubtful accounts reserve was $1,494,347 and $1,678,000.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">Long-term trade accounts receivable, are principally amounts arising from the sale of goods and services with a contractual maturity date or realization period of greater than one year and are recognized as “Long-Term Accounts Receivable” in our Consolidated Balance Sheet. </p> 272517 142188 1494347 1678000 <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">Inventories are valued at the lower of cost or net realizable value using the first-in, first-out (FIFO) method. Inventories consist primarily of finished goods and raw materials.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">We expense costs to maintain certification to cost of goods sold as incurred.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;"><em>We review inventory on an ongoing basis, considering factors such as deterioration and obsolescence. We record an allowance for estimated losses when the facts and circumstances indicate that particular inventories may not be usable.  Our reserve for obsolete inventory was $95,000 as of December 31, 2023 and December 31, 2022.</em></p> 95000 <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">We account for property and equipment at cost less accumulated depreciation. We compute depreciation using the straight-line method over the estimated useful lives of the assets, generally three to five years. Depreciation for equipment, furniture and fixtures and vehicles commences once placed in service for its intended use. Leasehold improvements are amortized using the straight-line method over the lives of the respective leases or service lives of the improvements, whichever is shorter.</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">We recognize a right-of-use (“ROU”) asset and lease liability for all leases with terms of more than 12 months, in accordance with ASC 842. We utilize the short-term lease recognition exemption for all asset classes as part of our on-going accounting under ASC 842. This means, for those leases that qualify, we will not recognize ROU assets or lease liabilities. Recognition, measurement and presentation of expenses depends on classification as a finance or operating lease.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">As a lessee, we utilize the reasonably certain threshold criteria in determining which options we will exercise. Furthermore, our lease payments are based on index rates with minimum annual increases. These represent fixed payments and are captured in the future minimum lease payments calculation. In determining the discount rate to use in calculating the present value of lease payments, we used our incremental borrowing rate based on the information available at adoption date in determining the present value of lease payments.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">We have also elected the practical expedient to not separate lease and non-lease components for all asset classes, meaning all consideration that is fixed, or in-substance fixed, will be captured as part of our lease components for balance sheet purposes. Furthermore, all variable payments included in lease agreements will be disclosed as variable lease expense when incurred. Generally, variable lease payments are based on usage and common area maintenance. These payments will be included as variable lease expense in the period in which they are incurred.</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">In accordance with ASC 985-20 regarding the development of software to be sold, leased, or marketed, we expense such costs as they are incurred until technological feasibility has been established, at and after which time those costs are capitalized until the product is available for general release to customers. The periodic expense for the amortization of capitalized software development costs will be included in cost of sales.  Amortization expense for the years ended December 31, 2023 and 2022, was $0 and $10,475, respectively. </p> 0 10475 <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">As of December 31, 2023, two vendors accounted for approximately 59% of accounts payable. As of December 31, 2022, two vendors accounted for approximately 55% of accounts payable. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">For the year ended December 31, 2023, two vendors accounted for 70% of cost of sales. For the year ended December 31, 2022, two vendors accounted for 67% of cost of sales.<strong><em> </em></strong></p> 0.59 0.55 0.70 0.67 <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 40pt; text-align:justify;">Accrued warranties represent the estimated costs, if any, that will be incurred during the warranty period of our products. We estimate the expected costs to be incurred during the warranty period and record the expense to the consolidated statement of operations at the date of sale. Our manufacturers assume the warranty against product defects from date of sale, which we extend to our customers upon sale of the product. We assume responsibility for product reliability and results. As of December 31, 2023, and December 31, 2022, our warranty reserve was $30,000 and $68,000, respectively. (See Note 15).</p> 30000 68000 <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">Deferred income tax assets and liabilities are determined based on differences between the financial statement reporting and tax bases of assets and liabilities and are measured using the enacted tax rates and laws in effect when the differences are expected to reverse. The measurement of deferred income tax assets is reduced, if necessary, by a valuation allowance for any tax benefits that are, on a more likely than not basis, not expected to be realized in accordance with FASB ASC Topic 740, Income Taxes guidance for income taxes. Net deferred tax benefits have been fully reserved at December 31, 2023 and December 31, 2022. The effect on deferred income tax assets and liabilities of a change in tax rates is recognized in the period that such tax rate changes are enacted.</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">Basic net income or (loss) per share is computed by dividing our net income or (loss) by the weighted average number of shares of common stock outstanding during the period presented. Diluted income or (loss) per share is based on the treasury stock method and includes the effect from potential issuance of shares of common stock, such as shares issuable pursuant to the exercise of options and warrants and conversions of preferred stock or debentures. The computation of diluted EPS is similar to the computation of basic EPS except that the numerator may have to adjust for any dividends and income or loss associated with potentially dilutive securities that are assumed to have resulted in the issuance of shares of common stock and the denominator may have to adjust to include the number of additional shares of common stock that would have been outstanding if the dilutive potential shares of common stock had been issued during the period to reflect the potential dilution that could occur from shares of common stock issuable through a contingent shares issuance arrangement, stock options, warrants, or convertible preferred stock. For purposes of determining diluted earnings per common share, the treasury stock method is used for stock options, and warrants, and the if-converted method is used for convertible preferred stock as prescribed in FASB ASC Topic 260. Because of the net loss for the year ended December 31, 2023 and 2022, the impact of including these in our computation of diluted EPS was anti-dilutive.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">Potentially dilutive securities as of December 31, 2023 consisted of 2,080,000 shares of common stock from convertible debentures, 2,772,096 shares of common stock issuable upon exercise of outstanding warrants, 617,542 shares of common stock issuable upon outstanding options and 63,750 shares of common stock issuable upon conversion of outstanding shares of Preferred A stock (“Convertible Series A Preferred Stock”).</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">Potentially dilutive securities as of December 31, 2022 consisted of 2,792,335 shares of common stock issuable upon exercise of outstanding warrants, 413,000 shares of common stock issuable upon outstanding options and 63,750 shares of common stock issuable upon conversion of outstanding shares of Preferred A stock (“Convertible Series A Preferred Stock”).</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">Options, warrants, preferred stock and shares associated with the conversion of debt to purchase approximately 5.5 million and 3.3 million shares of common stock were outstanding at December 31, 2023 and 2022, respectively, but were excluded from the computation of diluted net loss per share at December 31, 2023 and 2022 due to the anti-dilutive effect on net loss per share.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: #000000 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>For the Year Ended December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2022</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Net Loss</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(3,402,592</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(2,880,060</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Net loss attributable to common shareholders</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(3,402,592</td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(2,880,060</td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Weighted average number of shares of common stock outstanding:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Basic</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">19,834,476</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">19,743,544</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Diluted</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">19,834,476</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">19,743,544</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Net loss attributable to common shareholders per share:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Basic</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(0.17</td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(0.15</td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Diluted</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(0.17</td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(0.15</td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">The following provides a reconciliation of the shares used in calculating the per share amounts for the periods presented:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: #000000 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>For the Years Ended December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2022</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Numerator:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 15px; text-align:justify;">Net Loss</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(3,402,592</td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(2,880,060</td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Denominator:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Basic weighted-average shares</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">19,834,476</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">19,743,544</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Effect of dilutive securities</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 15px; text-align:justify;">Warrants</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 15px; text-align:justify;">Convertible Debt</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 15px; text-align:justify;">Options</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 15px; text-align:justify;">Preferred Stock</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Diluted Weighted Average Shares</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">19,834,476</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">19,743,544</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Net Loss Per Common Share:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td colspan="9"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Basic</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(0.17</td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(0.15</td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Diluted</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(0.17</td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(0.15</td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr></tbody></table> 2080000 2772096 63750 2792335 413000 63750 5500000 3300000 <table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: #000000 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>For the Year Ended December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2022</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Net Loss</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(3,402,592</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(2,880,060</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Net loss attributable to common shareholders</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(3,402,592</td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(2,880,060</td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Weighted average number of shares of common stock outstanding:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Basic</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">19,834,476</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">19,743,544</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Diluted</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">19,834,476</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">19,743,544</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Net loss attributable to common shareholders per share:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Basic</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(0.17</td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(0.15</td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Diluted</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(0.17</td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(0.15</td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr></tbody></table><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: #000000 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>For the Years Ended December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2022</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Numerator:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 15px; text-align:justify;">Net Loss</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(3,402,592</td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(2,880,060</td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Denominator:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Basic weighted-average shares</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">19,834,476</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">19,743,544</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Effect of dilutive securities</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 15px; text-align:justify;">Warrants</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 15px; text-align:justify;">Convertible Debt</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 15px; text-align:justify;">Options</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 15px; text-align:justify;">Preferred Stock</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Diluted Weighted Average Shares</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">19,834,476</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">19,743,544</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Net Loss Per Common Share:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td colspan="9"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Basic</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(0.17</td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(0.15</td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Diluted</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(0.17</td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(0.15</td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr></tbody></table> -3402592 -2880060 -3402592 -2880060 19834476 19743544 19834476 19743544 -0.17 -0.15 -0.17 -0.15 -3402592 -2880060 19834476 19743544 19834476 19743544 -0.17 -0.15 -0.17 -0.15 <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">We recognize revenue in accordance with Financial Accounting Standards Board (FASB) Accounting Standards Codification (“ASC”) Topic 606, Revenue from Contracts with Customers, Revenue from Contracts with Customers (Topic 606). We recognize revenue when we transfer promised goods or services to customers in an amount that reflects the consideration to which we expect to be entitled in exchange for those goods or services. To determine revenue recognition for contracts with customers we perform the following five steps: (i) identify the contract(s) with a customer; (ii) identify the performance obligation(s) in the contract; (iii) determine the transaction price; (iv) allocate the transaction price to the performance obligation(s) in the contract; and (v) recognize revenue when (or as) we satisfy the performance obligation(s). At contract inception, we assess the goods or services promised within each contract, assess whether each promised good or service is distinct and identify those that are performance obligations.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">We must use judgment to determine: a) the number of performance obligations based on the determination under step (ii) above and whether those performance obligations are distinct from other performance obligations in the contract; b) the transaction price under step (iii) above; and c) the stand-alone selling price for each performance obligation identified in the contract for the allocation of transaction price in step (iv) above.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">Title and risk of loss generally pass to our customers upon shipment. Our customers include end users as well as dealers and distributors who market and sell our products. Our revenue is not contingent upon resale by the dealer or distributor, and we have no further obligations related to bringing about resale. Shipping and handling costs charged to customers are included in Product Revenues. The associated expenses are treated as fulfillment costs and are included in Cost of Revenues. Revenues are reported net of sales taxes collected from Customers.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em>Disaggregation of Revenue</em></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">The following table presents our revenues disaggregated by revenue source (rounded to nearest thousandth).</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em>Product and Service Revenue</em></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td></td><td></td><td colspan="2" style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>For The Years Ended </strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>               Change </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>            2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>                    2022</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>$</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">SteraMist Product</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">5,695,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">6,864,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(1,169,000</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Service and Training</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">1,660,000</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">1,474,000</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">186,000</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Total </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">7,355,000</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">8,338,000</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(983,000</td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em>Revenue by Geographic Region</em></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>  For The Years Ended </strong></p><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>December 31, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Change </strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>           2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2022</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>$</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">United States </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">6,125,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">6,261,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(136,000</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">International </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">1,230,000</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">2,077,000</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(847,000</td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Total </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">7,355,000</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">8,338,000</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(983,000</td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">Product revenue includes sales from our standard and customized equipment, solution and accessories sold with our equipment. Revenue is recognized upon transfer of control of promised products to customers in an amount that reflects the consideration we expect to receive in exchange for those products.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">Service and training revenue include sales from our high-level decontamination and service engagements, validation of our equipment and technology and customer training. Service revenue is recognized as the agreed upon services are rendered to our customers in an amount that reflects the consideration we expect to receive in exchange for those services.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em>Costs to Obtain a Contract with a Customer</em></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">We apply a practical expedient to expense costs as incurred for costs to obtain a contract with a customer when the amortization period would have been one year or less. We generally expense sales commissions when incurred because the amortization period would have been one year or less. These costs are recorded within selling expenses.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em>Contract Balances</em></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">As of December 31, 2023, and December 31, 2022 we did not have any unsatisfied performance obligations for (i) contracts with an original expected length of one year or less and (ii) contracts for which we recognize revenue at the amount to which we have the right to invoice for services performed.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em>Arrangements with Multiple Performance Obligations</em></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">Our contracts with customers may include multiple performance obligations. We enter into contracts that can include various combinations of products and services, which are primarily distinct and accounted for as separate performance obligations.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em>Significant Judgments</em></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">Our contracts with customers for products and services often dictate the terms and conditions of when the control of the promised products or services is transferred to the customer and the amount of consideration to be received in exchange for the products and services.</p> <table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td></td><td></td><td colspan="2" style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>For The Years Ended </strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>               Change </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>            2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>                    2022</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>$</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">SteraMist Product</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">5,695,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">6,864,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(1,169,000</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Service and Training</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">1,660,000</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">1,474,000</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">186,000</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Total </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">7,355,000</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">8,338,000</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(983,000</td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr></tbody></table><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>  For The Years Ended </strong></p><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>December 31, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Change </strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>           2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2022</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>$</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">United States </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">6,125,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">6,261,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(136,000</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">International </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">1,230,000</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">2,077,000</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(847,000</td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Total </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">7,355,000</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">8,338,000</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(983,000</td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr></tbody></table> 5695000 6864000 -1169000 1660000 1474000 186000 7355000 8338000 -983000 6125000 6261000 -136000 1230000 2077000 -847000 7355000 8338000 -983000 <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">We account for equity compensation expense in accordance with FASB ASC 718, “Compensation—Stock Compensation.” Under the provisions of FASB ASC 718, equity compensation expense is estimated at the grant date based on the award’s fair value.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">The valuation methodology used to determine the fair value of options and warrants issued as compensation during the period is the Black-Scholes option-pricing model. The Black-Scholes model requires the use of a number of assumptions including volatility of the stock price, the average risk-free interest rate, and the weighted average expected life of the options. Risk–free interest rates are calculated based on continuously compounded risk–free rates for the appropriate term. The expected term of the Company’s warrants has been determined utilizing the “simplified” method for awards that qualify as “plain-vanilla” warrants. The dividend yield is assumed to be zero as the Company has never paid or declared any cash dividends on its common stock, par value $0.01 (the “Common Stock”) and does not intend to pay dividends on its Common Stock in the foreseeable future. The expected forfeiture rate is estimated based on management’s best assessment.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">On July 7, 2017, our shareholders approved the Company’s Amended and Restated 2016 Equity Incentive Plan (the “2016 Plan”). The 2016 Plan authorizes the grant of stock options, stock appreciation rights, restricted stock, restricted stock units and performance units/shares. Up to 2,000,000 shares of Common Stock are authorized for issuance under the 2016 Plan. Shares issued under the 2016 Plan may be either authorized but unissued shares, treasury shares, or any combination thereof. Provisions in the 2016 Plan permit the reuse or reissuance by the 2016 Plan of shares of Common Stock for numerous reasons, including, but not limited to, shares of Common Stock underlying canceled, expired, or forfeited awards of stock-based compensation and stock appreciation rights paid out in the form of cash. Equity compensation expense will typically be awarded in consideration for the future performance of services to us. All recipients of awards under the 2016 Plan are required to enter into award agreements with us at the time of the award, and awards under the 2016 Plan are expressly conditioned upon such agreements. For the year ended December 31, 2023 and 2022, we issued 60,000 and 51,750 shares of common stock, respectively, out of the 2016 Plan.</p> 2000000 60000 51750 <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">Financial instruments that potentially subject us to significant concentrations of credit risk consist principally of cash and cash equivalents. We maintain cash balances at financial institutions which exceed the current Federal Deposit Insurance Corporation limit of $250,000 at times during the year.</p> 250000 <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">We assess long-lived assets for potential impairments at the end of each year, or during the year if an event or other circumstance indicates that we may not be able to recover the carrying amount of the asset. In evaluating long-lived assets for impairment, we measure recoverability of these assets by comparing the carrying amounts to the future undiscounted cash flows the assets are expected to generate. If our long-lived assets are considered to be impaired, the impairment to be recognized equals the amount by which the carrying value of the asset exceeds its fair market value. We base the calculations of the estimated fair value of our long-lived assets on the income approach. For the income approach, we use an internally developed discounted cash flow model that includes, among others, the following assumptions: projections of revenues and expenses and related cash flows based on assumed long-term growth rates and demand trends; expected future investments to grow new units; and estimated discount rates. We base these assumptions on our historical data and experience, industry projections, micro and macro general economic condition projections, and our expectations. We had no long-lived asset impairment charges for the years ended December 31, 2023 and 2022.</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">We expense advertising costs in the period in which they are incurred. Advertising and promotional expenses included in selling expenses for the years ended December 31, 2023 and 2022 were approximately $498,000 and $653,000, respectively.</p> 498000 653000 <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">We expense research and development expenses in the period in which they are incurred. For the years ended December 31, 2023 and 2022, research and development expenses were approximately $492,000 and $352,000, respectively.</p> 492000 352000 <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">We currently have one reportable business segment due to the fact that we derive our revenue primarily from one product. A breakdown of revenue is presented in “Revenue Recognition” in Note 2 above.</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;"><em>Recently issued accounting pronouncements not yet adopted</em></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 27.75pt; text-align:justify;">In November 2023, the Financial Accounting Standards Board (“FASB”) issued ASU No. 2023-07, Improvements to Reportable Segment Disclosures (Topic 280). This ASU updates reportable segment disclosure requirements by requiring disclosures of significant reportable segment expenses that are regularly provided to the Chief Operating Decision Maker (“CODM”) and included within each reported measure of a segment’s profit or loss. This ASU also requires disclosure of the title and position of the individual identified as the CODM and an explanation of how the CODM uses the reported measures of a segment’s profit or loss in assessing segment performance and deciding how to allocate resources. The ASU is effective for annual periods beginning after December 15, 2023, and interim periods within fiscal years beginning after December 15, 2024. Adoption of the ASU should be applied retrospectively to all prior periods presented in the financial statements. Early adoption is also permitted. This ASU will likely result in us including the additional required disclosures when adopted. We are currently evaluating the provisions of this ASU and expect to adopt them for the year ending December 31, 2024.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 27.75pt; text-align:justify;">In December 2023, the FASB issued ASU No. 2023-09, Improvements to Income Tax Disclosures (Topic 740). The ASU requires disaggregated information about a reporting entity’s effective tax rate reconciliation as well as additional information on income taxes paid. The ASU is effective on a prospective basis for annual periods beginning after December 15, 2024. Early adoption is also permitted for annual financial statements that have not yet been issued or made available for issuance. This ASU will result in the required additional disclosures being included in our consolidated financial statements, once adopted.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;"><em>Recently adopted accounting pronouncements</em></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">In March 2022, the FASB issued ASU 2022-02, Troubled Debt Restructurings and Vintage Disclosures. This ASU eliminates the accounting guidance for troubled debt restructurings by creditors that have adopted ASU 2016-13, Measurement of Credit Losses on Financial Instruments, which we adopted on January 1, 2020. This ASU also enhances the disclosure requirements for certain loan refinancing and restructurings by creditors when a borrower is experiencing financial difficulty. In addition, the ASU amends the guidance on vintage disclosures to require entities to disclose current period gross write-offs by year of origination for financing receivables and net investments in leases within the scope of ASC 326-20. The ASU is effective for annual periods beginning after December 15, 2022, including interim periods within those fiscal years. We adopted the ASU prospectively on January 1, 2023.  This ASU did not have a material impact on our consolidated financial statements.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">In October 2021, the FASB issued ASU No. 2021-08, Accounting for Contract Assets and Contract Liabilities from Contracts with Customers (Topic 805). This ASU requires an acquirer in a business combination to recognize and measure contract assets and contract liabilities (deferred revenue) from acquired contracts using the revenue recognition guidance in Topic 606. At the acquisition date, the acquirer applies the revenue model as if it had originated the acquired contracts. The ASU is effective for annual periods beginning after December 15, 2022, including interim periods within those fiscal years. We adopted this ASU prospectively on January 1, 2023. This ASU did not have a material impact on our consolidated financial statements.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">In August 2020, the FASB issued ASU No. 2020-06, Debt—Debt with Conversion and Other Options (Subtopic 470-20) and Derivatives and Hedging—Contracts in Entity’s Own Equity (Subtopic 815-40): Accounting for Convertible Instruments and Contracts in an Entity’s Own Equity. ASU 2020-06 was issued to reduce the complexity associated with accounting for certain financial instruments with characteristics of liabilities and equity. ASU 2020-06 reduces the number of accounting models for convertible debt instruments and convertible preferred stock and improves the disclosures for convertible instruments and related earnings per share guidance. ASU 2020-06 also amends the guidance for the derivatives scope exception for contracts in an entity’s own equity and improves and amends the related earnings per share guidance. For public entities that qualify as a filer with the SEC, excluding entities eligible to be smaller reporting companies, ASU 2020-06 is effective for fiscal annual periods beginning after December 15, 2021, including interim periods within those fiscal years. For nonpublic entities, ASU 2020-06 is effective for fiscal years beginning after December 15, 2023, including interim periods within those fiscal years. Early adoption was permitted, but no earlier than fiscal years beginning after December 15, 2020, including interim periods within those fiscal years. ASU 2020-06 must be adopted as of the beginning of a company’s annual fiscal year. ASU 2020-06 may be adopted through either a modified retrospective method of transition or a fully retrospective method of transition. The Company adopted ASU 2020-06 on January 1, 2021. The adoption did not have an impact on our consolidated financial statements.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">In June 2016, the FASB issued ASU 2016-13, Financial Instruments-Credit Losses (“ASU 2016-13”), which provides new authoritative guidance with respect to the measurement of credit losses on financial instruments. This update changes the impairment model for most financial assets and certain other instruments by introducing a current expected credit loss (“CECL”) model. The CECL model is a more forward-looking approach based on expected losses rather than incurred losses, requiring entities to estimate and record losses expected over the remaining contractual life of an asset. ASU 2016-13 is effective for fiscal years beginning after December 15, 2022, including interim periods within those fiscal years for smaller reporting companies. The Company adopted ASU 2016-13 on January 1, 2023. The adoption did not have an impact on our consolidated financial statements.</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>NOTE 3. INVENTORIES</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">Inventories consist of the following at (rounded to the nearest thousandth):</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31, 2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31, 2022</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Finished goods</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">3,980,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">3,929,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Raw Materials</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">742,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">662,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Inventory Reserve</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(95,000</td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(95,000</td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Inventory, net</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">4,627,000</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">4,496,000</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr></tbody></table> <table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31, 2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31, 2022</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Finished goods</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">3,980,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">3,929,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Raw Materials</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">742,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">662,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Inventory Reserve</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(95,000</td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(95,000</td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Inventory, net</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">4,627,000</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">4,496,000</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr></tbody></table> 3980000 3929000 742000 662000 95000 95000 4627000 4496000 <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>NOTE 4. VENDOR DEPOSITS</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">On December 31, 2023 and December 31, 2022, we maintained vendor deposits of $29,335 and $447,052, respectively, for open purchase orders for inventory.</p> 29335 447052 <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>NOTE 5. PROPERTY AND EQUIPMENT</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;"> Property and equipment consist of the following at:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31, 2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31, 2022</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Furniture and fixtures</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">364,819</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">364,819</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Equipment</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">2,269,185</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">2,236,510</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Vehicles</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">66,170</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">60,703</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Computer and software</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">306,556</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">246,638</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Leasehold improvements</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">393,381</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">393,381</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Tenant Improvement Allowance  </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">405,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">405,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Total Property and Equipment</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">3,805,111</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">3,707,051</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Less: Accumulated depreciation</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">2,756,469</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">2,371,720</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Property and Equipment, net</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">1,048,642</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">1,335,331</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">For the years ended December 31, 2023 and 2022, depreciation was $345,556 and $314,669, respectively. For the years ended December 31, 2023 and 2022, amortization of tenant improvement allowance was $39,194 and was recorded as lease expense and included within general and administrative expense on the consolidated statement of operations.</p> <table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31, 2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31, 2022</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Furniture and fixtures</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">364,819</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">364,819</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Equipment</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">2,269,185</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">2,236,510</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Vehicles</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">66,170</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">60,703</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Computer and software</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">306,556</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">246,638</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Leasehold improvements</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">393,381</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">393,381</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Tenant Improvement Allowance  </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">405,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">405,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Total Property and Equipment</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">3,805,111</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">3,707,051</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Less: Accumulated depreciation</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">2,756,469</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">2,371,720</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Property and Equipment, net</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">1,048,642</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">1,335,331</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr></tbody></table> 364819 364819 2269185 2236510 66170 60703 306556 246638 393381 393381 405000 405000 3805111 3707051 2756469 2371720 1048642 1335331 345556 314669 39194 <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>NOTE 6. INTANGIBLE ASSETS</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">Intangible assets consist of patents and trademarks related to our Binary Ionization Technology. We amortize the patents over the estimated remaining lives of the related patents. The trademarks have an indefinite life. Amortization expense was $21,121 and $14,495 for the years ended December 31, 2022 and 2021, respectively.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Definite life intangible assets consist of the following:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31, 2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31, 2022</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Intellectual Property and Patents </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">3,196,396</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">3,108,063</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Less: Accumulated Amortization </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">2,904,013</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">2,882,892</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Patents, net</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">292,383</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">225,171</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">Indefinite life intangible assets consist of the following:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Trademarks</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: black 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: black 1px solid;width:9%;vertical-align:bottom;text-align:right;">830,863</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: black 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: black 1px solid;width:9%;vertical-align:bottom;text-align:right;">800,565</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Total Intangible Assets, net</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">1,123,246</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">1,025,736</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">Approximate future amortization is as follows (rounded to nearest thousandth):</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">  </p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Year Ended</strong><strong>:</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Amount</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 15px; text-align:justify;">December 31, 2024</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">20,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 15px; text-align:justify;">December 31, 2025</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">20,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 15px; text-align:justify;">December 31, 2026</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">20,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 15px; text-align:justify;">December 31, 2027</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">20,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 15px; text-align:justify;">December 31, 2028</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">20,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 15px; text-align:justify;">Thereafter</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">192,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 15px; text-align:justify;">Total</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">292,000</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr></tbody></table> 21121 14495 <table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31, 2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31, 2022</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Intellectual Property and Patents </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">3,196,396</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">3,108,063</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Less: Accumulated Amortization </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">2,904,013</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">2,882,892</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Patents, net</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">292,383</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">225,171</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr></tbody></table> 3196396 3108063 2904013 2882892 292383 225171 <table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Trademarks</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: black 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: black 1px solid;width:9%;vertical-align:bottom;text-align:right;">830,863</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: black 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: black 1px solid;width:9%;vertical-align:bottom;text-align:right;">800,565</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Total Intangible Assets, net</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">1,123,246</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">1,025,736</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr></tbody></table> 830863 800565 1123246 1025736 <table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Year Ended</strong><strong>:</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Amount</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 15px; text-align:justify;">December 31, 2024</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">20,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 15px; text-align:justify;">December 31, 2025</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">20,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 15px; text-align:justify;">December 31, 2026</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">20,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 15px; text-align:justify;">December 31, 2027</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">20,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 15px; text-align:justify;">December 31, 2028</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">20,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 15px; text-align:justify;">Thereafter</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">192,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 15px; text-align:justify;">Total</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">292,000</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr></tbody></table> 20000 20000 20000 20000 20000 192000 292000 <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>NOTE 7. LEASES</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">In April 2018, we entered into a 10-year lease agreement for a new 9,000-square-foot facility that contains office, warehouse, lab and research and development space in Frederick, Maryland. The lease agreement commenced in December 2018 when the property was ready for occupancy. The agreement provided for annual rent of $143,460, an escalation clause that increases the rent 3% year over year, a landlord tenant improvement allowance of $405,000 and additional landlord work as discussed in the lease agreement. We took occupancy of the property on December 17, 2018 and the lease was amended in March 2019 to provide for a 4-month rent holiday and a commencement date of April 1, 2019. A 7% discount rate was determined using our incremental borrowing rate based on the information available at adoption date in determining the present value of lease payments. Lease expense for operating lease payments is recognized on a straight-line basis over the lease term.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">The balances for our operating lease where we are the lessee are presented as follows within our consolidated balance sheet:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Operating leases:</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31, 2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31, 2022</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Assets:</strong></p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Operating lease right-of-use asset</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">467,935</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">528,996</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Liabilities:</strong></p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Current Portion of Long-Term Operating Lease</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">115,658</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">100,282</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Long-Term Operating Lease, Net of Current Portion</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">642,527</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">761,132</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Total</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">758,185</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">861,414</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">The components of lease expense are as follows within our consolidated statement of operations:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>For the Year Ended December 31, 2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>For the Year Ended December 31, 2022</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Operating lease expense</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">157,315</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">157,315</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">Other information related to leases where we are the lessee is as follows:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31, 2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31, 2022</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td colspan="9"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Weighted-average remaining lease term:</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Operating leases</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"> 5.00 years  </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"> 6.00 years  </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Discount rate:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Operating leases</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">7.00</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">7.00</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">Supplemental cash flow information related to leases where we are the lessee is as follows:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>For the Year Ended December 31, 2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>For the Year Ended December 31, 2022</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Cash paid for amounts included in the measurement of lease liabilities:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">160,290</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">155,621</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">As of December 31, 2023, the maturities of our operating lease liability are as follows:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Year Ended:</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Operating Lease</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">December 31, 2024</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">165,098</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">December 31, 2025</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">170,051</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">December 31, 2026</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">175,153</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">December 31, 2027</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">180,408</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">December 31, 2028</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">185,819</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Thereafter </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">33,751</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Total minimum lease payments</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">910,281</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Less:  Interest </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">152,096</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Present value of lease obligations</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">758,185</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Less: Current portion</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">115,658</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Long-term portion of lease obligations</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">642,527</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr></tbody></table> P10Y 9000 143460 0.03 405000 0.07 <table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Operating leases:</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31, 2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31, 2022</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Assets:</strong></p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Operating lease right-of-use asset</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">467,935</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">528,996</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Liabilities:</strong></p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Current Portion of Long-Term Operating Lease</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">115,658</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">100,282</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Long-Term Operating Lease, Net of Current Portion</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">642,527</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">761,132</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Total</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">758,185</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">861,414</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr></tbody></table> 467935 528996 115658 100282 642527 761132 758185 861414 <table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>For the Year Ended December 31, 2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>For the Year Ended December 31, 2022</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Operating lease expense</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">157,315</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">157,315</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr></tbody></table> 157315 157315 <table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31, 2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31, 2022</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td colspan="9"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Weighted-average remaining lease term:</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Operating leases</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"> 5.00 years  </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"> 6.00 years  </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Discount rate:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Operating leases</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">7.00</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">7.00</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td></tr></tbody></table> 5.00 6.00 0.0700 0.0700 <table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>For the Year Ended December 31, 2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>For the Year Ended December 31, 2022</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Cash paid for amounts included in the measurement of lease liabilities:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">160,290</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">155,621</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr></tbody></table> 160290 155621 <table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Year Ended:</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Operating Lease</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">December 31, 2024</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">165,098</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">December 31, 2025</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">170,051</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">December 31, 2026</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">175,153</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">December 31, 2027</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">180,408</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">December 31, 2028</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">185,819</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Thereafter </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">33,751</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Total minimum lease payments</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">910,281</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Less:  Interest </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">152,096</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Present value of lease obligations</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">758,185</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Less: Current portion</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">115,658</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Long-term portion of lease obligations</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">642,527</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr></tbody></table> 165098 170051 175153 180408 185819 33751 910281 152096 758185 115658 642527 <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>NOTE 8. CAPITALIZED SOFTWARE DEVELOPMENT COSTS</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">In accordance with ASC 985-20 we capitalized certain software development costs associated with updating our continuing line of product offerings. Capitalized software development costs consist of the following at:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>    December 31, 2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31, 2022</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Capitalized Software Development Costs </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">125,704</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">125,704</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Less:  Accumulated Amortization </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(125,704</td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(125,704</td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Capitalized Software Development Costs - net</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">Amortization expense for the years ended December 31, 2023 and 2022 was $0 and $10,475, respectively.</p> <table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>    December 31, 2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31, 2022</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Capitalized Software Development Costs </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">125,704</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">125,704</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Less:  Accumulated Amortization </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(125,704</td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(125,704</td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Capitalized Software Development Costs - net</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr></tbody></table> 125704 125704 125704 125704 0 0 0 10475 <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>NOTE 9. </strong><strong>CLOUD COMPUTING SERVICE CONTRACT</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">In May 2020 we entered into a cloud computing service contract with a vendor. The contract provides for annual payments in the amount of $30,409 and has a term of 5 years. The annual contract payments are capitalized as a prepaid expense and amortized over a twelve-month period.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">We have incurred implementation costs of $66,857 in connection with the cloud computing service contract which have been capitalized in prepaid expenses and other assets as of December 31, 2023. In accordance with ASU No. 2018-15, such implementation costs are being amortized over the remaining contract terms beginning January 1, 2021, which was when the cloud-based service contract was placed in service. Amortization expense for the years ended December 31, 2023 and 2022 were $15,063 and $15,027, respectively.</p> 30409 P5Y 66857 15063 15027 <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>NOTE 10. CONVERTIBLE DEBT</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="font-size:10pt;font-family:times new roman;margin:0px;text-indent:36pt">On October and November 2023, we entered into a Securities Purchase Agreement (the “SPA”) with certain accredited investors (collectively, the “Investors”) pursuant to which we agreed to sell and issue to the Investors in a private placement transaction (the “Private Placement”) in one or more closings up to an aggregate principal amount of $5,000,000 of Convertible Notes (the “Notes”).  As of December 31, 2023, we issued and sold an aggregate of $2,600,000 of Notes to certain Investors pursuant to the SPA.</p><p style="font-size:10pt;font-family:times new roman;margin:0px;text-indent:36pt"> </p><p style="font-size:10pt;font-family:times new roman;margin:0px;text-indent:45px">In October and November 2023, we  sold and issued pursuant to the  SPA convertible promissory notes (the “Notes”) to purchase an aggregate of 2,080,000 shares of common stock at an exercise price of $1.25 per share in exchange for aggregate gross proceeds of $2,600,000. The Notes mature and are due on the fifth anniversary of the issuance date in October and November of 2028. The Notes bear simple interest at a rate of 12% per annum, payable in equal monthly installments. The Notes are convertible into shares of our Common Stock, at the option of the holder, at a conversion price of $1.25 per share, which shall not exceed $1.55 per share. In addition, we can require Investors to convert the Notes at the then current conversion price at any time after 90 days from the issue date if the Common Stock has a closing bid price of $1.55 per share or higher on any twenty (20) days within a thirty (30) day period of consecutive trading days, or if a “fundamental change” occurs (as defined in the Securities Purchase Agreement). The Notes are unsecured and senior to other indebtedness subject to certain exceptions. Interest expense related to the Notes for the years ended December 31, 2023 and 2022 was $54,892 and $0, respectively.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">Amortization of deferred financing costs were $10,413 and $0 for the years ended December 31, 2023 and 2022, respectively, which has been included with interest expense on the statement of operations. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">Convertible notes consist of the following at:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: #000000 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: #000000 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2022</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Convertible notes</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">2,600,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Less: Debt issuance costs </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(312,398</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Accumulated amortization</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">10,413</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Convertible notes, net</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">2,298,015</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr></tbody></table> 5000000 2600000 2080000 1.25 2600000 0.12 The Notes are convertible into shares of our Common Stock, at the option of the holder, at a conversion price of $1.25 per share, which shall not exceed $1.55 per share. In addition, we can require Investors to convert the Notes at the then current conversion price at any time after 90 days from the issue date if the Common Stock has a closing bid price of $1.55 per share or higher on any twenty (20) days within a thirty (30) day period of consecutive trading days, or if a “fundamental change” occurs (as defined in the Securities Purchase Agreement) 54892 0 10413 0 <table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: #000000 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: #000000 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2022</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Convertible notes</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">2,600,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Less: Debt issuance costs </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(312,398</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Accumulated amortization</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">10,413</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Convertible notes, net</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">2,298,015</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr></tbody></table> 2600000 0 312398 0 10413 0 2298015 0 <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>NOTE 11. SHAREHOLDERS’ EQUITY</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">Our Board of Directors (the “Board”) may, without further action by our shareholders, from time to time, direct the issuance of any authorized but unissued or unreserved shares of preferred stock in series and at the time of issuance, determine the rights, preferences and limitations of each series. The holders of such preferred stock may be entitled to receive a preference payment in the event of any liquidation, dissolution or winding-up by us before any payment is made to the holders of our common stock. Furthermore, the Board could issue preferred stock with voting and other rights that could adversely affect the voting power of the holders of our common stock.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><em>Convertible Series A Preferred Stock</em></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">Our authorized Convertible Series A Preferred Stock, $0.01 par value, consists of 1,000,000 shares. At December 31, 2023 and 2022, there were 63,750 shares issued and outstanding. The Convertible Series A Preferred Stock is convertible at the rate of one share of common stock for one share of Convertible Series A Preferred Stock.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><em>Convertible Series B Preferred Stock</em></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">Our authorized Convertible Series B Preferred Stock, $1,000 stated value, 7.5% cumulative dividend, consists of 4,000 shares. At December 31, 2023 and 2022, there were no shares issued and outstanding, respectively. Each share of Convertible Series B Preferred Stock may be converted (at the holder’s election) into two hundred shares of our common stock.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><em>Common Stock</em></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">In January 2022, we issued 51,750 shares of common stock valued at approximately $54,000 to members of our Board pursuant to our equity plan (see Note 12). </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">In January 2023, we issued 60,000 shares of Common Stock valued at approximately $51,000 to members of our Board pursuant to our equity plan (see Note 12).</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><em>Stock Options</em></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">  In January 2022 we issued an option to purchase 172,500 shares of common stock to our Chief Executive Officer at an exercise price of $1.12 per share pursuant to an employment agreement. The option was valued at $178,281 and has a contractual term of 10 years. We utilized the Black-Scholes model to fair value the warrant received by our Chief Executive Officer with the following assumptions: volatility, 156%; expected dividend yield, 0%; risk free interest rate, 1.65%; and an expected life of 5 years. The grant date fair value of each share of common stock underlying the warrant was $1.03.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">In January 2022 we issued an option to purchase 57,500 shares of common stock to our Chief Operating Officer at an exercise price of $1.12 per share pursuant to an employment agreement. The option was valued at $59,427 and has a contractual term of 10 years. We utilized the Black-Scholes model to fair value the warrant received by our Chief Executive Officer with the following assumptions: volatility, 156%; expected dividend yield, 0%; risk free interest rate, 1.65%; and an expected life of 5 years. The grant date fair value of each share of common stock underlying the warrant was $1.03.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">In January 2022 we issued an option to purchase 40,000 shares of common stock to our Chief Financial Officer at an exercise price of $1.12 per share pursuant to an employment agreement. The option was valued at $41,340 and has a contractual term of 10 years. We utilized the Black-Scholes model to fair value the warrant received by our Chief Executive Officer with the following assumptions: volatility, 156%; expected dividend yield, 0%; risk free interest rate, 1.65%; and an expected life of 5 years. The grant date fair value of each share of common stock underlying the warrant was $1.03.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">In January 2023, we issued options to purchase 175,000 shares of Common Stock to Officers at an exercise price of $0.85 per share pursuant to an employment agreement. The options were valued at $132,361 and have a contractual term of 10 years. We utilized the Black-Scholes model to fair value the options received by Officers with the following assumptions: volatility, 139%; expected dividend yield, 0%; risk free interest rate, 3.59%; and an expected life of 5 years. The grant date fair value of each share of Common Stock underlying the options was $0.76.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">In January 2023, we issued options to purchase 42,042 shares of Common Stock to employees at an exercise prices of $0.71- $0.85 per share pursuant to an employment agreement. The options were valued at $30,925, in aggregate and have a contractual term of 10 years. We utilized the Black-Scholes model to fair value the options received by our employees with the following assumptions: volatility, 139%; expected dividend yield, 0%; risk free interest rate, 3.59%; and an expected life of 5 years. The grant date fair value of each share of Common Stock underlying the options was $0.76.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">The total stock based compensation for the years ended December 31, 2023 and 2022, was $163,286 and $653,843, respectively which has been in included within General and Administration expense in our statement of operations.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">The following table summarizes stock options outstanding as of December 31, 2023 and 2022:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: #000000 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31, 2023</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31, 2022</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Number of Options</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Weighted Average Exercise Price</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Number of Options</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Weighted Average Exercise Price</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Outstanding, beginning of period</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">413,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">1.65</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">143,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">2.66</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Granted </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">217,042</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">0.82</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">270,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">1.12</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Exercised</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Expired </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(12,500</td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Outstanding, end of period</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">617,542</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">1.38</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">413,000</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">1.65</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">Options outstanding and exercisable by price range as of December 31, 2023 were as follows:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td colspan="6"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Average</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: #000000 1px solid;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Exercisable Options</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td></td><td></td><td></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Weighted</strong></p></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td colspan="2"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Remaining</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Weighted</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td colspan="6" style="BORDER-BOTTOM: #000000 1px solid;vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Outstanding Options</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Contractual</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Average</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td colspan="2" style="BORDER-BOTTOM: #000000 1px solid;vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Range</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Number</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: #000000 1px solid;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Life in Years</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: #000000 1px solid;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Number</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: #000000 1px solid;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Exercise Price</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td style="width:17%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">0.71</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:17%;vertical-align:bottom;text-align:right;">7,042</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:17%;vertical-align:bottom;text-align:right;">4.06</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:17%;vertical-align:bottom;text-align:right;">7,042</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:17%;vertical-align:bottom;text-align:right;">0.71</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:bottom;white-space: nowrap;">$</td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">0.80</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">27,500</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">2.20</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">27,500</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="vertical-align:bottom;text-align:right;">0.80</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:bottom;white-space: nowrap;">$</td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">0.85</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">210,000</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">9.08</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">210,000</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="vertical-align:bottom;text-align:right;">0.85</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:bottom;white-space: nowrap;">$</td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">0.88</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">31,250</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">1.01</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">31,250</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="vertical-align:bottom;text-align:right;">0.88</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:bottom;white-space: nowrap;">$</td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">0.96</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">12,500</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">1.02</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">12,500</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="vertical-align:bottom;text-align:right;">0.96</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:bottom;white-space: nowrap;">$</td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">1.12</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">270,000</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">9.06</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">270,000</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="vertical-align:bottom;text-align:right;">1.12</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:bottom;white-space: nowrap;">$</td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">1.93</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">10,500</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">4.06</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">10,500</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="vertical-align:bottom;text-align:right;">1.93</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:bottom;white-space: nowrap;">$</td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">2.16</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">5,000</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">2.00</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">5,000</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="vertical-align:bottom;text-align:right;">2.16</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:bottom;white-space: nowrap;">$</td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">4.40</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">12,500</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">3.05</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">12,500</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="vertical-align:bottom;text-align:right;">4.40</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:bottom;white-space: nowrap;">$</td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">7.06</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;text-align:right;">31,250</td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;text-align:right;">2.75</td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;text-align:right;">31,250</td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;text-align:right;">7.06</td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;vertical-align:bottom;text-align:right;">617,542</td><td style="PADDING-BOTTOM: 3px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;vertical-align:bottom;text-align:right;">7.05</td><td style="PADDING-BOTTOM: 3px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;vertical-align:bottom;text-align:right;">617,542</td><td style="PADDING-BOTTOM: 3px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;vertical-align:bottom;text-align:right;">1.38</td><td style="PADDING-BOTTOM: 3px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><em>Stock Warrants</em></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">The following table summarizes the outstanding common stock warrants as of December 31, 2023 and 2022:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31, 2023</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31, 2022</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>(Unaudited)</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Weighted Average Exercise Price</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Number of Warrants</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Weighted Average Exercise Price</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Outstanding, beginning of period</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">2,792,335</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">2.25</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">3,381,021</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">2.22</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Granted </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Exercised </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(31,250</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(0.21</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Expired  </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(20,239</td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(1.11</td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(557,436</td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(2.23</td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Outstanding, end of period</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">2,772,096</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">2.25</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">2,792,335</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">2.25</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">Warrants outstanding and exercisable by price range as of December 31, 2023 were as follows:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td colspan="6" style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Outstanding Warrants</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2"></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Exercisable Warrants</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td colspan="2" style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Exercise Price</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Number</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Average Weighted</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Remaining Contractual</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Life in Years</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Number</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Weighted Average</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Exercise Price</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td style="width:17%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">0.64</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:17%;vertical-align:bottom;text-align:right;">31,250</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:17%;vertical-align:bottom;text-align:right;">9.89</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:17%;vertical-align:bottom;text-align:right;">31,250</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:17%;vertical-align:bottom;text-align:right;">0.64</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:bottom;white-space: nowrap;">$</td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">0.80</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">125,000</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">10.08</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">125,000</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="vertical-align:bottom;text-align:right;">0.80</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:bottom;white-space: nowrap;">$</td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">0.96</p></td><td style="white-space: nowrap;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">442,708</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">8.98</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">442,708</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="vertical-align:bottom;text-align:right;">0.96</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:bottom;white-space: nowrap;">$</td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">1.12</p></td><td style="white-space: nowrap;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">6,250</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">0.30</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">6,250</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="vertical-align:bottom;text-align:right;">1.12</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:bottom;white-space: nowrap;">$</td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">1.20</p></td><td style="white-space: nowrap;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">156,250</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">1.09</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">156,250</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="vertical-align:bottom;text-align:right;">1.20</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:bottom;white-space: nowrap;">$</td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">1.68</p></td><td style="white-space: nowrap;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">1,434,721</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">2.75</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">1,434,721</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="vertical-align:bottom;text-align:right;">1.68</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:bottom;white-space: nowrap;">$</td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">2.18</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">172,167</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">2.75</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">172,167</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="vertical-align:bottom;text-align:right;">2.18</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:bottom;white-space: nowrap;">$</td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">4.00</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">28,750</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">6.32</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">28,750</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="vertical-align:bottom;text-align:right;">4.00</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:bottom;white-space: nowrap;">$</td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">6.95</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">375,000</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">7.75</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">375,000</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="vertical-align:bottom;text-align:right;">6.95</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="BORDER-BOTTOM: 1px solid;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;vertical-align:bottom;text-align:right;">2,772,096</td><td style="PADDING-BOTTOM: 3px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;vertical-align:bottom;text-align:right;">4.62</td><td style="PADDING-BOTTOM: 3px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;vertical-align:bottom;text-align:right;">2,772,096</td><td style="PADDING-BOTTOM: 3px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;vertical-align:bottom;text-align:right;">2.25</td><td style="PADDING-BOTTOM: 3px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">There were no unvested warrants outstanding as of December 31, 2023.</p> 0.01 1000000 63750 4000 51750 54000 60000 51000 172500 1.12 178281 P10Y 1.56 0 0.0165 P5Y 1.03 57500 1.12 59427 P10Y 1.56 0 0.0165 P5Y 1.03 40000 1.12 41340 P10Y 1.56 0 0.0165 P5Y 1.03 175000 0.85 132361 P10Y 1.39 0 0.0359 P5Y 0.76 42042 0.71 0.85 30925 P10Y 1.39 0 0.0359 P5Y 0.76 163286 653843 <table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: #000000 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31, 2023</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31, 2022</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Number of Options</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Weighted Average Exercise Price</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Number of Options</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Weighted Average Exercise Price</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Outstanding, beginning of period</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">413,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">1.65</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">143,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">2.66</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Granted </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">217,042</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">0.82</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">270,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">1.12</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Exercised</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Expired </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(12,500</td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Outstanding, end of period</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">617,542</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">1.38</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">413,000</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">1.65</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr></tbody></table> 413000 1.65 143000 2.66 217042 0.82 270000 1.12 0 0 12500 0 0 617542 1.38 413000 1.65 <table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td colspan="6"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Average</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: #000000 1px solid;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Exercisable Options</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td></td><td></td><td></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Weighted</strong></p></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td colspan="2"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Remaining</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Weighted</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td colspan="6" style="BORDER-BOTTOM: #000000 1px solid;vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Outstanding Options</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Contractual</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Average</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td colspan="2" style="BORDER-BOTTOM: #000000 1px solid;vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Range</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Number</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: #000000 1px solid;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Life in Years</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: #000000 1px solid;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Number</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: #000000 1px solid;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Exercise Price</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td style="width:17%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">0.71</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:17%;vertical-align:bottom;text-align:right;">7,042</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:17%;vertical-align:bottom;text-align:right;">4.06</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:17%;vertical-align:bottom;text-align:right;">7,042</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:17%;vertical-align:bottom;text-align:right;">0.71</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:bottom;white-space: nowrap;">$</td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">0.80</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">27,500</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">2.20</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">27,500</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="vertical-align:bottom;text-align:right;">0.80</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:bottom;white-space: nowrap;">$</td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">0.85</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">210,000</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">9.08</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">210,000</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="vertical-align:bottom;text-align:right;">0.85</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:bottom;white-space: nowrap;">$</td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">0.88</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">31,250</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">1.01</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">31,250</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="vertical-align:bottom;text-align:right;">0.88</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:bottom;white-space: nowrap;">$</td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">0.96</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">12,500</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">1.02</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">12,500</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="vertical-align:bottom;text-align:right;">0.96</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:bottom;white-space: nowrap;">$</td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">1.12</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">270,000</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">9.06</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">270,000</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="vertical-align:bottom;text-align:right;">1.12</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:bottom;white-space: nowrap;">$</td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">1.93</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">10,500</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">4.06</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">10,500</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="vertical-align:bottom;text-align:right;">1.93</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:bottom;white-space: nowrap;">$</td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">2.16</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">5,000</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">2.00</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">5,000</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="vertical-align:bottom;text-align:right;">2.16</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:bottom;white-space: nowrap;">$</td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">4.40</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">12,500</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">3.05</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">12,500</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="vertical-align:bottom;text-align:right;">4.40</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:bottom;white-space: nowrap;">$</td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">7.06</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;text-align:right;">31,250</td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;text-align:right;">2.75</td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;text-align:right;">31,250</td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;text-align:right;">7.06</td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;vertical-align:bottom;text-align:right;">617,542</td><td style="PADDING-BOTTOM: 3px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;vertical-align:bottom;text-align:right;">7.05</td><td style="PADDING-BOTTOM: 3px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;vertical-align:bottom;text-align:right;">617,542</td><td style="PADDING-BOTTOM: 3px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;vertical-align:bottom;text-align:right;">1.38</td><td style="PADDING-BOTTOM: 3px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr></tbody></table> 7042 P4Y21D 7042 0.71 27500 P2Y2M12D 27500 0.80 210000 P9Y29D 210000 0.85 31250 P1Y3D 31250 0.88 12500 P1Y7D 12500 0.96 270000 P9Y21D 270000 1.12 10500 P4Y21D 10500 1.93 5000 P2Y 5000 2.16 12500 P3Y18D 12500 4.40 31250 P2Y9M 31250 7.06 617542 P7Y18D 617542 1.38 <table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31, 2023</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31, 2022</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>(Unaudited)</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Weighted Average Exercise Price</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Number of Warrants</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Weighted Average Exercise Price</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Outstanding, beginning of period</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">2,792,335</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">2.25</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">3,381,021</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">2.22</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Granted </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Exercised </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(31,250</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(0.21</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Expired  </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(20,239</td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(1.11</td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(557,436</td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(2.23</td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Outstanding, end of period</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">2,772,096</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">2.25</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">2,792,335</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">2.25</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr></tbody></table> 2792335 2.25 3381021 2.22 0 0 0 -31250 0.21 20239 1.11 557436 2.23 2772096 2.25 2792335 2.25 <table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td colspan="6" style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Outstanding Warrants</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2"></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Exercisable Warrants</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td colspan="2" style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Exercise Price</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Number</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Average Weighted</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Remaining Contractual</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Life in Years</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Number</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Weighted Average</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Exercise Price</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td style="width:17%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">0.64</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:17%;vertical-align:bottom;text-align:right;">31,250</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:17%;vertical-align:bottom;text-align:right;">9.89</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:17%;vertical-align:bottom;text-align:right;">31,250</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:17%;vertical-align:bottom;text-align:right;">0.64</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:bottom;white-space: nowrap;">$</td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">0.80</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">125,000</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">10.08</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">125,000</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="vertical-align:bottom;text-align:right;">0.80</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:bottom;white-space: nowrap;">$</td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">0.96</p></td><td style="white-space: nowrap;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">442,708</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">8.98</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">442,708</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="vertical-align:bottom;text-align:right;">0.96</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:bottom;white-space: nowrap;">$</td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">1.12</p></td><td style="white-space: nowrap;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">6,250</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">0.30</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">6,250</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="vertical-align:bottom;text-align:right;">1.12</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:bottom;white-space: nowrap;">$</td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">1.20</p></td><td style="white-space: nowrap;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">156,250</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">1.09</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">156,250</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="vertical-align:bottom;text-align:right;">1.20</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:bottom;white-space: nowrap;">$</td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">1.68</p></td><td style="white-space: nowrap;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">1,434,721</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">2.75</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">1,434,721</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="vertical-align:bottom;text-align:right;">1.68</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:bottom;white-space: nowrap;">$</td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">2.18</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">172,167</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">2.75</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">172,167</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="vertical-align:bottom;text-align:right;">2.18</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:bottom;white-space: nowrap;">$</td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">4.00</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">28,750</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">6.32</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">28,750</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="vertical-align:bottom;text-align:right;">4.00</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:bottom;white-space: nowrap;">$</td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">6.95</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">375,000</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">7.75</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">375,000</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="vertical-align:bottom;text-align:right;">6.95</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="BORDER-BOTTOM: 1px solid;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;vertical-align:bottom;text-align:right;">2,772,096</td><td style="PADDING-BOTTOM: 3px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;vertical-align:bottom;text-align:right;">4.62</td><td style="PADDING-BOTTOM: 3px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;vertical-align:bottom;text-align:right;">2,772,096</td><td style="PADDING-BOTTOM: 3px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;vertical-align:bottom;text-align:right;">2.25</td><td style="PADDING-BOTTOM: 3px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr></tbody></table> 31250 P9Y10M20D 31250 0.64 125000 P10Y29D 125000 0.80 442708 P8Y11M23D 442708 0.96 6250 P0Y3M18D 6250 1.12 156250 P1Y1M2D 156250 1.20 1434721 P2Y9M 1434721 1.68 172167 P2Y9M 172167 2.18 28750 P6Y3M25D 28750 4.00 375000 P7Y9M 375000 6.95 2772096 P4Y7M13D 2772096 2.25 <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>NOTE 12. COMMITMENTS AND CONTINGENCIES</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><em>Legal Contingencies</em></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">We may become a party to litigation in the normal course of business. In the opinion of management, there are no legal matters involving us that would have a material adverse effect upon our financial condition, results of operations or cash flows. In addition, from time to time, we may have to file claims against parties that infringe on our intellectual property.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><em>Product Liability</em></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">As of December 31, 2023 and 2022, there were no claims against us for product liability.</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>NOTE 13. CONTRACTS AND AGREEMENTS</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><em>Director Compensation</em></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">In January 2023, we increased the annual fee to the non-employee members of our Board to $48,000, to be paid in cash on a quarterly basis, with the exception of the audit committee chairperson, whose annual fee was increased to $54,600, also to be paid in cash on a quarterly basis. Non-employee Director compensation also includes the annual issuance of our Common Stock.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">For the year ended December 31, 2022, we issued an aggregate of 51,750 shares of Common Stock that were valued at approximately $54,000 to members of our Board.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">For the year ended December 31, 2023, we issued an aggregate of 60,000 shares of Common Stock that were valued at approximately $51,000 to members of our Board.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><em>Manufacturing Agreement</em></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">In June 2020 we entered into a manufacturing agreement with Planet Innovation Products, Pty Ltd (“PI”).  The agreement does not provide for any minimum purchase commitments and is for a term of three years. The agreement also provides for a warranty against product defects.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><em>Cloud Computing Service Contract</em></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">In May 2020 we entered into an agreement with a vendor for a cloud computing service contract. The contract provides for annual payments in the amount of $30,409 and has a term of 5 years. Approximate minimum future payments under the contract are as follows:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Year Ended</strong><strong>:</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Amount</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">December 31, 2024</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">30,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">December 31, 2025</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:left;">December 31, 2026</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: black 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: black 1px solid;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Total</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: black 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: black 3px double;width:9%;vertical-align:bottom;text-align:right;">30,000</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr></tbody></table> 48000 54600 51750 54000 60000 51000 30409 P5Y <table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Year Ended</strong><strong>:</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Amount</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">December 31, 2024</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">30,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">December 31, 2025</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:left;">December 31, 2026</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: black 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: black 1px solid;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Total</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: black 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: black 3px double;width:9%;vertical-align:bottom;text-align:right;">30,000</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr></tbody></table> 30000 0 0 30000 <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>NOTE 14. ACCRUED EXPENSES AND OTHER CURRENT LIABILITIES</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Accrued expenses and other current liabilities consisted of the following at:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31, 2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31, 2022</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Commissions</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">200,837</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">442,805</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Payroll and related costs </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">201,009</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">136,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Director fees    </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">37,650</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">34,650</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Sales Tax Payable   </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">5,707</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(1,351</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Accrued warranty (Note 15)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">30,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">68,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Allowance for Sales Returns </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">128,390</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Other accrued expenses </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">71,898</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">48,599</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Total </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">675,491</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">728,703</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr></tbody></table> <table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31, 2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31, 2022</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Commissions</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">200,837</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">442,805</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Payroll and related costs </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">201,009</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">136,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Director fees    </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">37,650</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">34,650</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Sales Tax Payable   </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">5,707</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(1,351</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Accrued warranty (Note 15)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">30,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">68,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Allowance for Sales Returns </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">128,390</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Other accrued expenses </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">71,898</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">48,599</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Total </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">675,491</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">728,703</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr></tbody></table> 200837 442805 201009 136000 37650 34650 5707 -1351 30000 68000 128390 0 71898 48599 675491 728703 <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>NOTE 15. ACCRUED WARRANTY</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">Our manufacturers assume the warranty against product defects from date of sale, which we extend to our customers upon sale of the product. We assume responsibility for product reliability and results. The warranty is generally limited to a refund of the original purchase price of the product or a replacement part. We estimate warranty costs based on historical warranty claim experience.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">The following table presents warranty reserve activities at:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31, 2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31, 2022</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Beginning accrued warranty costs</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">68,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">68,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Provision for warranty expense</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">26,911</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">24,158</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Settlement of warranty claims</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(64,911</td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(24,158</td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Ending accrued warranty costs</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">30,000</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">68,000</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr></tbody></table> <table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31, 2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31, 2022</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Beginning accrued warranty costs</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">68,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">68,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Provision for warranty expense</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">26,911</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">24,158</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Settlement of warranty claims</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(64,911</td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(24,158</td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Ending accrued warranty costs</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">30,000</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">68,000</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr></tbody></table> 68000 68000 26911 24158 -64911 -24158 30000 68000 <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>NOTE 16. INCOME TAXES</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>The Company’s income tax expense (benefit) consisted of:</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="width:9%;"></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="width:9%;"></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: #000000 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>For the Year Ended</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: #000000 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>2022</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Current:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Federal</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">State</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Foreign</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Deferred:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Federal</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">State</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Foreign</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Total</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">  </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Company’s net income (loss) before income tax consisted of: </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">  </p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: #000000 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>For the Year Ended</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2022</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">United States</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(3,402,592</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(2,880,060</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Foreign</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Total</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(3,402,592</td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(2,880,060</td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">  </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 32.05pt; text-align:justify;">Our income tax expense differed from the amounts computed by applying the United States statutory corporate income tax rate for the following reasons:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 32.05pt; text-align:justify;">On December 22, 2017, the 2017 Tax Cuts and Jobs Act (“Tax Act”) was enacted into law making significant changes to the Internal Revenue Code. Changes include, but are not limited to, a federal corporate tax rate decrease from 35% to 21% for tax years beginning after December 31, 2017, the transition of U.S. international taxation from a worldwide tax system to a territorial system and a one-time transition tax on the mandatory deemed repatriation of foreign earnings. We are required to recognize the effect of the tax law changes in the period of enactment, such as re-measuring our U.S. deferred tax assets and liabilities as well as reassessing the net realizability of our deferred tax assets and liabilities. The Tax Act did not give rise to any material impact on the consolidated balance sheets and consolidated statements of operations due to our historical loss position and the full valuation allowance on our net U.S. deferred tax assets.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 32.05pt; text-align:justify;">The reconciliation of taxes at the federal and state statutory rate to our provision for income taxes for the years ended December 31, 2023 and 2022 was as follows:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="6" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>For the Year Ended </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2022</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Income (Loss) before income tax</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(3,402,592</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(2,880,060</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">US statutory corporate income tax rate</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">28</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">%</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">28</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">%</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Income tax expense computed at US statutory corporate income tax rate</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(952,726</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(806,417</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Reconciling items:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Change in valuation allowance on deferred tax assets</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">2,121,178</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">553,005</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Provision to prior year tax return</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(1,188,884</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">36,032</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Incentive stock options and warrants</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">45,720</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">183,076</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Gain Upon Debt Extinguishment</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Meals and Entertainment</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">3,347</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Other</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(29,235</td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">34,304</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Income tax expense (benefit)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">Components of our deferred income tax assets (liabilities) are as follows:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2022</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Deferred tax assets:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Reserve for Bad Debt</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">418,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">470,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Inventory Reserve</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">27,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">27,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Accrued Vacation</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">53,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">38,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Warranty Reserve</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">8,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">19,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Intangible Assets</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">181,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">257,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Capitalized R&amp;D</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">148,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">67,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Stock-Based Compensation</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">1,246,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Operating lease right-of-use liabilities</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">212,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">241,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Net operating losses</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">5,568,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">4,639,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Valuation Allowance</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(7,539,000</td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(5,332,000</td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Deferred Tax Assets</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">322,000</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">426,000</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Deferred tax liabilities:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Operating lease right-of-use assets</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(189,000</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(217,000</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Property and Equipment</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(133,000</td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(209,000</td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(322,000</td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(426,000</td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Net Deferred Tax Assets and Liabilities</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">Deferred income tax assets and liabilities are determined based on differences between the financial statement reporting and tax bases of assets and liabilities and are measured using the enacted tax rates and laws in effect when the differences are expected to reverse. The measurement of deferred income tax assets is reduced, if necessary, by a valuation allowance for any tax benefits, which are, on a more likely than not basis, not expected to be realized; in accordance with ASC-740 guidance for income taxes. As of December 31, 2023, we recorded a valuation allowance of $7,539,000 for the portion of the deferred tax assets that we do not expect to be realized. The valuation allowance on our net deferred taxes increased by $999,000 during the year ended December 31, 2023, primarily due to U.S. deferred tax assets incurred in the current year that cannot be realized. The effect on deferred income tax assets and liabilities of a change in tax rates is recognized in the period that such tax rate changes are enacted.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">For income tax purposes in the United States, we had available federal net operating loss carryforwards (“NOL”) as of December 31, 2023 and 2022 of approximately $20,796,000 and $17,479,000 respectively to reduce future federal taxable income. For income tax purposes in the United States, we had available state NOL carryforwards as of December 31, 2023 and 2022 of approximately $17,153,000 and $13,835,000 respectively to reduce future state taxable income. If any of the NOL’s generated prior to 2018 are not utilized, they will expire at various dates through 2037. NOL’s generated after 2017 carry forward indefinitely. There may be certain limitations as to the future annual use of the NOLs due to certain changes in our ownership.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">We record uncertain tax positions in accordance with ASC 740 on the basis of a two-step process whereby (1) we determine whether it is more likely than not that the tax positions will be sustained on the basis of the technical merits of the position and (2) for those tax positions that meet the more-likely-than-not recognition threshold, we recognize the largest amount of tax benefit that is more than 50 percent likely to be realized upon ultimate settlement with the related tax authority. As of December 31, 2023, and 2022, the management of the Company determined there were no reportable uncertain tax positions.</p> <table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>The Company’s income tax expense (benefit) consisted of:</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="width:9%;"></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="width:9%;"></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: #000000 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>For the Year Ended</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: #000000 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>2022</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Current:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Federal</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">State</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Foreign</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Deferred:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Federal</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">State</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Foreign</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Total</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr></tbody></table> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 <table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: #000000 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>For the Year Ended</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2022</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">United States</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(3,402,592</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(2,880,060</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Foreign</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Total</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(3,402,592</td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(2,880,060</td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr></tbody></table> -3402592 -2880060 0 0 -3402592 -2880060 federal corporate tax rate decrease from 35% to 21% for tax years beginning after December 31, 2017 <table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="6" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>For the Year Ended </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2022</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Income (Loss) before income tax</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(3,402,592</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(2,880,060</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">US statutory corporate income tax rate</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">28</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">%</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">28</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">%</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Income tax expense computed at US statutory corporate income tax rate</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(952,726</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(806,417</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Reconciling items:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Change in valuation allowance on deferred tax assets</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">2,121,178</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">553,005</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Provision to prior year tax return</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(1,188,884</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">36,032</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Incentive stock options and warrants</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">45,720</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">183,076</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Gain Upon Debt Extinguishment</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Meals and Entertainment</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">3,347</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Other</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(29,235</td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">34,304</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Income tax expense (benefit)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr></tbody></table> -3402592 -2880060 0.28 0.28 -952726 -806417 2121178 553005 -1188884 36032 45720 183076 3347 0 -29235 34304 0 0 <table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2022</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Deferred tax assets:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Reserve for Bad Debt</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">418,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">470,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Inventory Reserve</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">27,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">27,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Accrued Vacation</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">53,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">38,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Warranty Reserve</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">8,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">19,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Intangible Assets</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">181,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">257,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Capitalized R&amp;D</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">148,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">67,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Stock-Based Compensation</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">1,246,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Operating lease right-of-use liabilities</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">212,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">241,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Net operating losses</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">5,568,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">4,639,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Valuation Allowance</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(7,539,000</td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(5,332,000</td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Deferred Tax Assets</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">322,000</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">426,000</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Deferred tax liabilities:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Operating lease right-of-use assets</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(189,000</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(217,000</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Property and Equipment</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(133,000</td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(209,000</td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(322,000</td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(426,000</td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Net Deferred Tax Assets and Liabilities</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"> </p></td></tr></tbody></table> 418000 470000 27000 27000 53000 38000 8000 19000 181000 257000 148000 67000 1246000 0 212000 241000 5568000 4639000 7539000 5332000 322000 426000 -189000 -217000 133000 209000 322000 426000 0 0 -7539000 999000 20796000 17479000 17153000 13835000 <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>NOTE 17. CUSTOMER CONCENTRATION</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">The Company had certain customers whose accounts receivable balances individually represented 10% or more of the Company’s accounts receivable.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">As of December 31, 2023, two customers accounted for 27% of our gross accounts receivable.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">As of December 31, 2022, one customer accounted for 14% of our gross accounts receivable.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">For the year ended December 31, 2023, we had 2 customers who represented 20% of revenue. For the year ended December 31, 2022, we had no customer who represented 10% or more of revenue.</p> 0.10 0.27 0.14 0.20 0.10