0000096536-22-000019.txt : 20220819 0000096536-22-000019.hdr.sgml : 20220819 20220819082152 ACCESSION NUMBER: 0000096536-22-000019 CONFORMED SUBMISSION TYPE: 10-K PUBLIC DOCUMENT COUNT: 84 CONFORMED PERIOD OF REPORT: 20220531 FILED AS OF DATE: 20220819 DATE AS OF CHANGE: 20220819 FILER: COMPANY DATA: COMPANY CONFORMED NAME: TAYLOR DEVICES INC CENTRAL INDEX KEY: 0000096536 STANDARD INDUSTRIAL CLASSIFICATION: GENERAL INDUSTRIAL MACHINERY & EQUIPMENT, NEC [3569] IRS NUMBER: 160797789 STATE OF INCORPORATION: NY FISCAL YEAR END: 0531 FILING VALUES: FORM TYPE: 10-K SEC ACT: 1934 Act SEC FILE NUMBER: 000-03498 FILM NUMBER: 221178972 BUSINESS ADDRESS: STREET 1: 90 TAYLOR DR CITY: NORTH TONAWANDA STATE: NY ZIP: 14120 BUSINESS PHONE: 7166940800 MAIL ADDRESS: STREET 1: 90 TAYLOR DR CITY: N TONAWANDA STATE: NY ZIP: 14120 10-K 1 tayd202210k.htm TDI 10-K FY 2022
0000096536 false 2022 FY Yes P4Y P4Y 0000096536 2021-06-01 2022-05-31 0000096536 2021-11-30 0000096536 2022-08-19 0000096536 2022-05-31 0000096536 2021-05-31 0000096536 2020-06-01 2021-05-31 0000096536 us-gaap:CommonStockMember 2021-05-31 0000096536 us-gaap:CommonStockMember 2020-05-31 0000096536 us-gaap:AdditionalPaidInCapitalMember 2021-05-31 0000096536 us-gaap:AdditionalPaidInCapitalMember 2020-05-31 0000096536 us-gaap:RetainedEarningsMember 2021-05-31 0000096536 us-gaap:RetainedEarningsMember 2020-05-31 0000096536 us-gaap:TreasuryStockMember 2021-05-31 0000096536 us-gaap:TreasuryStockMember 2020-05-31 0000096536 us-gaap:CommonStockMember 2021-06-01 2022-05-31 0000096536 us-gaap:CommonStockMember 2020-06-01 2021-05-31 0000096536 us-gaap:AdditionalPaidInCapitalMember 2021-06-01 2022-05-31 0000096536 us-gaap:AdditionalPaidInCapitalMember 2020-06-01 2021-05-31 0000096536 us-gaap:RetainedEarningsMember 2021-06-01 2022-05-31 0000096536 us-gaap:RetainedEarningsMember 2020-06-01 2021-05-31 0000096536 us-gaap:TreasuryStockMember 2021-06-01 2022-05-31 0000096536 us-gaap:TreasuryStockMember 2020-06-01 2021-05-31 0000096536 us-gaap:CommonStockMember 2022-05-31 0000096536 us-gaap:AdditionalPaidInCapitalMember 2022-05-31 0000096536 us-gaap:RetainedEarningsMember 2022-05-31 0000096536 us-gaap:TreasuryStockMember 2022-05-31 0000096536 2020-05-31 0000096536 tayd:StructuralSeismicWindMember 2021-06-01 2022-05-31 0000096536 tayd:StructuralSeismicWindMember 2020-06-01 2021-05-31 0000096536 tayd:AerospaceDefenseMember 2021-06-01 2022-05-31 0000096536 tayd:AerospaceDefenseMember 2020-06-01 2021-05-31 0000096536 tayd:IndustrialMember 2021-06-01 2022-05-31 0000096536 tayd:IndustrialMember 2020-06-01 2021-05-31 0000096536 2022-06-01 2027-05-31 0000096536 2019-06-01 2020-05-31 0000096536 tayd:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTwoMember 2022-05-31 0000096536 tayd:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeThreeMember 2022-05-31 0000096536 tayd:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeFourMember 2022-05-31 0000096536 tayd:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeFiveMember 2022-05-31 0000096536 tayd:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeSixMember 2022-05-31 0000096536 tayd:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeSevenMember 2022-05-31 0000096536 tayd:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeEightMember 2022-05-31 0000096536 tayd:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeNineMember 2022-05-31 0000096536 tayd:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTenMember 2022-05-31 0000096536 tayd:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTwoMember 2021-05-31 0000096536 tayd:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeThreeMember 2021-05-31 0000096536 tayd:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeFourMember 2021-05-31 0000096536 tayd:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeFiveMember 2021-05-31 0000096536 tayd:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeSixMember 2021-05-31 0000096536 tayd:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeSevenMember 2021-05-31 0000096536 tayd:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeEightMember 2021-05-31 0000096536 tayd:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeNineMember 2021-05-31 0000096536 tayd:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTenMember 2021-05-31 iso4217:USD xbrli:shares iso4217:USD xbrli:shares xbrli:pure

UNITED STATES

SECURITIES AND EXCHANGE COMMISSION

Washington, D.C. 20549

F O R M 10-K

 

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

 

For the fiscal year ended May 31, 2022

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 0-3498

 

TAYLOR DEVICES INC

(Exact name of registrant as specified in its charter)

 

NY 16-0797789

(State or other jurisdiction of

incorporation or organization)

(I.R.S. Employer

Identification No.)

 

90 Taylor Drive, North Tonawanda, NY 14120
(Address of principal executive offices) (Zip Code)

 

Registrant's telephone number, including area code   (716) 694-0800

 

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

 

Title of each class

 

Trading Symbol

 

Name of each exchange on which registered

None None None

 

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

 

Common Stock ($.025 par value)

(Title of class)

 

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

 

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

 

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

 

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

 

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

 

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 on November 30, 2021 is $38,294,000.

 

The number of shares outstanding of each of the registrant's classes of common stock as of August 19, 2022: 3,502,292.

 

Current fiscal year end date:  --05-31

Entity current reporting status:  Yes

 

 

-2

 

TAYLOR DEVICES, INC.

 

DOCUMENTS INCORPORATED BY REFERENCE

 

Documents Form 10-K Reference
   
Proxy Statement Part III, Items 10-14
   

FORM 10-K INDEX

PART I     PAGE
  Item 1.

Business.

 

4
  Item 1A. Risk Factors. 6
  Item 1B. Unresolved Staff Comments. 6
  Item 2.

Properties.

 

6
  Item 3.

Legal Proceedings.

 

6
  Item 4. Mine Safety Disclosures. 6
PART II      
  Item 5.

Market For Registrant's Common Equity, Related Stockholder Matters and Issuer Purchases of Equity Securities.

 

7
  Item 6. Selected Financial Data. 8
  Item 7.

Management's Discussion and Analysis of Financial Condition and Results of Operations.

 

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

Financial Statements and Supplementary Data.

 

17
  Item 9.

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

 

17
  Item 9A.

Controls and Procedures.

 

17
  Item 9B. Other Information. 17
PART III      
  Item 10. Directors, Executive Officers and Corporate Governance. 17
  Item 11.

Executive Compensation.

 

17
  Item 12.

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

 

17
  Item 13.

Certain Relationships and Related Transactions, and Director Independence.

 

17
  Item 14. Principal Accounting Fees and Services. 17
PART IV      
  Item 15 Exhibits and Financial Statement Schedules 18
       
SIGNATURES   22

-3

 

 

PART I

 

Item 1. Business.

 

The Company was incorporated in the State of New York on July 22, 1955 and is engaged in the design, development, manufacture and marketing of shock absorption, rate control, and energy storage devices for use in various types of machinery, equipment and structures. In addition to manufacturing and selling existing product lines, the Company continues to develop new and advanced technology products.

 

Principal Products

 

The Company manufactures and sells a group of very similar products that have many different applications for customers. These similar products are included in one of eight categories; namely, Seismic Dampers, Fluidicshoks®, Crane and Industrial Buffers, Self-Adjusting Shock Absorbers, Liquid Die Springs, Vibration Dampers, Machined Springs and Custom Actuators. Custom derivations of all of these products are designed and manufactured for many aerospace and defense applications. The following is a summary of the capabilities and applications for these products.

 

Seismic Dampers are designed to mitigate the effects of earthquakes on structures and represent a substantial part of the business of the Company. Fluidicshoks® are small, extremely compact shock absorbers with up to 19,200 inch-pound capacities, produced in 12 standard sizes for primary use in the defense, aerospace and commercial industry. Crane and industrial buffers are larger versions of the Fluidicshoks® with up to 10,890,000 inch-pound capacities, produced in more than 60 standard sizes for industrial applications on cranes and crane trolleys, truck docks, ladle and ingot cars, ore trolleys and train car stops. Self-adjusting shock absorbers, which include versions of Fluidicshoks® and crane and industrial buffers, automatically adjust to different impact conditions, and are designed for high cycle application primarily in heavy industry. Liquid die springs are used as component parts of machinery and equipment used in the manufacture of tools and dies. Vibration dampers are used primarily by the aerospace and defense industries to control the response of electronics and optical systems subjected to air, ship, or spacecraft vibration. Machined springs are precisely controlled mechanical springs manufactured from a variety of materials. These are used primarily for aerospace applications that require custom features that are not possible with conventional wound coil springs. Custom actuators are typically of the gas-charged type, using high pressure, that have custom features not available from other suppliers. These actuators are used for special aerospace and defense applications.

 

Distribution

 

The Company does not rely on sales representatives in the United States but uses the services of several representatives throughout the rest of the world. Specialized technical sales in custom marketing activities outside the U.S.A. are serviced by these sales representatives, under the direction and with the assistance of the Company's President and in-house technical sales staff. Sales representatives typically have non-exclusive agreements with the Company, which, in most instances, provide for payment of commissions on sales at 5% to 10% of the product's net aggregate selling price. A limited number of distributors also have non-exclusive agreements with the Company to purchase the Company's products for resale purposes.

 

Competition

 

The Company faces competition on mature aerospace and defense programs which may use more conventional products manufactured under less stringent government specifications. Two foreign companies and two U.S. companies are the Company's main competitors in the production of crane buffers.

 

The Company competes directly against two other firms supplying structural damping devices for use in the United States. For structural applications outside of the USA, the Company competes directly with several other firms particularly in Japan, China and Taiwan. The Company competes with numerous other firms that supply alternative seismic protection technologies.

 

Raw Materials and Supplies

 

The principal raw materials and supplies used by the Company in the manufacture of its products are provided by numerous U.S. and foreign suppliers. The loss of any one of these would not materially affect the Company's operations.

-4

 

 

Dependence Upon Major Customers

 

The Company is not dependent on any one or a few major customers. Sales to four customers approximated 37% (15%, 8%, 8%, and 5%, respectively) of net sales for 2022. The loss of any or all of these customers, unless the business is replaced by the Company, could result in an adverse effect on the results for the Company.

 

Patents, Trademarks and Licenses

 

The Company holds 6 patents expiring at different times until the year 2035.

 

Terms of Sale

 

The Company does not carry significant inventory for rapid delivery to customers, and goods are not normally sold with return rights such as are available for consignment sales. The Company had no inventory out on consignment and no consignment sales for the years ended May 31, 2022 and 2021. No extended payment terms are offered. During the year ended May 31, 2022, delivery time after receipt of orders averaged 8 to 10 weeks for the Company's standard products. Due to the volatility of structural and aerospace/defense programs, progress payments are usually required for larger projects using custom designed components of the Company.

 

Need for Government Approval of Principal Products or Services

 

Contracts between the Company and the federal government or its independent contractors are subject to termination at the election of the federal government. Contracts are generally entered into on a fixed price basis. If the federal government should limit defense spending, these contracts could be reduced or terminated, which management believes would have a materially adverse effect on the Company.

 

Research and Development

 

To accommodate growth and to maintain its presence in current markets, the Company engages in product research and development activities in connection with the design of its products.  Occasionally, research and development for products in the aerospace and defense sectors is funded by customers or the federal government.  The Company also engages in research testing of its products.  For the fiscal years ended May 31, 2022 and 2021, the Company expended $1,213,000 and $924,000, respectively, on product research.  This increase is primarily due to research and development that will aid in accommodating planned growth in multiple sectors.  For the years ended May 31, 2022 and 2021, defense sponsored research and development totaled $334,000 and $243,000, respectively.

 

Government Regulation

 

Compliance with federal, state, and local laws and regulations which have been enacted or adopted regulating the discharge of materials into the environment has had no material effect on the Company, and the Company believes that it is in substantial compliance with such provisions.

 

The Company is subject to the Occupational Safety and Health Act ("OSHA") and the rules and regulations promulgated thereunder, which establish strict standards for the protection of employees, and impose fines for violations of such standards. The Company believes that it is in substantial compliance with OSHA provisions and does not anticipate any material corrective expenditures in the near future. The Company currently incurs only moderate costs with respect to disposal of hazardous waste and compliance with OSHA regulations.

 

The Company is also subject to regulations relating to production of products for the federal government. These regulations allow for frequent governmental audits of the Company's operations and fairly extensive testing of Company products. The Company believes that it is in substantial compliance with these regulations and does not anticipate corrective expenditures in the future.

 

Employees

 

Exclusive of Company sales representatives and distributors, as of May 31, 2022, the Company had 123 employees, including five executive officers. The Company has good relations with its employees.

-5

 

 

Item 1A. Risk Factors.

 

Smaller reporting companies are not required to provide the information required by this item.

 

Item 1B. Unresolved Staff Comments.

 

Not applicable.

 

Item 2. Properties.

 

The Company's production facilities occupy approximately six acres on Tonawanda Island in North Tonawanda, New York and are comprised of four interconnected buildings and two adjacent buildings. The production facilities consist of a small parts plant (approximately 4,400 square feet), a large parts plant (approximately 13,500 square feet), and include a facility of approximately 7,000 square feet comprised of a test facility, storage area, pump area and the Company's general offices. One adjacent building is a 27,000 square foot seismic assembly and test facility. This building contains overhead traveling cranes to allow dampers to be built up to 45 ft. in length. It is also the site of two long bed damper test machines where seismic dampers Taylor Devices manufactures will be tested at maximum force to satisfy customer specifications. Another adjacent building (approximately 2,000 square feet) is used as a training facility. These facilities total more than 54,000 square feet. Adjacent to these facilities, the Company has a remote test facility used for shock testing. This state-of-the-art test facility is 1,200 square feet. The Company owns two additional industrial buildings on nine acres of land in the City of North Tonawanda located 1.4 miles from the Company’s headquarters on Tonawanda Island. Total area of the two buildings is 46,000 square feet. One building includes a machine shop containing custom-built machinery for boring, deep-hole drilling and turning of parts. Another is used for painting and packaging parts and completed units.

 

The Company's real properties are subject to a negative pledge agreement with its lender, M&T Bank. The Company has agreed with the lender that, for so long as the credit facilities with the lender are outstanding, the Company will not sell, lease or mortgage any of its real properties. Additional information regarding the Company's agreement with M&T Bank is contained in Item 7, Management's Discussion and Analysis of Financial Condition and Results of Operations, at "Capital Resources, Line of Credit and Long-Term Debt."

 

The Company believes it carries adequate insurance coverage on its facilities and their contents.

 

Item 3. Legal Proceedings.

 

There are no legal proceedings at present.

 

Item 4. Mine Safety Disclosures.

 

Not applicable.

 

-6

 

PART II

 

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

 

Market Information

 

The Company's Common Stock trades on the NASDAQ Capital Market of the National Association of Securities Dealers Automated Quotation ("NASDAQ") stock market under the symbol TAYD. The high and low sales information noted below for the quarters of fiscal year 2022 and fiscal year 2021 were obtained from NASDAQ.

 

 

   Fiscal 2022  Fiscal 2021
   High  Low  High  Low
First Quarter  $12.25   $11.21   $11.46   $8.68 
Second Quarter  $12.00   $10.93   $10.54   $8.58 
Third Quarter  $11.00   $9.88   $11.93   $9.76 
Fourth Quarter  $10.24   $8.75   $12.43   $10.58 

 

Holders

 

As of May 31, 2022, the number of issued and outstanding shares of Common Stock was 3,497,937 and the number of record holders of the Company's Common Stock was 461. A substantial number of shares of the Company's Common Stock are held in street name. The Company believes that the total number of beneficial owners of its Common Stock is less than 1,300.

 

Dividends

 

No cash or stock dividends have been declared during the last two fiscal years. The Company plans to retain cash in the foreseeable future to fund working capital needs.

 

Rights Plan

 

As of September 25, 2018, the Company's Board of Directors adopted a shareholder rights plan designed to deter coercive or unfair takeover tactics and prevent an acquirer from gaining control of the Company without offering a fair price to shareholders. Under the plan, certain rights ("Rights") were distributed as a dividend on each share of Common Stock (one Right for each share of Common Stock) held as of the close of business on October 2, 2018. Each whole Right entitles the holder, under certain defined conditions, to buy one two-thousandths (1/2000) of a newly issued share of the Company's Series A Junior Participating Preferred Stock ("Series A Preferred Stock") at a purchase price of $5.00 per unit of one two-thousandths of a share. Rights attach to and trade with the shares of Common Stock, without being evidenced by a separate certificate. No separate Rights certificates will be issued unless and until the Rights detach from Common Stock and become exercisable for shares of the Series A Preferred Stock.

 

The Rights become exercisable to purchase shares of Preferred Stock (or, in certain circumstances, Common Stock) only if (i) a person acquired 15% or more of the Company's Common Stock, or (ii) a person commenced a tender or exchange offer for 10% or more of the Company's Common Stock, or (iii) the Board of Directors determined that the beneficial owner of at least 10% of the Company's Common Stock intended to cause the Company to take certain actions adverse to it and its shareholders or that such ownership would have a material adverse effect on the Company. The Rights Plan will expire on October 5, 2028.

 

Issuer Purchases of Equity Securities

 

A share repurchase agreement with a major broker-dealer, under which the Company repurchased shares of its common stock on the open market, has been terminated by the Company. No shares have been purchased since August 2011.

 

 

-7

 

Equity Compensation Plan Information

 

The following table sets forth information regarding equity compensation plans of the Company as of May 31, 2022.

 

    Equity Compensation Plan Information

 

 

 

 

 

 

Plan Category

 

 

 

 

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

(a)

 

 

 

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

(b)

 

 

Number of securities remaining available

for future issuance under equity compensation plans (excluding securities reflected in column (a))

(c)

Equity compensation plans approved by security holders:

 

           

2008 Stock Option Plan

2012 Stock Option Plan

2015 Stock Option Plan

2018 Stock Option Plan

 

 

4,750

52,000

90,000

136,250

 

$ 8.06

$11.30

$12.72

$10.75

 

-

-

-

23,750

Equity compensation plans not approved by security holders:  

 

 

 

       
2004 Employee Stock Purchase Plan    (1)  

 

-

 

 

-

 

 

217,287

Total

 

  283,000       241,037
             
(1) The Company's 2004 Employee Stock Purchase Plan (the "Employee Plan") permits eligible employees to purchase shares of the Company's common stock at fair market value through payroll deductions and without brokers' fees.  Such purchases are without any contribution on the part of the Company.  As of May 31, 2022, 217,287 shares were available for issuance.  
               

 

Item 6. Selected Financial Data.

 

The Company qualifies as a smaller reporting company, as defined by 17 CFR §229.10(f)(1) and is not required to provide the information required by this Item.

 

Item 7. Management's Discussion and Analysis of Financial Condition and Results of Operations.

 

Cautionary Statement

 

The Private Securities Litigation Reform Act of 1995 provides a "safe harbor" for forward-looking statements. Information in this Item 7, "Management's Discussion and Analysis of Financial Condition and Results of Operations" and elsewhere in this 10-K that does not consist of historical facts are "forward-looking statements." Statements accompanied or qualified by, or containing, words such as "may," "will," "should," "believes," "expects," "intends," "plans," "projects," "estimates," "predicts," "potential," "outlook," "forecast," "anticipates," "presume," "assume" and "optimistic" constitute forward-looking statements and, as such, are not a guarantee of future performance. The statements involve factors, risks and uncertainties, the impact or occurrence of which can cause actual results to differ materially from the expected results described in such statements. Risks and uncertainties can include, among others, fluctuations in general business cycles and changing economic conditions; variations in timing and amount of customer orders; changing product demand and industry capacity; increased competition and pricing pressures; advances in technology that can reduce the demand for the Company's products, as well as other factors, many or all of which may be beyond the Company's control. Consequently, investors should not place undue reliance on forward-looking statements as predictive of future results. The Company disclaims any obligation to release publicly any updates or revisions to the forward-looking statements herein to reflect any change in the Company's expectations with regard thereto, or any changes in events, conditions or circumstances on which any such statement is based.

-8

 

Application of Critical Accounting Policies and Estimates

 

The Company's consolidated financial statements and accompanying notes are prepared in accordance with U.S. generally accepted accounting principles. The preparation of the Company's financial statements requires management to make estimates, assumptions and judgments that affect the amounts reported. These estimates, assumptions and judgments are affected by management's application of accounting policies, which are discussed in Note 1, "Summary of Significant Accounting Policies", and elsewhere in the accompanying consolidated financial statements. As discussed below, our financial position or results of operations may be materially affected when reported under different conditions or when using different assumptions in the application of such policies. In the event estimates or assumptions prove to be different from actual amounts, adjustments are made in subsequent periods to reflect more current information. Management believes the following critical accounting policies affect the more significant judgments and estimates used in the preparation of the Company's financial statements.

 

Accounts Receivable

 

Our ability to collect outstanding receivables from our customers is critical to our operating performance and cash flows. Accounts receivable are stated at an amount management expects to collect from outstanding balances. Management provides for probable uncollectible accounts through a charge to earnings and a credit to a valuation allowance based on its assessment of the current status of individual accounts after considering the age of each receivable and communications with the customers involved. Balances that are collected, for which a credit to a valuation allowance had previously been recorded, result in a current-period reversal of the earlier transaction charging earnings and crediting a valuation allowance. Balances that are still outstanding after management has used reasonable collection efforts are written off through a charge to the valuation allowance and a credit to accounts receivable in the current period. The actual amount of accounts written off over the five year period ended May 31, 2022 equaled less than 0.3% of sales for that period. The balance of the valuation allowance has increased to $16,000 at May 31, 2022 from $7,000 at May 31, 2021. Management does not expect the valuation allowance to materially change in the next twelve months for the current accounts receivable balance.

 

Inventory

 

Inventory is stated at the lower of average cost or net realizable value. Average cost approximates first-in, first-out cost.

 

Maintenance and other inventory represent stock that is estimated to have a product life-cycle in excess of twelve-months. This stock represents certain items the Company is required to maintain for service of products sold, and items that are generally subject to spontaneous ordering.

 

This inventory is particularly sensitive to technical obsolescence in the near term due to its use in industries characterized by the continuous introduction of new product lines, rapid technological advances, and product obsolescence. Therefore, management of the Company has recorded an allowance for potential inventory obsolescence. Based on certain assumptions and judgments made from the information available at that time, we determine the amount in the inventory allowance. If these estimates and related assumptions or the market changes, we may be required to record additional reserves. Historically, actual results have not varied materially from the Company's estimates.

 

During fiscal 2021, the Company began a thorough review of the facilities including the flow of inventory through the factory and warehouse areas to determine the most efficient utilization of available space. This review continued through fiscal 2022. Inventory purchasing practices and stocking levels were also evaluated and it was determined that a significant portion of the older items would be disposed of while the allowance for potential inventory obsolescence would be increased as more items are identified for disposal. There was $772,000 and $1,101,000 of inventory disposed of during the years ended May 31, 2022 and 2021. The provision for potential inventory obsolescence was zero and $1,500,000 for the years ended May 31, 2022 and 2021.

 

Revenue Recognition

 

Revenue is recognized when, or as, the Company transfers control of promised products or services to a customer in an amount that reflects the consideration to which the Company expects to be entitled in exchange for transferring those products or services.

-9

 

A performance obligation is a promise in a contract to transfer a distinct good or service to the customer and is the unit of account. A contract’s transaction price is allocated to each distinct performance obligation and recognized as revenue when, or as, the performance obligation is satisfied. The majority of our contracts have a single performance obligation as the promise to transfer the individual goods or services is not separately identifiable from other promises in the contracts which are, therefore, not distinct. Promised goods or services that are immaterial in the context of the contract are not separately assessed as performance obligations.

For contracts with customers in which the Company satisfies a promise to the customer to provide a product that has no alternative use to the Company and the Company has enforceable rights to payment for progress completed to date inclusive of profit, the Company satisfies the performance obligation and recognizes revenue over time (generally less than one year), using costs incurred to date relative to total estimated costs at completion to measure progress toward satisfying our performance obligations. Incurred cost represents work performed, which corresponds with, and thereby best depicts, the transfer of control to the customer. Contract costs include labor, material and overhead. Total estimated costs for each of the contracts are estimated based on a combination of historical costs of manufacturing similar products and estimates or quotes from vendors for supplying parts or services towards the completion of the manufacturing process. Adjustments to cost and profit estimates are made periodically due to changes in job performance, job conditions and estimated profitability, including those arising from final contract settlements. These changes may result in revisions to costs and income and are recognized in the period in which the revisions are determined. Any losses expected to be incurred on contracts in progress are charged to operations in the period such losses are determined. If total costs calculated upon completion of the manufacturing process in the current period for a contract are more than the estimated total costs at completion used to calculate revenue in a prior period, then the profits in the current period will be lower than if the estimated costs used in the prior period calculation were equal to the actual total costs upon completion. Historically, actual results have not varied materially from the Company's estimates. Other sales to customers are recognized upon shipment to the customer based on contract prices and terms. In the year ended May 31, 2022, 60% of revenue was recorded for contracts in which revenue was recognized over time while 40% was recognized at a point in time. In the year ended May 31, 2021, 43% of revenue was recorded for contracts in which revenue was recognized over time while 57% was recognized at a point in time.

For financial statement presentation purposes, the Company nets progress billings against the total costs incurred and estimated earnings on uncompleted contracts. The asset, "costs and estimated earnings in excess of billings," represents revenues recognized in excess of amounts billed. The liability, "billings in excess of costs and estimated earnings," represents billings in excess of revenues recognized.

 

Income Taxes

 

The provision for income taxes provides for the tax effects of transactions reported in the financial statements regardless of when such taxes are payable. Deferred tax assets and liabilities are recognized for the expected future tax consequences of temporary differences between the tax and financial statement basis of assets and liabilities. The deferred tax assets relate principally to asset valuation allowances such as inventory obsolescence reserves and bad debt reserves and also to liabilities including warranty reserves, accrued vacation, accrued commissions and others. The deferred tax liabilities relate primarily to differences between financial statement and tax depreciation. Deferred taxes are based on tax laws currently enacted with tax rates expected to be in effect when the taxes are actually paid or recovered.

 

Realization of the deferred tax assets is dependent on generating sufficient taxable income at the time temporary differences become deductible. The Company provides a valuation allowance to the extent that deferred tax assets may not be realized. A valuation allowance has not been recorded against the deferred tax assets since management believes it is more likely than not that the deferred tax assets are recoverable. The Company considers future taxable income and potential tax planning strategies in assessing the need for a potential valuation allowance. In future years the Company will need to generate approximately $4.2 million of taxable income in order to realize our deferred tax assets recorded as of May 31, 2022 of $876,000. This deferred tax asset balance is 7% ($61,000) more than at the end of the prior year. The amount of the deferred tax assets considered realizable however, could be reduced in the near term if estimates of future taxable income are reduced. If actual results differ from estimated results or if the Company adjusts these assumptions, the Company may need to adjust its deferred tax assets or liabilities, which could impact its effective tax rate.

 

The Company's practice is to recognize interest related to income tax matters in interest income / expense and to recognize penalties in selling, general and administrative expenses.

 

The Company and its subsidiary file consolidated Federal and State income tax returns. As of May 31, 2022, the Company had State investment tax credit carryforwards of approximately $389,000 expiring through May 2027.

-10

 

Results of Operations

 

A summary of the period-to-period changes in the principal items included in the consolidated statements of income is shown below:

 

Summary comparison of the years ended May 31, 2022 and 2021
   Increase /
   (Decrease)
Sales, net  $8,357,000 
Cost of goods sold  $2,904,000 
Selling, general and administrative expenses  $628,000 
Income before provision for income taxes  $1,875,000 
Provision for income taxes  $698,000 
Net income  $1,177,000 

 

For the year ended May 31, 2022 (All figures being discussed are for the year ended May 31, 2022 as compared to the year ended May 31, 2021.)

   Year ended May 31  Change
   2022  2021  Amount  Percent
Net Revenue  $30,867,000   $22,510,000   $8,357,000    37%
Cost of sales   22,239,000    19,335,000    2,904,000    15%
Gross profit  $8,628,000   $3,175,000   $5,453,000    172%
… as a percentage of net revenues   28%   14%          
                     

 

The Company's consolidated results of operations showed a 37% increase in net revenues and an increase in net income of 110%. Revenues recorded in the current period for long-term construction projects (“Project(s)”) were 92% more than the level recorded in the prior year. We had 45 Projects in process during the current period compared with 41 during the same period last year. Revenues recorded in the current period for other-than long-term construction projects (non-projects) were 4% less than the level recorded in the prior year. The number of Projects in-process fluctuates from period to period. The changes from the prior period to the current period are not necessarily representative of future results.

 

Sales of the Company's products are made to three general groups of customers: industrial, structural and aerospace / defense. The Company saw a 60% increase from last year’s level in sales to structural customers who were seeking seismic / wind protection for either construction of new buildings and bridges or retrofitting existing buildings and bridges along with a 22% increase in sales to customers in aerospace / defense and a 1% decrease in sales to customers using our products in industrial applications. The significant increase in sales to structural customers is primarily from domestic customers.

 

A breakdown of sales to these three general groups of customers, as a percentage of total net revenue for fiscal years ended May 31, 2022 and 2021 is as follows:

 

   Year ended May 31
   2022  2021
Industrial   7%   10%
Structural   53%   45%
Aerospace / Defense   40%   45%

 

-11

 

Total sales within North America increased 52% from last year. Total sales to Asia decreased 5% from the prior year. Net revenue by geographic region, as a percentage of total net revenue for fiscal years ended May 31, 2022 and 2021 is as follows:

 

   Year ended May 31
   2022  2021
North America   78%   70%
Asia   14%   20%
Other   8%   10%

 

The gross profit as a percentage of net revenue of 28% in the current period is double the 14% recorded in the same period of the prior year. The significant increase in gross profit as a percentage of revenue is primarily due to the increase in domestic sales to structural customers. The prior year results were adversely affected by the pandemic.

 

At May 31, 2021, we had 132 open sales orders in our backlog with a total sales value of $22.0 million. At May 31, 2022, we had 135 open sales orders in our backlog with a total sales value of $23.7 million. $7.6 million of the current backlog is on Projects already in progress. $9.3 million of the $22.0 million sales order backlog at May 31, 2021 was in progress at that date. 41% of the sales value in the backlog is for aerospace / defense customers compared to 43% at the end of fiscal 2021. As a percentage of the total sales order backlog, orders from structural customers accounted for 50% at May 31, 2022 and 55% at May 31, 2021.

 

The Company's backlog, revenues, commission expense, gross margins, gross profits, and net income fluctuate from period to period. Total sales in the current period and the changes in the current period compared to the prior period, are not necessarily representative of future results.

 

Selling, General and Administrative Expenses

 

   Year ended May 31  Change
   2022  2021  Amount  Percent
Outside Commissions  $495,000   $719,000   $(224,000)   -31%
Other SG&A   5,660,000    4,808,000    852,000    18%
Total SG&A  $6,155,000   $5,527,000   $628,000    11%
… as a percentage of net revenues   20%   25%          
                     

 

Selling, general and administrative expenses increased 11% from the prior year. Outside commission expense decreased 31% from last year's level due to the significant decrease in the level of commissionable sales recorded in the current period as compared to the prior period. Other selling, general and administrative expenses increased 18% from last year. The Company reduced its reliance on outside manufacturers’ representatives in FY22 and increased its internal sales force in an effort to increase profitable sales. This is the primary reason that the level of commissionable sales has decreased while the other SG&A expenses have increased.

 

The above factors resulted in operating income of $2,473,000 for the year ended May 31, 2022, showing significant improvement from the $2,352,000 operating loss in the prior year.

 

Other income during the prior period includes $2,972,000 of financial assistance provided by the U.S. federal government as part of the Coronavirus Aid, Relief and Economic Security (CARES) Act and the Consolidated Appropriations Act of 2021 (CAA): a.) $1,462,000 of income due to the forgiveness of the loan by the Small Business Administration (SBA) under the Paycheck Protection Program (PPP), and b.) $1,510,000 of Employee Retention Credit (ERC) income. Other income during the current period includes ERC income of $54,000.

 

The Company's effective tax rate (ETR) is calculated based upon current assumptions relating to the year's operating results and various tax related items. The ETR for the fiscal year ended May 31, 2022 is 12%, compared to the ETR for the prior year of -56%.

-12

 

A reconciliation of provision for income taxes at the statutory rate to income tax provision at the Company's effective rate is as follows:

 

   2022  2021
Computed tax provision at the expected statutory rate  $538,000   $143,000 
Tax effect of permanent differences:          
Research tax credits   (275,000)   (218,000)
Foreign-derived intangible income deduction   (12,000)   —   
U.S. Government PPP loan forgiven   —      (307,000)
Other permanent differences   3,000    42,000 
Other   63,000    (41,000)
   $317,000   $(381,000)
           

 

The foreign-derived intangible income deduction is a tax deduction provided to corporations that sell goods or services to foreign customers. It became available through Public Law 115-97, known as the Tax Cuts and Jobs Act. The legislation that created the PPP and permitted the SBA to forgive loans made through the PPP also directed that the forgiven loan would not be taxable income to the recipient.

 

Stock Options

 

The Company has stock option plans which provide for the granting of nonqualified or incentive stock options to officers, key employees and non-employee directors. Options granted under the plans are exercisable over a ten-year term. Options not exercised by the end of the term expire.

 

The Company measures compensation cost arising from the grant of share-based payments to employees at fair value and recognizes such cost in income over the period during which the employee is required to provide service in exchange for the award. The Company recognized $201,000 and $154,000 of compensation cost for the years ended May 31, 2022 and 2021.

 

The fair value of each stock option grant has been determined using the Black-Scholes model. The model considers assumptions related to exercise price, expected volatility, risk-free interest rate, and the weighted average expected term of the stock option grants. The Company used a weighted average expected term. Expected volatility assumptions used in the model were based on volatility of the Company's stock price for the thirty-month period immediately preceding the granting of the options. The Company issued stock options in August 2021 and April 2022. The risk-free interest rate is derived from the U.S. treasury yield.

 

The following assumptions were used in the Black-Scholes model in estimating the fair market value of the Company's stock option grants:

   August 2021  April 2022
Risk-free interest rate:   2.875%   2.25%
Expected life of the options:   4 years    4 years 
Expected share price volatility:   32%   29%
Expected dividends:   zero    zero 
These assumptions resulted in estimated fair-market value per stock option:  $3.42   $2.52 

 

 

The ultimate value of the options will depend on the future price of the Company's common stock, which cannot be forecast with reasonable accuracy. A summary of changes in the stock options outstanding during the year ended May 31, 2022 is presented below.

      Weighted-
   Number of  Average
   Options  Exercise Price
Options outstanding and exercisable at May 31, 2021:   267,750   $11.60 
Options granted:   66,750   $10.69 
Less: Options expired:   51,500    —   
Options outstanding and exercisable at May 31, 2022:   283,000   $11.43 
Closing value per share on NASDAQ at May 31, 2022:       $9.30 

-13

 

Capital Resources, Line of Credit and Long-Term Debt

 

The Company's primary liquidity is dependent upon its working capital needs. These are primarily inventory, accounts receivable, costs and estimated earnings in excess of billings, accounts payable, accrued commissions, billings in excess of costs and estimated earnings, and debt service. The Company's primary sources of liquidity have been operations and bank financing.

 

Capital expenditures for the year ended May 31, 2022 were $1,392,000 compared to $1,622,000 in the prior year. Current year capital expenditures included new manufacturing machinery, testing equipment, paint booths system, upgrades to technology equipment and assembly / test facility improvements. The Company has commitments to make capital expenditures of approximately $1,600,000 as of May 31, 2022. These capital expenditures will be primarily for new manufacturing and testing equipment.

 

The Company has a $10,000,000 demand line of credit from a bank, with interest payable at the Company's option of 30, 60 or 90 day LIBOR rate plus 2.25%. There is no outstanding balance at May 31, 2022 or May 31, 2021. The outstanding balance on the line of credit fluctuates as the Company's various long-term projects progress. The line is secured by a negative pledge of the Company's real and personal property. This line of credit is subject to the usual terms and conditions applied by the bank and is subject to renewal annually.

 

The bank is not committed to make loans under this line of credit and no commitment fee is charged.

 

Inventory and Maintenance Inventory

   May 31, 2022  May 31, 2021  Increase /(Decrease)
Raw materials  $488,000        $503,000        $(15,000)   -3%
Work-in-process   5,166,000         5,076,000         90,000    2%
Finished goods   200,000         256,000         (56,000)   -22%
Inventory   5,854,000    84%   5,835,000    78%   19,000    0%
Maintenance and other inventory   1,107,000    16%   1,613,000    22%   (506,000)   -31%
Total  $6,961,000    100%  $7,448,000    100%  $(487,000)   -7%
                               
Inventory turnover   3.1         2.1                

 

Inventory, at $5,854,000 as of May 31, 2022, is only slightly higher than at the prior year-end. Of this, approximately 88% is work in process, 4% is finished goods, and 8% is raw materials. All of the current inventory is expected to be consumed or sold within twelve months. The level of inventory will fluctuate from time to time due to the stage of completion of the non-project sales orders in progress at the time.

 

The Company continues to rework slow-moving inventory, where applicable, to convert it to product to be used on customer orders. During fiscal 2021, the Company began a thorough review of the inventory to identify and dispose of items that had not been used for several years and were unlikely to be used in the foreseeable future. The Company disposed of approximately $772,000 and $1,101,000 of obsolete inventory during the years ended May 31, 2022 and 2021, respectively.

 

Accounts Receivable, Costs and Estimated Earnings in Excess of Billings (“CIEB”) and Billings in Excess of Costs and Estimated Earnings (“BIEC”)

 

 

   May 31, 2022  May 31, 2021  Increase /(Decrease)
Accounts and other receivables  $4,467,000   $4,121,000   $346,000    8%
Less: Other receivable   —      741,000    (741,000)   -100%
Accounts receivable   4,467,000    3,380,000    1,087,000    32%
CIEB   3,336,000    1,500,000    1,836,000    122%
Less: BIEC   1,123,000    1,362,000    (239,000)   -18%
Net  $6,680,000   $3,518,000   $3,162,000    90%
                     
Number of an average day’s sales outstanding in accounts receivable (DSO)   42    42           

-14

 

The Company combines the totals of accounts receivable, the asset CIEB, and the liability BIEC, to determine how much cash the Company will eventually realize from revenue recorded to date. As the accounts receivable figure rises in relation to the other two figures, the Company can anticipate increased cash receipts within the ensuing 30-60 days.

 

Accounts receivable of $4,467,000 as of May 31, 2022 includes approximately $190,000 of amounts retained by customers on long-term construction projects. The Company expects to collect all of these amounts, including the retained amounts, during the next twelve months. The number of an average day's sales outstanding in accounts receivable (DSO) was 42 days at May 31, 2022 and May 31, 2021. The Company expects to collect the net accounts receivable balance, including the retainage, during the next twelve months.

 

Other receivable is an amount of ERC claimed by the Company for the second calendar quarter of 2021 and was received in the third calendar quarter of 2021.

 

The status of the projects in-progress at the end of the current and prior fiscal years have changed in the factors affecting the year-end balances in the asset CIEB, and the liability BIEC:

 

   2022  2021
Number of projects in progress at year-end   19    14 
Aggregate percent complete at year-end   47%   32%
Average total value of projects in progress at year-end  $795,000   $963,000 
Percentage of total value invoiced to customer   35%   30%

 

 

There are 5 more projects in-process at the end of the current fiscal year as compared with the prior year end and the average value of those projects has decreased by 17% between those two dates.

 

As noted above, CIEB represents revenues recognized in excess of amounts billed. Whenever possible, the Company negotiates a provision in sales contracts to allow the Company to bill, and collect from the customer, payments in advance of shipments. Unfortunately, provisions such as this are often not possible. The $3,336,000 balance in this account at May 31, 2022 is a 122% increase from the prior year-end. This increase reflects the higher aggregate level of the percentage of completion of these Projects as of the current year end as compared with the Projects in process at the prior year end. Generally, if progress billings are permitted under the terms of a project sales agreement, then the more complete the project is, the more progress billings will be permitted. The Company expects to bill the entire amount during the next twelve months. 58% of the CIEB balance as of the end of the last fiscal quarter, February 28, 2022, was billed to those customers in the current fiscal quarter ended May 31, 2022. The remainder will be billed as the projects progress, in accordance with the terms specified in the various contracts.

 

The year-end balances in the CIEB account are comprised of the following components:

 

   May 31, 2022  May 31, 2021
Costs  $3,250,000   $2,362,000 
Estimated earnings   2,642,000    410,000 
Less: Billings to customers   2,556,000    1,272,000 
CIEB  $3,336,000   $1,500,000 
Number of projects in progress   11    9 

 

As noted above, BIEC represents billings to customers in excess of revenues recognized. The $1,123,000 balance in this account at May 31, 2022 is in comparison to a $1,362,000 balance at the end of the prior year. The balance in this account fluctuates in the same manner and for the same reasons as the account "costs and estimated earnings in excess of billings," discussed above. Final delivery of product under these contracts is expected to occur during the next twelve months.

-15

 

 

The year-end balances in this account are comprised of the following components:

 

   May 31, 2022  May 31, 2021
Billings to customers  $2,711,000   $2,741,000 
Less:  Costs   1,019,000    1,011,000 
Less: Estimated earnings   569,000    368,000 
BIEC  $1,123,000   $1,362,000 
Number of projects in progress   8    5 

 

 

Accounts payable, at $1,427,000 as of May 31, 2022, is 20% less than the prior year-end. This decrease is normal fluctuation of this account and is not considered to be unusual. The Company expects the current accounts payable amount to be paid during the next twelve months.

 

Commission expense on applicable sales orders is recognized at the time revenue is recognized. The commission is paid following receipt of payment from the customers. Accrued commissions as of May 31, 2022 are $85,000. This is 68% less than the $269,000 accrued at the prior year-end. This decrease is generally due to the decrease in the level of commissionable sales, discussed above. The Company expects the current accrued amount to be paid during the next twelve months.

 

Other accrued expenses of $3,329,000 increased 94% from the prior year level of $1,715,000. This increase is due to increases in customer prepayments on projects not yet started along with an increase in accrued incentive compensation resulting from increased earnings and sales order bookings.

 

Management believes that the Company's cash on hand, cash flows from operations, and borrowing capacity under the bank line of credit will be sufficient to fund ongoing operations and capital improvements for the next twelve months.

 

-16

 

 

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

 

Smaller reporting companies are not required to provide the information required by this item.

 

Item 8. Financial Statements and Supplementary Data.

 

The financial statements and supplementary data required pursuant to this Item 8 are included in this Form 10-K as a separate section commencing on page 25 and are incorporated herein by reference.

 

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

 

There have been no disagreements between the Company and its accountants as to matters which require disclosure.

 

Item 9A. Controls and Procedures.

 

(a)        Evaluation of disclosure controls and procedures.

 

The Company's principal executive officer and principal financial officer have evaluated the Company's disclosure controls and procedures as of May 31, 2022 and have concluded that, as of the evaluation date, the disclosure controls and procedures were effective to ensure that information required to be disclosed in the reports that the Company files or submits under the Exchange Act is recorded, processed, summarized and reported, within the time periods specified in the Commission's rules and forms and that information required to be disclosed in the reports the Company files or submits under the Exchange Act is accumulated and communicated to our management, including our chief executive officer and chief financial officer, to allow timely decisions regarding required disclosure.

 

(b)       Management's report on internal control over financial reporting.

 

The Company's management, with the participation of the Company's principal executive officer and principal financial officer, is responsible for establishing and maintaining adequate internal control over financial reporting. The Company's management has assessed the effectiveness of the Company's internal control over financial reporting as of May 31, 2022. In making this assessment, management used the criteria set forth by the Committee of Sponsoring Organizations of the Treadway Commission (COSO) in Internal Control -- Integrated Framework, updated in 2013. Based on this assessment management has concluded that, as of May 31, 2022, the Company's internal control over financial reporting is effective based on those criteria.

 

(c) Changes in internal control over financial reporting.

 

There have been no changes in the Company's internal controls over financial reporting that occurred during the fiscal year ended May 31, 2022 that have materially affected, or are reasonably likely to materially affect, the Company's control over financial reporting.

 

 

Item 9B. Other Information.

 

None.

 

PART III

 

The information required by Items 10, 11, 12, 13 and 14 of this part will be presented in the Company's Proxy Statement to be issued in connection with the Annual Meeting of Shareholders to be held on October 21, 2022, which information is hereby incorporated by reference into this Annual Report. The proxy materials, including the Proxy Statement and form of proxy, will be filed within 120 days after the Company's fiscal year end.

 

 

-17

 

PART IV

 

Item 15. Exhibits and Financial Statement Schedules.

 

DOCUMENTS FILED AS PART OF THIS REPORT:
 

Index to Financial Statements:

 

    (i)

Report of Independent Registered Public Accounting Firm (PCAOB ID: 130)

 

    (ii)

Consolidated Balance Sheets as of May 31, 2022 and 2021

 

    (iii) Consolidated Statements of Income for the years ended May 31, 2022 and 2021
    (iv)

Consolidated Statements of Stockholders' Equity for the years ended May 31, 2022 and 2021

 

    (v)

Consolidated Statements of Cash Flows for the years ended May 31, 2022 and 2021

 

    (vi) Notes to Consolidated Financial Statements - May 31, 2022 and 2021
EXHIBITS:
  3

Articles of incorporation and by-laws

 

    (i)

Restated Certificate of Incorporation incorporated by reference to Exhibit (3)(i) of Annual Report on Form 10-K, dated August 24, 1983.

 

    (ii)

Amendment to Certificate of Incorporation incorporated by reference to Exhibit (3)(iv) to Form 8 [Amendment to Application or Report], dated September 24, 1993.

 

    (iii)

Amendment to Certificate of Incorporation eliminating and re-designating the Series A Junior Preferred Stock and creating 5,000 Series 2008 Junior Participating Preferred Stock, at $.05 par value, as filed by the Secretary of State of the State of New York on September 16, 2008, and incorporated by reference to Exhibit (3)(i) of Form 8-K, dated as of September 15, 2008 and filed September 18, 2008.

 

    (iv)

Certificate of Change incorporated by reference to Exhibit (3)(i) to Quarterly Report on Form 10-QSB for the period ending November 30, 2002.

 

    (v)

By-laws and Proxy Review Guidelines incorporated by reference to Exhibit (3) to Quarterly Report on Form 10-Q for the period ending February 28, 2015, filed April 14, 2015.

 

  4

Instruments defining rights of security holders, including indentures

 

    (i)

Rights Agreement by and between registrant and Computershare Trust Company, N.A., dated as of September 25, 2018 and letter to shareholders (including Summary of Rights), dated October 5, 2018, attached as Exhibits 4 and 20, respectively, to Registration Statement on Form 8-A 12G, filed with the Securities and Exchange Commission on October 5, 2018.

 

    (ii) Description of registrant’s securities incorporated by reference to Exhibit 4(vi) to Annual Report on Form 10-K for the fiscal year ended May 31, 2019, filed August 2, 2019.
           

-18

 

 

 

10

Material Contracts

 

    (i)

2005 Taylor Devices, Inc. Stock Option Plan attached as Appendix B to Definitive Proxy Statement, filed with the Securities and Exchange Commission on September 27, 2005.

 

    (ii)

2008 Taylor Devices, Inc. Stock Option Plan attached as Appendix C to Definitive Proxy Statement, filed with the Securities and Exchange Commission on September 26, 2008.

 

    (iii)

2012 Taylor Devices, Inc. Stock Option Plan attached as Appendix C to Definitive Proxy Statement, filed with the Securities and Exchange Commission on September 21, 2012.

 

    (iv)

2015 Taylor Devices, Inc. Stock Option Plan attached as Appendix B to Definitive Proxy Statement, filed with the Securities and Exchange Commission on April 8, 2016.

 

    (v)

2018 Taylor Devices, Inc. Stock Option Plan attached as Appendix B to Definitive Proxy Statement, filed with the Securities and Exchange Commission on September 27, 2018.

 

    (vi)

The 2004 Taylor Devices, Inc. Employee Stock Purchase Plan, incorporated by reference to Exhibit 4.1 to Registration Statement on Form S-8, File No. 333-114085, filed with the Securities and Exchange Commission on March 31, 2004.

 

    (vii)

Post-Effective Amendment No. 1 to Registration Statement on Form S-8, File No. 333-114085, for the 2004 Taylor Devices, Inc. Employee Stock Purchase Plan, filed with the Securities and Exchange Commission on August 24, 2006.

 

    (viii)

Form of Indemnification Agreement between registrant and directors and executive officers, attached as Appendix A to Definitive Proxy Statement, filed with the Securities and Exchange Commission on September 27, 2007.

 

    (ix)

Management Bonus Policy dated as of March 4, 2011 between the Registrant and executive officers, incorporated by reference to Exhibit 10(i) to Quarterly Report on Form 10-Q for the period ending February 28, 2011.

 

    (x)

Negative Pledge Agreement dated August 30, 2017 by the Registrant in favor of M&T Bank, incorporated by reference to Exhibit 10(xiv) to Quarterly Report on Form 10-Q for the period ending August 31, 2017..

 

    (xi)

Employment Agreement dated as of June 14, 2018 between the Registrant and Alan R. Klembczyk, incorporated by reference to Exhibit 10(i) to Current Report on Form 8-K filed June 19, 2018.

 

    (xii)

Employment Agreement dated as of June 14, 2018 between the Registrant and Mark V. McDonough, incorporated by reference to Exhibit 10(ii) to Current Report on Form 8-K filed June 19, 2018.

 

    (xiii)

Employment Agreement dated as of August 9, 2021 between the Registrant and Timothy J. Sopko, incorporated by reference to Exhibit 10 to Current Report on Form 8-K filed August 13, 2021.

 

-19

 

  11 Statement regarding computation of per share earnings
     
    REG. 228.601(A)(11)  Statement regarding computation of per share earnings
     
    Weighted average of common stock/equivalents outstanding - fiscal year ended May 31, 2022
       
      Weighted average common stock outstanding  3,497,345
      Common shares issuable under stock option plans using treasury stock method       2,208
      Weighted average common stock outstanding assuming dilution  3,499,553
       
      Net income fiscal year ended May 31, 2022 (1) $ 2,239,423
      Weighted average common stock (2) 3,497,345  
      Basic income per common share        (1) divided by (2) $      0.64
       
      Net income fiscal year ended May 31, 2022 (3) $ 2,239,423
      Weighted average common stock outstanding assuming dilution (4) 3,499,553    
      Diluted income per common share     (3) divided by (4) $   0.64
     
    Weighted average of common stock/equivalents outstanding - fiscal year ended May 31, 2021
       
      Weighted average common stock outstanding  3,490,213
      Common shares issuable under stock option plans using treasury stock method       1,674
      Weighted average common stock outstanding assuming dilution  3,491,887
       
      Net income fiscal year ended May 31, 2021 (1) $ 1,062,895
      Weighted average common stock (2) 3,490,213  
      Basic income per common share        (1) divided by (2) $   0.30
       
      Net income fiscal year ended May 31, 2021 (3) $ 1,062,895
      Weighted average common stock outstanding assuming dilution (4) 3,491,887    
      Diluted income per common share     (3) divided by (4) $   0.30
       
  13 The Annual Report to Security Holders for the fiscal year ended May 31, 2022, attached to this Annual Report on Form 10-K.
       
  21 Subsidiaries of the registrant
    Tayco Realty Corporation is a New York corporation organized on September 8, 1977, owned by the Company.
  23 The Consent of Independent Registered Public Accounting Firm precedes the Consolidated Financial Statements.
  31 Officer Certifications
    (i) Rule 13a-14(a) Certification of Chief Executive Officer.
    (ii) Rule 13a-14(a) Certification of Chief Financial Officer.
                 

-20

 

  32 Officer Certifications
    (i) Section 1350 Certification of Chief Executive Officer.
    (ii) Section 1350 Certification of Chief Financial Officer.
  101 Interactive data files pursuant to Rule 405 of Regulation S-T:  (i) Consolidated Balance Sheets, (ii) Consolidated Statements of Income, (iii) Consolidated Statements of Stockholders’ Equity, (iv) Consolidated Statements of Cash Flows, and (v) Notes to Consolidated Financial Statements.
    101.SCH XBRL Taxonomy Extension Schema Document
    101.CAL XBRL Taxonomy Extension Calculation Linkbase Document
    101.DEF XBRL Taxonomy Extension Definition Linkbase Document
    101.LAB XBRL Taxonomy Extension Label Linkbase Document
    101.PRE XBRL Taxonomy Extension Presentation Linkbase Document
         

 

-21

 

 

 

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.

 

 

TAYLOR DEVICES, INC.  
(Registrant)  

 

 

 

 

By: /s/Timothy J. Sopko Date: August 19, 2022
  Timothy J. Sopko    
  Chief Executive Officer    
  (Principal Executive Officer)    

 

 

 

 

and

 

 

 

 

By: /s/Mark V. McDonough Date: August 19, 2022
  Mark V. McDonough    
  Chief Financial Officer    

 

 

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.

 

 

 

 

By: /s/John Burgess By: /s/Robert M. Carey
  John Burgess, Director   Robert M. Carey, Director
  August 19, 2022   August 19, 2022

 

 

 

 

 

By: /s/F. Eric Armenat By: /s/Alan R. Klembczyk
  F. Eric Armenat, Director   Alan R. Klembczyk, President and Director
  August 19, 2022   August 19, 2022

 

-22

 

 

 

[Lumsden & McCormick, LLP Letterhead]

 

 

 

 

 

 

CONSENT OF INDEPENDENT REGISTERED PUBLIC ACCOUNTING FIRM

 

 

 

 

To The Board of Directors of

Taylor Devices, Inc.

 

 

Gentlemen:

 

 

We hereby consent to the incorporation by reference in this Annual Report on Form 10-K (Commission File Number 0-3498) of Taylor Devices, Inc. of our report dated August 19, 2022 and any reference thereto in the Annual Report to Shareholders for the fiscal year ended May 31, 2022.

 

We also consent to such incorporation by reference in Registration Statement Nos. 333-114085, 333-133340, 333-155284, 333-184809, 333-210660, and 333-232121 of Taylor Devices, Inc. on Form S-8 of our report dated August 19, 2022.

 

 

/s/Lumsden & McCormick, LLP

Lumsden & McCormick, LLP

Buffalo, New York

August 19, 2022

-23

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

TAYLOR DEVICES, INC. AND SUBSIDIARY

 

CONSOLIDATED FINANCIAL STATEMENTS

 

May 31, 2022

-24

[Lumsden & McCormick, LLP Letterhead]

 

 

 

 

 

REPORT OF INDEPENDENT REGISTERED PUBLIC ACCOUNTING FIRM

 

 

 

The Board of Directors and Stockholders

Taylor Devices, Inc.

 

 

Opinion on the Financial Statements

 

We have audited the accompanying consolidated balance sheets of Taylor Devices, Inc. and Subsidiary (the Company) as of May 31, 2022 and 2021, and the related consolidated statements of income, stockholders' equity, and cash flows for the years then ended, and the related notes to the consolidated financial statements (collectively referred to as the consolidated financial statements). In our opinion, the consolidated financial statements present fairly, in all material respects, the financial condition of the Company as of May 31, 2022 and 2021, and the results of its operations and its cash flows for the years then ended in accordance with accounting principles generally accepted in the United States of America.

 

Basis for Opinion

 

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

 

We conducted our audits in accordance with the standards of the PCAOB. Those standards require that we plan and perform the audit to obtain reasonable assurance about whether the consolidated financial statements are free of material misstatement, whether due to error or fraud. The Company is not required to have, nor were we engaged to perform, an audit of its internal control over financial reporting. As part of our audits we are required to obtain an understanding of internal control over financial reporting but not for the purpose of expressing an opinion on the effectiveness of the Company’s internal control over financial reporting. Accordingly, we express no such opinion.

 

Our audits included performing procedures to assess the risks of material misstatement of the consolidated financial statements, whether due to error or fraud, and performing procedures that respond to those risks. Such procedures included examining, on a test basis, evidence regarding the amounts and disclosures in the consolidated financial statements. Our audits also included evaluating the accounting principles used and significant estimates made by management, as well as evaluating the overall financial statement presentation. 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 consolidated 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 consolidated 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 consolidated 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.

 

 

 

-25

 

 

Cost Estimates for Long-Term Contracts and Related Revenue Recognition

 

Description of the Matter

 

As more fully described in Note 1 to the consolidated financial statements, the Company recognizes revenue over time for long-term contracts as goods are produced. The Company uses costs incurred as the method to determine progress, and revenue is recognized based on costs incurred to date plus an estimate of margin at completion. The process of estimating margin at completion involves estimating the costs to complete production of goods and comparing those costs to the estimated final revenue amount. Long-term contracts are inherently uncertain in that revenue is fixed while the estimates of costs required to complete these contracts are subject to significant variability. Due to the technical performance requirements in many of these contracts, changes to cost estimates could occur, resulting in higher or lower margins when the contracts are completed.

 

Given the inherent uncertainty and significant judgments necessary to estimate future costs at completion, auditing these estimates involved a focused audit effort and a high degree of auditor judgment.

 

How We Addressed the Matter in Our Audit

 

Our auditing procedures related to the cost estimates for long-term contracts and related revenue recognition included the following, among others:

  • We evaluated the appropriateness and consistency of management’s methods used to develop its estimates.
  • We evaluated the reasonableness of judgments made and significant assumptions used by management relating to key estimates.
  • We selected a sample of executed contracts to understand the contract, perform an independent assessment of the appropriate timing of revenue recognition, and test the mathematical accuracy of revenue recognized based on costs incurred to date relative to total estimated costs at completion.
  • We performed inquiries of the Company’s project managers and others directly involved with the contracts to evaluate project status and project challenges which may affect total estimated costs to complete. We also observed the project work site when key estimates related to tangible or physical progress of the project.
  • We tested the accuracy and completeness of the data used to develop key estimates, including material, labor, overhead, and sub-contractor costs.
  • We performed retrospective reviews of prior year long-term contracts, comparing actual performance to estimated performance and the related financial statement impact, when evaluating the thoroughness and precision of management’s estimation process in previous years.

 

Valuation of Inventory

 

Description of the Matter

 

As of May 31, 2022, the Company’s inventory balance was approximately $5.9 million, net of a $100,000 allowance for obsolescence, its maintenance and other inventory balance was approximately $1.1 million, net of an approximate $1.2 million allowance for obsolescence. As discussed in Note 5, maintenance and other inventory represents certain items that are estimated to have a product life-cycle in excess of twelve months the Company is required to maintain for service of products sold and items that are generally subject to spontaneous ordering. The Company evaluates its inventory for obsolescence on an ongoing basis by considering historical usage as well as requirements for future orders.

 

Given the inherent uncertainty and significant judgments necessary to estimate potential inventory obsolescence, auditing management’s estimates involved a high degree of auditor judgment.

 

 

 

 

 

-26

 

 

How We Addressed the Matter in Our Audit

 

Our auditing procedures related to valuation of inventory included the following, among others:

  • We evaluated the appropriateness and consistency of management’s methods used to develop its estimates.
  • We evaluated the reasonableness of judgments made and significant assumptions used by management relating to key estimates.
  • We inquired of management relative to write-offs of inventory during the year.
  • We tested the completeness and accuracy of management’s schedule of inventory.
  • We developed an independent expectation of the obsolescence reserve based on our knowledge of the Company’s inventory, including analysis of slow-moving items and historical usage and compared it to actual.
  • We examined management’s lower of cost or net realizable value analysis and performed procedures to test its completeness and accuracy.
  • We selected a sample of material purchases made during the year to ensure they were included in inventory at the proper value.
  • During our physical inventory observation, we toured the Company’s warehouses and examined inventory on hand for any indications of obsolescence.

 

/s/Lumsden & McCormick, LLP

Lumsden & McCormick, LLP

 

 

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

 

Buffalo, New York

August 19, 2022

-27

 

TAYLOR DEVICES, INC. AND SUBSIDIARY      
       
Consolidated Balance Sheets      
       
May 31,  2022  2021
       
Assets      
Current assets:          
Cash and cash equivalents  $22,517,038   $20,581,604 
Short-term investments   1,097,450    1,097,012 
Accounts and other receivables, net   4,466,686    4,120,564 
Inventory   5,854,935    5,835,596 
Prepaid expenses   468,489    522,747 
Prepaid income taxes   235,947    454,778 
Costs and estimated earnings in excess of billings   3,336,474    1,499,604 
Total current assets   37,977,019    34,111,905 
           
Maintenance and other inventory, net   1,107,309    1,612,839 
Property and equipment, net   9,854,759    9,816,594 
Cash value of life insurance, net   205,359    200,538 
Deferred income taxes   74,615    190,115 
Total assets  $49,219,061   $45,931,991 
Liabilities and Stockholders' Equity          
Current liabilities:          
Accounts payable   1,426,830    1,787,325 
Accrued commissions   84,907    269,064 
Other accrued expenses   3,329,407    1,715,409 
Billings in excess of costs and estimated earnings   1,122,763    1,361,985 
Total current liabilities   5,963,907    5,133,783 
           
           
Stockholders' Equity:          
Common stock, $.025 par value, authorized 8,000,000 shares,    issued 4,056,771 and 4,055,275 shares   101,342    101,305 
Paid-in capital   10,227,916    10,010,430 
Retained earnings   35,840,898    33,601,475 
Stockholders’ equity before treasury stock   46,170,156    43,713,210 
Treasury stock – 558,834 shares at cost   (2,915,002)   (2,915,002)
Total stockholders' equity   43,255,154    40,798,208 
  Total liabilities and stockholders’ equity  $49,219,061   $45,931,991 
           
See notes to consolidated financial statements.          
           

 

-28

 

TAYLOR DEVICES, INC. AND SUBSIDIARY      
       
Consolidated Statements of Income      
       
For the years ended May 31,  2022  2021
       
       
Sales, net  $30,866,582   $22,509,641 
           
Cost of goods sold   22,239,070    19,334,950 
           
     Gross profit   8,627,512    3,174,691 
           
Selling, general and administrative expenses   6,154,735    5,526,774 
           
     Operating income (loss)   2,472,777    (2,352,083)
           
Other income          
   Interest, net   4,543    53,654 
   Paycheck Protection Program loan forgiveness         1,461,500 
   Employee Retention Credit   53,508    1,510,131 
   Miscellaneous   25,595    8,693 
Total other income   83,646    3,033,978 
           
     Income before provision for income taxes   2,556,423    681,895 
           
Provision for income taxes (benefit)   317,000    (381,000)
           
     Net income  $2,239,423   $1,062,895 
           
Basic and diluted earnings per common share  $0.64   $0.30 
           
See notes to consolidated financial statements.          
           

 

-29

 

 

TAYLOR DEVICES, INC. AND SUBSIDIARY      
       
Consolidated Statements of Shareholders’ Equity      
       
For the years ended May 31,  2022  2021
       
Common Stock          
Beginning of period  $101,305   $100,943 
Issuance of shares for employee stock purchase plan   37    37 
Issuance of shares for employee stock option plan         325 
End of period   101,342    101,305 
           
Paid-in Capital          
Beginning of period   10,010,430    9,759,063 
Issuance of shares for employee stock purchase plan   16,208    14,954 
Issuance of shares for employee stock option plan         82,070 
Stock options issued for services   201,278    154,343 
End of period   10,227,916    10,010,430 
           
Retained Earnings          
Beginning of period   33,601,475    32,538,580 
Net income   2,239,423    1,062,895 
End of period   35,840,898    33,601,475 
           
Treasury Stock          
Beginning of period   (2,915,002)   (2,861,032)
Issuance of shares for employee stock option plan         (53,970)
End of period   (2,915,002)   (2,915,002)
           
 Total stockholders' equity  $43,255,154   $40,798,208 
           

 

 

See notes to consolidated financial statements.

 

 

 

-30

 

 

TAYLOR DEVICES, INC. AND SUBSIDIARY      
       
Consolidated Statements of Cash Flows      
       
For the years ended May 31,  2022  2021
       
Operating activities:          
Net income  $2,239,423   $1,062,895 
Adjustments to reconcile net income to net cash flows from operating activities:          
Depreciation   1,347,442    1,212,713 
Stock options issued for services   201,278    154,343 
Bad debt expense         134,000 
Gain on disposal of property and equipment   (1,530)      
Provision for inventory obsolescence         1,500,000 
Deferred income taxes   115,500    (20,000)
Paycheck Protection Program loan forgiveness         (1,461,500)
Changes in other current assets and liabilities:          
Accounts and other receivables   (346,122)   1,564,907 
Inventory   486,191    2,038,052 
Prepaid expenses   54,258    (62,535)
Prepaid income taxes   218,831    (404,630)
Costs and estimated earnings in excess of billings   (1,836,870)   254,969 
Accounts payable   (360,495)   417,150 
Accrued commissions   (184,157)   (36,821)
Other accrued expenses   1,613,998    51,495 
Billings in excess of costs and estimated earnings   (239,222)   625,119 
Net operating activities   3,308,525    7,030,157 
           
Investing activities:          
Acquisition of property and equipment   (1,391,577)   (1,621,817)
Proceeds from disposal of property and equipment   7,500       
Increase in short-term investments   (438)   (25,062)
Increase in cash value of life insurance   (4,821)   (4,917)
Net investing activities   (1,389,336)   (1,651,796)
           
Financing activities:          
Proceeds from issuance of common stock   16,245    43,416 
           
Net change in cash and cash equivalents   1,935,434    5,421,777 
           
Cash and cash equivalents - beginning   20,581,604    15,159,827 
Cash and cash equivalents - ending  $22,517,038   $20,581,604 
           
See notes to consolidated financial statements.          
           

 

 

 

-31

 

TAYLOR DEVICES, INC. AND SUBSIDIARY
 
Notes to Consolidated Financial Statements
 

 

1. Summary of Significant Accounting Policies:

 

Nature of Operations:

 

Taylor Devices, Inc. (the Company) manufactures and sells a single group of very similar products that have many different applications for customers. These similar products are included in one of eight categories; namely, Seismic Dampers, Fluidicshoks®, Crane and Industrial Buffers, Self-Adjusting Shock Absorbers, Liquid Die Springs, Vibration Dampers, Machined Springs and Custom Actuators for use in various types of machinery, equipment and structures, primarily to customers which are located throughout the United States and several foreign countries. The products are manufactured at the Company's sole operating facility in the United States where all of the Company's long-lived assets reside. Management does not track or otherwise account for sales broken down by these categories.

 

76% of the Company's 2022 revenue was generated from sales to customers in the United States and 14% was from sales to customers in Asia. Remaining sales were to customers in other countries in North America, Europe, Australia, and South America.

 

68% of the Company's 2021 revenue was generated from sales to customers in the United States and 20% was from sales to customers in Asia. Remaining sales were to customers in other countries in North America, Europe and South America.

 

Principles of Consolidation:

 

The accompanying consolidated financial statements include the accounts of the Company and its wholly owned subsidiary, Tayco Realty Corporation (Realty). All inter-company transactions and balances have been eliminated in consolidation.

 

Subsequent Events:

 

The Company has evaluated events and transactions for potential recognition or disclosure in the financial statements through the date the financial statements were issued.

 

Use of Estimates:

 

The preparation of financial statements in conformity with accounting principles generally accepted in the United States of America requires management to make estimates and assumptions that affect the amounts reported in the financial statements and accompanying notes. Actual results could differ from those estimates.

 

Cash and Cash Equivalents:

 

The Company includes all highly liquid investments in money market funds in cash and cash equivalents on the accompanying balance sheets.

 

Cash and cash equivalents in financial institutions may exceed insured limits at various times during the year and subject the Company to concentrations of credit risk.

 

Short-term Investments:

 

At times, the Company invests excess funds in liquid interest earning instruments. Short-term investments at May 31, 2022 and May 31, 2021 include “available for sale” corporate bonds stated at fair value, which approximates cost. The bonds (16) mature on various dates during the period December 2022 to November 2026. Unrealized holding gains and losses would be presented as a separate component of accumulated other comprehensive income, net of deferred income taxes. Realized gains and losses on the sale of investments are determined using the specific identification method.

 

The bonds are valued using pricing models maximizing the use of observable inputs for similar securities. This includes basing value on yields currently available on comparable securities of issuers with similar credit ratings.

 

-32

Accounts and Other Receivables:

 

Accounts and other receivables are stated at an amount management expects to collect from outstanding balances. Management provides for probable uncollectible accounts through a charge to earnings and a credit to a valuation allowance based on its assessment of the current status of individual accounts. Balances that are still outstanding after management has used reasonable collection efforts are written off through a charge to the valuation allowance and a credit to the receivable.

 

Inventory:

 

Inventory is stated at the lower of average cost or net realizable value. Average cost approximates first-in, first-out cost.

 

Property and Equipment:

 

Property and equipment is stated at cost net of accumulated depreciation. Depreciation is provided primarily using the straight-line method for financial reporting purposes and accelerated methods for income tax reporting purposes. Maintenance and repairs are charged to operations as incurred; significant improvements are capitalized.

 

Cash Value of Life Insurance:

 

Cash value of life insurance is stated at the surrender value of the contracts.

 

Revenue Recognition:

 

Revenue is recognized (generally at fixed prices) when, or as, the Company transfers control of promised products or services to a customer in an amount that reflects the consideration to which the Company expects to be entitled in exchange for transferring those products or services.

A performance obligation is a promise in a contract to transfer a distinct good or service to the customer, and is the unit of account. A contract’s transaction price is allocated to each distinct performance obligation and recognized as revenue when, or as, the performance obligation is satisfied. The majority of our contracts have a single performance obligation as the promise to transfer the individual goods or services is not separately identifiable from other promises in the contracts which are, therefore, not distinct. Promised goods or services that are immaterial in the context of the contract are not separately assessed as performance obligations.

For contracts with customers in which the Company satisfies a promise to the customer to provide a product that has no alternative use to the Company and the Company has enforceable rights to payment for progress completed to date inclusive of profit, the Company satisfies the performance obligation and recognizes revenue over time (generally less than one year), using costs incurred to date relative to total estimated costs at completion to measure progress toward satisfying our performance obligations. Incurred cost represents work performed, which corresponds with, and thereby best depicts, the transfer of control to the customer. Contract costs include labor, material and overhead. Adjustments to cost estimates are made periodically, and losses expected to be incurred on contracts in progress are charged to operations in the period such losses are determined. Other sales to customers are recognized upon shipment to the customer based on contract prices and terms. In the year ended May 31, 2022, 60% of revenue was recorded for contracts in which revenue was recognized over time while 40% was recognized at a point in time. In the year ended May 31, 2021, 43% of revenue was recorded for contracts in which revenue was recognized over time while 57% was recognized at a point in time.

Progress payments are typically negotiated for longer term projects. Payments are otherwise due once performance obligations are complete (generally at shipment and transfer of title). For financial statement presentation purposes, the Company nets progress billings against the total costs incurred on uncompleted contracts. The asset, “costs and estimated earnings in excess of billings,” represents revenues recognized in excess of amounts billed. The liability, “billings in excess of costs and estimated earnings,” represents billings in excess of revenues recognized.

-33

 

If applicable, the Company recognizes an asset for the incremental material costs of obtaining a contract with a customer if the Company expects the benefit of those costs to be longer than one year and the costs are expected to be recovered. As of May 31, 2022 and 2021, the Company does not have material incremental costs on any open contracts with an original expected duration of greater than one year, and therefore such costs are expensed as incurred. These incremental costs include, but are not limited to, sales commissions incurred to obtain a contract with a customer.

 

Shipping and Handling Costs:

 

Shipping and handling costs on incoming inventory items are classified as a component of cost of goods sold, while shipping and handling costs on outgoing shipments to customers are classified as a component of selling, general and administrative expenses. The amounts of these costs classified as a component of selling, general and administrative expenses were $238,536 and $146,878 for the years ended May 31, 2022 and 2021. Shipping and handling activities that occur after the customer has obtained control of the product are considered fulfillment activities, not performance obligations.

 

Research and Development Costs:

 

Research and development costs are classified as a component of cost of sales. The amounts of these costs were $1,213,000 and $924,000 for the years ended May 31, 2022 and 2021.

 

Income Taxes:

 

The provision for income taxes provides for the tax effects of transactions reported in the financial statements regardless of when such taxes are payable. Deferred tax assets and liabilities are recognized for the expected future tax consequences of temporary differences between the tax and financial statement basis of assets and liabilities. Deferred taxes are based on tax laws currently enacted with tax rates expected to be in effect when the taxes are actually paid or recovered.

 

The Company's practice is to recognize interest related to income tax matters in interest income / expense and to recognize penalties in selling, general and administrative expenses. The Company did not have any accrued interest or penalties included in its consolidated balance sheets at May 31, 2022 and 2021. The Company recorded no interest expense or penalties in its consolidated statements of income during the years ended May 31, 2022 and 2021.

 

The Company believes it is no longer subject to examination by federal and state taxing authorities for years prior to May 31, 2019.

 

Sales Taxes:

 

Certain jurisdictions impose a sales tax on Company sales to nonexempt customers. The Company collects these taxes from customers and remits the entire amount as required by the applicable law. The Company excludes from revenues and expenses the tax collected and remitted.

 

Stock-Based Compensation:

 

The Company measures compensation cost arising from the grant of share-based payments to employees at fair value and recognizes such cost in income over the period during which the employee is required to provide service in exchange for the award. The stock-based compensation expense for the years ended May 31, 2022 and 2021 was $201,278 and $154,343.

 

-34

 

 

New Accounting Standards:

 

Any recently issued Accounting Standards Codification (ASC) guidance has either been implemented or are not significant to the Company.

 

 

2. Accounts and Other Receivables:

 

   2022  2021
Customers  $4,292,300   $3,184,970 
Customers – retention   190,492    200,956 
Gross accounts receivable   4,482,792    3,385,926 
Less allowance for doubtful accounts   16,106    6,781 
Add other receivables         741,419 
Net accounts receivable  $4,466,686   $4,120,564 

 

Retention receivable from customers represents amounts invoiced to customers where payments have been partially withheld pending completion of the project. All amounts are expected to be collected within the next fiscal year.

 

Other receivable was an amount of Employee Retention Credit claimed by the Company for the second calendar quarter of 2021 and received in the third calendar quarter of 2021.

 

3. Inventory:

 

   2022  2021
Raw materials  $488,393   $503,344 
Work-in-process   5,166,271    5,076,377 
Finished goods   300,271    355,875 
Gross inventory   5,954,935    5,935,596 
Less allowance for obsolescence   100,000    100,000 
Net inventory  $5,854,935   $5,835,596 

 

4. Costs and Estimated Earnings on Uncompleted Contracts:

 

   2022  2021
Costs incurred on uncompleted contracts  $4,268,608   $3,372,276 
Estimated earnings   3,211,392    778,011 
Total costs and estimated earnings   7,480,000    4,150,287 
Less billings to date   5,266,289    4,012,668 
Costs and estimated earnings not billed  $2,213,711   $137,619 

 

Amounts are included in the accompanying balance sheets under the following captions:

 

   2022  2021
Costs and estimated earnings in excess of billings  $3,336,474   $1,499,604 
Billings in excess of costs and estimated earnings   1,122,763    1,361,985 
Costs and estimated earnings not billed  $2,213,711   $137,619 

-35

 

The following summarizes the status of Projects in progress as of May 31, 2022 and 2021:

 

   2022  2021
Number of Projects in progress   19    14 
Aggregate percent complete   47%   32%
Aggregate amount remaining  $7,627,234   $9,333,701 
Percentage of total value invoiced to customer   35%   30%

 

The Company expects to recognize the entire remaining revenue on all open projects during the May 31, 2023 fiscal year.

 

Revenue recognized during the years ended May 31, 2022 and 2021 for amounts included in billings in excess of costs and estimated earnings as of the beginning of the year amounted to $1,420,000, and $736,866.

 

5. Maintenance and Other Inventory:

 

   2022  2021
Maintenance and other inventory  $2,334,889   $3,612,000 
Less allowance for obsolescence   1,227,580    1,999,161 
Maintenance and other inventory, net  $1,107,309   $1,612,839 

 

Maintenance and other inventory represent stock that is estimated to have a product life-cycle in excess of twelve-months. This stock represents certain items the Company is required to maintain for service of products sold, and items that are generally subject to spontaneous ordering.

 

This inventory is particularly sensitive to technical obsolescence in the near term due to its use in industries characterized by the continuous introduction of new product lines, rapid technological advances and product obsolescence. Therefore, management of the Company has recorded an allowance for potential inventory obsolescence.

 

During fiscal 2021, the Company began a thorough review of the facilities including the flow of inventory through the factory and warehouse areas to determine the most efficient utilization of available space. This review continued through fiscal 2022. Inventory purchasing practices and stocking levels were also evaluated and it was determined that a significant portion of the older items would be disposed of while the allowance for potential inventory obsolescence would be increased as more items are identified for disposal. $772,000 and $1,101,000 of inventory was disposed of during the years ended May 31, 2022 and 2021. The provision for potential inventory obsolescence was zero and $1,500,000 for the years ended May 31, 2022 and 2021.

 

6. Property and Equipment:

 

   2022  2021
Land  $195,220   $195,220 
Buildings and improvements   9,821,812    9,584,087 
Machinery and equipment   12,824,696    12,366,569 
Office furniture and equipment   2,744,400    2,536,688 
Autos and trucks   24,818    24,818 
Land improvements   483,929    476,429 
Gross property and equipment   26,094,875    25,183,811 
Less accumulated depreciation   16,240,116    15,367,217 
Property and equipment, net  $9,854,759   $9,816,594 

 

Depreciation expense was $1,347,442 and $1,212,713 for the years ended May 31, 2022 and 2021.

 

The Company has commitments to make capital expenditures of approximately $1,600,000 as of May 31, 2022.

 

-36

 

 

7. Short-Term Borrowings:

 

The Company has available a $10,000,000 demand line of credit from a bank, with interest payable at the Company's option of 30, 60 or 90 day LIBOR rate plus 2.25%. The line is secured by a negative pledge of the Company's real and personal property. This line of credit is subject to the usual terms and conditions applied by the bank and subject to renewal annually.

 

There is no amount outstanding under the line of credit at May 31, 2022 or May 31, 2021.

 

The Company uses a cash management facility under which the bank draws against the available line of credit to cover checks presented for payment on a daily basis. Outstanding checks under this arrangement totaled $193,478 and $366,209 as of May 31, 2022 and 2021. These amounts are included in accounts payable.

 

8. Other Accrued Expenses:

 

   2022  2021
Customer deposits  $1,347,709   $867,652 
Personnel costs   1,587,271    659,623 
Other   394,427    188,134 
Total other accrued expenses  $3,329,407   $1,715,409 

 

 

9. Sales:

 

The Company manufactures and sells a single group of very similar products that have many different applications for customers. These similar products are included in one of eight categories; namely, Seismic Dampers, Fluidicshoks®, Crane and Industrial Buffers, Self-Adjusting Shock Absorbers, Liquid Die Springs, Vibration Dampers, Machined Springs and Custom Actuators. Management does not track or otherwise account for sales broken down by these categories. Sales of the Company's products are made to three general groups of customers: industrial, structural and aerospace / defense. A breakdown of sales to these three general groups of customers is as follows:

 

   2022  2021
Structural  $16,267,162   $10,137,468 
Aerospace / Defense   12,440,687    10,183,399 
Industrial   2,158,733    2,188,774 
Sales, net  $30,866,582   $22,509,641 

 

Sales to a single customer approximated 15% of net sales for 2022. Sales two customers approximated 21% (11% and 10%, respectively) of net sales for 2021.

 

10. Income Taxes:

   2022  2021
Current tax provision (benefit):          
Federal  $200,100   $(361,000)
State   1,400       
Total current tax provision   201,500    (361,000)
Deferred tax provision (benefit):          
Federal   115,500    (20,000)
State            
Total deferred tax provision   115,500    (20,000)
Total tax provision  $317,000   $(381,000)

-37

 

 

A reconciliation of provision for income taxes at the statutory rate to income tax provision at the Company's effective rate is as follows:

   2022  2021
Computed tax provision at the expected statutory rate  $536,800   $143,200 
State income tax - net of Federal tax benefit   1,100       
Tax effect of permanent differences:          
Research tax credits   (275,400)   (218,000)
Foreign-derived intangible income deduction   (12,200)      
PPP loan forgiveness         (306,900)
Other permanent differences   3,100    41,500 
Other   63,600    (40,800)
Total tax provision  $317,000   $(381,000)
Effective income tax rate   12.4%   (55.9%)


 

Significant components of the Company's deferred tax assets and liabilities consist of the following:

 

   2022  2021
Deferred tax assets:          
Allowance for doubtful receivables  $3,400   $1,400 
Tax inventory adjustment   92,200    22,900 
Allowance for obsolete inventory   278,800    440,800 
Accrued vacation   84,300    81,400 
Accrued commissions   7,000    5,900 
Warranty reserve   48,800    23,900 
R&D tax credit   84,000       
Stock options issued for services   277,600    238,500 
Total deferred tax assets   876,100    814,800 
Deferred tax liabilities:          
Excess tax depreciation   (801,485)   (624,685)
Net deferred tax assets  $74,615   $190,115 

 

 

Realization of the deferred tax assets is dependent on generating sufficient taxable income at the time temporary differences become deductible. The Company provides a valuation allowance to the extent that deferred tax assets may not be realized. A valuation allowance has not been recorded against the deferred tax assets since management believes it is more likely than not that the deferred tax assets are recoverable. The Company considers future taxable income and potential tax planning strategies in assessing the need for a potential valuation allowance. The amount of the deferred tax assets considered realizable however, could be reduced in the near term if estimates of future taxable income are reduced. The Company will need to generate approximately $4.2 million in taxable income in future years in order to realize the deferred tax assets recorded as of May 31, 2022 of $876,100.

 

The Company and its subsidiary file consolidated Federal and State income tax returns. As of May 31, 2022, the Company had State investment tax credit carryforwards of approximately $389,000 expiring through May 31, 2027.

 

-38

 

11. Earnings Per Common Share:

 

Basic earnings per common share is computed by dividing income available to common stockholders by the weighted-average common shares outstanding for the period. Diluted earnings per common share reflects the weighted-average common shares outstanding and dilutive potential common shares, such as stock options.

 

A reconciliation of weighted-average common shares outstanding to weighted-average common shares outstanding assuming dilution is as follows:

 

   2022  2021
Average common shares outstanding   3,497,345    3,490,213 
Common shares issuable under stock option plans   2,208    1,674 
Average common shares outstanding assuming dilution   3,499,553    3,491,887 

 

 

12. Related Party Transactions:

 

The Company had no related party transactions for the years ended May 31, 2022 and 2021.

 

13. Employee Stock Purchase Plan:

 

In March 2004, the Company reserved 295,000 shares of common stock for issuance pursuant to a non-qualified employee stock purchase plan. Participation in the employee stock purchase plan is voluntary for all eligible employees of the Company. Purchase of common shares can be made by employee contributions through payroll deductions. At the end of each calendar quarter, the employee contributions will be applied to the purchase of common shares using a share value equal to the mean between the closing bid and ask prices of the stock on that date. These shares are distributed to the employees at the end of each calendar quarter or upon withdrawal from the plan. During the years ended May 31, 2022 and 2021, 1,496 ($9.90 to $11.83 price per share) and 1,470 ($9.20 to $11.40 price per share) common shares, respectively, were issued to employees. As of May 31, 2022, 217,287 shares were reserved for further issue.

 

14. Stock Option Plans:

 

In 2018, the Company adopted a stock option plan which permits the Company to grant both incentive stock options and non-qualified stock options. The incentive stock options qualify for preferential treatment under the Internal Revenue Code. Under this plan, 160,000 shares of common stock have been reserved for grant to key employees and directors of the Company and 136,250 shares have been granted as of May 31, 2022. Under the plan, the option price may not be less than the fair market value of the stock at the time the options are granted. Options vest immediately and expire ten years from the date of grant.

 

Using the Black-Scholes option pricing model, the weighted average estimated fair value of each option granted under the plan was $3.02 during 2022 and $3.27 during 2021. The pricing model uses the assumptions noted in the following table. Expected volatility is based on the historical volatility of the Company's stock. The risk-free interest rate for periods within the contractual life of the option is based on the U.S. Treasury yield curve in effect at the time of the grant. The expected life of options granted is derived from previous history of stock exercises from the grant date and represents the period of time that options granted are expected to be outstanding. The Company uses historical data to estimate option exercise and employee termination assumptions under the valuation model. The Company has never paid dividends on its common stock and does not anticipate doing so in the foreseeable future.

   2022  2021
Risk-free interest rate   2.59%   2.31%
Expected life in years   4.0 years    4.0 years 
Expected volatility   31%   33%
Expected dividend yield   0%   0%

 

-39

 

The following is a summary of stock option activity:

   Shares  Weighted Average Exercise Price  Intrinsic Value
Outstanding - May 31, 2020   252,250   $11.52   $209,835 
     Options granted   47,250   $11.26      
     Less: options exercised   13,000   $6.34      
     Less: options expired   18,750   $13.31      
Outstanding - May 31, 2021   267,750   $11.60   $271,426 
     Options granted   66,750   $10.69      
     Less: options expired   51,500    —        
Outstanding - May 31, 2022   283,000   $11.43   $28,248 

 

We calculated intrinsic value for those options that had an exercise price lower than the market price of our common shares as of the balance sheet dates. The aggregate intrinsic value of outstanding options as of the end of each fiscal year is calculated as the difference between the exercise price of the underlying options and the market price of our common shares for the options that were in-the-money at that date (29,250 at May 31, 2022 and 137,750 at May 31, 2021.) The Company's closing stock price was $9.30 and $11.85 as of May 31, 2022 and 2021. As of May 31, 2022, there are 23,750 options available for future grants under the 2018 stock option plan. No options were exercised in the fiscal year ended May 31, 2022. $28,425 was received from the exercise of share options during the fiscal year ended May 31, 2021.

 

The following table summarizes information about stock options outstanding at May 31, 2022:

 

Outstanding and Exercisable               
Range of Exercise Prices   Number of Options    Weighted Average Remaining Years of Contractual Life    Weighted Average Exercise Price 
$  7.01-$  8.00   10,000    0.9   $7.74 
$  8.01-$  9.00   19,250    1.5   $8.64 
$  9.01-$10.00   55,000    9.0   $9.67 
$10.01-$11.00   26,500    7.3   $10.14 
$11.01-$12.00   112,250    7.8   $11.72 
$12.01-$13.00   28,750    3.9   $12.39 
$13.01-$14.00   10,000    4.9   $13.80 
$16.01-$17.00   10,000    3.9   $16.40 
$19.01-$20.00   11,250    4.2   $19.26 
$  7.01-$20.00   283,000    6.5   $11.43 
                

 

The following table summarizes information about stock options outstanding at May 31, 2021:

 

Outstanding and Exercisable               
Range of Exercise Prices   Number of Options    Weighted Average Remaining Years of Contractual Life    Weighted Average Exercise Price 
$  7.01-$  8.00   15,000    1.6   $7.74 
$  8.01-$  9.00   24,250    2.1   $8.71 
$  9.01-$10.00   30,000    7.6   $9.85 
$10.01-$11.00   32,250    7.2   $10.17 
$11.01-$12.00   91,250    7.4   $11.71 
$12.01-$13.00   33,750    4.3   $12.36 
$13.01-$14.00   15,000    4.2   $13.80 
$16.01-$17.00   15,000    3.6   $16.40 
$19.01-$20.00   11,250    5.2   $19.26 
$  7.01-$20.00   267,750    5.7   $11.60 
                

-40

 

 

15. Preferred Stock:

 

The Company has 2,000,000 authorized but unissued shares of preferred stock which may be issued in series. The shares of each series shall have such rights, preferences, and limitations as shall be fixed by the Board of Directors.

 

16. Treasury Stock:

 

Treasury shares are 558,834 at both May 31, 2022 and 2021.

 

17. Retirement Plan:

 

The Company maintains a retirement plan for essentially all employees pursuant to Section 401(k) of the Internal Revenue Code. The Company matches a percentage of employee voluntary salary deferrals subject to limitations. The Company may also make discretionary contributions as determined annually by the Company's Board of Directors. The amount expensed under the plan was $313,269 and $288,470 for the years ended May 31, 2022 and 2021.

 

18. Fair Value of Financial Instruments:

 

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

 

The fair values of short-term investments were determined as described in Note 1.

 

19. Cash Flows Information:

 

   2022  2021
       
  Interest paid   none    none 
           
  Income taxes paid   none   $43,630 

 

 

20. Risks and Uncertainties:

 

On January 31, 2020, the United States Secretary of Health and Human Services (HHS) declared a public health emergency related to the global spread of coronavirus COVID-19, and a pandemic was declared by the World Health Organization in February 2020. Efforts to fight the widespread disease included limiting or closing many businesses and resulted in a severe disruption of operations for many organizations. Financial markets also fluctuated significantly during this time. The extent of the impact of COVID-19 on the Company’s operational and financial performance was significant in fiscal 2021. The use of vaccinations world-wide have apparently slowed spread of the disease, the extent of the impact of COVID-19 on the Company’s operational and financial performance in fiscal 2022 was minimal. The effect on the Company’s operational and financial performance in fiscal 2023 is not expected to be significant however it will depend on further developments, including the duration and spread of the outbreak, impact on customers, employees, and vendors, all of which cannot be predicted.

 

As a result of the pandemic described above, the Company applied for, and received, financial assistance from the U.S. federal government as part of the CARES Act and the Consolidated Appropriations Act of 2021 (CAA) including: a.) $1,461,500 of income due to the forgiveness of the PPP loan by the SBA (all in fiscal 2021), and b.) $1,563,639 of Employee Retention Credit income ($53,508 in fiscal 2022 and $1,510,131 in fiscal 2021). These amounts are included in Other income on the Consolidated Statements of Income.

 

21. Legal Proceedings:

 

There are no legal proceedings except for routine litigation incidental to the business.

 

 

EX-31 2 ceo302certification20220531.htm CEO 302 CERTIFICATION

Exhibit 31(i)

 

 

CERTIFICATION OF CHIEF EXECUTIVE OFFICER

PURSUANT TO RULE 13a - 14(a) OF THE SECURITIES EXCHANGE ACT OF 1934,

AS ADOPTED PURSUANT TO SECTION 302 OF THE SARBANES-OXLEY ACT OF 2002

 

I, Timothy J. Sopko, certify that:

 

1. I have reviewed this annual report on Form 10-K of Taylor Devices, Inc.;

 

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

 

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

 

4. The registrant’s other certifying officer and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the registrant and have:

 

(a) Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared;

 

(b) Designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles;

 

(c) Evaluated the effectiveness of the registrant’s disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation; and

 

(d) Disclosed in this report any change in the registrant’s internal control over financial reporting that occurred during the registrant’s most recent fiscal quarter (the registrant’s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant’s internal control over financial reporting; and

 

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

 

(a) All significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the registrant’s ability to record, process, summarize and report financial information; and

 

(b) Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant’s internal control over financial reporting.

 

Date: August 19, 2022 /s/ Timothy J. Sopko
 

Timothy J. Sopko

Chief Executive Officer

 

EX-32 3 ceo906certification20220531.htm CEO 906 CERTIFICATION

 

Exhibit 32(i)

 

 

 

 

 

CERTIFICATION OF CHIEF EXECUTIVE OFFICER

PURSUANT TO 18 U.S.C. SECTION 1350, AS ADOPTED PURSUANT TO SECTION 906

OF THE SARBANES-OXLEY ACT OF 2002

 

In connect with the quarterly report of Taylor Devices, Inc. ("the Company") on Form 10-K for the fiscal year ended May 31, 2022 to be filed with Securities and Exchange Commission on or about the date hereof (the
"Report"), I, Timothy J. Sopko Chief Executive Officer of the Company, certify, pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, 18 U.S.C. Section 1350, that:

 

(1) The Report fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934; and

 

(2) The information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company as of the dates and for the periods covered by the Report.

 

It is not intended that this statement be deemed to be filed for purposes of the Securities Exchange Act of 1934.

 

 

 

Date: August 19, 2022 By:  /s/ Timothy J. Sopko
   

Timothy J. Sopko

Chief Executive Officer

 

 

EX-31 4 cfo302certification20220531.htm CFO 302 CERTIFICATION

Exhibit 31(ii)

 

 

CERTIFICATION OF CHIEF FINANCIAL OFFICER

PURSUANT TO RULE 13a - 14(a) OF THE SECURITIES EXCHANGE ACT OF 1934,

AS ADOPTED PURSUANT TO SECTION 302 OF THE SARBANES-OXLEY ACT OF 2002

 

I, Mark V. McDonough, certify that:

 

1. I have reviewed this annual report on Form 10-K of Taylor Devices, Inc.;

 

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

 

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

 

4. The registrant's other certifying officer and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the registrant and have:

 

(a) Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared;

 

(b) Designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles;

 

(c) Evaluated the effectiveness of the registrant's disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation; and

 

(d) Disclosed in this report any change in the registrant's internal control over financial reporting that occurred during the registrant's most recent fiscal quarter (the registrant's fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant's internal control over financial reporting; and

 

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

 

(a) All significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the registrant's ability to record, process, summarize and report financial information; and

 

(b) Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant's internal control over financial reporting.

 

Date: August 19, 2022 /s/ Mark V. McDonough
 

Mark V. McDonough

Chief Financial Officer

 

EX-32 5 cfo906certification20220531.htm CFO 906 CERTIFICATION

 

Exhibit 32(ii)

 

 

 

 

 

CERTIFICATION OF CHIEF FINANCIAL OFFICER

PURSUANT TO 18 U.S.C. SECTION 1350, AS ADOPTED PURSUANT TO SECTION 906

OF THE SARBANES-OXLEY ACT OF 2002

 

In connect with the quarterly report of Taylor Devices, Inc. (the "Company") on Form 10-K for the fiscal year ended May 31, 2022 to be filed with Securities and Exchange Commission on or about the date hereof (the "Report"), I, Mark V. McDonough, Chief Financial Officer of the Company, certify, pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, 18 U.S.C. Section 1350, that:

 

(1) The Report fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934; and

 

(2) The information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company as of the dates and for the periods covered by the Report.

 

It is not intended that this statement be deemed to be filed for purposes of the Securities Exchange Act of 1934.

 

 

 

Date: August 19, 2022 By: /s/ Mark V. McDonough
   

Mark V. McDonough,

Chief Financial Officer

 

 

EX-101.SCH 6 tayd-20220531.xsd XBRL SCHEMA FILE 00000001 - Document - Cover link:presentationLink link:calculationLink link:definitionLink 00000002 - Statement - Consolidated Balance Sheets link:presentationLink link:calculationLink link:definitionLink 00000003 - Statement - Consolidated Balance Sheets (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 00000004 - Statement - Consolidated Statements of Income link:presentationLink link:calculationLink link:definitionLink 00000005 - Statement - Consolidated Statements of Shareholders Equity link:presentationLink link:calculationLink link:definitionLink 00000006 - Statement - Consolidated Statements of Cash Flows link:presentationLink link:calculationLink link:definitionLink 00000007 - Disclosure - 1. Summary of Significant Accounting Policies: link:presentationLink link:calculationLink link:definitionLink 00000008 - Disclosure - 2. Accounts and Other Receivables: link:presentationLink link:calculationLink link:definitionLink 00000009 - Disclosure - 3. Inventory: link:presentationLink link:calculationLink link:definitionLink 00000010 - Disclosure - 4. Costs and Estimated Earnings on Uncompleted Contracts: link:presentationLink link:calculationLink link:definitionLink 00000011 - Disclosure - 5. Maintenance and Other Inventory: link:presentationLink link:calculationLink link:definitionLink 00000012 - Disclosure - 6. Property and Equipment: link:presentationLink link:calculationLink link:definitionLink 00000013 - Disclosure - 7. Short-Term Borrowings: link:presentationLink link:calculationLink link:definitionLink 00000014 - Disclosure - 8. Other Accrued Expenses: link:presentationLink link:calculationLink link:definitionLink 00000015 - Disclosure - 9. Sales: link:presentationLink link:calculationLink link:definitionLink 00000016 - Disclosure - 10. Income Taxes: link:presentationLink link:calculationLink link:definitionLink 00000017 - Disclosure - 11. Earnings Per Common Share: link:presentationLink link:calculationLink link:definitionLink 00000018 - Disclosure - 12. Related Party Transactions: link:presentationLink link:calculationLink link:definitionLink 00000019 - Disclosure - 13. Employee Stock Purchase Plan: link:presentationLink link:calculationLink link:definitionLink 00000020 - Disclosure - 14. Stock Option Plans: link:presentationLink link:calculationLink link:definitionLink 00000021 - Disclosure - 15. Preferred Stock: link:presentationLink link:calculationLink link:definitionLink 00000022 - Disclosure - 16. Treasury Stock: link:presentationLink link:calculationLink link:definitionLink 00000023 - Disclosure - 17. Retirement Plan: link:presentationLink link:calculationLink link:definitionLink 00000024 - Disclosure - 18. Fair Value of Financial Instruments: link:presentationLink link:calculationLink link:definitionLink 00000025 - Disclosure - 19. Cash Flows Information: link:presentationLink link:calculationLink link:definitionLink 00000026 - Disclosure - 20. Risks and Uncertainties: link:presentationLink link:calculationLink link:definitionLink 00000027 - Disclosure - 21. Legal Proceedings: link:presentationLink link:calculationLink link:definitionLink 00000028 - Disclosure - 1. Summary of Significant Accounting Policies: (Policies) link:presentationLink link:calculationLink link:definitionLink 00000029 - Disclosure - 2. Accounts and Other Receivables: (Tables) link:presentationLink link:calculationLink link:definitionLink 00000030 - Disclosure - 3. Inventory: (Tables) link:presentationLink link:calculationLink link:definitionLink 00000031 - Disclosure - 4. Costs and Estimated Earnings on Uncompleted Contracts: (Tables) link:presentationLink link:calculationLink link:definitionLink 00000032 - Disclosure - 5. Maintenance and Other Inventory: (Tables) link:presentationLink link:calculationLink link:definitionLink 00000033 - Disclosure - 6. Property and Equipment: (Tables) link:presentationLink link:calculationLink link:definitionLink 00000034 - Disclosure - 8. Other Accrued Expenses: (Tables) link:presentationLink link:calculationLink link:definitionLink 00000035 - Disclosure - 9. Sales: (Tables) link:presentationLink link:calculationLink link:definitionLink 00000036 - Disclosure - 10. Income Taxes: (Tables) link:presentationLink link:calculationLink link:definitionLink 00000037 - Disclosure - 11. Earnings Per Common Share: (Tables) link:presentationLink link:calculationLink link:definitionLink 00000038 - Disclosure - 14. Stock Option Plans: (Tables) link:presentationLink link:calculationLink link:definitionLink 00000039 - Disclosure - 19. Cash Flows Information: (Tables) link:presentationLink link:calculationLink link:definitionLink 00000040 - Disclosure - 1. Summary of Significant Accounting Policies: (Details Narrative) link:presentationLink link:calculationLink link:definitionLink 00000041 - Disclosure - Accounts receivable table (Details) link:presentationLink link:calculationLink link:definitionLink 00000042 - Disclosure - Inventory table (Details) link:presentationLink link:calculationLink link:definitionLink 00000043 - Disclosure - Costs and estimated earnings on uncompleted contracts components table (Details) link:presentationLink link:calculationLink link:definitionLink 00000044 - Disclosure - Costs and estimated earnings on uncompleted contracts table (Details) link:presentationLink link:calculationLink link:definitionLink 00000045 - Disclosure - Costs and estimated earnings on uncompleted contracts two table (Details) link:presentationLink link:calculationLink link:definitionLink 00000046 - Disclosure - Maintenance and other inventory table (Details) link:presentationLink link:calculationLink link:definitionLink 00000047 - Disclosure - 4. Costs and Estimated Earnings on Uncompleted Contracts: (Details Narrative) link:presentationLink link:calculationLink link:definitionLink 00000048 - Disclosure - 5. Maintenance and Other Inventory: (Details Narrative) link:presentationLink link:calculationLink link:definitionLink 00000049 - Disclosure - Property and equipment table (Details) link:presentationLink link:calculationLink link:definitionLink 00000050 - Disclosure - 6. Property and Equipment: (Details Narrative) link:presentationLink link:calculationLink link:definitionLink 00000051 - Disclosure - 7. Short-Term Borrowings: (Details Narrative) link:presentationLink link:calculationLink link:definitionLink 00000052 - Disclosure - Other accrued expenses table (Details) link:presentationLink link:calculationLink link:definitionLink 00000053 - Disclosure - Sales by major customer type (Details) link:presentationLink link:calculationLink link:definitionLink 00000054 - Disclosure - 9. Sales: (Details Narrative) link:presentationLink link:calculationLink link:definitionLink 00000055 - Disclosure - Income Taxes Table (Details) link:presentationLink link:calculationLink link:definitionLink 00000056 - Disclosure - Reconciliation of income tax statutory rate to effective rate (Details) link:presentationLink link:calculationLink link:definitionLink 00000057 - Disclosure - Components of Deferred Tax Assets and Liabilities (Details) link:presentationLink link:calculationLink link:definitionLink 00000058 - Disclosure - 10. Income Taxes: (Details Narrative) link:presentationLink link:calculationLink link:definitionLink 00000059 - Disclosure - Earnings per common share table (Details) link:presentationLink link:calculationLink link:definitionLink 00000060 - Disclosure - 13. Employee Stock Purchase Plan: (Details Narrative) link:presentationLink link:calculationLink link:definitionLink 00000061 - Disclosure - Stock option plans table (Details) link:presentationLink link:calculationLink link:definitionLink 00000062 - Disclosure - Stock options roll foward (Details) link:presentationLink link:calculationLink link:definitionLink 00000063 - Disclosure - Stock option plans - Stock options outstanding and exercisable (Details) link:presentationLink link:calculationLink link:definitionLink 00000064 - Disclosure - 14. Stock Option Plans: (Details Narrative) link:presentationLink link:calculationLink link:definitionLink 00000065 - Disclosure - 15. Preferred Stock: (Details Narrative) link:presentationLink link:calculationLink link:definitionLink 00000066 - Disclosure - 16. Treasury Stock: (Details Narrative) link:presentationLink link:calculationLink link:definitionLink 00000067 - Disclosure - 17. Retirement Plan: (Details Narrative) link:presentationLink link:calculationLink link:definitionLink 00000068 - Disclosure - Supplemental cash flow information (Details) link:presentationLink link:calculationLink link:definitionLink EX-101.CAL 7 tayd-20220531_cal.xml XBRL CALCULATION FILE EX-101.DEF 8 tayd-20220531_def.xml XBRL DEFINITION FILE EX-101.LAB 9 tayd-20220531_lab.xml XBRL LABEL FILE Equity Components [Axis] Common Stock [Member] Additional Paid-in Capital [Member] Retained Earnings [Member] Treasury Stock [Member] Customer [Axis] Structural Seismic Wind [Member] Aerospace Defense [Member] Industrial [Member] Exercise Price Range [Axis] Share Based Compensation Shares Authorized Under Stock Option Plans By Exercise Price Range Two [Member] Share Based Compensation Shares Authorized Under Stock Option Plans By Exercise Price Range Three [Member] Share Based Compensation Shares Authorized Under Stock Option Plans By Exercise Price Range Four [Member] Share Based Compensation Shares Authorized Under Stock Option Plans By Exercise Price Range Five [Member] Share Based Compensation Shares Authorized Under Stock Option Plans By Exercise Price Range Six [Member] Share Based Compensation Shares Authorized Under Stock Option Plans By Exercise Price Range Seven [Member] Share Based Compensation Shares Authorized Under Stock Option Plans By Exercise Price Range Eight [Member] Share Based Compensation Shares Authorized Under Stock Option Plans By Exercise Price Range Nine [Member] Share Based Compensation Shares Authorized Under Stock Option Plans By Exercise Price Range Ten [Member] Cover [Abstract] Document Type Amendment Flag Amendment Description Document Registration Statement Document Annual Report Document Quarterly Report Document Transition Report Document Shell Company Report Document Shell Company Event Date Document Period Start Date Document Period End Date Document Fiscal Period Focus Document Fiscal Year Focus Current Fiscal Year End Date Entity File Number Entity Registrant Name Entity Central Index Key Entity Primary SIC Number Entity Tax Identification Number Entity Incorporation, State or Country Code Entity Address, Address Line One Entity Address, Address Line Two Entity Address, Address Line Three Entity Address, City or Town Entity Address, State or Province Entity Address, Country Entity Address, Postal Zip Code Country Region City Area Code Local Phone Number Extension Written Communications Soliciting Material Pre-commencement Tender Offer Pre-commencement Issuer Tender Offer Title of 12(b) Security No Trading Symbol Flag Trading Symbol Security Exchange Name Title of 12(g) Security Security Reporting Obligation Annual Information Form Audited Annual Financial Statements Entity Well-known Seasoned Issuer Entity Voluntary Filers Entity Current Reporting Status Entity Interactive Data Current Entity Filer Category Entity Small Business Entity Emerging Growth Company Elected Not To Use the Extended Transition Period Document Accounting Standard Other Reporting Standard Item Number Entity Shell Company Entity Public Float Entity Bankruptcy Proceedings, Reporting Current Entity Common Stock, Shares Outstanding Documents Incorporated by Reference [Text Block] Auditor Firm ID Auditor Name Auditor Location Statement of Financial Position [Abstract] Assets Current assets: Cash and cash equivalents Short-term investments Accounts and other receivables, net Inventory Prepaid expenses Prepaid income taxes Costs and estimated earnings in excess of billings Total current assets Maintenance and other inventory, net Property and equipment, net Cash value of life insurance, net Deferred income taxes Total assets Liabilities and Stockholders' Equity Current liabilities: Accounts payable Accrued commissions Other accrued expenses Billings in excess of costs and estimated earnings Total current liabilities Stockholders' Equity: Common stock, $.025 par value, authorized 8,000,000 shares,    issued 4,056,771 and 4,055,275 shares Paid-in capital Retained earnings Stockholders’ equity before treasury stock Treasury stock – 558,834 shares at cost Total stockholders' equity   Total liabilities and stockholders’ equity Common Stock, Par or Stated Value Per Share Common Stock, Shares Authorized Common Stock, Shares, Issued Treasury Stock, Shares Income Statement [Abstract] Sales, net Cost of goods sold      Gross profit Selling, general and administrative expenses      Operating income (loss)    Interest, net    Paycheck Protection Program loan forgiveness    Employee Retention Credit    Miscellaneous Total other income      Income before provision for income taxes Provision for income taxes (benefit)      Net income Basic and diluted earnings per common share Statement [Table] Statement [Line Items] Stockholders' Equity Attributable to Parent, Beginning Balance Treasury Stock, Value Stock Issued During Period, Value, Employee Stock Purchase Plan Stock Issued During Period, Value, Employee Benefit Plan APIC, Share-Based Payment Arrangement, Option, Increase for Cost Recognition Net Income (Loss) Attributable to Parent Stock Issued During Period, Value, Employee Benefit Plan Stockholders' Equity Attributable to Parent, Ending Balance Treasury Stock, Value Stockholders' Equity Attributable to Parent Statement of Cash Flows [Abstract] Operating activities: Net income Adjustments to reconcile net income to net cash flows from operating activities: Depreciation Stock options issued for services Bad debt expense Gain on disposal of property and equipment Provision for inventory obsolescence Deferred income taxes Paycheck Protection Program loan forgiveness Changes in other current assets and liabilities: Accounts and other receivables Inventory Prepaid expenses Prepaid income taxes Costs and estimated earnings in excess of billings Accounts payable Accrued commissions Other accrued expenses Billings in excess of costs and estimated earnings Net operating activities Investing activities: Acquisition of property and equipment Proceeds from disposal of property and equipment Increase in short-term investments Increase in cash value of life insurance Net investing activities Financing activities: Proceeds from issuance of common stock Net change in cash and cash equivalents Cash and cash equivalents - beginning Cash and cash equivalents - ending Accounting Policies [Abstract] 1. Summary of Significant Accounting Policies: Receivables [Abstract] 2. Accounts and Other Receivables: Inventory Disclosure [Abstract] 3. Inventory: Deferred Costs, Capitalized, Prepaid, and Other Assets Disclosure [Abstract] 4. Costs and Estimated Earnings on Uncompleted Contracts: 5. Maintenance and Other Inventory: Property, Plant and Equipment [Abstract] 6. Property and Equipment: Debt Disclosure [Abstract] 7. Short-Term Borrowings: Payables and Accruals [Abstract] 8. Other Accrued Expenses: Sales 9. Sales: Income Tax Disclosure [Abstract] 10. Income Taxes: Earnings Per Share [Abstract] 11. Earnings Per Common Share: Related Party Transactions [Abstract] 12. Related Party Transactions: Share-Based Payment Arrangement [Abstract] 13. Employee Stock Purchase Plan: Share-Based Payment Arrangement, Noncash Expense [Abstract] 14. Stock Option Plans: Equity [Abstract] 15. Preferred Stock: 16. Treasury Stock: Retirement Benefits [Abstract] 17. Retirement Plan: 18. Fair Value of Financial Instruments: Supplemental Cash Flow Elements [Abstract] 19. Cash Flows Information: Risks and Uncertainties [Abstract] 20. Risks and Uncertainties: Commitments and Contingencies Disclosure [Abstract] 21. Legal Proceedings: Nature of Operations: Principles of Consolidation: Subsequent Events: Use of Estimates: Cash and Cash Equivalents: Short-term Investments: Accounts and Other Receivables: Inventory: Property and Equipment: Cash Value of Life Insurance: Revenue Recognition: Shipping and Handling Costs: Research and Development Costs: Income Taxes: Sales Taxes: Stock-Based Compensation: New Accounting Standards: Accounts receivable table Inventory table Costs and estimated earnings on uncompleted contracts components table Costs and estimated earnings on uncompleted contracts table Costs and estimated earnings on uncompleted contracts two table Maintenance and other inventory table Property and equipment table Other accrued expenses table Sales by major customer type Income Taxes Table Reconciliation of income tax statutory rate to effective rate Components of Deferred Tax Assets and Liabilities Earnings per common share table Stock option plans table Stock options roll foward Stock option plans - Stock options outstanding and exercisable Stock option plans - Stock options outstanding and exercisable Supplemental cash flow information Percentage of total sales during a period to domestic customers. Percentage of total sales during a period to export customers Percent of revenue recognized with sales contracts containing a single performance obligation Percent of revenue recognized with sales contracts containing a single performance obligation Shipping and handling costs Research and development costs Share based compensation expense Customers Customers – retention Gross accounts receivable Less allowance for doubtful accounts Add other receivables Net accounts receivable Raw materials Work-in-process Finished goods Gross inventory Less allowance for obsolescence Net inventory Costs incurred on uncompleted contracts Estimated earnings Total costs and estimated earnings Less billings to date Costs and estimated earnings not billed Costs and estimated earnings not billed Number of Projects in progress Aggregate percent complete Aggregate amount remaining Percentage of total value invoiced to customer Maintenance and other inventory Less allowance for obsolescence Maintenance and other inventory, net Revenue recognized in current period for projects included in billings in excess of costs and estimated earnings at end of prior year Inventory Write-down Land Buildings and improvements Machinery and equipment Office furniture and equipment Autos and trucks Land improvements Gross property and equipment Less accumulated depreciation Property and equipment, net Depreciation Commitments for future capital expenditures Line of Credit Facility, Current Borrowing Capacity Line of Credit Facility, Fair Value of Amount Outstanding Accounts Payable, Other, Current Customer deposits Personnel costs Other Total other accrued expenses Percentage of total sales to significant individual customer 1 Percentage of total sales to significant individual customers Percentage of total sales to significant individual customer 2 Current tax provision (benefit): Federal State Total current tax provision Deferred tax provision (benefit): Federal State Total deferred tax provision Total tax provision Computed tax provision at the expected statutory rate State income tax - net of Federal tax benefit Tax effect of permanent differences: Research tax credits Foreign-derived intangible income deduction PPP loan forgiveness Other permanent differences Other Effective income tax rate Deferred tax assets: Allowance for doubtful receivables Tax inventory adjustment Allowance for obsolete inventory Accrued vacation Accrued commissions Warranty reserve R&D tax credit Stock options issued for services Total deferred tax assets Deferred tax liabilities: Excess tax depreciation Net deferred tax assets Deferred Tax Assets, Gross Deferred Tax Assets, Tax Credit Carryforwards Tax Credit Carryforward, Expiration Date Average common shares outstanding Common shares issuable under stock option plans Average common shares outstanding assuming dilution Stock Issued During Period, Shares, Employee Stock Purchase Plans Risk-free interest rate Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Term Expected volatility Expected dividend yield Stock options outstanding Weighted average exercise price of options outstanding Intrinsic value of options outstanding Options granted Weighted average exercise price of options granted Stock options exercised Weighted average exercise price of options exercised Stock options expired Share-Based Payment Arrangement, Option, Exercise Price Range [Table] Share-Based Payment Arrangement, Option, Exercise Price Range [Line Items] Range of exercise prices, Minimum Range of exercise prices, Maximum Share-Based Payment Arrangement, Option, Exercise Price Range, Shares Exercisable [custom:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTermTwo-0] [custom:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice2-0] Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Number Remaining number of years to exercise outstanding and exercisable stock options Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price Range of exercise prices, Minimum Range of exercise prices, Maximum Share-Based Payment Arrangement, Option, Exercise Price Range, Exercisable, Weighted Average Exercise Price Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Authorized Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value Share Price Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Available for Grant Proceeds, Issuance of Shares, Share-Based Payment Arrangement, Excluding Option Exercised Preferred shares authorized Treasury Stock Retirement plan expense   Interest paid   Income taxes paid Revenue recognized in current period for projects included in billings in excess of costs and estimated earnings at end of prior year Lower limit of exercise per share price range for outstanding and exercisable stock options. Upper limit of exercise per share price range for outstanding and exercisable stock options. Weightrd average number of years remaining to exercise outstanding and exercisable stock options. Assets, Current Assets [Default Label] Liabilities, Current Stockholders' Equity before Treasury Stock Treasury Stock, Value Liabilities and Equity Gross Profit Operating Income (Loss) Nonoperating Income (Expense) Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest Gain (Loss) on Disposition of Property Plant Equipment, Excluding Oil and Gas Property and Timber Property Deferred Income Tax Expense (Benefit) Increase (Decrease) in Accounts and Other Receivables Increase (Decrease) in Inventories Increase (Decrease) in Prepaid Expense Increase (Decrease) in Prepaid Taxes Increase (Decrease) in Unbilled Receivables Increase (Decrease) in Accounts Payable, Trade Increase (Decrease) in Other Operating Liabilities Increase (Decrease) in Other Accrued Liabilities Increase (Decrease) in Billing in Excess of Cost of Earnings Net Cash Provided by (Used in) Operating Activities Payments to Acquire Property, Plant, and Equipment Payments to Acquire Debt Securities, Available-for-Sale Payments for (Proceeds from) Life Insurance Policies Net Cash Provided by (Used in) Investing Activities Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Excluding Exchange Rate Effect Share-Based Payment Arrangement, Outstanding Award, Activity, Excluding Option [Table Text Block] RevenueRecognitionSinglePerformanceObligationPercentOfTotal Accounts Receivable, before Allowance for Credit Loss, Current Accounts Receivable, after Allowance for Credit Loss, Current Inventory, Gross Inventory, Net CostsAndEstimatedEarningsOnUncompletedContractsOrPrograms CostsInExcessOfBillingsOnUncompletedContractsOrProgramsExpectedToBeCollectedWithinOneYearNet InventoryValuationReserveNoncurrent Property, Plant and Equipment, Gross Depreciation [Default Label] Current Income Tax Expense (Benefit) Deferred Federal Income Tax Expense (Benefit) Deferred State and Local Income Tax Expense (Benefit) Effective Income Tax Rate Reconciliation, Tax Credit, Research, Amount Effective Income Tax Rate Reconciliation, FDII, Amount Effective Income Tax Rate Reconciliation, Nondeductible Expense, Other, Amount Deferred Tax Assets, Tax Deferred Expense, Compensation and Benefits, Other Deferred Tax Assets, Tax Deferred Expense, Compensation and Benefits, Share-Based Compensation Cost Deferred Tax Liabilities, Property, Plant and Equipment Deferred Tax Assets, Net of Valuation Allowance Range of exercise prices, Minimum [Default Label] Range of exercise prices, Maximum [Default Label] EX-101.PRE 10 tayd-20220531_pre.xml XBRL PRESENTATION FILE XML 11 R1.htm IDEA: XBRL DOCUMENT v3.22.2.2
Cover - USD ($)
12 Months Ended
May 31, 2022
Aug. 19, 2022
Nov. 30, 2021
Cover [Abstract]      
Document Type 10-K    
Amendment Flag false    
Document Annual Report true    
Document Transition Report false    
Document Period End Date May 31, 2022    
Document Fiscal Period Focus FY    
Document Fiscal Year Focus 2022    
Current Fiscal Year End Date --05-31    
Entity File Number 0-3498    
Entity Registrant Name TAYLOR DEVICES INC    
Entity Central Index Key 0000096536    
Entity Tax Identification Number 16-0797789    
Entity Incorporation, State or Country Code NY    
Entity Address, Address Line One 90 Taylor Drive    
Entity Address, City or Town North Tonawanda    
Entity Address, State or Province NY    
Entity Address, Postal Zip Code 14120    
City Area Code 716    
Local Phone Number 694-0800    
Title of 12(g) Security Common Stock ($.025 par value)    
Entity Well-known Seasoned Issuer No    
Entity Voluntary Filers No    
Entity Current Reporting Status Yes    
Entity Interactive Data Current Yes    
Entity Filer Category Non-accelerated Filer    
Entity Small Business true    
Entity Emerging Growth Company false    
Entity Shell Company false    
Entity Public Float     $ 38,294,000
Entity Common Stock, Shares Outstanding   3,502,292  
Auditor Firm ID 130    
Auditor Name Lumsden & McCormick, LLP    
Auditor Location Buffalo, New York    
XML 12 R2.htm IDEA: XBRL DOCUMENT v3.22.2.2
Consolidated Balance Sheets - USD ($)
May 31, 2022
May 31, 2021
Current assets:    
Cash and cash equivalents $ 22,517,038 $ 20,581,604
Short-term investments 1,097,450 1,097,012
Accounts and other receivables, net 4,466,686 4,120,564
Inventory 5,854,935 5,835,596
Prepaid expenses 468,489 522,747
Prepaid income taxes 235,947 454,778
Costs and estimated earnings in excess of billings 3,336,474 1,499,604
Total current assets 37,977,019 34,111,905
Maintenance and other inventory, net 1,107,309 1,612,839
Property and equipment, net 9,854,759 9,816,594
Cash value of life insurance, net 205,359 200,538
Deferred income taxes 74,615 190,115
Total assets 49,219,061 45,931,991
Current liabilities:    
Accounts payable 1,426,830 1,787,325
Accrued commissions 84,907 269,064
Other accrued expenses 3,329,407 1,715,409
Billings in excess of costs and estimated earnings 1,122,763 1,361,985
Total current liabilities 5,963,907 5,133,783
Stockholders' Equity:    
Common stock, $.025 par value, authorized 8,000,000 shares,    issued 4,056,771 and 4,055,275 shares 101,342 101,305
Paid-in capital 10,227,916 10,010,430
Retained earnings 35,840,898 33,601,475
Stockholders’ equity before treasury stock 46,170,156 43,713,210
Treasury stock – 558,834 shares at cost (2,915,002) (2,915,002)
Total stockholders' equity 43,255,154 40,798,208
  Total liabilities and stockholders’ equity $ 49,219,061 $ 45,931,991
XML 13 R3.htm IDEA: XBRL DOCUMENT v3.22.2.2
Consolidated Balance Sheets (Parenthetical) - $ / shares
May 31, 2022
May 31, 2021
Statement of Financial Position [Abstract]    
Common Stock, Par or Stated Value Per Share $ 0.025 $ 0.025
Common Stock, Shares Authorized 8,000,000 8,000,000
Common Stock, Shares, Issued 4,056,771 4,055,275
Treasury Stock, Shares 558,834 558,834
XML 14 R4.htm IDEA: XBRL DOCUMENT v3.22.2.2
Consolidated Statements of Income - USD ($)
12 Months Ended
May 31, 2022
May 31, 2021
Income Statement [Abstract]    
Sales, net $ 30,866,582 $ 22,509,641
Cost of goods sold 22,239,070 19,334,950
     Gross profit 8,627,512 3,174,691
Selling, general and administrative expenses 6,154,735 5,526,774
     Operating income (loss) 2,472,777 (2,352,083)
   Interest, net 4,543 53,654
   Paycheck Protection Program loan forgiveness 0 1,461,500
   Employee Retention Credit 53,508 1,510,131
   Miscellaneous 25,595 8,693
Total other income 83,646 3,033,978
     Income before provision for income taxes 2,556,423 681,895
Provision for income taxes (benefit) 317,000 (381,000)
     Net income $ 2,239,423 $ 1,062,895
Basic and diluted earnings per common share $ 0.64 $ 0.30
XML 15 R5.htm IDEA: XBRL DOCUMENT v3.22.2.2
Consolidated Statements of Shareholders Equity - USD ($)
Common Stock [Member]
Additional Paid-in Capital [Member]
Retained Earnings [Member]
Treasury Stock [Member]
Stockholders' Equity Attributable to Parent $ 100,943 $ 9,759,063 $ 32,538,580  
Stockholders' Equity Attributable to Parent, Beginning Balance at May. 31, 2020 100,943 9,759,063 32,538,580  
Treasury Stock, Value at May. 31, 2020       $ (2,861,032)
Stock Issued During Period, Value, Employee Stock Purchase Plan 37 14,954    
Stock Issued During Period, Value, Employee Benefit Plan 325 82,070   53,970
APIC, Share-Based Payment Arrangement, Option, Increase for Cost Recognition   154,343    
Net Income (Loss) Attributable to Parent     1,062,895  
Stock Issued During Period, Value, Employee Benefit Plan (325) (82,070)   (53,970)
Stockholders' Equity Attributable to Parent, Ending Balance at May. 31, 2021 101,305 10,010,430 33,601,475  
Treasury Stock, Value at May. 31, 2021       (2,915,002)
Stockholders' Equity Attributable to Parent 101,305 10,010,430 33,601,475  
Stock Issued During Period, Value, Employee Stock Purchase Plan 37 16,208    
Stock Issued During Period, Value, Employee Benefit Plan 0 0   0
APIC, Share-Based Payment Arrangement, Option, Increase for Cost Recognition   201,278    
Net Income (Loss) Attributable to Parent     2,239,423  
Stock Issued During Period, Value, Employee Benefit Plan 0 0   0
Stockholders' Equity Attributable to Parent, Ending Balance at May. 31, 2022 101,342 10,227,916 35,840,898  
Treasury Stock, Value at May. 31, 2022       $ (2,915,002)
Stockholders' Equity Attributable to Parent $ 101,342 $ 10,227,916 $ 35,840,898  
XML 16 R6.htm IDEA: XBRL DOCUMENT v3.22.2.2
Consolidated Statements of Cash Flows - USD ($)
12 Months Ended
May 31, 2022
May 31, 2021
Operating activities:    
Net income $ 2,239,423 $ 1,062,895
Adjustments to reconcile net income to net cash flows from operating activities:    
Depreciation 1,347,442 1,212,713
Stock options issued for services 201,278 154,343
Bad debt expense 0 134,000
Gain on disposal of property and equipment (1,530) 0
Provision for inventory obsolescence 0 1,500,000
Deferred income taxes 115,500 (20,000)
Paycheck Protection Program loan forgiveness 0 (1,461,500)
Changes in other current assets and liabilities:    
Accounts and other receivables (346,122) 1,564,907
Inventory 486,191 2,038,052
Prepaid expenses 54,258 (62,535)
Prepaid income taxes 218,831 (404,630)
Costs and estimated earnings in excess of billings (1,836,870) 254,969
Accounts payable (360,495) 417,150
Accrued commissions (184,157) (36,821)
Other accrued expenses 1,613,998 51,495
Billings in excess of costs and estimated earnings (239,222) 625,119
Net operating activities 3,308,525 7,030,157
Investing activities:    
Acquisition of property and equipment (1,391,577) (1,621,817)
Proceeds from disposal of property and equipment 7,500 0
Increase in short-term investments (438) (25,062)
Increase in cash value of life insurance (4,821) (4,917)
Net investing activities (1,389,336) (1,651,796)
Financing activities:    
Proceeds from issuance of common stock 16,245 43,416
Net change in cash and cash equivalents 1,935,434 5,421,777
Cash and cash equivalents - beginning 20,581,604 15,159,827
Cash and cash equivalents - ending $ 22,517,038 $ 20,581,604
XML 17 R7.htm IDEA: XBRL DOCUMENT v3.22.2.2
1. Summary of Significant Accounting Policies:
12 Months Ended
May 31, 2022
Accounting Policies [Abstract]  
1. Summary of Significant Accounting Policies:

1. Summary of Significant Accounting Policies:

 

Nature of Operations:

 

Taylor Devices, Inc. (the Company) manufactures and sells a single group of very similar products that have many different applications for customers. These similar products are included in one of eight categories; namely, Seismic Dampers, Fluidicshoks®, Crane and Industrial Buffers, Self-Adjusting Shock Absorbers, Liquid Die Springs, Vibration Dampers, Machined Springs and Custom Actuators for use in various types of machinery, equipment and structures, primarily to customers which are located throughout the United States and several foreign countries. The products are manufactured at the Company's sole operating facility in the United States where all of the Company's long-lived assets reside. Management does not track or otherwise account for sales broken down by these categories.

 

76% of the Company's 2022 revenue was generated from sales to customers in the United States and 14% was from sales to customers in Asia. Remaining sales were to customers in other countries in North America, Europe, Australia, and South America.

 

68% of the Company's 2021 revenue was generated from sales to customers in the United States and 20% was from sales to customers in Asia. Remaining sales were to customers in other countries in North America, Europe and South America.

 

Principles of Consolidation:

 

The accompanying consolidated financial statements include the accounts of the Company and its wholly owned subsidiary, Tayco Realty Corporation (Realty). All inter-company transactions and balances have been eliminated in consolidation.

 

Subsequent Events:

 

The Company has evaluated events and transactions for potential recognition or disclosure in the financial statements through the date the financial statements were issued.

 

Use of Estimates:

 

The preparation of financial statements in conformity with accounting principles generally accepted in the United States of America requires management to make estimates and assumptions that affect the amounts reported in the financial statements and accompanying notes. Actual results could differ from those estimates.

 

Cash and Cash Equivalents:

 

The Company includes all highly liquid investments in money market funds in cash and cash equivalents on the accompanying balance sheets.

 

Cash and cash equivalents in financial institutions may exceed insured limits at various times during the year and subject the Company to concentrations of credit risk.

 

Short-term Investments:

 

At times, the Company invests excess funds in liquid interest earning instruments. Short-term investments at May 31, 2022 and May 31, 2021 include “available for sale” corporate bonds stated at fair value, which approximates cost. The bonds (16) mature on various dates during the period December 2022 to November 2026. Unrealized holding gains and losses would be presented as a separate component of accumulated other comprehensive income, net of deferred income taxes. Realized gains and losses on the sale of investments are determined using the specific identification method.

 

The bonds are valued using pricing models maximizing the use of observable inputs for similar securities. This includes basing value on yields currently available on comparable securities of issuers with similar credit ratings.

 

Accounts and Other Receivables:

 

Accounts and other receivables are stated at an amount management expects to collect from outstanding balances. Management provides for probable uncollectible accounts through a charge to earnings and a credit to a valuation allowance based on its assessment of the current status of individual accounts. Balances that are still outstanding after management has used reasonable collection efforts are written off through a charge to the valuation allowance and a credit to the receivable.

 

Inventory:

 

Inventory is stated at the lower of average cost or net realizable value. Average cost approximates first-in, first-out cost.

 

Property and Equipment:

 

Property and equipment is stated at cost net of accumulated depreciation. Depreciation is provided primarily using the straight-line method for financial reporting purposes and accelerated methods for income tax reporting purposes. Maintenance and repairs are charged to operations as incurred; significant improvements are capitalized.

 

Cash Value of Life Insurance:

 

Cash value of life insurance is stated at the surrender value of the contracts.

 

Revenue Recognition:

 

Revenue is recognized (generally at fixed prices) when, or as, the Company transfers control of promised products or services to a customer in an amount that reflects the consideration to which the Company expects to be entitled in exchange for transferring those products or services.

A performance obligation is a promise in a contract to transfer a distinct good or service to the customer, and is the unit of account. A contract’s transaction price is allocated to each distinct performance obligation and recognized as revenue when, or as, the performance obligation is satisfied. The majority of our contracts have a single performance obligation as the promise to transfer the individual goods or services is not separately identifiable from other promises in the contracts which are, therefore, not distinct. Promised goods or services that are immaterial in the context of the contract are not separately assessed as performance obligations.

For contracts with customers in which the Company satisfies a promise to the customer to provide a product that has no alternative use to the Company and the Company has enforceable rights to payment for progress completed to date inclusive of profit, the Company satisfies the performance obligation and recognizes revenue over time (generally less than one year), using costs incurred to date relative to total estimated costs at completion to measure progress toward satisfying our performance obligations. Incurred cost represents work performed, which corresponds with, and thereby best depicts, the transfer of control to the customer. Contract costs include labor, material and overhead. Adjustments to cost estimates are made periodically, and losses expected to be incurred on contracts in progress are charged to operations in the period such losses are determined. Other sales to customers are recognized upon shipment to the customer based on contract prices and terms. In the year ended May 31, 2022, 60% of revenue was recorded for contracts in which revenue was recognized over time while 40% was recognized at a point in time. In the year ended May 31, 2021, 43% of revenue was recorded for contracts in which revenue was recognized over time while 57% was recognized at a point in time.

Progress payments are typically negotiated for longer term projects. Payments are otherwise due once performance obligations are complete (generally at shipment and transfer of title). For financial statement presentation purposes, the Company nets progress billings against the total costs incurred on uncompleted contracts. The asset, “costs and estimated earnings in excess of billings,” represents revenues recognized in excess of amounts billed. The liability, “billings in excess of costs and estimated earnings,” represents billings in excess of revenues recognized.

 

If applicable, the Company recognizes an asset for the incremental material costs of obtaining a contract with a customer if the Company expects the benefit of those costs to be longer than one year and the costs are expected to be recovered. As of May 31, 2022 and 2021, the Company does not have material incremental costs on any open contracts with an original expected duration of greater than one year, and therefore such costs are expensed as incurred. These incremental costs include, but are not limited to, sales commissions incurred to obtain a contract with a customer.

 

Shipping and Handling Costs:

 

Shipping and handling costs on incoming inventory items are classified as a component of cost of goods sold, while shipping and handling costs on outgoing shipments to customers are classified as a component of selling, general and administrative expenses. The amounts of these costs classified as a component of selling, general and administrative expenses were $238,536 and $146,878 for the years ended May 31, 2022 and 2021. Shipping and handling activities that occur after the customer has obtained control of the product are considered fulfillment activities, not performance obligations.

 

Research and Development Costs:

 

Research and development costs are classified as a component of cost of sales. The amounts of these costs were $1,213,000 and $924,000 for the years ended May 31, 2022 and 2021.

 

Income Taxes:

 

The provision for income taxes provides for the tax effects of transactions reported in the financial statements regardless of when such taxes are payable. Deferred tax assets and liabilities are recognized for the expected future tax consequences of temporary differences between the tax and financial statement basis of assets and liabilities. Deferred taxes are based on tax laws currently enacted with tax rates expected to be in effect when the taxes are actually paid or recovered.

 

The Company's practice is to recognize interest related to income tax matters in interest income / expense and to recognize penalties in selling, general and administrative expenses. The Company did not have any accrued interest or penalties included in its consolidated balance sheets at May 31, 2022 and 2021. The Company recorded no interest expense or penalties in its consolidated statements of income during the years ended May 31, 2022 and 2021.

 

The Company believes it is no longer subject to examination by federal and state taxing authorities for years prior to May 31, 2019.

 

Sales Taxes:

 

Certain jurisdictions impose a sales tax on Company sales to nonexempt customers. The Company collects these taxes from customers and remits the entire amount as required by the applicable law. The Company excludes from revenues and expenses the tax collected and remitted.

 

Stock-Based Compensation:

 

The Company measures compensation cost arising from the grant of share-based payments to employees at fair value and recognizes such cost in income over the period during which the employee is required to provide service in exchange for the award. The stock-based compensation expense for the years ended May 31, 2022 and 2021 was $201,278 and $154,343.

 

 

 

New Accounting Standards:

 

Any recently issued Accounting Standards Codification (ASC) guidance has either been implemented or are not significant to the Company.

 

XML 18 R8.htm IDEA: XBRL DOCUMENT v3.22.2.2
2. Accounts and Other Receivables:
12 Months Ended
May 31, 2022
Receivables [Abstract]  
2. Accounts and Other Receivables:

2. Accounts and Other Receivables:

 

   2022  2021
Customers  $4,292,300   $3,184,970 
Customers – retention   190,492    200,956 
Gross accounts receivable   4,482,792    3,385,926 
Less allowance for doubtful accounts   16,106    6,781 
Add other receivables   —      741,419 
Net accounts receivable  $4,466,686   $4,120,564 

 

Retention receivable from customers represents amounts invoiced to customers where payments have been partially withheld pending completion of the project. All amounts are expected to be collected within the next fiscal year.

 

Other receivable was an amount of Employee Retention Credit claimed by the Company for the second calendar quarter of 2021 and received in the third calendar quarter of 2021.

XML 19 R9.htm IDEA: XBRL DOCUMENT v3.22.2.2
3. Inventory:
12 Months Ended
May 31, 2022
Inventory Disclosure [Abstract]  
3. Inventory:

3. Inventory:

 

   2022  2021
Raw materials  $488,393   $503,344 
Work-in-process   5,166,271    5,076,377 
Finished goods   300,271    355,875 
Gross inventory   5,954,935    5,935,596 
Less allowance for obsolescence   100,000    100,000 
Net inventory  $5,854,935   $5,835,596 
XML 20 R10.htm IDEA: XBRL DOCUMENT v3.22.2.2
4. Costs and Estimated Earnings on Uncompleted Contracts:
12 Months Ended
May 31, 2022
Deferred Costs, Capitalized, Prepaid, and Other Assets Disclosure [Abstract]  
4. Costs and Estimated Earnings on Uncompleted Contracts:

4. Costs and Estimated Earnings on Uncompleted Contracts:

 

   2022  2021
Costs incurred on uncompleted contracts  $4,268,608   $3,372,276 
Estimated earnings   3,211,392    778,011 
Total costs and estimated earnings   7,480,000    4,150,287 
Less billings to date   5,266,289    4,012,668 
Costs and estimated earnings not billed  $2,213,711   $137,619 

 

Amounts are included in the accompanying balance sheets under the following captions:

 

   2022  2021
Costs and estimated earnings in excess of billings  $3,336,474   $1,499,604 
Billings in excess of costs and estimated earnings   1,122,763    1,361,985 
Costs and estimated earnings not billed  $2,213,711   $137,619 

 

The following summarizes the status of Projects in progress as of May 31, 2022 and 2021:

 

   2022  2021
Number of Projects in progress   19    14 
Aggregate percent complete   47%   32%
Aggregate amount remaining  $7,627,234   $9,333,701 
Percentage of total value invoiced to customer   35%   30%

 

The Company expects to recognize the entire remaining revenue on all open projects during the May 31, 2023 fiscal year.

 

Revenue recognized during the years ended May 31, 2022 and 2021 for amounts included in billings in excess of costs and estimated earnings as of the beginning of the year amounted to $1,420,000, and $736,866.

XML 21 R11.htm IDEA: XBRL DOCUMENT v3.22.2.2
5. Maintenance and Other Inventory:
12 Months Ended
May 31, 2022
Deferred Costs, Capitalized, Prepaid, and Other Assets Disclosure [Abstract]  
5. Maintenance and Other Inventory:

5. Maintenance and Other Inventory:

 

   2022  2021
Maintenance and other inventory  $2,334,889   $3,612,000 
Less allowance for obsolescence   1,227,580    1,999,161 
Maintenance and other inventory, net  $1,107,309   $1,612,839 

 

Maintenance and other inventory represent stock that is estimated to have a product life-cycle in excess of twelve-months. This stock represents certain items the Company is required to maintain for service of products sold, and items that are generally subject to spontaneous ordering.

 

This inventory is particularly sensitive to technical obsolescence in the near term due to its use in industries characterized by the continuous introduction of new product lines, rapid technological advances and product obsolescence. Therefore, management of the Company has recorded an allowance for potential inventory obsolescence.

 

During fiscal 2021, the Company began a thorough review of the facilities including the flow of inventory through the factory and warehouse areas to determine the most efficient utilization of available space. This review continued through fiscal 2022. Inventory purchasing practices and stocking levels were also evaluated and it was determined that a significant portion of the older items would be disposed of while the allowance for potential inventory obsolescence would be increased as more items are identified for disposal. $772,000 and $1,101,000 of inventory was disposed of during the years ended May 31, 2022 and 2021. The provision for potential inventory obsolescence was zero and $1,500,000 for the years ended May 31, 2022 and 2021.

XML 22 R12.htm IDEA: XBRL DOCUMENT v3.22.2.2
6. Property and Equipment:
12 Months Ended
May 31, 2022
Property, Plant and Equipment [Abstract]  
6. Property and Equipment:

6. Property and Equipment:

 

   2022  2021
Land  $195,220   $195,220 
Buildings and improvements   9,821,812    9,584,087 
Machinery and equipment   12,824,696    12,366,569 
Office furniture and equipment   2,744,400    2,536,688 
Autos and trucks   24,818    24,818 
Land improvements   483,929    476,429 
Gross property and equipment   26,094,875    25,183,811 
Less accumulated depreciation   16,240,116    15,367,217 
Property and equipment, net  $9,854,759   $9,816,594 

 

Depreciation expense was $1,347,442 and $1,212,713 for the years ended May 31, 2022 and 2021.

 

The Company has commitments to make capital expenditures of approximately $1,600,000 as of May 31, 2022.

XML 23 R13.htm IDEA: XBRL DOCUMENT v3.22.2.2
7. Short-Term Borrowings:
12 Months Ended
May 31, 2022
Debt Disclosure [Abstract]  
7. Short-Term Borrowings:

7. Short-Term Borrowings:

 

The Company has available a $10,000,000 demand line of credit from a bank, with interest payable at the Company's option of 30, 60 or 90 day LIBOR rate plus 2.25%. The line is secured by a negative pledge of the Company's real and personal property. This line of credit is subject to the usual terms and conditions applied by the bank and subject to renewal annually.

 

There is no amount outstanding under the line of credit at May 31, 2022 or May 31, 2021.

 

The Company uses a cash management facility under which the bank draws against the available line of credit to cover checks presented for payment on a daily basis. Outstanding checks under this arrangement totaled $193,478 and $366,209 as of May 31, 2022 and 2021. These amounts are included in accounts payable.

XML 24 R14.htm IDEA: XBRL DOCUMENT v3.22.2.2
8. Other Accrued Expenses:
12 Months Ended
May 31, 2022
Payables and Accruals [Abstract]  
8. Other Accrued Expenses:

8. Other Accrued Expenses:

 

   2022  2021
Customer deposits  $1,347,709   $867,652 
Personnel costs   1,587,271    659,623 
Other   394,427    188,134 
Total other accrued expenses  $3,329,407   $1,715,409 
XML 25 R15.htm IDEA: XBRL DOCUMENT v3.22.2.2
9. Sales:
12 Months Ended
May 31, 2022
Sales  
9. Sales:

9. Sales:

 

The Company manufactures and sells a single group of very similar products that have many different applications for customers. These similar products are included in one of eight categories; namely, Seismic Dampers, Fluidicshoks®, Crane and Industrial Buffers, Self-Adjusting Shock Absorbers, Liquid Die Springs, Vibration Dampers, Machined Springs and Custom Actuators. Management does not track or otherwise account for sales broken down by these categories. Sales of the Company's products are made to three general groups of customers: industrial, structural and aerospace / defense. A breakdown of sales to these three general groups of customers is as follows:

 

   2022  2021
Structural  $16,267,162   $10,137,468 
Aerospace / Defense   12,440,687    10,183,399 
Industrial   2,158,733    2,188,774 
Sales, net  $30,866,582   $22,509,641 

 

Sales to a single customer approximated 15% of net sales for 2022. Sales two customers approximated 21% (11% and 10%, respectively) of net sales for 2021.

XML 26 R16.htm IDEA: XBRL DOCUMENT v3.22.2.2
10. Income Taxes:
12 Months Ended
May 31, 2022
Income Tax Disclosure [Abstract]  
10. Income Taxes:

10. Income Taxes:

   2022  2021
Current tax provision (benefit):          
Federal  $200,100   $(361,000)
State   1,400    —   
Total current tax provision   201,500    (361,000)
Deferred tax provision (benefit):          
Federal   115,500    (20,000)
State   —      —   
Total deferred tax provision   115,500    (20,000)
Total tax provision  $317,000   $(381,000)

 

 

A reconciliation of provision for income taxes at the statutory rate to income tax provision at the Company's effective rate is as follows:

   2022  2021
Computed tax provision at the expected statutory rate  $536,800   $143,200 
State income tax - net of Federal tax benefit   1,100    —   
Tax effect of permanent differences:          
Research tax credits   (275,400)   (218,000)
Foreign-derived intangible income deduction   (12,200)      
PPP loan forgiveness   —      (306,900)
Other permanent differences   3,100    41,500 
Other   63,600    (40,800)
Total tax provision  $317,000   $(381,000)
Effective income tax rate   12.4%   (55.9%)


 

Significant components of the Company's deferred tax assets and liabilities consist of the following:

 

   2022  2021
Deferred tax assets:          
Allowance for doubtful receivables  $3,400   $1,400 
Tax inventory adjustment   92,200    22,900 
Allowance for obsolete inventory   278,800    440,800 
Accrued vacation   84,300    81,400 
Accrued commissions   7,000    5,900 
Warranty reserve   48,800    23,900 
R&D tax credit   84,000    —   
Stock options issued for services   277,600    238,500 
Total deferred tax assets   876,100    814,800 
Deferred tax liabilities:          
Excess tax depreciation   (801,485)   (624,685)
Net deferred tax assets  $74,615   $190,115 

 

 

Realization of the deferred tax assets is dependent on generating sufficient taxable income at the time temporary differences become deductible. The Company provides a valuation allowance to the extent that deferred tax assets may not be realized. A valuation allowance has not been recorded against the deferred tax assets since management believes it is more likely than not that the deferred tax assets are recoverable. The Company considers future taxable income and potential tax planning strategies in assessing the need for a potential valuation allowance. The amount of the deferred tax assets considered realizable however, could be reduced in the near term if estimates of future taxable income are reduced. The Company will need to generate approximately $4.2 million in taxable income in future years in order to realize the deferred tax assets recorded as of May 31, 2022 of $876,100.

 

The Company and its subsidiary file consolidated Federal and State income tax returns. As of May 31, 2022, the Company had State investment tax credit carryforwards of approximately $389,000 expiring through May 31, 2027.

XML 27 R17.htm IDEA: XBRL DOCUMENT v3.22.2.2
11. Earnings Per Common Share:
12 Months Ended
May 31, 2022
Earnings Per Share [Abstract]  
11. Earnings Per Common Share:

11. Earnings Per Common Share:

 

Basic earnings per common share is computed by dividing income available to common stockholders by the weighted-average common shares outstanding for the period. Diluted earnings per common share reflects the weighted-average common shares outstanding and dilutive potential common shares, such as stock options.

 

A reconciliation of weighted-average common shares outstanding to weighted-average common shares outstanding assuming dilution is as follows:

 

   2022  2021
Average common shares outstanding   3,497,345    3,490,213 
Common shares issuable under stock option plans   2,208    1,674 
Average common shares outstanding assuming dilution   3,499,553    3,491,887 
XML 28 R18.htm IDEA: XBRL DOCUMENT v3.22.2.2
12. Related Party Transactions:
12 Months Ended
May 31, 2022
Related Party Transactions [Abstract]  
12. Related Party Transactions:

12. Related Party Transactions:

 

The Company had no related party transactions for the years ended May 31, 2022 and 2021.

XML 29 R19.htm IDEA: XBRL DOCUMENT v3.22.2.2
13. Employee Stock Purchase Plan:
12 Months Ended
May 31, 2022
Share-Based Payment Arrangement [Abstract]  
13. Employee Stock Purchase Plan:

13. Employee Stock Purchase Plan:

 

In March 2004, the Company reserved 295,000 shares of common stock for issuance pursuant to a non-qualified employee stock purchase plan. Participation in the employee stock purchase plan is voluntary for all eligible employees of the Company. Purchase of common shares can be made by employee contributions through payroll deductions. At the end of each calendar quarter, the employee contributions will be applied to the purchase of common shares using a share value equal to the mean between the closing bid and ask prices of the stock on that date. These shares are distributed to the employees at the end of each calendar quarter or upon withdrawal from the plan. During the years ended May 31, 2022 and 2021, 1,496 ($9.90 to $11.83 price per share) and 1,470 ($9.20 to $11.40 price per share) common shares, respectively, were issued to employees. As of May 31, 2022, 217,287 shares were reserved for further issue.

XML 30 R20.htm IDEA: XBRL DOCUMENT v3.22.2.2
15. Preferred Stock:
12 Months Ended
May 31, 2022
Equity [Abstract]  
15. Preferred Stock:

15. Preferred Stock:

 

The Company has 2,000,000 authorized but unissued shares of preferred stock which may be issued in series. The shares of each series shall have such rights, preferences, and limitations as shall be fixed by the Board of Directors.

XML 31 R21.htm IDEA: XBRL DOCUMENT v3.22.2.2
16. Treasury Stock:
12 Months Ended
May 31, 2022
Equity [Abstract]  
16. Treasury Stock:

16. Treasury Stock:

 

Treasury shares are 558,834 at both May 31, 2022 and 2021.

XML 32 R22.htm IDEA: XBRL DOCUMENT v3.22.2.2
17. Retirement Plan:
12 Months Ended
May 31, 2022
Retirement Benefits [Abstract]  
17. Retirement Plan:

17. Retirement Plan:

 

The Company maintains a retirement plan for essentially all employees pursuant to Section 401(k) of the Internal Revenue Code. The Company matches a percentage of employee voluntary salary deferrals subject to limitations. The Company may also make discretionary contributions as determined annually by the Company's Board of Directors. The amount expensed under the plan was $313,269 and $288,470 for the years ended May 31, 2022 and 2021.

XML 33 R23.htm IDEA: XBRL DOCUMENT v3.22.2.2
18. Fair Value of Financial Instruments:
12 Months Ended
May 31, 2022
Accounting Policies [Abstract]  
18. Fair Value of Financial Instruments:

18. Fair Value of Financial Instruments:

 

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

 

The fair values of short-term investments were determined as described in Note 1.

XML 34 R24.htm IDEA: XBRL DOCUMENT v3.22.2.2
19. Cash Flows Information:
12 Months Ended
May 31, 2022
Supplemental Cash Flow Elements [Abstract]  
19. Cash Flows Information:

19. Cash Flows Information:

 

   2022  2021
       
  Interest paid   none    none 
           
  Income taxes paid   none   $43,630 
XML 35 R25.htm IDEA: XBRL DOCUMENT v3.22.2.2
20. Risks and Uncertainties:
12 Months Ended
May 31, 2022
Risks and Uncertainties [Abstract]  
20. Risks and Uncertainties:

20. Risks and Uncertainties:

 

On January 31, 2020, the United States Secretary of Health and Human Services (HHS) declared a public health emergency related to the global spread of coronavirus COVID-19, and a pandemic was declared by the World Health Organization in February 2020. Efforts to fight the widespread disease included limiting or closing many businesses and resulted in a severe disruption of operations for many organizations. Financial markets also fluctuated significantly during this time. The extent of the impact of COVID-19 on the Company’s operational and financial performance was significant in fiscal 2021. The use of vaccinations world-wide have apparently slowed spread of the disease, the extent of the impact of COVID-19 on the Company’s operational and financial performance in fiscal 2022 was minimal. The effect on the Company’s operational and financial performance in fiscal 2023 is not expected to be significant however it will depend on further developments, including the duration and spread of the outbreak, impact on customers, employees, and vendors, all of which cannot be predicted.

 

As a result of the pandemic described above, the Company applied for, and received, financial assistance from the U.S. federal government as part of the CARES Act and the Consolidated Appropriations Act of 2021 (CAA) including: a.) $1,461,500 of income due to the forgiveness of the PPP loan by the SBA (all in fiscal 2021), and b.) $1,563,639 of Employee Retention Credit income ($53,508 in fiscal 2022 and $1,510,131 in fiscal 2021). These amounts are included in Other income on the Consolidated Statements of Income.

XML 36 R26.htm IDEA: XBRL DOCUMENT v3.22.2.2
21. Legal Proceedings:
12 Months Ended
May 31, 2022
Commitments and Contingencies Disclosure [Abstract]  
21. Legal Proceedings:

21. Legal Proceedings:

 

There are no legal proceedings except for routine litigation incidental to the business.

XML 37 R27.htm IDEA: XBRL DOCUMENT v3.22.2.2
1. Summary of Significant Accounting Policies: (Policies)
12 Months Ended
May 31, 2022
Accounting Policies [Abstract]  
Nature of Operations:

Nature of Operations:

 

Taylor Devices, Inc. (the Company) manufactures and sells a single group of very similar products that have many different applications for customers. These similar products are included in one of eight categories; namely, Seismic Dampers, Fluidicshoks®, Crane and Industrial Buffers, Self-Adjusting Shock Absorbers, Liquid Die Springs, Vibration Dampers, Machined Springs and Custom Actuators for use in various types of machinery, equipment and structures, primarily to customers which are located throughout the United States and several foreign countries. The products are manufactured at the Company's sole operating facility in the United States where all of the Company's long-lived assets reside. Management does not track or otherwise account for sales broken down by these categories.

 

76% of the Company's 2022 revenue was generated from sales to customers in the United States and 14% was from sales to customers in Asia. Remaining sales were to customers in other countries in North America, Europe, Australia, and South America.

 

68% of the Company's 2021 revenue was generated from sales to customers in the United States and 20% was from sales to customers in Asia. Remaining sales were to customers in other countries in North America, Europe and South America.

Principles of Consolidation:

Principles of Consolidation:

 

The accompanying consolidated financial statements include the accounts of the Company and its wholly owned subsidiary, Tayco Realty Corporation (Realty). All inter-company transactions and balances have been eliminated in consolidation.

Subsequent Events:

Subsequent Events:

 

The Company has evaluated events and transactions for potential recognition or disclosure in the financial statements through the date the financial statements were issued.

Use of Estimates:

Use of Estimates:

 

The preparation of financial statements in conformity with accounting principles generally accepted in the United States of America requires management to make estimates and assumptions that affect the amounts reported in the financial statements and accompanying notes. Actual results could differ from those estimates.

Cash and Cash Equivalents:

Cash and Cash Equivalents:

 

The Company includes all highly liquid investments in money market funds in cash and cash equivalents on the accompanying balance sheets.

 

Cash and cash equivalents in financial institutions may exceed insured limits at various times during the year and subject the Company to concentrations of credit risk.

Short-term Investments:

Short-term Investments:

 

At times, the Company invests excess funds in liquid interest earning instruments. Short-term investments at May 31, 2022 and May 31, 2021 include “available for sale” corporate bonds stated at fair value, which approximates cost. The bonds (16) mature on various dates during the period December 2022 to November 2026. Unrealized holding gains and losses would be presented as a separate component of accumulated other comprehensive income, net of deferred income taxes. Realized gains and losses on the sale of investments are determined using the specific identification method.

 

The bonds are valued using pricing models maximizing the use of observable inputs for similar securities. This includes basing value on yields currently available on comparable securities of issuers with similar credit ratings.

Accounts and Other Receivables:

Accounts and Other Receivables:

 

Accounts and other receivables are stated at an amount management expects to collect from outstanding balances. Management provides for probable uncollectible accounts through a charge to earnings and a credit to a valuation allowance based on its assessment of the current status of individual accounts. Balances that are still outstanding after management has used reasonable collection efforts are written off through a charge to the valuation allowance and a credit to the receivable.

Inventory:

Inventory:

 

Inventory is stated at the lower of average cost or net realizable value. Average cost approximates first-in, first-out cost.

Property and Equipment:

Property and Equipment:

 

Property and equipment is stated at cost net of accumulated depreciation. Depreciation is provided primarily using the straight-line method for financial reporting purposes and accelerated methods for income tax reporting purposes. Maintenance and repairs are charged to operations as incurred; significant improvements are capitalized.

Cash Value of Life Insurance:

Cash Value of Life Insurance:

 

Cash value of life insurance is stated at the surrender value of the contracts.

Revenue Recognition:

Revenue Recognition:

 

Revenue is recognized (generally at fixed prices) when, or as, the Company transfers control of promised products or services to a customer in an amount that reflects the consideration to which the Company expects to be entitled in exchange for transferring those products or services.

A performance obligation is a promise in a contract to transfer a distinct good or service to the customer, and is the unit of account. A contract’s transaction price is allocated to each distinct performance obligation and recognized as revenue when, or as, the performance obligation is satisfied. The majority of our contracts have a single performance obligation as the promise to transfer the individual goods or services is not separately identifiable from other promises in the contracts which are, therefore, not distinct. Promised goods or services that are immaterial in the context of the contract are not separately assessed as performance obligations.

For contracts with customers in which the Company satisfies a promise to the customer to provide a product that has no alternative use to the Company and the Company has enforceable rights to payment for progress completed to date inclusive of profit, the Company satisfies the performance obligation and recognizes revenue over time (generally less than one year), using costs incurred to date relative to total estimated costs at completion to measure progress toward satisfying our performance obligations. Incurred cost represents work performed, which corresponds with, and thereby best depicts, the transfer of control to the customer. Contract costs include labor, material and overhead. Adjustments to cost estimates are made periodically, and losses expected to be incurred on contracts in progress are charged to operations in the period such losses are determined. Other sales to customers are recognized upon shipment to the customer based on contract prices and terms. In the year ended May 31, 2022, 60% of revenue was recorded for contracts in which revenue was recognized over time while 40% was recognized at a point in time. In the year ended May 31, 2021, 43% of revenue was recorded for contracts in which revenue was recognized over time while 57% was recognized at a point in time.

Progress payments are typically negotiated for longer term projects. Payments are otherwise due once performance obligations are complete (generally at shipment and transfer of title). For financial statement presentation purposes, the Company nets progress billings against the total costs incurred on uncompleted contracts. The asset, “costs and estimated earnings in excess of billings,” represents revenues recognized in excess of amounts billed. The liability, “billings in excess of costs and estimated earnings,” represents billings in excess of revenues recognized.

 

If applicable, the Company recognizes an asset for the incremental material costs of obtaining a contract with a customer if the Company expects the benefit of those costs to be longer than one year and the costs are expected to be recovered. As of May 31, 2022 and 2021, the Company does not have material incremental costs on any open contracts with an original expected duration of greater than one year, and therefore such costs are expensed as incurred. These incremental costs include, but are not limited to, sales commissions incurred to obtain a contract with a customer.

Shipping and Handling Costs:

Shipping and Handling Costs:

 

Shipping and handling costs on incoming inventory items are classified as a component of cost of goods sold, while shipping and handling costs on outgoing shipments to customers are classified as a component of selling, general and administrative expenses. The amounts of these costs classified as a component of selling, general and administrative expenses were $238,536 and $146,878 for the years ended May 31, 2022 and 2021. Shipping and handling activities that occur after the customer has obtained control of the product are considered fulfillment activities, not performance obligations.

Research and Development Costs:

Research and Development Costs:

 

Research and development costs are classified as a component of cost of sales. The amounts of these costs were $1,213,000 and $924,000 for the years ended May 31, 2022 and 2021.

Income Taxes:

Income Taxes:

 

The provision for income taxes provides for the tax effects of transactions reported in the financial statements regardless of when such taxes are payable. Deferred tax assets and liabilities are recognized for the expected future tax consequences of temporary differences between the tax and financial statement basis of assets and liabilities. Deferred taxes are based on tax laws currently enacted with tax rates expected to be in effect when the taxes are actually paid or recovered.

 

The Company's practice is to recognize interest related to income tax matters in interest income / expense and to recognize penalties in selling, general and administrative expenses. The Company did not have any accrued interest or penalties included in its consolidated balance sheets at May 31, 2022 and 2021. The Company recorded no interest expense or penalties in its consolidated statements of income during the years ended May 31, 2022 and 2021.

 

The Company believes it is no longer subject to examination by federal and state taxing authorities for years prior to May 31, 2019.

Sales Taxes:

Sales Taxes:

 

Certain jurisdictions impose a sales tax on Company sales to nonexempt customers. The Company collects these taxes from customers and remits the entire amount as required by the applicable law. The Company excludes from revenues and expenses the tax collected and remitted.

Stock-Based Compensation:

Stock-Based Compensation:

 

The Company measures compensation cost arising from the grant of share-based payments to employees at fair value and recognizes such cost in income over the period during which the employee is required to provide service in exchange for the award. The stock-based compensation expense for the years ended May 31, 2022 and 2021 was $201,278 and $154,343.

New Accounting Standards:

New Accounting Standards:

 

Any recently issued Accounting Standards Codification (ASC) guidance has either been implemented or are not significant to the Company.

XML 38 R28.htm IDEA: XBRL DOCUMENT v3.22.2.2
2. Accounts and Other Receivables: (Tables)
12 Months Ended
May 31, 2022
Receivables [Abstract]  
Accounts receivable table
   2022  2021
Customers  $4,292,300   $3,184,970 
Customers – retention   190,492    200,956 
Gross accounts receivable   4,482,792    3,385,926 
Less allowance for doubtful accounts   16,106    6,781 
Add other receivables   —      741,419 
Net accounts receivable  $4,466,686   $4,120,564 
XML 39 R29.htm IDEA: XBRL DOCUMENT v3.22.2.2
3. Inventory: (Tables)
12 Months Ended
May 31, 2022
Inventory Disclosure [Abstract]  
Inventory table
   2022  2021
Raw materials  $488,393   $503,344 
Work-in-process   5,166,271    5,076,377 
Finished goods   300,271    355,875 
Gross inventory   5,954,935    5,935,596 
Less allowance for obsolescence   100,000    100,000 
Net inventory  $5,854,935   $5,835,596 
XML 40 R30.htm IDEA: XBRL DOCUMENT v3.22.2.2
4. Costs and Estimated Earnings on Uncompleted Contracts: (Tables)
12 Months Ended
May 31, 2022
Deferred Costs, Capitalized, Prepaid, and Other Assets Disclosure [Abstract]  
Costs and estimated earnings on uncompleted contracts components table
   2022  2021
Costs incurred on uncompleted contracts  $4,268,608   $3,372,276 
Estimated earnings   3,211,392    778,011 
Total costs and estimated earnings   7,480,000    4,150,287 
Less billings to date   5,266,289    4,012,668 
Costs and estimated earnings not billed  $2,213,711   $137,619 
Costs and estimated earnings on uncompleted contracts table
   2022  2021
Costs and estimated earnings in excess of billings  $3,336,474   $1,499,604 
Billings in excess of costs and estimated earnings   1,122,763    1,361,985 
Costs and estimated earnings not billed  $2,213,711   $137,619 
Costs and estimated earnings on uncompleted contracts two table
   2022  2021
Number of Projects in progress   19    14 
Aggregate percent complete   47%   32%
Aggregate amount remaining  $7,627,234   $9,333,701 
Percentage of total value invoiced to customer   35%   30%
XML 41 R31.htm IDEA: XBRL DOCUMENT v3.22.2.2
5. Maintenance and Other Inventory: (Tables)
12 Months Ended
May 31, 2022
Deferred Costs, Capitalized, Prepaid, and Other Assets Disclosure [Abstract]  
Maintenance and other inventory table
   2022  2021
Maintenance and other inventory  $2,334,889   $3,612,000 
Less allowance for obsolescence   1,227,580    1,999,161 
Maintenance and other inventory, net  $1,107,309   $1,612,839 
XML 42 R32.htm IDEA: XBRL DOCUMENT v3.22.2.2
6. Property and Equipment: (Tables)
12 Months Ended
May 31, 2022
Property, Plant and Equipment [Abstract]  
Property and equipment table
   2022  2021
Land  $195,220   $195,220 
Buildings and improvements   9,821,812    9,584,087 
Machinery and equipment   12,824,696    12,366,569 
Office furniture and equipment   2,744,400    2,536,688 
Autos and trucks   24,818    24,818 
Land improvements   483,929    476,429 
Gross property and equipment   26,094,875    25,183,811 
Less accumulated depreciation   16,240,116    15,367,217 
Property and equipment, net  $9,854,759   $9,816,594 
XML 43 R33.htm IDEA: XBRL DOCUMENT v3.22.2.2
8. Other Accrued Expenses: (Tables)
12 Months Ended
May 31, 2022
Payables and Accruals [Abstract]  
Other accrued expenses table
   2022  2021
Customer deposits  $1,347,709   $867,652 
Personnel costs   1,587,271    659,623 
Other   394,427    188,134 
Total other accrued expenses  $3,329,407   $1,715,409 
XML 44 R34.htm IDEA: XBRL DOCUMENT v3.22.2.2
9. Sales: (Tables)
12 Months Ended
May 31, 2022
Sales  
Sales by major customer type
   2022  2021
Structural  $16,267,162   $10,137,468 
Aerospace / Defense   12,440,687    10,183,399 
Industrial   2,158,733    2,188,774 
Sales, net  $30,866,582   $22,509,641 
XML 45 R35.htm IDEA: XBRL DOCUMENT v3.22.2.2
10. Income Taxes: (Tables)
12 Months Ended
May 31, 2022
Income Tax Disclosure [Abstract]  
Income Taxes Table
   2022  2021
Current tax provision (benefit):          
Federal  $200,100   $(361,000)
State   1,400    —   
Total current tax provision   201,500    (361,000)
Deferred tax provision (benefit):          
Federal   115,500    (20,000)
State   —      —   
Total deferred tax provision   115,500    (20,000)
Total tax provision  $317,000   $(381,000)
Reconciliation of income tax statutory rate to effective rate
   2022  2021
Computed tax provision at the expected statutory rate  $536,800   $143,200 
State income tax - net of Federal tax benefit   1,100    —   
Tax effect of permanent differences:          
Research tax credits   (275,400)   (218,000)
Foreign-derived intangible income deduction   (12,200)      
PPP loan forgiveness   —      (306,900)
Other permanent differences   3,100    41,500 
Other   63,600    (40,800)
Total tax provision  $317,000   $(381,000)
Effective income tax rate   12.4%   (55.9%)
Components of Deferred Tax Assets and Liabilities
   2022  2021
Deferred tax assets:          
Allowance for doubtful receivables  $3,400   $1,400 
Tax inventory adjustment   92,200    22,900 
Allowance for obsolete inventory   278,800    440,800 
Accrued vacation   84,300    81,400 
Accrued commissions   7,000    5,900 
Warranty reserve   48,800    23,900 
R&D tax credit   84,000    —   
Stock options issued for services   277,600    238,500 
Total deferred tax assets   876,100    814,800 
Deferred tax liabilities:          
Excess tax depreciation   (801,485)   (624,685)
Net deferred tax assets  $74,615   $190,115 
XML 46 R36.htm IDEA: XBRL DOCUMENT v3.22.2.2
11. Earnings Per Common Share: (Tables)
12 Months Ended
May 31, 2022
Earnings Per Share [Abstract]  
Earnings per common share table
   2022  2021
Average common shares outstanding   3,497,345    3,490,213 
Common shares issuable under stock option plans   2,208    1,674 
Average common shares outstanding assuming dilution   3,499,553    3,491,887 
XML 47 R37.htm IDEA: XBRL DOCUMENT v3.22.2.2
14. Stock Option Plans: (Tables)
12 Months Ended
May 31, 2022
Share-Based Payment Arrangement, Noncash Expense [Abstract]  
Stock option plans table
   2022  2021
Risk-free interest rate   2.59%   2.31%
Expected life in years   4.0 years    4.0 years 
Expected volatility   31%   33%
Expected dividend yield   0%   0%
Stock options roll foward
   Shares  Weighted Average Exercise Price  Intrinsic Value
Outstanding - May 31, 2020   252,250   $11.52   $209,835 
     Options granted   47,250   $11.26      
     Less: options exercised   13,000   $6.34      
     Less: options expired   18,750   $13.31      
Outstanding - May 31, 2021   267,750   $11.60   $271,426 
     Options granted   66,750   $10.69      
     Less: options expired   51,500    —        
Outstanding - May 31, 2022   283,000   $11.43   $28,248 
Stock option plans - Stock options outstanding and exercisable
Outstanding and Exercisable               
Range of Exercise Prices   Number of Options    Weighted Average Remaining Years of Contractual Life    Weighted Average Exercise Price 
$  7.01-$  8.00   10,000    0.9   $7.74 
$  8.01-$  9.00   19,250    1.5   $8.64 
$  9.01-$10.00   55,000    9.0   $9.67 
$10.01-$11.00   26,500    7.3   $10.14 
$11.01-$12.00   112,250    7.8   $11.72 
$12.01-$13.00   28,750    3.9   $12.39 
$13.01-$14.00   10,000    4.9   $13.80 
$16.01-$17.00   10,000    3.9   $16.40 
$19.01-$20.00   11,250    4.2   $19.26 
$  7.01-$20.00   283,000    6.5   $11.43 
                
Stock option plans - Stock options outstanding and exercisable
Outstanding and Exercisable               
Range of Exercise Prices   Number of Options    Weighted Average Remaining Years of Contractual Life    Weighted Average Exercise Price 
$  7.01-$  8.00   15,000    1.6   $7.74 
$  8.01-$  9.00   24,250    2.1   $8.71 
$  9.01-$10.00   30,000    7.6   $9.85 
$10.01-$11.00   32,250    7.2   $10.17 
$11.01-$12.00   91,250    7.4   $11.71 
$12.01-$13.00   33,750    4.3   $12.36 
$13.01-$14.00   15,000    4.2   $13.80 
$16.01-$17.00   15,000    3.6   $16.40 
$19.01-$20.00   11,250    5.2   $19.26 
$  7.01-$20.00   267,750    5.7   $11.60 
                
XML 48 R38.htm IDEA: XBRL DOCUMENT v3.22.2.2
19. Cash Flows Information: (Tables)
12 Months Ended
May 31, 2022
Supplemental Cash Flow Elements [Abstract]  
Supplemental cash flow information
   2022  2021
       
  Interest paid   none    none 
           
  Income taxes paid   none   $43,630 
XML 49 R39.htm IDEA: XBRL DOCUMENT v3.22.2.2
1. Summary of Significant Accounting Policies: (Details Narrative) - USD ($)
12 Months Ended
May 31, 2022
May 31, 2021
Accounting Policies [Abstract]    
Percentage of total sales during a period to domestic customers. 7600.00% 6800.00%
Percentage of total sales during a period to export customers 1400.00% 2000.00%
Percent of revenue recognized with sales contracts containing a single performance obligation 6000.00% 4300.00%
Percent of revenue recognized with sales contracts containing a single performance obligation 4000.00% 5700.00%
Shipping and handling costs $ 238,536 $ 146,878
Research and development costs 1,213,000 924,000
Share based compensation expense $ 201,278 $ 154,343
XML 50 R40.htm IDEA: XBRL DOCUMENT v3.22.2.2
Accounts receivable table (Details) - USD ($)
May 31, 2022
May 31, 2021
Receivables [Abstract]    
Customers $ 4,292,300 $ 3,184,970
Customers – retention 190,492 200,956
Gross accounts receivable 4,482,792 3,385,926
Less allowance for doubtful accounts 16,106 6,781
Add other receivables 0 741,419
Net accounts receivable $ 4,466,686 $ 4,120,564
XML 51 R41.htm IDEA: XBRL DOCUMENT v3.22.2.2
Inventory table (Details) - USD ($)
May 31, 2022
May 31, 2021
Inventory Disclosure [Abstract]    
Raw materials $ 488,393 $ 503,344
Work-in-process 5,166,271 5,076,377
Finished goods 300,271 355,875
Gross inventory 5,954,935 5,935,596
Less allowance for obsolescence 100,000 100,000
Net inventory $ 5,854,935 $ 5,835,596
XML 52 R42.htm IDEA: XBRL DOCUMENT v3.22.2.2
Costs and estimated earnings on uncompleted contracts components table (Details) - USD ($)
May 31, 2022
May 31, 2021
Deferred Costs, Capitalized, Prepaid, and Other Assets Disclosure [Abstract]    
Costs incurred on uncompleted contracts $ 4,268,608 $ 3,372,276
Estimated earnings 3,211,392 778,011
Total costs and estimated earnings 7,480,000 4,150,287
Less billings to date 5,266,289 4,012,668
Costs and estimated earnings not billed $ 2,213,711 $ 137,619
XML 53 R43.htm IDEA: XBRL DOCUMENT v3.22.2.2
Costs and estimated earnings on uncompleted contracts table (Details) - USD ($)
May 31, 2022
May 31, 2021
Deferred Costs, Capitalized, Prepaid, and Other Assets Disclosure [Abstract]    
Costs and estimated earnings in excess of billings $ 3,336,474 $ 1,499,604
Billings in excess of costs and estimated earnings 1,122,763 1,361,985
Costs and estimated earnings not billed $ 2,213,711 $ 137,619
XML 54 R44.htm IDEA: XBRL DOCUMENT v3.22.2.2
Costs and estimated earnings on uncompleted contracts two table (Details)
May 31, 2022
USD ($)
May 31, 2021
USD ($)
Deferred Costs, Capitalized, Prepaid, and Other Assets Disclosure [Abstract]    
Number of Projects in progress 19 14
Aggregate percent complete 47.00% 32.00%
Aggregate amount remaining $ 7,627,234 $ 9,333,701
Percentage of total value invoiced to customer 35.00% 30.00%
XML 55 R45.htm IDEA: XBRL DOCUMENT v3.22.2.2
Maintenance and other inventory table (Details) - USD ($)
May 31, 2022
May 31, 2021
Deferred Costs, Capitalized, Prepaid, and Other Assets Disclosure [Abstract]    
Maintenance and other inventory $ 2,334,889 $ 3,612,000
Less allowance for obsolescence 1,227,580 1,999,161
Maintenance and other inventory, net $ 1,107,309 $ 1,612,839
XML 56 R46.htm IDEA: XBRL DOCUMENT v3.22.2.2
4. Costs and Estimated Earnings on Uncompleted Contracts: (Details Narrative) - USD ($)
12 Months Ended
May 31, 2022
May 31, 2021
Deferred Costs, Capitalized, Prepaid, and Other Assets Disclosure [Abstract]    
Revenue recognized in current period for projects included in billings in excess of costs and estimated earnings at end of prior year $ 1,420,000 $ 736,866
XML 57 R47.htm IDEA: XBRL DOCUMENT v3.22.2.2
5. Maintenance and Other Inventory: (Details Narrative) - USD ($)
12 Months Ended
May 31, 2022
May 31, 2021
Deferred Costs, Capitalized, Prepaid, and Other Assets Disclosure [Abstract]    
Inventory Write-down $ 0 $ 1,500,000
XML 58 R48.htm IDEA: XBRL DOCUMENT v3.22.2.2
Property and equipment table (Details) - USD ($)
May 31, 2022
May 31, 2021
Property, Plant and Equipment [Abstract]    
Land $ 195,220 $ 195,220
Buildings and improvements 9,821,812 9,584,087
Machinery and equipment 12,824,696 12,366,569
Office furniture and equipment 2,744,400 2,536,688
Autos and trucks 24,818 24,818
Land improvements 483,929 476,429
Gross property and equipment 26,094,875 25,183,811
Less accumulated depreciation 16,240,116 15,367,217
Property and equipment, net $ 9,854,759 $ 9,816,594
XML 59 R49.htm IDEA: XBRL DOCUMENT v3.22.2.2
6. Property and Equipment: (Details Narrative) - USD ($)
12 Months Ended
May 31, 2022
May 31, 2021
Property, Plant and Equipment [Abstract]    
Depreciation $ 1,347,442 $ 1,212,713
Commitments for future capital expenditures $ 1,600,000  
XML 60 R50.htm IDEA: XBRL DOCUMENT v3.22.2.2
7. Short-Term Borrowings: (Details Narrative) - USD ($)
May 31, 2022
May 31, 2021
Debt Disclosure [Abstract]    
Line of Credit Facility, Current Borrowing Capacity $ 10,000,000  
Line of Credit Facility, Fair Value of Amount Outstanding 0 $ 0
Accounts Payable, Other, Current $ 193,478 $ 366,209
XML 61 R51.htm IDEA: XBRL DOCUMENT v3.22.2.2
Other accrued expenses table (Details) - USD ($)
May 31, 2022
May 31, 2021
Payables and Accruals [Abstract]    
Customer deposits $ 1,347,709 $ 867,652
Personnel costs 1,587,271 659,623
Other 394,427 188,134
Total other accrued expenses $ 3,329,407 $ 1,715,409
XML 62 R52.htm IDEA: XBRL DOCUMENT v3.22.2.2
Sales by major customer type (Details) - USD ($)
12 Months Ended
May 31, 2022
May 31, 2021
Sales, net $ 30,866,582 $ 22,509,641
Structural Seismic Wind [Member]    
Sales, net 16,267,162 10,137,468
Aerospace Defense [Member]    
Sales, net 12,440,687 10,183,399
Industrial [Member]    
Sales, net $ 2,158,733 $ 2,188,774
XML 63 R53.htm IDEA: XBRL DOCUMENT v3.22.2.2
9. Sales: (Details Narrative)
12 Months Ended
May 31, 2022
May 31, 2021
Sales    
Percentage of total sales to significant individual customer 1 1500.00% 1100.00%
Percentage of total sales to significant individual customers   2100.00%
Percentage of total sales to significant individual customer 2   1000.00%
XML 64 R54.htm IDEA: XBRL DOCUMENT v3.22.2.2
Income Taxes Table (Details) - USD ($)
12 Months Ended
May 31, 2022
May 31, 2021
Current tax provision (benefit):    
Federal $ 200,100 $ (361,000)
State 1,400 0
Total current tax provision 201,500 (361,000)
Deferred tax provision (benefit):    
Federal 115,500 (20,000)
State 0 0
Total deferred tax provision 115,500 (20,000)
Total tax provision $ 317,000 $ (381,000)
XML 65 R55.htm IDEA: XBRL DOCUMENT v3.22.2.2
Reconciliation of income tax statutory rate to effective rate (Details) - USD ($)
12 Months Ended
May 31, 2022
May 31, 2021
Income Tax Disclosure [Abstract]    
Computed tax provision at the expected statutory rate $ 536,800 $ 143,200
State income tax - net of Federal tax benefit 1,100 0
Tax effect of permanent differences:    
Research tax credits (275,400) (218,000)
Foreign-derived intangible income deduction (12,200)
PPP loan forgiveness 0 (306,900)
Other permanent differences 3,100 41,500
Other 63,600 (40,800)
Total tax provision $ 317,000 $ (381,000)
Effective income tax rate 12.40% (55.90%)
XML 66 R56.htm IDEA: XBRL DOCUMENT v3.22.2.2
Components of Deferred Tax Assets and Liabilities (Details) - USD ($)
May 31, 2022
May 31, 2021
Deferred tax assets:    
Allowance for doubtful receivables $ 3,400 $ 1,400
Tax inventory adjustment 92,200 22,900
Allowance for obsolete inventory 278,800 440,800
Accrued vacation 84,300 81,400
Accrued commissions 7,000 5,900
Warranty reserve 48,800 23,900
R&D tax credit 84,000 0
Stock options issued for services 277,600 238,500
Total deferred tax assets 876,100 814,800
Deferred tax liabilities:    
Excess tax depreciation (801,485) (624,685)
Net deferred tax assets $ 74,615 $ 190,115
XML 67 R57.htm IDEA: XBRL DOCUMENT v3.22.2.2
10. Income Taxes: (Details Narrative) - USD ($)
60 Months Ended
May 31, 2027
May 31, 2022
May 31, 2021
Income Tax Disclosure [Abstract]      
Deferred Tax Assets, Gross   $ 876,100 $ 814,800
Deferred Tax Assets, Tax Credit Carryforwards   $ 389,000  
Tax Credit Carryforward, Expiration Date May 31, 2027    
XML 68 R58.htm IDEA: XBRL DOCUMENT v3.22.2.2
Earnings per common share table (Details) - shares
12 Months Ended
May 31, 2022
May 31, 2021
Earnings Per Share [Abstract]    
Average common shares outstanding 3,497,345 3,490,213
Common shares issuable under stock option plans 2,208 1,674
Average common shares outstanding assuming dilution 3,499,553 3,491,887
XML 69 R59.htm IDEA: XBRL DOCUMENT v3.22.2.2
13. Employee Stock Purchase Plan: (Details Narrative) - shares
12 Months Ended
May 31, 2022
May 31, 2021
Share-Based Payment Arrangement [Abstract]    
Stock Issued During Period, Shares, Employee Stock Purchase Plans 1,496 1,470
XML 70 R60.htm IDEA: XBRL DOCUMENT v3.22.2.2
Stock option plans table (Details)
12 Months Ended
May 31, 2022
May 31, 2021
Share-Based Payment Arrangement, Noncash Expense [Abstract]    
Risk-free interest rate 2.59% 2.31%
Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Term 4 years 4 years
Expected volatility 31.00% 33.00%
Expected dividend yield 0.00% 0.00%
XML 71 R61.htm IDEA: XBRL DOCUMENT v3.22.2.2
Stock options roll foward (Details) - USD ($)
12 Months Ended
May 31, 2022
May 31, 2021
May 31, 2020
Share-Based Payment Arrangement, Noncash Expense [Abstract]      
Stock options outstanding 283,000 267,750 252,250
Weighted average exercise price of options outstanding $ 11.43 $ 11.60 $ 11.52
Intrinsic value of options outstanding $ 28,248 $ 271,426 $ 209,835
Options granted 66,750 47,250  
Weighted average exercise price of options granted $ 10.69 $ 11.26  
Stock options exercised   13,000  
Weighted average exercise price of options exercised   $ 6.34  
Stock options expired 51,500   18,750
XML 72 R62.htm IDEA: XBRL DOCUMENT v3.22.2.2
Stock option plans - Stock options outstanding and exercisable (Details)
May 31, 2022
$ / shares
shares
May 31, 2021
$ / shares
shares
May 31, 2020
$ / shares
shares
Share-Based Payment Arrangement, Option, Exercise Price Range [Line Items]      
Range of exercise prices, Minimum $ 7.01    
Range of exercise prices, Maximum $ 20.00    
Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Number | shares 283,000 267,750 252,250
Remaining number of years to exercise outstanding and exercisable stock options 6.5 5.7  
Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price $ 11.43 $ 11.60 $ 11.52
Range of exercise prices, Minimum   7.01  
Range of exercise prices, Maximum   $ 20.00  
Share Based Compensation Shares Authorized Under Stock Option Plans By Exercise Price Range Two [Member]      
Share-Based Payment Arrangement, Option, Exercise Price Range [Line Items]      
Range of exercise prices, Minimum 7.01    
Range of exercise prices, Maximum $ 8.00    
Share-Based Payment Arrangement, Option, Exercise Price Range, Shares Exercisable | shares 10,000 15,000  
[custom:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTermTwo-0] 0.9    
[custom:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice2-0] $ 7.74    
Remaining number of years to exercise outstanding and exercisable stock options   1.6  
Range of exercise prices, Minimum   $ 7.01  
Range of exercise prices, Maximum   8.00  
Share-Based Payment Arrangement, Option, Exercise Price Range, Exercisable, Weighted Average Exercise Price   $ 7.74  
Share Based Compensation Shares Authorized Under Stock Option Plans By Exercise Price Range Three [Member]      
Share-Based Payment Arrangement, Option, Exercise Price Range [Line Items]      
Range of exercise prices, Minimum 8.01    
Range of exercise prices, Maximum $ 9.00    
Share-Based Payment Arrangement, Option, Exercise Price Range, Shares Exercisable | shares 19,250 24,250  
[custom:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTermTwo-0] 1.5    
[custom:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice2-0] $ 8.64    
Remaining number of years to exercise outstanding and exercisable stock options   2.1  
Range of exercise prices, Minimum   $ 8.01  
Range of exercise prices, Maximum   9.00  
Share-Based Payment Arrangement, Option, Exercise Price Range, Exercisable, Weighted Average Exercise Price   $ 8.71  
Share Based Compensation Shares Authorized Under Stock Option Plans By Exercise Price Range Four [Member]      
Share-Based Payment Arrangement, Option, Exercise Price Range [Line Items]      
Range of exercise prices, Minimum 9.01    
Range of exercise prices, Maximum $ 10.00    
Share-Based Payment Arrangement, Option, Exercise Price Range, Shares Exercisable | shares 55,000 30,000  
[custom:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTermTwo-0] 9.0    
[custom:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice2-0] $ 9.67    
Remaining number of years to exercise outstanding and exercisable stock options   7.6  
Range of exercise prices, Minimum   $ 9.01  
Range of exercise prices, Maximum   10.00  
Share-Based Payment Arrangement, Option, Exercise Price Range, Exercisable, Weighted Average Exercise Price   $ 9.85  
Share Based Compensation Shares Authorized Under Stock Option Plans By Exercise Price Range Five [Member]      
Share-Based Payment Arrangement, Option, Exercise Price Range [Line Items]      
Range of exercise prices, Minimum 10.01    
Range of exercise prices, Maximum $ 11.00    
Share-Based Payment Arrangement, Option, Exercise Price Range, Shares Exercisable | shares 26,500 32,250  
[custom:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTermTwo-0] 7.3    
[custom:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice2-0] $ 10.14    
Remaining number of years to exercise outstanding and exercisable stock options   7.2  
Range of exercise prices, Minimum   $ 10.01  
Range of exercise prices, Maximum   11.00  
Share-Based Payment Arrangement, Option, Exercise Price Range, Exercisable, Weighted Average Exercise Price   $ 10.17  
Share Based Compensation Shares Authorized Under Stock Option Plans By Exercise Price Range Six [Member]      
Share-Based Payment Arrangement, Option, Exercise Price Range [Line Items]      
Range of exercise prices, Minimum 11.01    
Range of exercise prices, Maximum $ 12.00    
Share-Based Payment Arrangement, Option, Exercise Price Range, Shares Exercisable | shares 112,250 91,250  
[custom:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTermTwo-0] 7.8    
[custom:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice2-0] $ 11.72    
Remaining number of years to exercise outstanding and exercisable stock options   7.4  
Range of exercise prices, Minimum   $ 11.01  
Range of exercise prices, Maximum   12.00  
Share-Based Payment Arrangement, Option, Exercise Price Range, Exercisable, Weighted Average Exercise Price   $ 11.71  
Share Based Compensation Shares Authorized Under Stock Option Plans By Exercise Price Range Seven [Member]      
Share-Based Payment Arrangement, Option, Exercise Price Range [Line Items]      
Range of exercise prices, Minimum 12.01    
Range of exercise prices, Maximum $ 13.00    
Share-Based Payment Arrangement, Option, Exercise Price Range, Shares Exercisable | shares 28,750 33,750  
[custom:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTermTwo-0] 3.9    
[custom:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice2-0] $ 12.39    
Remaining number of years to exercise outstanding and exercisable stock options   4.3  
Range of exercise prices, Minimum   $ 12.01  
Range of exercise prices, Maximum   13.00  
Share-Based Payment Arrangement, Option, Exercise Price Range, Exercisable, Weighted Average Exercise Price   $ 12.36  
Share Based Compensation Shares Authorized Under Stock Option Plans By Exercise Price Range Eight [Member]      
Share-Based Payment Arrangement, Option, Exercise Price Range [Line Items]      
Range of exercise prices, Minimum 13.01    
Range of exercise prices, Maximum $ 14.00    
Share-Based Payment Arrangement, Option, Exercise Price Range, Shares Exercisable | shares 10,000 15,000  
[custom:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTermTwo-0] 4.9    
[custom:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice2-0] $ 13.80    
Remaining number of years to exercise outstanding and exercisable stock options   4.2  
Range of exercise prices, Minimum   $ 13.01  
Range of exercise prices, Maximum   14.00  
Share-Based Payment Arrangement, Option, Exercise Price Range, Exercisable, Weighted Average Exercise Price   $ 13.80  
Share Based Compensation Shares Authorized Under Stock Option Plans By Exercise Price Range Nine [Member]      
Share-Based Payment Arrangement, Option, Exercise Price Range [Line Items]      
Range of exercise prices, Minimum 16.01    
Range of exercise prices, Maximum $ 17.00    
Share-Based Payment Arrangement, Option, Exercise Price Range, Shares Exercisable | shares 10,000 15,000  
[custom:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTermTwo-0] 3.9    
[custom:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice2-0] $ 16.40    
Remaining number of years to exercise outstanding and exercisable stock options   3.6  
Range of exercise prices, Minimum   $ 16.01  
Range of exercise prices, Maximum   17.00  
Share-Based Payment Arrangement, Option, Exercise Price Range, Exercisable, Weighted Average Exercise Price   $ 16.40  
Share Based Compensation Shares Authorized Under Stock Option Plans By Exercise Price Range Ten [Member]      
Share-Based Payment Arrangement, Option, Exercise Price Range [Line Items]      
Range of exercise prices, Minimum 19.01    
Range of exercise prices, Maximum $ 20.00    
Share-Based Payment Arrangement, Option, Exercise Price Range, Shares Exercisable | shares 11,250 11,250  
[custom:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTermTwo-0] 4.2    
[custom:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice2-0] $ 19.26    
Remaining number of years to exercise outstanding and exercisable stock options   5.2  
Range of exercise prices, Minimum   $ 19.01  
Range of exercise prices, Maximum   20.00  
Share-Based Payment Arrangement, Option, Exercise Price Range, Exercisable, Weighted Average Exercise Price   $ 19.26  
XML 73 R63.htm IDEA: XBRL DOCUMENT v3.22.2.2
14. Stock Option Plans: (Details Narrative) - USD ($)
12 Months Ended
May 31, 2022
May 31, 2021
Share-Based Payment Arrangement, Noncash Expense [Abstract]    
Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Authorized 160,000  
Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value $ 3.02 $ 3.27
Share Price $ 9.30 $ 11.85
Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Available for Grant 23,750  
Proceeds, Issuance of Shares, Share-Based Payment Arrangement, Excluding Option Exercised $ 0 $ 28,425
XML 74 R64.htm IDEA: XBRL DOCUMENT v3.22.2.2
15. Preferred Stock: (Details Narrative)
May 31, 2022
shares
Equity [Abstract]  
Preferred shares authorized 2,000,000
XML 75 R65.htm IDEA: XBRL DOCUMENT v3.22.2.2
16. Treasury Stock: (Details Narrative) - shares
May 31, 2022
May 31, 2021
Equity [Abstract]    
Treasury Stock 558,834 558,834
XML 76 R66.htm IDEA: XBRL DOCUMENT v3.22.2.2
17. Retirement Plan: (Details Narrative) - USD ($)
12 Months Ended
May 31, 2022
May 31, 2021
Retirement Benefits [Abstract]    
Retirement plan expense $ 313,269 $ 288,470
XML 77 R67.htm IDEA: XBRL DOCUMENT v3.22.2.2
Supplemental cash flow information (Details) - USD ($)
12 Months Ended
May 31, 2022
May 31, 2021
Supplemental Cash Flow Elements [Abstract]    
  Interest paid $ 0 $ 0
  Income taxes paid $ 0 $ 43,630
XML 78 tayd202210k_htm.xml IDEA: XBRL DOCUMENT 0000096536 2021-06-01 2022-05-31 0000096536 2021-11-30 0000096536 2022-08-19 0000096536 2022-05-31 0000096536 2021-05-31 0000096536 2020-06-01 2021-05-31 0000096536 us-gaap:CommonStockMember 2021-05-31 0000096536 us-gaap:CommonStockMember 2020-05-31 0000096536 us-gaap:AdditionalPaidInCapitalMember 2021-05-31 0000096536 us-gaap:AdditionalPaidInCapitalMember 2020-05-31 0000096536 us-gaap:RetainedEarningsMember 2021-05-31 0000096536 us-gaap:RetainedEarningsMember 2020-05-31 0000096536 us-gaap:TreasuryStockMember 2021-05-31 0000096536 us-gaap:TreasuryStockMember 2020-05-31 0000096536 us-gaap:CommonStockMember 2021-06-01 2022-05-31 0000096536 us-gaap:CommonStockMember 2020-06-01 2021-05-31 0000096536 us-gaap:AdditionalPaidInCapitalMember 2021-06-01 2022-05-31 0000096536 us-gaap:AdditionalPaidInCapitalMember 2020-06-01 2021-05-31 0000096536 us-gaap:RetainedEarningsMember 2021-06-01 2022-05-31 0000096536 us-gaap:RetainedEarningsMember 2020-06-01 2021-05-31 0000096536 us-gaap:TreasuryStockMember 2021-06-01 2022-05-31 0000096536 us-gaap:TreasuryStockMember 2020-06-01 2021-05-31 0000096536 us-gaap:CommonStockMember 2022-05-31 0000096536 us-gaap:AdditionalPaidInCapitalMember 2022-05-31 0000096536 us-gaap:RetainedEarningsMember 2022-05-31 0000096536 us-gaap:TreasuryStockMember 2022-05-31 0000096536 2020-05-31 0000096536 tayd:StructuralSeismicWindMember 2021-06-01 2022-05-31 0000096536 tayd:StructuralSeismicWindMember 2020-06-01 2021-05-31 0000096536 tayd:AerospaceDefenseMember 2021-06-01 2022-05-31 0000096536 tayd:AerospaceDefenseMember 2020-06-01 2021-05-31 0000096536 tayd:IndustrialMember 2021-06-01 2022-05-31 0000096536 tayd:IndustrialMember 2020-06-01 2021-05-31 0000096536 2022-06-01 2027-05-31 0000096536 2019-06-01 2020-05-31 0000096536 tayd:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTwoMember 2022-05-31 0000096536 tayd:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeThreeMember 2022-05-31 0000096536 tayd:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeFourMember 2022-05-31 0000096536 tayd:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeFiveMember 2022-05-31 0000096536 tayd:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeSixMember 2022-05-31 0000096536 tayd:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeSevenMember 2022-05-31 0000096536 tayd:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeEightMember 2022-05-31 0000096536 tayd:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeNineMember 2022-05-31 0000096536 tayd:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTenMember 2022-05-31 0000096536 tayd:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTwoMember 2021-05-31 0000096536 tayd:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeThreeMember 2021-05-31 0000096536 tayd:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeFourMember 2021-05-31 0000096536 tayd:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeFiveMember 2021-05-31 0000096536 tayd:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeSixMember 2021-05-31 0000096536 tayd:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeSevenMember 2021-05-31 0000096536 tayd:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeEightMember 2021-05-31 0000096536 tayd:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeNineMember 2021-05-31 0000096536 tayd:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTenMember 2021-05-31 iso4217:USD shares iso4217:USD shares pure 0000096536 false 2022 FY Yes P4Y P4Y 10-K true 2022-05-31 false 0-3498 TAYLOR DEVICES INC NY 16-0797789 90 Taylor Drive North Tonawanda NY 14120 716 694-0800 Common Stock ($.025 par value) No No Yes Yes Non-accelerated Filer true false false 38294000 3502292 --05-31 130 Lumsden & McCormick, LLP Buffalo, New York 22517038 20581604 1097450 1097012 4466686 4120564 5854935 5835596 468489 522747 235947 454778 3336474 1499604 37977019 34111905 1107309 1612839 9854759 9816594 205359 200538 74615 190115 49219061 45931991 1426830 1787325 84907 269064 3329407 1715409 1122763 1361985 5963907 5133783 0.025 0.025 8000000 8000000 4056771 4055275 101342 101305 10227916 10010430 35840898 33601475 46170156 43713210 558834 558834 2915002 2915002 43255154 40798208 49219061 45931991 30866582 22509641 22239070 19334950 8627512 3174691 6154735 5526774 2472777 -2352083 4543 53654 0 1461500 53508 1510131 25595 8693 83646 3033978 2556423 681895 317000 -381000 2239423 1062895 0.64 0.30 101305 100943 37 37 0 325 101342 101305 10010430 9759063 16208 14954 0 82070 201278 154343 10227916 10010430 33601475 32538580 2239423 1062895 35840898 33601475 2915002 2861032 0 53970 2915002 2915002 43255154 40798208 2239423 1062895 1347442 1212713 201278 154343 0 134000 1530 -0 0 1500000 115500 -20000 -0 1461500 346122 -1564907 -486191 -2038052 -54258 62535 -218831 404630 1836870 -254969 -360495 417150 -184157 -36821 1613998 51495 -239222 625119 3308525 7030157 1391577 1621817 7500 0 438 25062 4821 4917 -1389336 -1651796 16245 43416 1935434 5421777 20581604 15159827 22517038 20581604 <p id="xdx_807_eus-gaap--SignificantAccountingPoliciesTextBlock_zzAtxyjbhE74" style="font: 10pt Times New Roman, Times, Serif; margin: 0; color: navy; text-align: justify"><b>1. Summary of Significant Accounting Policies:</b></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"> </p> <p id="xdx_842_eus-gaap--NatureOfOperations_zYimPH2hjUka" style="font: 10pt Times New Roman, Times, Serif; margin: 0; color: navy; text-align: justify"><b>Nature of Operations:</b></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"> </p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Taylor Devices, Inc. (the Company) manufactures and sells a single group of very similar products that have many different applications for customers. These similar products are included in one of eight categories; namely, Seismic Dampers, Fluidicshoks®, Crane and Industrial Buffers, Self-Adjusting Shock Absorbers, Liquid Die Springs, Vibration Dampers, Machined Springs and Custom Actuators for use in various types of machinery, equipment and structures, primarily to customers which are located throughout the United States and several foreign countries. The products are manufactured at the Company's sole operating facility in the United States where all of the Company's long-lived assets reside. Management does not track or otherwise account for sales broken down by these categories.</p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"> </p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span id="xdx_900_ecustom--EntityWideDisclosureOnGeographicAreasPercentageOfRevenueFromExternalCustomersAttributedToEntitysCountryOfDomicile_c20210601__20220531_zeJ5pJGBNUE8" title="Percentage of total sales during a period to domestic customers.">76</span>% of the Company's 2022 revenue was generated from sales to customers in the United States and <span id="xdx_90F_ecustom--EntityWideDisclosureOnGeographicAreasPercentageOfRevenueFromExternalCustomersAttributedToForeignCountries_c20210601__20220531_zXoTEspttu7f" title="Percentage of total sales during a period to export customers">14</span>% was from sales to customers in Asia. Remaining sales were to customers in other countries in North America, Europe, Australia, and South America.</p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"> </p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span id="xdx_909_ecustom--EntityWideDisclosureOnGeographicAreasPercentageOfRevenueFromExternalCustomersAttributedToEntitysCountryOfDomicile_c20200601__20210531_zWoY6inyFEF6">68</span>% of the Company's 2021 revenue was generated from sales to customers in the United States and <span id="xdx_907_ecustom--EntityWideDisclosureOnGeographicAreasPercentageOfRevenueFromExternalCustomersAttributedToForeignCountries_c20200601__20210531_zmsRcxdbcfw4">20</span>% was from sales to customers in Asia. Remaining sales were to customers in other countries in North America, Europe and South America.</p> <p id="xdx_85B_zhYu7xfZ17Bh" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"> </p> <p id="xdx_843_eus-gaap--ConsolidationPolicyTextBlock_zUi6sIW8QZK7" style="font: 10pt Times New Roman, Times, Serif; margin: 0; color: navy; text-align: justify"><b>Principles of Consolidation:</b></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"> </p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span style="font-weight: normal">The accompanying consolidated financial statements include the accounts of the Company and its wholly owned subsidiary, Tayco Realty Corporation (Realty). All inter-company transactions and balances have been eliminated in consolidation.</span></p> <p id="xdx_85C_zf8A7tebp0X5" style="font: 10pt Times New Roman, Times, Serif; margin: 0; color: navy; text-align: justify"><b> </b></p> <p id="xdx_849_eus-gaap--SubsequentEventsPolicyPolicyTextBlock_zEQ94PWEvMad" style="font: 10pt Times New Roman, Times, Serif; margin: 0; color: navy; text-align: justify"><b>Subsequent Events:</b></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"> </p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company has evaluated events and transactions for potential recognition or disclosure in the financial statements through the date the financial statements were issued.</p> <p id="xdx_85C_zdRS8QK2MWYa" style="font: 10pt Times New Roman, Times, Serif; margin: 0; color: navy; text-align: justify"><b> </b></p> <p id="xdx_840_eus-gaap--UseOfEstimates_zZ79gWnxeYb7" style="font: 10pt Times New Roman, Times, Serif; margin: 0; color: navy; text-align: justify"><b>Use of Estimates:</b></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"> </p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The preparation of financial statements in conformity with accounting principles generally accepted in the United States of America requires management to make estimates and assumptions that affect the amounts reported in the financial statements and accompanying notes. Actual results could differ from those estimates.</p> <p id="xdx_85E_zxAgNGrPkvsa" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"> </p> <p id="xdx_848_eus-gaap--CashAndCashEquivalentsPolicyTextBlock_z8VIwI57G80h" style="font: 10pt Times New Roman, Times, Serif; margin: 0; color: navy; text-align: justify"><b>Cash and Cash Equivalents:</b></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"> </p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company includes all highly liquid investments in money market funds in cash and cash equivalents on the accompanying balance sheets.</p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"> </p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Cash and cash equivalents in financial institutions may exceed insured limits at various times during the year and subject the Company to concentrations of credit risk.</p> <p id="xdx_85D_zJV5z0w97ij5" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"> </p> <p id="xdx_844_eus-gaap--MarketableSecuritiesPolicy_zar2BqQ2htQ4" style="font: 10pt Times New Roman, Times, Serif; margin: 0; color: navy"><b>Short-term Investments:</b></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0"> </p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">At times, the Company invests excess funds in liquid interest earning instruments. Short-term investments at May 31, 2022 and May 31, 2021 include “available for sale” corporate bonds stated at fair value, which approximates cost. The bonds (16) mature on various dates during the period December 2022 to November 2026. Unrealized holding gains and losses would be presented as a separate component of accumulated other comprehensive income, net of deferred income taxes. Realized gains and losses on the sale of investments are determined using the specific identification method.</p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0"> </p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The bonds are valued using pricing models maximizing the use of observable inputs for similar securities. This includes basing value on yields currently available on comparable securities of issuers with similar credit ratings.</p> <p id="xdx_855_z4Qmvu20ZGC5" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"> </p> <p id="xdx_842_eus-gaap--TradeAndOtherAccountsReceivablePolicy_zZy0sBs8GLK5" style="font: 10pt Times New Roman, Times, Serif; margin: 0; color: navy"><b>Accounts and Other Receivables:</b></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"> </p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Accounts and other receivables are stated at an amount management expects to collect from outstanding balances. Management provides for probable uncollectible accounts through a charge to earnings and a credit to a valuation allowance based on its assessment of the current status of individual accounts. Balances that are still outstanding after management has used reasonable collection efforts are written off through a charge to the valuation allowance and a credit to the receivable.</p> <p id="xdx_858_zCoCT77GTaT7" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"> </p> <p id="xdx_840_eus-gaap--InventoryPolicyTextBlock_z6JJ038GaVbl" style="font: 10pt Times New Roman, Times, Serif; margin: 0; color: navy; text-align: justify"><b>Inventory:</b></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"> </p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Inventory is stated at the lower of average cost or net realizable value. Average cost approximates first-in, first-out cost.</p> <p id="xdx_859_zcgEFJMm5N1l" style="font: bold 10pt Times New Roman, Times, Serif; margin: 0; color: navy; text-align: justify"> </p> <p id="xdx_84E_eus-gaap--PropertyPlantAndEquipmentPolicyTextBlock_z8UQJF6UAbgd" style="font: 10pt Times New Roman, Times, Serif; margin: 0; color: navy; text-align: justify"><b>Property and Equipment:</b></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"> </p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Property and equipment is stated at cost net of accumulated depreciation. Depreciation is provided primarily using the straight-line method for financial reporting purposes and accelerated methods for income tax reporting purposes. Maintenance and repairs are charged to operations as incurred; significant improvements are capitalized.</p> <p id="xdx_856_zgxKWsDvto8k" style="font: 10pt Times New Roman, Times, Serif; margin: 0; color: navy; text-align: justify"><b> </b></p> <p id="xdx_849_eus-gaap--LifeInsuranceCorporateOrBankOwnedTextBlock_zFsOeOdYmXD" style="font: 10pt Times New Roman, Times, Serif; margin: 0; color: navy; text-align: justify"><b>Cash Value of Life Insurance:</b></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"> </p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Cash value of life insurance is stated at the surrender value of the contracts.</p> <p id="xdx_85F_zuqAEzKA1nQb" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"> </p> <p id="xdx_84E_eus-gaap--RevenueRecognitionPolicyTextBlock_zMjJMvKxfcui" style="font: 10pt Times New Roman, Times, Serif; margin: 0; color: navy; text-align: justify"><b>Revenue Recognition:</b></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"> </p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-align: justify">Revenue is recognized (generally at fixed prices) when, or as, the Company transfers control of promised products or services to a customer in an amount that reflects the consideration to which the Company expects to be entitled in exchange for transferring those products or services.</p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-align: justify">A performance obligation is a promise in a contract to transfer a distinct good or service to the customer, and is the unit of account. A contract’s transaction price is allocated to each distinct performance obligation and recognized as revenue when, or as, the performance obligation is satisfied. The majority of our contracts have a single performance obligation as the promise to transfer the individual goods or services is not separately identifiable from other promises in the contracts which are, therefore, not distinct. Promised goods or services that are immaterial in the context of the contract are not separately assessed as performance obligations.</p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-align: justify">For contracts with customers in which the Company satisfies a promise to the customer to provide a product that has no alternative use to the Company and the Company has enforceable rights to payment for progress completed to date inclusive of profit, the Company satisfies the performance obligation and recognizes revenue over time (generally less than one year), using costs incurred to date relative to total estimated costs at completion to measure progress toward satisfying our performance obligations. Incurred cost represents work performed, which corresponds with, and thereby best depicts, the transfer of control to the customer. Contract costs include labor, material and overhead. Adjustments to cost estimates are made periodically, and losses expected to be incurred on contracts in progress are charged to operations in the period such losses are determined. Other sales to customers are recognized upon shipment to the customer based on contract prices and terms. In the year ended May 31, 2022, <span id="xdx_904_ecustom--RevenueRecognitionOverTimePercentOfTotal_c20210601__20220531_zzNczG6Rben1" title="Percent of revenue recognized with sales contracts for which revenue is recognized over time">60</span>% of revenue was recorded for contracts in which revenue was recognized over time while <span id="xdx_90E_ecustom--RevenueRecognitionSinglePerformanceObligationPercentOfTotal_c20210601__20220531_ztSe7jUd0Rie" title="Percent of revenue recognized with sales contracts containing a single performance obligation">40</span>% was recognized at a point in time. In the year ended May 31, 2021, <span id="xdx_905_ecustom--RevenueRecognitionOverTimePercentOfTotal_c20200601__20210531_z3kNJDxUykC9" title="Percent of revenue recognized with sales contracts containing a single performance obligation">43</span>% of revenue was recorded for contracts in which revenue was recognized over time while <span id="xdx_90B_ecustom--RevenueRecognitionSinglePerformanceObligationPercentOfTotal_c20200601__20210531_zXE5TF3zdpf5">57</span>% was recognized at a point in time.</p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-align: justify">Progress payments are typically negotiated for longer term projects. Payments are otherwise due once performance obligations are complete (generally at shipment and transfer of title). For financial statement presentation purposes, the Company nets progress billings against the total costs incurred on uncompleted contracts. The asset, “costs and estimated earnings in excess of billings,” represents revenues recognized in excess of amounts billed. The liability, “billings in excess of costs and estimated earnings,” represents billings in excess of revenues recognized.</p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0"> </p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">If applicable, the Company recognizes an asset for the incremental material costs of obtaining a contract with a customer if the Company expects the benefit of those costs to be longer than one year and the costs are expected to be recovered. As of May 31, 2022 and 2021, the Company does not have material incremental costs on any open contracts with an original expected duration of greater than one year, and therefore such costs are expensed as incurred. These incremental costs include, but are not limited to, sales commissions incurred to obtain a contract with a customer.</p> <p id="xdx_85A_zqfrKmdmRqQ7" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"> </p> <p id="xdx_848_eus-gaap--ShippingAndHandlingCostPolicyTextBlock_zflSXkDOjAQ3" style="font: 10pt Times New Roman, Times, Serif; margin: 0; color: navy; text-align: justify"><b>Shipping and Handling Costs:</b></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; color: navy; text-align: justify"><b> </b></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Shipping and handling costs on incoming inventory items are classified as a component of cost of goods sold, while shipping and handling costs on outgoing shipments to customers are classified as a component of selling, general and administrative expenses. The amounts of these costs classified as a component of selling, general and administrative expenses were $<span id="xdx_904_eus-gaap--OtherSellingGeneralAndAdministrativeExpense_c20210601__20220531_zUnLcijzmv8a" title="Shipping and handling costs">238,536</span> and $<span id="xdx_90C_eus-gaap--OtherSellingGeneralAndAdministrativeExpense_c20200601__20210531_zvbLEdH6QZNi">146,878</span> for the years ended May 31, 2022 and 2021. Shipping and handling activities that occur after the customer has obtained control of the product are considered fulfillment activities, not performance obligations.</p> <p id="xdx_85F_zbZQEHzB2l18" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b> </b></p> <p id="xdx_84D_eus-gaap--ResearchAndDevelopmentExpensePolicy_zkplVT2cZZMb" style="font: 10pt Times New Roman, Times, Serif; margin: 0; color: navy; text-align: justify"><b>Research and Development Costs:</b></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; color: navy; text-align: justify"><b> </b></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Research and development costs are classified as a component of cost of sales. The amounts of these costs were $<span id="xdx_906_eus-gaap--ResearchAndDevelopmentExpense_c20210601__20220531_zINxtuKzzCob" title="Research and development costs">1,213,000</span> and $<span id="xdx_90A_eus-gaap--ResearchAndDevelopmentExpense_c20200601__20210531_zUdonuFgmbV8" title="Research and development costs">924,000</span> for the years ended May 31, 2022 and 2021.</p> <p id="xdx_855_z8KS2fCfwGw9" style="font: 10pt Times New Roman, Times, Serif; margin: 0"><b> </b></p> <p id="xdx_847_eus-gaap--RegulatoryIncomeTaxesPolicy_zLXS8WfDrgxa" style="font: 10pt Times New Roman, Times, Serif; margin: 0; color: navy"><b>Income Taxes:</b></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"> </p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The provision for income taxes provides for the tax effects of transactions reported in the financial statements regardless of when such taxes are payable. Deferred tax assets and liabilities are recognized for the expected future tax consequences of temporary differences between the tax and financial statement basis of assets and liabilities. Deferred taxes are based on tax laws currently enacted with tax rates expected to be in effect when the taxes are actually paid or recovered.</p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"> </p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span style="letter-spacing: -0.15pt">The Company's practice is to recognize interest related to income tax matters in interest income / expense and to recognize penalties in selling, general and administrative expenses. The Company did not have any accrued interest or penalties included in its consolidated balance sheets at May 31, </span>2022 and 2021<span style="letter-spacing: -0.15pt">. The Company recorded no interest expense or penalties in its consolidated statements of income during the years ended May 31, </span>2022 and 2021<span style="letter-spacing: -0.15pt">. </span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span style="letter-spacing: -0.15pt"> </span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span style="letter-spacing: -0.15pt">The Company believes it is no longer subject to examination by federal and state taxing authorities for years prior to May 31, 2019.</span></p> <p id="xdx_85B_zPN2F3RWzmq" style="font: 10pt Times New Roman, Times, Serif; margin: 0; color: navy; text-align: justify"><b> </b></p> <p id="xdx_84B_eus-gaap--OtherLiabilitiesDisclosureTextBlock_zJXrnD3TDhUh" style="font: 10pt Times New Roman, Times, Serif; margin: 0; color: navy; text-align: justify"><b>Sales Taxes:</b></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"> </p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Certain jurisdictions impose a sales tax on Company sales to nonexempt customers. The Company collects these taxes from customers and remits the entire amount as required by the applicable law. The Company excludes from revenues and expenses the tax collected and remitted.</p> <p id="xdx_854_zuSccbbUnw89" style="font: 10pt Times New Roman, Times, Serif; margin: 0; color: navy; text-align: justify"><span style="letter-spacing: -0.15pt"><b> </b></span></p> <p id="xdx_84B_eus-gaap--ShareBasedCompensationOptionAndIncentivePlansPolicy_zqe9RQMD3Pi3" style="font: 10pt Times New Roman, Times, Serif; margin: 0; color: navy; text-align: justify"><span style="letter-spacing: -0.15pt"><b>Stock-Based Compensation:</b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; color: navy; text-align: justify"><span style="letter-spacing: -0.15pt"> </span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company measures compensation cost arising from the grant of share-based payments to employees at fair value and recognizes such cost in income over the period during which the employee is required to provide service in exchange for the award. <span style="letter-spacing: -0.15pt">The stock-based compensation expense for the years ended May 31, </span>2022 and 2021 <span style="letter-spacing: -0.15pt">was $<span id="xdx_90D_eus-gaap--ShareBasedCompensation_c20210601__20220531_z1H04cadXEqf" title="Share based compensation expense">201,278</span> and $<span id="xdx_90A_eus-gaap--ShareBasedCompensation_c20200601__20210531_z6nfyEahtCjl">154,343</span>.</span></p> <p id="xdx_856_z8DNDZAYQku3" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span style="letter-spacing: -0.15pt"> </span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0"> </p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"> </p> <p id="xdx_84E_eus-gaap--NewAccountingPronouncementsPolicyPolicyTextBlock_zjMdM2JsY4f4" style="font: 10pt Times New Roman, Times, Serif; margin: 0; color: navy; text-align: justify"><span style="letter-spacing: -0.15pt"><b>New Accounting Standards:</b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span style="letter-spacing: -0.15pt"> </span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Any recently issued Accounting Standards Codification (ASC) guidance has either been implemented or are not significant to the Company.</p> <p id="xdx_858_zAKcljtCHjji" style="font: 10pt Times New Roman, Times, Serif; margin: 0"><span style="letter-spacing: -0.15pt"> </span></p> <p id="xdx_842_eus-gaap--NatureOfOperations_zYimPH2hjUka" style="font: 10pt Times New Roman, Times, Serif; margin: 0; color: navy; text-align: justify"><b>Nature of Operations:</b></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"> </p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Taylor Devices, Inc. (the Company) manufactures and sells a single group of very similar products that have many different applications for customers. These similar products are included in one of eight categories; namely, Seismic Dampers, Fluidicshoks®, Crane and Industrial Buffers, Self-Adjusting Shock Absorbers, Liquid Die Springs, Vibration Dampers, Machined Springs and Custom Actuators for use in various types of machinery, equipment and structures, primarily to customers which are located throughout the United States and several foreign countries. The products are manufactured at the Company's sole operating facility in the United States where all of the Company's long-lived assets reside. Management does not track or otherwise account for sales broken down by these categories.</p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"> </p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span id="xdx_900_ecustom--EntityWideDisclosureOnGeographicAreasPercentageOfRevenueFromExternalCustomersAttributedToEntitysCountryOfDomicile_c20210601__20220531_zeJ5pJGBNUE8" title="Percentage of total sales during a period to domestic customers.">76</span>% of the Company's 2022 revenue was generated from sales to customers in the United States and <span id="xdx_90F_ecustom--EntityWideDisclosureOnGeographicAreasPercentageOfRevenueFromExternalCustomersAttributedToForeignCountries_c20210601__20220531_zXoTEspttu7f" title="Percentage of total sales during a period to export customers">14</span>% was from sales to customers in Asia. Remaining sales were to customers in other countries in North America, Europe, Australia, and South America.</p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"> </p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span id="xdx_909_ecustom--EntityWideDisclosureOnGeographicAreasPercentageOfRevenueFromExternalCustomersAttributedToEntitysCountryOfDomicile_c20200601__20210531_zWoY6inyFEF6">68</span>% of the Company's 2021 revenue was generated from sales to customers in the United States and <span id="xdx_907_ecustom--EntityWideDisclosureOnGeographicAreasPercentageOfRevenueFromExternalCustomersAttributedToForeignCountries_c20200601__20210531_zmsRcxdbcfw4">20</span>% was from sales to customers in Asia. Remaining sales were to customers in other countries in North America, Europe and South America.</p> 76 14 68 20 <p id="xdx_843_eus-gaap--ConsolidationPolicyTextBlock_zUi6sIW8QZK7" style="font: 10pt Times New Roman, Times, Serif; margin: 0; color: navy; text-align: justify"><b>Principles of Consolidation:</b></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"> </p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span style="font-weight: normal">The accompanying consolidated financial statements include the accounts of the Company and its wholly owned subsidiary, Tayco Realty Corporation (Realty). All inter-company transactions and balances have been eliminated in consolidation.</span></p> <p id="xdx_849_eus-gaap--SubsequentEventsPolicyPolicyTextBlock_zEQ94PWEvMad" style="font: 10pt Times New Roman, Times, Serif; margin: 0; color: navy; text-align: justify"><b>Subsequent Events:</b></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"> </p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company has evaluated events and transactions for potential recognition or disclosure in the financial statements through the date the financial statements were issued.</p> <p id="xdx_840_eus-gaap--UseOfEstimates_zZ79gWnxeYb7" style="font: 10pt Times New Roman, Times, Serif; margin: 0; color: navy; text-align: justify"><b>Use of Estimates:</b></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"> </p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The preparation of financial statements in conformity with accounting principles generally accepted in the United States of America requires management to make estimates and assumptions that affect the amounts reported in the financial statements and accompanying notes. Actual results could differ from those estimates.</p> <p id="xdx_848_eus-gaap--CashAndCashEquivalentsPolicyTextBlock_z8VIwI57G80h" style="font: 10pt Times New Roman, Times, Serif; margin: 0; color: navy; text-align: justify"><b>Cash and Cash Equivalents:</b></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"> </p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company includes all highly liquid investments in money market funds in cash and cash equivalents on the accompanying balance sheets.</p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"> </p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Cash and cash equivalents in financial institutions may exceed insured limits at various times during the year and subject the Company to concentrations of credit risk.</p> <p id="xdx_844_eus-gaap--MarketableSecuritiesPolicy_zar2BqQ2htQ4" style="font: 10pt Times New Roman, Times, Serif; margin: 0; color: navy"><b>Short-term Investments:</b></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0"> </p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">At times, the Company invests excess funds in liquid interest earning instruments. Short-term investments at May 31, 2022 and May 31, 2021 include “available for sale” corporate bonds stated at fair value, which approximates cost. The bonds (16) mature on various dates during the period December 2022 to November 2026. Unrealized holding gains and losses would be presented as a separate component of accumulated other comprehensive income, net of deferred income taxes. Realized gains and losses on the sale of investments are determined using the specific identification method.</p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0"> </p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The bonds are valued using pricing models maximizing the use of observable inputs for similar securities. This includes basing value on yields currently available on comparable securities of issuers with similar credit ratings.</p> <p id="xdx_842_eus-gaap--TradeAndOtherAccountsReceivablePolicy_zZy0sBs8GLK5" style="font: 10pt Times New Roman, Times, Serif; margin: 0; color: navy"><b>Accounts and Other Receivables:</b></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"> </p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Accounts and other receivables are stated at an amount management expects to collect from outstanding balances. Management provides for probable uncollectible accounts through a charge to earnings and a credit to a valuation allowance based on its assessment of the current status of individual accounts. Balances that are still outstanding after management has used reasonable collection efforts are written off through a charge to the valuation allowance and a credit to the receivable.</p> <p id="xdx_840_eus-gaap--InventoryPolicyTextBlock_z6JJ038GaVbl" style="font: 10pt Times New Roman, Times, Serif; margin: 0; color: navy; text-align: justify"><b>Inventory:</b></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"> </p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Inventory is stated at the lower of average cost or net realizable value. Average cost approximates first-in, first-out cost.</p> <p id="xdx_84E_eus-gaap--PropertyPlantAndEquipmentPolicyTextBlock_z8UQJF6UAbgd" style="font: 10pt Times New Roman, Times, Serif; margin: 0; color: navy; text-align: justify"><b>Property and Equipment:</b></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"> </p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Property and equipment is stated at cost net of accumulated depreciation. Depreciation is provided primarily using the straight-line method for financial reporting purposes and accelerated methods for income tax reporting purposes. Maintenance and repairs are charged to operations as incurred; significant improvements are capitalized.</p> <p id="xdx_849_eus-gaap--LifeInsuranceCorporateOrBankOwnedTextBlock_zFsOeOdYmXD" style="font: 10pt Times New Roman, Times, Serif; margin: 0; color: navy; text-align: justify"><b>Cash Value of Life Insurance:</b></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"> </p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Cash value of life insurance is stated at the surrender value of the contracts.</p> <p id="xdx_84E_eus-gaap--RevenueRecognitionPolicyTextBlock_zMjJMvKxfcui" style="font: 10pt Times New Roman, Times, Serif; margin: 0; color: navy; text-align: justify"><b>Revenue Recognition:</b></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"> </p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-align: justify">Revenue is recognized (generally at fixed prices) when, or as, the Company transfers control of promised products or services to a customer in an amount that reflects the consideration to which the Company expects to be entitled in exchange for transferring those products or services.</p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-align: justify">A performance obligation is a promise in a contract to transfer a distinct good or service to the customer, and is the unit of account. A contract’s transaction price is allocated to each distinct performance obligation and recognized as revenue when, or as, the performance obligation is satisfied. The majority of our contracts have a single performance obligation as the promise to transfer the individual goods or services is not separately identifiable from other promises in the contracts which are, therefore, not distinct. Promised goods or services that are immaterial in the context of the contract are not separately assessed as performance obligations.</p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-align: justify">For contracts with customers in which the Company satisfies a promise to the customer to provide a product that has no alternative use to the Company and the Company has enforceable rights to payment for progress completed to date inclusive of profit, the Company satisfies the performance obligation and recognizes revenue over time (generally less than one year), using costs incurred to date relative to total estimated costs at completion to measure progress toward satisfying our performance obligations. Incurred cost represents work performed, which corresponds with, and thereby best depicts, the transfer of control to the customer. Contract costs include labor, material and overhead. Adjustments to cost estimates are made periodically, and losses expected to be incurred on contracts in progress are charged to operations in the period such losses are determined. Other sales to customers are recognized upon shipment to the customer based on contract prices and terms. In the year ended May 31, 2022, <span id="xdx_904_ecustom--RevenueRecognitionOverTimePercentOfTotal_c20210601__20220531_zzNczG6Rben1" title="Percent of revenue recognized with sales contracts for which revenue is recognized over time">60</span>% of revenue was recorded for contracts in which revenue was recognized over time while <span id="xdx_90E_ecustom--RevenueRecognitionSinglePerformanceObligationPercentOfTotal_c20210601__20220531_ztSe7jUd0Rie" title="Percent of revenue recognized with sales contracts containing a single performance obligation">40</span>% was recognized at a point in time. In the year ended May 31, 2021, <span id="xdx_905_ecustom--RevenueRecognitionOverTimePercentOfTotal_c20200601__20210531_z3kNJDxUykC9" title="Percent of revenue recognized with sales contracts containing a single performance obligation">43</span>% of revenue was recorded for contracts in which revenue was recognized over time while <span id="xdx_90B_ecustom--RevenueRecognitionSinglePerformanceObligationPercentOfTotal_c20200601__20210531_zXE5TF3zdpf5">57</span>% was recognized at a point in time.</p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-align: justify">Progress payments are typically negotiated for longer term projects. Payments are otherwise due once performance obligations are complete (generally at shipment and transfer of title). For financial statement presentation purposes, the Company nets progress billings against the total costs incurred on uncompleted contracts. The asset, “costs and estimated earnings in excess of billings,” represents revenues recognized in excess of amounts billed. The liability, “billings in excess of costs and estimated earnings,” represents billings in excess of revenues recognized.</p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0"> </p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">If applicable, the Company recognizes an asset for the incremental material costs of obtaining a contract with a customer if the Company expects the benefit of those costs to be longer than one year and the costs are expected to be recovered. As of May 31, 2022 and 2021, the Company does not have material incremental costs on any open contracts with an original expected duration of greater than one year, and therefore such costs are expensed as incurred. These incremental costs include, but are not limited to, sales commissions incurred to obtain a contract with a customer.</p> 60 40 43 57 <p id="xdx_848_eus-gaap--ShippingAndHandlingCostPolicyTextBlock_zflSXkDOjAQ3" style="font: 10pt Times New Roman, Times, Serif; margin: 0; color: navy; text-align: justify"><b>Shipping and Handling Costs:</b></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; color: navy; text-align: justify"><b> </b></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Shipping and handling costs on incoming inventory items are classified as a component of cost of goods sold, while shipping and handling costs on outgoing shipments to customers are classified as a component of selling, general and administrative expenses. The amounts of these costs classified as a component of selling, general and administrative expenses were $<span id="xdx_904_eus-gaap--OtherSellingGeneralAndAdministrativeExpense_c20210601__20220531_zUnLcijzmv8a" title="Shipping and handling costs">238,536</span> and $<span id="xdx_90C_eus-gaap--OtherSellingGeneralAndAdministrativeExpense_c20200601__20210531_zvbLEdH6QZNi">146,878</span> for the years ended May 31, 2022 and 2021. Shipping and handling activities that occur after the customer has obtained control of the product are considered fulfillment activities, not performance obligations.</p> 238536 146878 <p id="xdx_84D_eus-gaap--ResearchAndDevelopmentExpensePolicy_zkplVT2cZZMb" style="font: 10pt Times New Roman, Times, Serif; margin: 0; color: navy; text-align: justify"><b>Research and Development Costs:</b></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; color: navy; text-align: justify"><b> </b></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Research and development costs are classified as a component of cost of sales. The amounts of these costs were $<span id="xdx_906_eus-gaap--ResearchAndDevelopmentExpense_c20210601__20220531_zINxtuKzzCob" title="Research and development costs">1,213,000</span> and $<span id="xdx_90A_eus-gaap--ResearchAndDevelopmentExpense_c20200601__20210531_zUdonuFgmbV8" title="Research and development costs">924,000</span> for the years ended May 31, 2022 and 2021.</p> 1213000 924000 <p id="xdx_847_eus-gaap--RegulatoryIncomeTaxesPolicy_zLXS8WfDrgxa" style="font: 10pt Times New Roman, Times, Serif; margin: 0; color: navy"><b>Income Taxes:</b></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"> </p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The provision for income taxes provides for the tax effects of transactions reported in the financial statements regardless of when such taxes are payable. Deferred tax assets and liabilities are recognized for the expected future tax consequences of temporary differences between the tax and financial statement basis of assets and liabilities. Deferred taxes are based on tax laws currently enacted with tax rates expected to be in effect when the taxes are actually paid or recovered.</p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"> </p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span style="letter-spacing: -0.15pt">The Company's practice is to recognize interest related to income tax matters in interest income / expense and to recognize penalties in selling, general and administrative expenses. The Company did not have any accrued interest or penalties included in its consolidated balance sheets at May 31, </span>2022 and 2021<span style="letter-spacing: -0.15pt">. The Company recorded no interest expense or penalties in its consolidated statements of income during the years ended May 31, </span>2022 and 2021<span style="letter-spacing: -0.15pt">. </span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span style="letter-spacing: -0.15pt"> </span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span style="letter-spacing: -0.15pt">The Company believes it is no longer subject to examination by federal and state taxing authorities for years prior to May 31, 2019.</span></p> <p id="xdx_84B_eus-gaap--OtherLiabilitiesDisclosureTextBlock_zJXrnD3TDhUh" style="font: 10pt Times New Roman, Times, Serif; margin: 0; color: navy; text-align: justify"><b>Sales Taxes:</b></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"> </p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Certain jurisdictions impose a sales tax on Company sales to nonexempt customers. The Company collects these taxes from customers and remits the entire amount as required by the applicable law. The Company excludes from revenues and expenses the tax collected and remitted.</p> <p id="xdx_84B_eus-gaap--ShareBasedCompensationOptionAndIncentivePlansPolicy_zqe9RQMD3Pi3" style="font: 10pt Times New Roman, Times, Serif; margin: 0; color: navy; text-align: justify"><span style="letter-spacing: -0.15pt"><b>Stock-Based Compensation:</b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; color: navy; text-align: justify"><span style="letter-spacing: -0.15pt"> </span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company measures compensation cost arising from the grant of share-based payments to employees at fair value and recognizes such cost in income over the period during which the employee is required to provide service in exchange for the award. <span style="letter-spacing: -0.15pt">The stock-based compensation expense for the years ended May 31, </span>2022 and 2021 <span style="letter-spacing: -0.15pt">was $<span id="xdx_90D_eus-gaap--ShareBasedCompensation_c20210601__20220531_z1H04cadXEqf" title="Share based compensation expense">201,278</span> and $<span id="xdx_90A_eus-gaap--ShareBasedCompensation_c20200601__20210531_z6nfyEahtCjl">154,343</span>.</span></p> 201278 154343 <p id="xdx_84E_eus-gaap--NewAccountingPronouncementsPolicyPolicyTextBlock_zjMdM2JsY4f4" style="font: 10pt Times New Roman, Times, Serif; margin: 0; color: navy; text-align: justify"><span style="letter-spacing: -0.15pt"><b>New Accounting Standards:</b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span style="letter-spacing: -0.15pt"> </span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Any recently issued Accounting Standards Codification (ASC) guidance has either been implemented or are not significant to the Company.</p> <p id="xdx_801_eus-gaap--LoansNotesTradeAndOtherReceivablesDisclosureTextBlock_zvRt4sxRS0ok" style="font: 10pt Times New Roman, Times, Serif; margin: 0; color: navy; text-align: justify"><b>2. Accounts and Other Receivables:</b></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span style="letter-spacing: -0.15pt"> </span></p> <table cellpadding="0" cellspacing="0" id="xdx_880_eus-gaap--ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock_zuoWKS9rgs3g" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - Accounts receivable table (Details)"> <tr style="vertical-align: bottom"> <td style="font-size: 12pt; text-align: justify"> </td><td style="color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td colspan="3" id="xdx_49D_20220531_zQv0N6IngDd2" style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: center">2022</td><td style="padding-bottom: 1pt"> </td> <td colspan="3" id="xdx_493_20210531_ziNsD7TrgeL4" style="border-bottom: Black 1pt solid; text-align: center">2021</td></tr> <tr id="xdx_40E_eus-gaap--ReceivablesFromCustomers_iI_maARGCzCWC_zOWMaoCQvKNa" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 56%">Customers</td><td style="width: 8%; color: navy; font-weight: bold"> </td> <td style="width: 1%; color: navy; font-weight: bold; text-align: left">$</td><td style="width: 12%; color: navy; font-weight: bold; text-align: right">4,292,300</td><td style="width: 1%; color: navy; font-weight: bold; text-align: left"> </td><td style="width: 8%"> </td> <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">3,184,970</td><td style="width: 1%; text-align: left"> </td></tr> <tr id="xdx_40B_eus-gaap--ContractReceivableRetainageDueOneYearOrLess_iI_maARGCzCWC_zNQRH1aHAGPk" style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-bottom: 1pt">Customers – retention</td><td style="color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: left"> </td><td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: right">190,492</td><td style="padding-bottom: 1pt; color: navy; font-weight: bold; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td style="border-bottom: Black 1pt solid; text-align: right">200,956</td><td style="padding-bottom: 1pt; text-align: left"> </td></tr> <tr id="xdx_40F_eus-gaap--AccountsReceivableGrossCurrent_iTI_mtARGCzCWC_maARNCz4WU_ziyFewRuTh3c" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left"><b style="display: none">Gross accounts receivable</b></td><td style="color: navy; font-weight: bold"> </td> <td style="color: navy; font-weight: bold; text-align: left"> </td><td style="color: navy; font-weight: bold; text-align: right">4,482,792</td><td style="color: navy; font-weight: bold; text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">3,385,926</td><td style="text-align: left"> </td></tr> <tr id="xdx_400_eus-gaap--AllowanceForDoubtfulAccountsReceivable_iI_msARNCz4WU_zcRdnAhtV8we" style="vertical-align: bottom; background-color: White"> <td style="text-align: left">Less allowance for doubtful accounts</td><td style="color: navy; font-weight: bold"> </td> <td style="color: navy; font-weight: bold; text-align: left"> </td><td style="color: navy; font-weight: bold; text-align: right">16,106</td><td style="color: navy; font-weight: bold; text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">6,781</td><td style="text-align: left"> </td></tr> <tr id="xdx_406_ecustom--OtherReceivableEmployeeRetentionCredit_iI_d0_maARNCz4WU_zhcZ95WYaUSl" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-bottom: 1pt">Add other receivables</td><td style="color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: left"> </td><td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: right">—  </td><td style="padding-bottom: 1pt; color: navy; font-weight: bold; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td style="border-bottom: Black 1pt solid; text-align: right">741,419</td><td style="padding-bottom: 1pt; text-align: left"> </td></tr> <tr id="xdx_407_eus-gaap--AccountsReceivableNetCurrent_iTI_mtARNCz4WU_zCVJzrMrZKwd" style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-bottom: 1pt"><b style="display: none">Net accounts receivable</b></td><td style="color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: right">4,466,686</td><td style="padding-bottom: 1pt; color: navy; font-weight: bold; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">4,120,564</td><td style="padding-bottom: 1pt; text-align: left"> </td></tr> </table> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; color: navy; text-align: justify"><b> </b></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Retention receivable from customers represents amounts invoiced to customers where payments have been partially withheld pending completion of the project. All amounts are expected to be collected within the next fiscal year.</p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"> </p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Other receivable was an amount of Employee Retention Credit claimed by the Company for the second calendar quarter of 2021 and received in the third calendar quarter of 2021.</p> <table cellpadding="0" cellspacing="0" id="xdx_880_eus-gaap--ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock_zuoWKS9rgs3g" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - Accounts receivable table (Details)"> <tr style="vertical-align: bottom"> <td style="font-size: 12pt; text-align: justify"> </td><td style="color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td colspan="3" id="xdx_49D_20220531_zQv0N6IngDd2" style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: center">2022</td><td style="padding-bottom: 1pt"> </td> <td colspan="3" id="xdx_493_20210531_ziNsD7TrgeL4" style="border-bottom: Black 1pt solid; text-align: center">2021</td></tr> <tr id="xdx_40E_eus-gaap--ReceivablesFromCustomers_iI_maARGCzCWC_zOWMaoCQvKNa" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 56%">Customers</td><td style="width: 8%; color: navy; font-weight: bold"> </td> <td style="width: 1%; color: navy; font-weight: bold; text-align: left">$</td><td style="width: 12%; color: navy; font-weight: bold; text-align: right">4,292,300</td><td style="width: 1%; color: navy; font-weight: bold; text-align: left"> </td><td style="width: 8%"> </td> <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">3,184,970</td><td style="width: 1%; text-align: left"> </td></tr> <tr id="xdx_40B_eus-gaap--ContractReceivableRetainageDueOneYearOrLess_iI_maARGCzCWC_zNQRH1aHAGPk" style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-bottom: 1pt">Customers – retention</td><td style="color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: left"> </td><td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: right">190,492</td><td style="padding-bottom: 1pt; color: navy; font-weight: bold; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td style="border-bottom: Black 1pt solid; text-align: right">200,956</td><td style="padding-bottom: 1pt; text-align: left"> </td></tr> <tr id="xdx_40F_eus-gaap--AccountsReceivableGrossCurrent_iTI_mtARGCzCWC_maARNCz4WU_ziyFewRuTh3c" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left"><b style="display: none">Gross accounts receivable</b></td><td style="color: navy; font-weight: bold"> </td> <td style="color: navy; font-weight: bold; text-align: left"> </td><td style="color: navy; font-weight: bold; text-align: right">4,482,792</td><td style="color: navy; font-weight: bold; text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">3,385,926</td><td style="text-align: left"> </td></tr> <tr id="xdx_400_eus-gaap--AllowanceForDoubtfulAccountsReceivable_iI_msARNCz4WU_zcRdnAhtV8we" style="vertical-align: bottom; background-color: White"> <td style="text-align: left">Less allowance for doubtful accounts</td><td style="color: navy; font-weight: bold"> </td> <td style="color: navy; font-weight: bold; text-align: left"> </td><td style="color: navy; font-weight: bold; text-align: right">16,106</td><td style="color: navy; font-weight: bold; text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">6,781</td><td style="text-align: left"> </td></tr> <tr id="xdx_406_ecustom--OtherReceivableEmployeeRetentionCredit_iI_d0_maARNCz4WU_zhcZ95WYaUSl" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-bottom: 1pt">Add other receivables</td><td style="color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: left"> </td><td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: right">—  </td><td style="padding-bottom: 1pt; color: navy; font-weight: bold; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td style="border-bottom: Black 1pt solid; text-align: right">741,419</td><td style="padding-bottom: 1pt; text-align: left"> </td></tr> <tr id="xdx_407_eus-gaap--AccountsReceivableNetCurrent_iTI_mtARNCz4WU_zCVJzrMrZKwd" style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-bottom: 1pt"><b style="display: none">Net accounts receivable</b></td><td style="color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: right">4,466,686</td><td style="padding-bottom: 1pt; color: navy; font-weight: bold; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">4,120,564</td><td style="padding-bottom: 1pt; text-align: left"> </td></tr> </table> 4292300 3184970 190492 200956 4482792 3385926 16106 6781 0 741419 4466686 4120564 <p id="xdx_807_eus-gaap--InventoryDisclosureTextBlock_zUmZSkC46rN" style="font: 10pt Times New Roman, Times, Serif; margin: 0; color: navy; text-align: justify"><b>3. Inventory: </b></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; color: navy; text-align: justify"><b> </b></p> <table cellpadding="0" cellspacing="0" id="xdx_886_eus-gaap--ScheduleOfInventoryCurrentTableTextBlock_zd839vwYiIxe" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - Inventory table (Details)"> <tr style="vertical-align: bottom"> <td style="font-size: 12pt; text-align: justify"> </td><td style="color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td colspan="3" id="xdx_49E_20220531_zxP0fyEv0rd7" style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: center">2022</td><td style="padding-bottom: 1pt"> </td> <td colspan="3" id="xdx_492_20210531_z7eG1LsuKT51" style="border-bottom: Black 1pt solid; text-align: center">2021</td></tr> <tr id="xdx_409_eus-gaap--InventoryRawMaterials_iI_maIGziRe_zcmEfIrTNgc3" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 56%; text-align: left">Raw materials</td><td style="width: 8%; color: navy; font-weight: bold"> </td> <td style="width: 1%; color: navy; font-weight: bold; text-align: left">$</td><td style="width: 12%; color: navy; font-weight: bold; text-align: right">488,393</td><td style="width: 1%; color: navy; font-weight: bold; text-align: left"> </td><td style="width: 8%; color: windowtext"> </td> <td style="width: 1%; color: windowtext; text-align: left">$</td><td style="width: 12%; color: windowtext; text-align: right">503,344</td><td style="width: 1%; color: windowtext; text-align: left"> </td></tr> <tr id="xdx_406_eus-gaap--InventoryWorkInProcess_iI_maIGziRe_zscuhqndz2F2" style="vertical-align: bottom; background-color: White"> <td>Work-in-process</td><td style="color: navy; font-weight: bold"> </td> <td style="color: navy; font-weight: bold; text-align: left"> </td><td style="color: navy; font-weight: bold; text-align: right">5,166,271</td><td style="color: navy; font-weight: bold; text-align: left"> </td><td style="color: windowtext"> </td> <td style="color: windowtext; text-align: left"> </td><td style="color: windowtext; text-align: right">5,076,377</td><td style="color: windowtext; text-align: left"> </td></tr> <tr id="xdx_407_eus-gaap--InventoryFinishedGoods_iI_maIGziRe_zrDttI57pmk7" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-bottom: 1pt">Finished goods</td><td style="color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: left"> </td><td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: right">300,271</td><td style="padding-bottom: 1pt; color: navy; font-weight: bold; text-align: left"> </td><td style="color: windowtext; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; color: windowtext; text-align: left"> </td><td style="border-bottom: Black 1pt solid; color: windowtext; text-align: right">355,875</td><td style="padding-bottom: 1pt; color: windowtext; text-align: left"> </td></tr> <tr id="xdx_404_eus-gaap--InventoryGross_iTI_mtIGziRe_maINzeXU_zqr697DJj05j" style="vertical-align: bottom; background-color: White"> <td style="text-align: left"><b style="display: none">Gross inventory</b></td><td style="color: navy; font-weight: bold"> </td> <td style="color: navy; font-weight: bold; text-align: left"> </td><td style="color: navy; font-weight: bold; text-align: right">5,954,935</td><td style="color: navy; font-weight: bold; text-align: left"> </td><td style="color: windowtext"> </td> <td style="color: windowtext; text-align: left"> </td><td style="color: windowtext; text-align: right">5,935,596</td><td style="color: windowtext; text-align: left"> </td></tr> <tr id="xdx_40F_eus-gaap--InventoryValuationReserves_iI_msINzeXU_zJ08MQfoyMph" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-bottom: 1pt">Less allowance for obsolescence</td><td style="color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: left"> </td><td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: right">100,000</td><td style="padding-bottom: 1pt; color: navy; font-weight: bold; text-align: left"> </td><td style="color: windowtext; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; color: windowtext; text-align: left"> </td><td style="border-bottom: Black 1pt solid; color: windowtext; text-align: right">100,000</td><td style="padding-bottom: 1pt; color: windowtext; text-align: left"> </td></tr> <tr id="xdx_40D_eus-gaap--InventoryNet_iTI_mtINzeXU_zDilsjglGkc4" style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-bottom: 1pt"><b style="display: none">Net inventory</b></td><td style="color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: right">5,854,935</td><td style="padding-bottom: 1pt; color: navy; font-weight: bold; text-align: left"> </td><td style="color: windowtext; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; color: windowtext; text-align: left">$</td><td style="border-bottom: Black 1pt solid; color: windowtext; text-align: right">5,835,596</td><td style="padding-bottom: 1pt; color: windowtext; text-align: left"> </td></tr> </table> <table cellpadding="0" cellspacing="0" id="xdx_886_eus-gaap--ScheduleOfInventoryCurrentTableTextBlock_zd839vwYiIxe" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - Inventory table (Details)"> <tr style="vertical-align: bottom"> <td style="font-size: 12pt; text-align: justify"> </td><td style="color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td colspan="3" id="xdx_49E_20220531_zxP0fyEv0rd7" style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: center">2022</td><td style="padding-bottom: 1pt"> </td> <td colspan="3" id="xdx_492_20210531_z7eG1LsuKT51" style="border-bottom: Black 1pt solid; text-align: center">2021</td></tr> <tr id="xdx_409_eus-gaap--InventoryRawMaterials_iI_maIGziRe_zcmEfIrTNgc3" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 56%; text-align: left">Raw materials</td><td style="width: 8%; color: navy; font-weight: bold"> </td> <td style="width: 1%; color: navy; font-weight: bold; text-align: left">$</td><td style="width: 12%; color: navy; font-weight: bold; text-align: right">488,393</td><td style="width: 1%; color: navy; font-weight: bold; text-align: left"> </td><td style="width: 8%; color: windowtext"> </td> <td style="width: 1%; color: windowtext; text-align: left">$</td><td style="width: 12%; color: windowtext; text-align: right">503,344</td><td style="width: 1%; color: windowtext; text-align: left"> </td></tr> <tr id="xdx_406_eus-gaap--InventoryWorkInProcess_iI_maIGziRe_zscuhqndz2F2" style="vertical-align: bottom; background-color: White"> <td>Work-in-process</td><td style="color: navy; font-weight: bold"> </td> <td style="color: navy; font-weight: bold; text-align: left"> </td><td style="color: navy; font-weight: bold; text-align: right">5,166,271</td><td style="color: navy; font-weight: bold; text-align: left"> </td><td style="color: windowtext"> </td> <td style="color: windowtext; text-align: left"> </td><td style="color: windowtext; text-align: right">5,076,377</td><td style="color: windowtext; text-align: left"> </td></tr> <tr id="xdx_407_eus-gaap--InventoryFinishedGoods_iI_maIGziRe_zrDttI57pmk7" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-bottom: 1pt">Finished goods</td><td style="color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: left"> </td><td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: right">300,271</td><td style="padding-bottom: 1pt; color: navy; font-weight: bold; text-align: left"> </td><td style="color: windowtext; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; color: windowtext; text-align: left"> </td><td style="border-bottom: Black 1pt solid; color: windowtext; text-align: right">355,875</td><td style="padding-bottom: 1pt; color: windowtext; text-align: left"> </td></tr> <tr id="xdx_404_eus-gaap--InventoryGross_iTI_mtIGziRe_maINzeXU_zqr697DJj05j" style="vertical-align: bottom; background-color: White"> <td style="text-align: left"><b style="display: none">Gross inventory</b></td><td style="color: navy; font-weight: bold"> </td> <td style="color: navy; font-weight: bold; text-align: left"> </td><td style="color: navy; font-weight: bold; text-align: right">5,954,935</td><td style="color: navy; font-weight: bold; text-align: left"> </td><td style="color: windowtext"> </td> <td style="color: windowtext; text-align: left"> </td><td style="color: windowtext; text-align: right">5,935,596</td><td style="color: windowtext; text-align: left"> </td></tr> <tr id="xdx_40F_eus-gaap--InventoryValuationReserves_iI_msINzeXU_zJ08MQfoyMph" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-bottom: 1pt">Less allowance for obsolescence</td><td style="color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: left"> </td><td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: right">100,000</td><td style="padding-bottom: 1pt; color: navy; font-weight: bold; text-align: left"> </td><td style="color: windowtext; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; color: windowtext; text-align: left"> </td><td style="border-bottom: Black 1pt solid; color: windowtext; text-align: right">100,000</td><td style="padding-bottom: 1pt; color: windowtext; text-align: left"> </td></tr> <tr id="xdx_40D_eus-gaap--InventoryNet_iTI_mtINzeXU_zDilsjglGkc4" style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-bottom: 1pt"><b style="display: none">Net inventory</b></td><td style="color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: right">5,854,935</td><td style="padding-bottom: 1pt; color: navy; font-weight: bold; text-align: left"> </td><td style="color: windowtext; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; color: windowtext; text-align: left">$</td><td style="border-bottom: Black 1pt solid; color: windowtext; text-align: right">5,835,596</td><td style="padding-bottom: 1pt; color: windowtext; text-align: left"> </td></tr> </table> 488393 503344 5166271 5076377 300271 355875 5954935 5935596 100000 100000 5854935 5835596 <p id="xdx_807_eus-gaap--DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock_zPL29db5sy6a" style="font: bold 10pt Times New Roman, Times, Serif; margin: 0; color: navy">4. Costs and Estimated Earnings on Uncompleted Contracts:</p> <p style="font: bold 10pt Times New Roman, Times, Serif; margin: 0; color: navy"> </p> <table cellpadding="0" cellspacing="0" id="xdx_88A_eus-gaap--LongTermContractsOrProgramsDisclosureTextBlock_zBYmNZuTle4g" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - Costs and estimated earnings on uncompleted contracts components table (Details)"> <tr style="vertical-align: bottom"> <td style="font-size: 12pt; text-align: justify"> </td><td style="color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td colspan="3" id="xdx_49E_20220531_z5TvCa1hboS7" style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: center">2022</td><td style="padding-bottom: 1pt"> </td> <td colspan="3" id="xdx_492_20210531_z02t1AOzzgo7" style="border-bottom: Black 1pt solid; text-align: center">2021</td></tr> <tr id="xdx_407_eus-gaap--InventoryForLongTermContractsOrPrograms_iI_maCAEEOzruX_zVl4sTkPvmrg" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 56%; text-align: justify">Costs incurred on uncompleted contracts</td><td style="width: 8%; color: navy; font-weight: bold"> </td> <td style="width: 1%; color: navy; font-weight: bold; text-align: left">$</td><td style="width: 12%; color: navy; font-weight: bold; text-align: right">4,268,608</td><td style="width: 1%; color: navy; font-weight: bold; text-align: left"> </td><td style="width: 8%; color: windowtext"> </td> <td style="width: 1%; color: windowtext; text-align: left">$</td><td style="width: 12%; color: windowtext; text-align: right">3,372,276</td><td style="width: 1%; color: windowtext; text-align: left"> </td></tr> <tr id="xdx_40E_ecustom--EstimatedEarningsOnUncompletedContractsOrPrograms_iI_maCAEEOzruX_znVnG9NiMKE1" style="vertical-align: bottom; background-color: White"> <td style="text-align: justify; padding-bottom: 1pt">Estimated earnings</td><td style="color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: left"> </td><td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: right">3,211,392</td><td style="padding-bottom: 1pt; color: navy; font-weight: bold; text-align: left"> </td><td style="color: windowtext; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; color: windowtext; text-align: left"> </td><td style="border-bottom: Black 1pt solid; color: windowtext; text-align: right">778,011</td><td style="padding-bottom: 1pt; color: windowtext; text-align: left"> </td></tr> <tr id="xdx_40A_ecustom--CostsAndEstimatedEarningsOnUncompletedContractsOrPrograms_iTI_mtCAEEOzruX_maCIEOBzwX0_zSKNlI7Pyvbe" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: justify"><b style="display: none">Total costs and estimated earnings</b></td><td style="color: navy; font-weight: bold"> </td> <td style="color: navy; font-weight: bold; text-align: left"> </td><td style="color: navy; font-weight: bold; text-align: right">7,480,000</td><td style="color: navy; font-weight: bold; text-align: left"> </td><td style="color: windowtext"> </td> <td style="color: windowtext; text-align: left"> </td><td style="color: windowtext; text-align: right">4,150,287</td><td style="color: windowtext; text-align: left"> </td></tr> <tr id="xdx_404_ecustom--BillingsOnUncompletedContractsOrPrograms_iI_msCIEOBzwX0_zwRGS0mS5v6c" style="vertical-align: bottom; background-color: White"> <td style="text-align: justify; padding-bottom: 1pt">Less billings to date</td><td style="color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: left"> </td><td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: right">5,266,289</td><td style="padding-bottom: 1pt; color: navy; font-weight: bold; text-align: left"> </td><td style="color: windowtext; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; color: windowtext; text-align: left"> </td><td style="border-bottom: Black 1pt solid; color: windowtext; text-align: right">4,012,668</td><td style="padding-bottom: 1pt; color: windowtext; text-align: left"> </td></tr> <tr id="xdx_400_ecustom--CostsInExcessOfBillingsOnUncompletedContractsOrProgramsExpectedToBeCollectedWithinOneYearNet_iTI_mtCIEOBzwX0_zPeTeBaPaWpk" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-bottom: 1pt"><b style="display: none">Costs and estimated earnings not billed</b></td><td style="color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: right">2,213,711</td><td style="padding-bottom: 1pt; color: navy; font-weight: bold; text-align: left"> </td><td style="color: windowtext; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; color: windowtext; text-align: left">$</td><td style="border-bottom: Black 1pt solid; color: windowtext; text-align: right">137,619</td><td style="padding-bottom: 1pt; color: windowtext; text-align: left"> </td></tr> </table> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"> </p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Amounts are included in the accompanying balance sheets under the following captions:</p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"> </p> <table cellpadding="0" cellspacing="0" id="xdx_88A_ecustom--LongTermContractsDisclosureTableTextBlock_zTLeGDWf91n8" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - Costs and estimated earnings on uncompleted contracts table (Details)"> <tr style="vertical-align: bottom"> <td style="font-size: 12pt; text-align: justify"> </td><td style="color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td colspan="3" id="xdx_49E_20220531_zX9hsEpFInDi" style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: center">2022</td><td style="padding-bottom: 1pt"> </td> <td colspan="3" id="xdx_492_20210531_zDQ0HSWiYr8c" style="border-bottom: Black 1pt solid; text-align: center">2021</td></tr> <tr id="xdx_409_eus-gaap--CostsInExcessOfBillingsOnUncompletedContractsOrPrograms_iI_maCIEOBzlOL_zhe9qzgaDsC9" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 56%; text-align: justify">Costs and estimated earnings in excess of billings</td><td style="width: 8%; color: navy; font-weight: bold"> </td> <td style="width: 1%; color: navy; font-weight: bold; text-align: left">$</td><td style="width: 12%; color: navy; font-weight: bold; text-align: right">3,336,474</td><td style="width: 1%; color: navy; font-weight: bold; text-align: left"> </td><td style="width: 8%"> </td> <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">1,499,604</td><td style="width: 1%; text-align: left"> </td></tr> <tr id="xdx_40E_eus-gaap--BillingsInExcessOfCostCurrent_iI_msCIEOBzlOL_z8GuDkX30xb6" style="vertical-align: bottom; background-color: White"> <td style="text-align: justify; padding-bottom: 1pt">Billings in excess of costs and estimated earnings</td><td style="color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: left"> </td><td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: right">1,122,763</td><td style="padding-bottom: 1pt; color: navy; font-weight: bold; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td style="border-bottom: Black 1pt solid; text-align: right">1,361,985</td><td style="padding-bottom: 1pt; text-align: left"> </td></tr> <tr id="xdx_408_eus-gaap--CostsInExcessOfBillingsOnUncompletedContractsOrProgramsExpectedToBeCollectedWithinOneYear_iI_mtCIEOBzlOL_zz2GTC7Qnb3g" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: justify; padding-bottom: 1pt">Costs and estimated earnings not billed</td><td style="color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: right">2,213,711</td><td style="padding-bottom: 1pt; color: navy; font-weight: bold; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">137,619</td><td style="padding-bottom: 1pt; text-align: left"> </td></tr> </table> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; color: navy; text-align: justify"><b> </b></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The following summarizes the status of Projects in progress as of May 31, 2022 and 2021:</p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"> </p> <table cellpadding="0" cellspacing="0" id="xdx_885_ecustom--LongTermContractsDisclosureTwoTableTextBlock_zr58rjhUmcsa" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - Costs and estimated earnings on uncompleted contracts two table (Details)"> <tr style="vertical-align: bottom"> <td style="font-size: 12pt; text-align: right"> </td><td style="color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td colspan="3" id="xdx_49E_20220531_zAvyV2tIyAzd" style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: center">2022</td><td style="padding-bottom: 1pt"> </td> <td colspan="3" id="xdx_492_20210531_zbiesZDZMb9b" style="border-bottom: Black 1pt solid; text-align: center">2021</td></tr> <tr id="xdx_402_ecustom--QuantityOfUncompletedProjectsOrProgramsInProgress_iI_zxFMzSwAIA9a" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 56%; text-align: right; padding-left: 5.4pt">Number of Projects in progress</td><td style="width: 8%; color: navy; font-weight: bold"> </td> <td style="width: 1%; color: navy; font-weight: bold; text-align: left"> </td><td style="width: 12%; color: navy; font-weight: bold; text-align: right">19</td><td style="width: 1%; color: navy; font-weight: bold; text-align: left"> </td><td style="width: 8%"> </td> <td style="width: 1%; text-align: left"> </td><td style="width: 12%; text-align: right">14</td><td style="width: 1%; text-align: left"> </td></tr> <tr id="xdx_40C_ecustom--AggregatePercentCompleteOfUncompletedProjectsOrProgramsInProgress_iI_zV8U8H5hzwq2" style="vertical-align: bottom; background-color: White"> <td style="text-align: right; padding-left: 5.4pt">Aggregate percent complete</td><td style="color: navy; font-weight: bold"> </td> <td style="color: navy; font-weight: bold; text-align: left"> </td><td style="color: navy; font-weight: bold; text-align: right">47</td><td style="color: navy; font-weight: bold; text-align: left">%</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">32</td><td style="text-align: left">%</td></tr> <tr id="xdx_40E_ecustom--AggregateFutureRevenueToBeRecognizedFromUncompletedProjectsOrProgramsInProgress_iI_zSGiuqvXGKPa" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: right; padding-left: 5.4pt">Aggregate amount remaining</td><td style="color: navy; font-weight: bold"> </td> <td style="color: navy; font-weight: bold; text-align: left">$</td><td style="color: navy; font-weight: bold; text-align: right">7,627,234</td><td style="color: navy; font-weight: bold; text-align: left"> </td><td> </td> <td style="text-align: left">$</td><td style="text-align: right">9,333,701</td><td style="text-align: left"> </td></tr> <tr id="xdx_401_ecustom--PercentOfAggregateRevenueValueOfUncompletedProjectsOrProgramsInProgressInvoicedToCustomer_iI_z4hOqPLfb3M1" style="vertical-align: bottom; background-color: White"> <td style="text-align: right; padding-left: 5.4pt">Percentage of total value invoiced to customer</td><td style="color: navy; font-weight: bold"> </td> <td style="color: navy; font-weight: bold; text-align: left"> </td><td style="color: navy; font-weight: bold; text-align: right">35</td><td style="color: navy; font-weight: bold; text-align: left">%</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">30</td><td style="text-align: left">%</td></tr> </table> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"> </p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company expects to recognize the entire remaining revenue on all open projects during the May 31, 2023 fiscal year.</p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; color: navy; text-align: justify"><b> </b></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Revenue recognized during the years ended May 31, 2022 and 2021 for amounts included in billings in excess of costs and estimated earnings as of the beginning of the year amounted to $<span id="xdx_90B_ecustom--AggregateRevenueRecognizedFromUncompletedProjectsOrProgramsInProgressAtPriorYearEndIncludedInBillingsInExcessOfCostsAndEstimatedEarnings_c20210601__20220531_zoxzb1msuEUf">1,420,000</span>, and $<span id="xdx_905_ecustom--AggregateRevenueRecognizedFromUncompletedProjectsOrProgramsInProgressAtPriorYearEndIncludedInBillingsInExcessOfCostsAndEstimatedEarnings_c20200601__20210531_zL6xgptiOuwb">736,866</span>.</p> <table cellpadding="0" cellspacing="0" id="xdx_88A_eus-gaap--LongTermContractsOrProgramsDisclosureTextBlock_zBYmNZuTle4g" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - Costs and estimated earnings on uncompleted contracts components table (Details)"> <tr style="vertical-align: bottom"> <td style="font-size: 12pt; text-align: justify"> </td><td style="color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td colspan="3" id="xdx_49E_20220531_z5TvCa1hboS7" style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: center">2022</td><td style="padding-bottom: 1pt"> </td> <td colspan="3" id="xdx_492_20210531_z02t1AOzzgo7" style="border-bottom: Black 1pt solid; text-align: center">2021</td></tr> <tr id="xdx_407_eus-gaap--InventoryForLongTermContractsOrPrograms_iI_maCAEEOzruX_zVl4sTkPvmrg" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 56%; text-align: justify">Costs incurred on uncompleted contracts</td><td style="width: 8%; color: navy; font-weight: bold"> </td> <td style="width: 1%; color: navy; font-weight: bold; text-align: left">$</td><td style="width: 12%; color: navy; font-weight: bold; text-align: right">4,268,608</td><td style="width: 1%; color: navy; font-weight: bold; text-align: left"> </td><td style="width: 8%; color: windowtext"> </td> <td style="width: 1%; color: windowtext; text-align: left">$</td><td style="width: 12%; color: windowtext; text-align: right">3,372,276</td><td style="width: 1%; color: windowtext; text-align: left"> </td></tr> <tr id="xdx_40E_ecustom--EstimatedEarningsOnUncompletedContractsOrPrograms_iI_maCAEEOzruX_znVnG9NiMKE1" style="vertical-align: bottom; background-color: White"> <td style="text-align: justify; padding-bottom: 1pt">Estimated earnings</td><td style="color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: left"> </td><td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: right">3,211,392</td><td style="padding-bottom: 1pt; color: navy; font-weight: bold; text-align: left"> </td><td style="color: windowtext; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; color: windowtext; text-align: left"> </td><td style="border-bottom: Black 1pt solid; color: windowtext; text-align: right">778,011</td><td style="padding-bottom: 1pt; color: windowtext; text-align: left"> </td></tr> <tr id="xdx_40A_ecustom--CostsAndEstimatedEarningsOnUncompletedContractsOrPrograms_iTI_mtCAEEOzruX_maCIEOBzwX0_zSKNlI7Pyvbe" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: justify"><b style="display: none">Total costs and estimated earnings</b></td><td style="color: navy; font-weight: bold"> </td> <td style="color: navy; font-weight: bold; text-align: left"> </td><td style="color: navy; font-weight: bold; text-align: right">7,480,000</td><td style="color: navy; font-weight: bold; text-align: left"> </td><td style="color: windowtext"> </td> <td style="color: windowtext; text-align: left"> </td><td style="color: windowtext; text-align: right">4,150,287</td><td style="color: windowtext; text-align: left"> </td></tr> <tr id="xdx_404_ecustom--BillingsOnUncompletedContractsOrPrograms_iI_msCIEOBzwX0_zwRGS0mS5v6c" style="vertical-align: bottom; background-color: White"> <td style="text-align: justify; padding-bottom: 1pt">Less billings to date</td><td style="color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: left"> </td><td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: right">5,266,289</td><td style="padding-bottom: 1pt; color: navy; font-weight: bold; text-align: left"> </td><td style="color: windowtext; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; color: windowtext; text-align: left"> </td><td style="border-bottom: Black 1pt solid; color: windowtext; text-align: right">4,012,668</td><td style="padding-bottom: 1pt; color: windowtext; text-align: left"> </td></tr> <tr id="xdx_400_ecustom--CostsInExcessOfBillingsOnUncompletedContractsOrProgramsExpectedToBeCollectedWithinOneYearNet_iTI_mtCIEOBzwX0_zPeTeBaPaWpk" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-bottom: 1pt"><b style="display: none">Costs and estimated earnings not billed</b></td><td style="color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: right">2,213,711</td><td style="padding-bottom: 1pt; color: navy; font-weight: bold; text-align: left"> </td><td style="color: windowtext; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; color: windowtext; text-align: left">$</td><td style="border-bottom: Black 1pt solid; color: windowtext; text-align: right">137,619</td><td style="padding-bottom: 1pt; color: windowtext; text-align: left"> </td></tr> </table> 4268608 3372276 3211392 778011 7480000 4150287 5266289 4012668 2213711 137619 <table cellpadding="0" cellspacing="0" id="xdx_88A_ecustom--LongTermContractsDisclosureTableTextBlock_zTLeGDWf91n8" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - Costs and estimated earnings on uncompleted contracts table (Details)"> <tr style="vertical-align: bottom"> <td style="font-size: 12pt; text-align: justify"> </td><td style="color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td colspan="3" id="xdx_49E_20220531_zX9hsEpFInDi" style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: center">2022</td><td style="padding-bottom: 1pt"> </td> <td colspan="3" id="xdx_492_20210531_zDQ0HSWiYr8c" style="border-bottom: Black 1pt solid; text-align: center">2021</td></tr> <tr id="xdx_409_eus-gaap--CostsInExcessOfBillingsOnUncompletedContractsOrPrograms_iI_maCIEOBzlOL_zhe9qzgaDsC9" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 56%; text-align: justify">Costs and estimated earnings in excess of billings</td><td style="width: 8%; color: navy; font-weight: bold"> </td> <td style="width: 1%; color: navy; font-weight: bold; text-align: left">$</td><td style="width: 12%; color: navy; font-weight: bold; text-align: right">3,336,474</td><td style="width: 1%; color: navy; font-weight: bold; text-align: left"> </td><td style="width: 8%"> </td> <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">1,499,604</td><td style="width: 1%; text-align: left"> </td></tr> <tr id="xdx_40E_eus-gaap--BillingsInExcessOfCostCurrent_iI_msCIEOBzlOL_z8GuDkX30xb6" style="vertical-align: bottom; background-color: White"> <td style="text-align: justify; padding-bottom: 1pt">Billings in excess of costs and estimated earnings</td><td style="color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: left"> </td><td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: right">1,122,763</td><td style="padding-bottom: 1pt; color: navy; font-weight: bold; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td style="border-bottom: Black 1pt solid; text-align: right">1,361,985</td><td style="padding-bottom: 1pt; text-align: left"> </td></tr> <tr id="xdx_408_eus-gaap--CostsInExcessOfBillingsOnUncompletedContractsOrProgramsExpectedToBeCollectedWithinOneYear_iI_mtCIEOBzlOL_zz2GTC7Qnb3g" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: justify; padding-bottom: 1pt">Costs and estimated earnings not billed</td><td style="color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: right">2,213,711</td><td style="padding-bottom: 1pt; color: navy; font-weight: bold; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">137,619</td><td style="padding-bottom: 1pt; text-align: left"> </td></tr> </table> 3336474 1499604 1122763 1361985 2213711 137619 <table cellpadding="0" cellspacing="0" id="xdx_885_ecustom--LongTermContractsDisclosureTwoTableTextBlock_zr58rjhUmcsa" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - Costs and estimated earnings on uncompleted contracts two table (Details)"> <tr style="vertical-align: bottom"> <td style="font-size: 12pt; text-align: right"> </td><td style="color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td colspan="3" id="xdx_49E_20220531_zAvyV2tIyAzd" style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: center">2022</td><td style="padding-bottom: 1pt"> </td> <td colspan="3" id="xdx_492_20210531_zbiesZDZMb9b" style="border-bottom: Black 1pt solid; text-align: center">2021</td></tr> <tr id="xdx_402_ecustom--QuantityOfUncompletedProjectsOrProgramsInProgress_iI_zxFMzSwAIA9a" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 56%; text-align: right; padding-left: 5.4pt">Number of Projects in progress</td><td style="width: 8%; color: navy; font-weight: bold"> </td> <td style="width: 1%; color: navy; font-weight: bold; text-align: left"> </td><td style="width: 12%; color: navy; font-weight: bold; text-align: right">19</td><td style="width: 1%; color: navy; font-weight: bold; text-align: left"> </td><td style="width: 8%"> </td> <td style="width: 1%; text-align: left"> </td><td style="width: 12%; text-align: right">14</td><td style="width: 1%; text-align: left"> </td></tr> <tr id="xdx_40C_ecustom--AggregatePercentCompleteOfUncompletedProjectsOrProgramsInProgress_iI_zV8U8H5hzwq2" style="vertical-align: bottom; background-color: White"> <td style="text-align: right; padding-left: 5.4pt">Aggregate percent complete</td><td style="color: navy; font-weight: bold"> </td> <td style="color: navy; font-weight: bold; text-align: left"> </td><td style="color: navy; font-weight: bold; text-align: right">47</td><td style="color: navy; font-weight: bold; text-align: left">%</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">32</td><td style="text-align: left">%</td></tr> <tr id="xdx_40E_ecustom--AggregateFutureRevenueToBeRecognizedFromUncompletedProjectsOrProgramsInProgress_iI_zSGiuqvXGKPa" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: right; padding-left: 5.4pt">Aggregate amount remaining</td><td style="color: navy; font-weight: bold"> </td> <td style="color: navy; font-weight: bold; text-align: left">$</td><td style="color: navy; font-weight: bold; text-align: right">7,627,234</td><td style="color: navy; font-weight: bold; text-align: left"> </td><td> </td> <td style="text-align: left">$</td><td style="text-align: right">9,333,701</td><td style="text-align: left"> </td></tr> <tr id="xdx_401_ecustom--PercentOfAggregateRevenueValueOfUncompletedProjectsOrProgramsInProgressInvoicedToCustomer_iI_z4hOqPLfb3M1" style="vertical-align: bottom; background-color: White"> <td style="text-align: right; padding-left: 5.4pt">Percentage of total value invoiced to customer</td><td style="color: navy; font-weight: bold"> </td> <td style="color: navy; font-weight: bold; text-align: left"> </td><td style="color: navy; font-weight: bold; text-align: right">35</td><td style="color: navy; font-weight: bold; text-align: left">%</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">30</td><td style="text-align: left">%</td></tr> </table> 19 14 0.47 0.32 7627234 9333701 0.35 0.30 1420000 736866 <p id="xdx_80F_eus-gaap--OtherAssetsDisclosureTextBlock_zK1xy82aG1Nf" style="font: 10pt Times New Roman, Times, Serif; margin: 0; color: navy; text-align: justify"><b>5. Maintenance and Other Inventory:</b></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; color: navy; text-align: justify"> </p> <table cellpadding="0" cellspacing="0" id="xdx_88F_eus-gaap--ScheduleOfInventoryNoncurrentTableTextBlock_zpOEjpJIlNZi" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - Maintenance and other inventory table (Details)"> <tr style="vertical-align: bottom"> <td style="font-size: 12pt; text-align: justify"> </td><td style="color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td colspan="3" id="xdx_49E_20220531_zbSeslA1GEx5" style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: center">2022</td><td style="padding-bottom: 1pt"> </td> <td colspan="3" id="xdx_492_20210531_z4lYErXp8YTb" style="border-bottom: Black 1pt solid; text-align: center">2021</td></tr> <tr id="xdx_406_eus-gaap--OtherInventoryNoncurrent_iI_maINzgZM_z192QSFhDHV1" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 56%; text-align: justify">Maintenance and other inventory</td><td style="width: 8%; color: navy; font-weight: bold"> </td> <td style="width: 1%; color: navy; font-weight: bold; text-align: left">$</td><td style="width: 12%; color: navy; font-weight: bold; text-align: right">2,334,889</td><td style="width: 1%; color: navy; font-weight: bold; text-align: left"> </td><td style="width: 8%; color: windowtext"> </td> <td style="width: 1%; color: windowtext; text-align: left">$</td><td style="width: 12%; color: windowtext; text-align: right">3,612,000</td><td style="width: 1%; color: windowtext; text-align: left"> </td></tr> <tr id="xdx_40A_ecustom--InventoryValuationReserveNoncurrent_iNI_di_maINzgZM_zB0PWmoYW6pl" style="vertical-align: bottom; background-color: White"> <td style="text-align: justify; padding-bottom: 1pt">Less allowance for obsolescence</td><td style="color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: left"> </td><td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: right">1,227,580</td><td style="padding-bottom: 1pt; color: navy; font-weight: bold; text-align: left"> </td><td style="color: windowtext; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; color: windowtext; text-align: left"> </td><td style="border-bottom: Black 1pt solid; color: windowtext; text-align: right">1,999,161</td><td style="padding-bottom: 1pt; color: windowtext; text-align: left"> </td></tr> <tr id="xdx_40E_eus-gaap--InventoryNoncurrent_iTI_mtINzgZM_zWmf3Z5qXS84" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: justify; padding-bottom: 1pt"><b style="display: none">Maintenance and other inventory, net</b></td><td style="color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: right">1,107,309</td><td style="padding-bottom: 1pt; color: navy; font-weight: bold; text-align: left"> </td><td style="color: windowtext; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; color: windowtext; text-align: left">$</td><td style="border-bottom: Black 1pt solid; color: windowtext; text-align: right">1,612,839</td><td style="padding-bottom: 1pt; color: windowtext; text-align: left"> </td></tr> </table> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"> </p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Maintenance and other inventory represent stock that is estimated to have a product life-cycle in excess of twelve-months. This stock represents certain items the Company is required to maintain for service of products sold, and items that are generally subject to spontaneous ordering.</p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"> </p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">This inventory is particularly sensitive to technical obsolescence in the near term due to its use in industries characterized by the continuous introduction of new product lines, rapid technological advances and product obsolescence. Therefore, management of the Company has recorded an allowance for potential inventory obsolescence.</p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"> </p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">During fiscal 2021, the Company began a thorough review of the facilities including the flow of inventory through the factory and warehouse areas to determine the most efficient utilization of available space. This review continued through fiscal 2022. Inventory purchasing practices and stocking levels were also evaluated and it was determined that a significant portion of the older items would be disposed of while the allowance for potential inventory obsolescence would be increased as more items are identified for disposal. $772,000 and $1,101,000 of inventory was disposed of during the years ended May 31, 2022 and 2021. The provision for potential inventory obsolescence was zero and $<span id="xdx_905_eus-gaap--InventoryWriteDown_c20200601__20210531_zpL07tzcCZP6">1,500,000</span> for the years ended May 31, 2022 and 2021.</p> <table cellpadding="0" cellspacing="0" id="xdx_88F_eus-gaap--ScheduleOfInventoryNoncurrentTableTextBlock_zpOEjpJIlNZi" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - Maintenance and other inventory table (Details)"> <tr style="vertical-align: bottom"> <td style="font-size: 12pt; text-align: justify"> </td><td style="color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td colspan="3" id="xdx_49E_20220531_zbSeslA1GEx5" style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: center">2022</td><td style="padding-bottom: 1pt"> </td> <td colspan="3" id="xdx_492_20210531_z4lYErXp8YTb" style="border-bottom: Black 1pt solid; text-align: center">2021</td></tr> <tr id="xdx_406_eus-gaap--OtherInventoryNoncurrent_iI_maINzgZM_z192QSFhDHV1" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 56%; text-align: justify">Maintenance and other inventory</td><td style="width: 8%; color: navy; font-weight: bold"> </td> <td style="width: 1%; color: navy; font-weight: bold; text-align: left">$</td><td style="width: 12%; color: navy; font-weight: bold; text-align: right">2,334,889</td><td style="width: 1%; color: navy; font-weight: bold; text-align: left"> </td><td style="width: 8%; color: windowtext"> </td> <td style="width: 1%; color: windowtext; text-align: left">$</td><td style="width: 12%; color: windowtext; text-align: right">3,612,000</td><td style="width: 1%; color: windowtext; text-align: left"> </td></tr> <tr id="xdx_40A_ecustom--InventoryValuationReserveNoncurrent_iNI_di_maINzgZM_zB0PWmoYW6pl" style="vertical-align: bottom; background-color: White"> <td style="text-align: justify; padding-bottom: 1pt">Less allowance for obsolescence</td><td style="color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: left"> </td><td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: right">1,227,580</td><td style="padding-bottom: 1pt; color: navy; font-weight: bold; text-align: left"> </td><td style="color: windowtext; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; color: windowtext; text-align: left"> </td><td style="border-bottom: Black 1pt solid; color: windowtext; text-align: right">1,999,161</td><td style="padding-bottom: 1pt; color: windowtext; text-align: left"> </td></tr> <tr id="xdx_40E_eus-gaap--InventoryNoncurrent_iTI_mtINzgZM_zWmf3Z5qXS84" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: justify; padding-bottom: 1pt"><b style="display: none">Maintenance and other inventory, net</b></td><td style="color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: right">1,107,309</td><td style="padding-bottom: 1pt; color: navy; font-weight: bold; text-align: left"> </td><td style="color: windowtext; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; color: windowtext; text-align: left">$</td><td style="border-bottom: Black 1pt solid; color: windowtext; text-align: right">1,612,839</td><td style="padding-bottom: 1pt; color: windowtext; text-align: left"> </td></tr> </table> 2334889 3612000 -1227580 -1999161 1107309 1612839 1500000 <p id="xdx_809_eus-gaap--PropertyPlantAndEquipmentDisclosureTextBlock_zUpeOBHpz4Gh" style="font: 10pt Times New Roman, Times, Serif; margin: 0; color: navy; text-align: justify"><b>6. Property and Equipment:</b></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"> </p> <table cellpadding="0" cellspacing="0" id="xdx_887_eus-gaap--PropertyPlantAndEquipmentTextBlock_zrEGFYsHAbmf" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - Property and equipment table (Details)"> <tr style="vertical-align: bottom"> <td style="font-size: 12pt; text-align: justify"> </td><td style="color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td colspan="3" id="xdx_49E_20220531_z3H17fCvCrHf" style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: center">2022</td><td style="padding-bottom: 1pt"> </td> <td colspan="3" id="xdx_492_20210531_zBj1mtOoKXTi" style="border-bottom: Black 1pt solid; text-align: center">2021</td></tr> <tr id="xdx_40A_eus-gaap--Land_iI_maPPAEGz4J0_zpHCHryaDIQf" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 56%">Land</td><td style="width: 8%; color: navy; font-weight: bold"> </td> <td style="width: 1%; color: navy; font-weight: bold; text-align: left">$</td><td style="width: 12%; color: navy; font-weight: bold; text-align: right">195,220</td><td style="width: 1%; color: navy; font-weight: bold; text-align: left"> </td><td style="width: 8%"> </td> <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">195,220</td><td style="width: 1%; text-align: left"> </td></tr> <tr id="xdx_402_eus-gaap--BuildingsAndImprovementsGross_iI_maPPAEGz4J0_zIQtiZOHrxd6" style="vertical-align: bottom; background-color: White"> <td style="text-align: left">Buildings and improvements</td><td style="color: navy; font-weight: bold"> </td> <td style="color: navy; font-weight: bold; text-align: left"> </td><td style="color: navy; font-weight: bold; text-align: right">9,821,812</td><td style="color: navy; font-weight: bold; text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">9,584,087</td><td style="text-align: left"> </td></tr> <tr id="xdx_40C_eus-gaap--MachineryAndEquipmentGross_iI_maPPAEGz4J0_zhxPSmPdGcM1" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">Machinery and equipment</td><td style="color: navy; font-weight: bold"> </td> <td style="color: navy; font-weight: bold; text-align: left"> </td><td style="color: navy; font-weight: bold; text-align: right">12,824,696</td><td style="color: navy; font-weight: bold; text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">12,366,569</td><td style="text-align: left"> </td></tr> <tr id="xdx_404_eus-gaap--FurnitureAndFixturesGross_iI_maPPAEGz4J0_zhakXD0yGmXk" style="vertical-align: bottom; background-color: White"> <td style="text-align: left">Office furniture and equipment</td><td style="color: navy; font-weight: bold"> </td> <td style="color: navy; font-weight: bold; text-align: left"> </td><td style="color: navy; font-weight: bold; text-align: right">2,744,400</td><td style="color: navy; font-weight: bold; text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">2,536,688</td><td style="text-align: left"> </td></tr> <tr id="xdx_40C_eus-gaap--PropertyPlantAndEquipmentOther_iI_maPPAEGz4J0_zXaBC8wfSp36" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">Autos and trucks</td><td style="color: navy; font-weight: bold"> </td> <td style="color: navy; font-weight: bold; text-align: left"> </td><td style="color: navy; font-weight: bold; text-align: right">24,818</td><td style="color: navy; font-weight: bold; text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">24,818</td><td style="text-align: left"> </td></tr> <tr id="xdx_401_eus-gaap--LandImprovements_iI_maPPAEGz4J0_zLSLiD46g9ba" style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-bottom: 1pt">Land improvements</td><td style="color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: left"> </td><td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: right">483,929</td><td style="padding-bottom: 1pt; color: navy; font-weight: bold; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td style="border-bottom: Black 1pt solid; text-align: right">476,429</td><td style="padding-bottom: 1pt; text-align: left"> </td></tr> <tr id="xdx_40E_eus-gaap--PropertyPlantAndEquipmentGross_iTI_mtPPAEGz4J0_maPPAENzVaL_zNtke8hpbMne" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left"><b style="display: none">Gross property and equipment</b></td><td style="color: navy; font-weight: bold"> </td> <td style="color: navy; font-weight: bold; text-align: left"> </td><td style="color: navy; font-weight: bold; text-align: right">26,094,875</td><td style="color: navy; font-weight: bold; text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">25,183,811</td><td style="text-align: left"> </td></tr> <tr id="xdx_408_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iI_msPPAENzVaL_zgoaSgzNUir2" style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-bottom: 1pt">Less accumulated depreciation</td><td style="color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: left"> </td><td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: right">16,240,116</td><td style="padding-bottom: 1pt; color: navy; font-weight: bold; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td style="border-bottom: Black 1pt solid; text-align: right">15,367,217</td><td style="padding-bottom: 1pt; text-align: left"> </td></tr> <tr id="xdx_404_eus-gaap--PropertyPlantAndEquipmentNet_iTI_mtPPAENzVaL_z3luMDX61OTj" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-bottom: 1pt"><b style="display: none">Property and equipment, net</b></td><td style="color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: right">9,854,759</td><td style="padding-bottom: 1pt; color: navy; font-weight: bold; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">9,816,594</td><td style="padding-bottom: 1pt; text-align: left"> </td></tr> </table> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"> </p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Depreciation expense was $<span id="xdx_909_eus-gaap--Depreciation_c20210601__20220531_zGeHtZJPmYra">1,347,442</span> and $<span id="xdx_90D_eus-gaap--Depreciation_c20200601__20210531_zo1NQ6eAQPN">1,212,713</span> for the years ended May 31, 2022 and 2021.</p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"> </p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company has commitments to make capital expenditures of approximately $<span id="xdx_90D_ecustom--CommitmentsForFutureCapitalExpendituresDisclosure_iI_c20220531_zaTsOUrQGBE7">1,600,000</span> as of May 31, 2022.</p> <table cellpadding="0" cellspacing="0" id="xdx_887_eus-gaap--PropertyPlantAndEquipmentTextBlock_zrEGFYsHAbmf" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - Property and equipment table (Details)"> <tr style="vertical-align: bottom"> <td style="font-size: 12pt; text-align: justify"> </td><td style="color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td colspan="3" id="xdx_49E_20220531_z3H17fCvCrHf" style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: center">2022</td><td style="padding-bottom: 1pt"> </td> <td colspan="3" id="xdx_492_20210531_zBj1mtOoKXTi" style="border-bottom: Black 1pt solid; text-align: center">2021</td></tr> <tr id="xdx_40A_eus-gaap--Land_iI_maPPAEGz4J0_zpHCHryaDIQf" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 56%">Land</td><td style="width: 8%; color: navy; font-weight: bold"> </td> <td style="width: 1%; color: navy; font-weight: bold; text-align: left">$</td><td style="width: 12%; color: navy; font-weight: bold; text-align: right">195,220</td><td style="width: 1%; color: navy; font-weight: bold; text-align: left"> </td><td style="width: 8%"> </td> <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">195,220</td><td style="width: 1%; text-align: left"> </td></tr> <tr id="xdx_402_eus-gaap--BuildingsAndImprovementsGross_iI_maPPAEGz4J0_zIQtiZOHrxd6" style="vertical-align: bottom; background-color: White"> <td style="text-align: left">Buildings and improvements</td><td style="color: navy; font-weight: bold"> </td> <td style="color: navy; font-weight: bold; text-align: left"> </td><td style="color: navy; font-weight: bold; text-align: right">9,821,812</td><td style="color: navy; font-weight: bold; text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">9,584,087</td><td style="text-align: left"> </td></tr> <tr id="xdx_40C_eus-gaap--MachineryAndEquipmentGross_iI_maPPAEGz4J0_zhxPSmPdGcM1" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">Machinery and equipment</td><td style="color: navy; font-weight: bold"> </td> <td style="color: navy; font-weight: bold; text-align: left"> </td><td style="color: navy; font-weight: bold; text-align: right">12,824,696</td><td style="color: navy; font-weight: bold; text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">12,366,569</td><td style="text-align: left"> </td></tr> <tr id="xdx_404_eus-gaap--FurnitureAndFixturesGross_iI_maPPAEGz4J0_zhakXD0yGmXk" style="vertical-align: bottom; background-color: White"> <td style="text-align: left">Office furniture and equipment</td><td style="color: navy; font-weight: bold"> </td> <td style="color: navy; font-weight: bold; text-align: left"> </td><td style="color: navy; font-weight: bold; text-align: right">2,744,400</td><td style="color: navy; font-weight: bold; text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">2,536,688</td><td style="text-align: left"> </td></tr> <tr id="xdx_40C_eus-gaap--PropertyPlantAndEquipmentOther_iI_maPPAEGz4J0_zXaBC8wfSp36" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">Autos and trucks</td><td style="color: navy; font-weight: bold"> </td> <td style="color: navy; font-weight: bold; text-align: left"> </td><td style="color: navy; font-weight: bold; text-align: right">24,818</td><td style="color: navy; font-weight: bold; text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">24,818</td><td style="text-align: left"> </td></tr> <tr id="xdx_401_eus-gaap--LandImprovements_iI_maPPAEGz4J0_zLSLiD46g9ba" style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-bottom: 1pt">Land improvements</td><td style="color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: left"> </td><td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: right">483,929</td><td style="padding-bottom: 1pt; color: navy; font-weight: bold; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td style="border-bottom: Black 1pt solid; text-align: right">476,429</td><td style="padding-bottom: 1pt; text-align: left"> </td></tr> <tr id="xdx_40E_eus-gaap--PropertyPlantAndEquipmentGross_iTI_mtPPAEGz4J0_maPPAENzVaL_zNtke8hpbMne" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left"><b style="display: none">Gross property and equipment</b></td><td style="color: navy; font-weight: bold"> </td> <td style="color: navy; font-weight: bold; text-align: left"> </td><td style="color: navy; font-weight: bold; text-align: right">26,094,875</td><td style="color: navy; font-weight: bold; text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">25,183,811</td><td style="text-align: left"> </td></tr> <tr id="xdx_408_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iI_msPPAENzVaL_zgoaSgzNUir2" style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-bottom: 1pt">Less accumulated depreciation</td><td style="color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: left"> </td><td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: right">16,240,116</td><td style="padding-bottom: 1pt; color: navy; font-weight: bold; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td style="border-bottom: Black 1pt solid; text-align: right">15,367,217</td><td style="padding-bottom: 1pt; text-align: left"> </td></tr> <tr id="xdx_404_eus-gaap--PropertyPlantAndEquipmentNet_iTI_mtPPAENzVaL_z3luMDX61OTj" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-bottom: 1pt"><b style="display: none">Property and equipment, net</b></td><td style="color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: right">9,854,759</td><td style="padding-bottom: 1pt; color: navy; font-weight: bold; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">9,816,594</td><td style="padding-bottom: 1pt; text-align: left"> </td></tr> </table> 195220 195220 9821812 9584087 12824696 12366569 2744400 2536688 24818 24818 483929 476429 26094875 25183811 16240116 15367217 9854759 9816594 1347442 1212713 1600000 <p id="xdx_801_eus-gaap--ScheduleOfLineOfCreditFacilitiesTextBlock_zBhfpwPyWD74" style="font: 10pt Times New Roman, Times, Serif; margin: 0; color: navy; text-align: justify"><b>7. Short-Term Borrowings:</b></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"> </p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company has available a $<span id="xdx_904_eus-gaap--LineOfCreditFacilityCurrentBorrowingCapacity_iI_c20220531_zQd0NhcpLyWb">10,000,000</span> demand line of credit from a bank, with interest payable at the Company's option of 30, 60 or 90 day LIBOR rate plus 2.25%. The line is secured by a negative pledge of the Company's real and personal property. This line of credit is subject to the usual terms and conditions applied by the bank and subject to renewal annually.</p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"> </p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">There is <span id="xdx_905_eus-gaap--LineOfCreditFacilityFairValueOfAmountOutstanding_iI_do_c20210531_zigTE2Z3PfP1"><span id="xdx_90D_eus-gaap--LineOfCreditFacilityFairValueOfAmountOutstanding_iI_do_c20220531_zT8LfIfEELu9">no</span></span> amount outstanding under the line of credit at May 31, 2022 or May 31, 2021.</p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"> </p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company uses a cash management facility under which the bank draws against the available line of credit to cover checks presented for payment on a daily basis. Outstanding checks under this arrangement totaled $<span id="xdx_907_eus-gaap--AccountsPayableOtherCurrent_iI_c20220531_zOsJHJD5cCIg">193,478</span> and $<span id="xdx_908_eus-gaap--AccountsPayableOtherCurrent_iI_c20210531_zOG1GSvpyLM">366,209</span> as of May 31, 2022 and 2021. These amounts are included in accounts payable.</p> 10000000 0 0 193478 366209 <p id="xdx_806_eus-gaap--AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock_z9sUbjcXjKY9" style="font: 10pt Times New Roman, Times, Serif; margin: 0; color: navy; text-align: justify"><b>8. Other Accrued Expenses: </b></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; color: navy; text-align: justify"><b> </b></p> <table cellpadding="0" cellspacing="0" id="xdx_88F_eus-gaap--ScheduleOfAccruedLiabilitiesTableTextBlock_zd5EyNk4h3w8" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - Other accrued expenses table (Details)"> <tr style="vertical-align: bottom"> <td style="font-size: 12pt; text-align: justify"> </td><td style="color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td colspan="3" id="xdx_49E_20220531_zUmV4tBPMO85" style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: center">2022</td><td style="padding-bottom: 1pt"> </td> <td colspan="3" id="xdx_492_20210531_zgZx1CzTMarg" style="border-bottom: Black 1pt solid; text-align: center">2021</td></tr> <tr id="xdx_40A_eus-gaap--CustomerDepositsCurrent_iI_zD4VlWPJ36Mb" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 56%; text-align: left">Customer deposits</td><td style="width: 8%; color: navy; font-weight: bold"> </td> <td style="width: 1%; color: navy; font-weight: bold; text-align: left">$</td><td style="width: 12%; color: navy; font-weight: bold; text-align: right">1,347,709</td><td style="width: 1%; color: navy; font-weight: bold; text-align: left"> </td><td style="width: 8%; color: windowtext"> </td> <td style="width: 1%; color: windowtext; text-align: left">$</td><td style="width: 12%; color: windowtext; text-align: right">867,652</td><td style="width: 1%; color: windowtext; text-align: left"> </td></tr> <tr id="xdx_401_eus-gaap--OtherEmployeeRelatedLiabilitiesCurrentAndNoncurrent_iI_zDJ32OYuWW17" style="vertical-align: bottom; background-color: White"> <td style="text-align: left">Personnel costs</td><td style="color: navy; font-weight: bold"> </td> <td style="color: navy; font-weight: bold; text-align: left"> </td><td style="color: navy; font-weight: bold; text-align: right">1,587,271</td><td style="color: navy; font-weight: bold; text-align: left"> </td><td style="color: windowtext"> </td> <td style="color: windowtext; text-align: left"> </td><td style="color: windowtext; text-align: right">659,623</td><td style="color: windowtext; text-align: left"> </td></tr> <tr id="xdx_40D_eus-gaap--OtherAccountsPayableAndAccruedLiabilities_iI_zkFIuCILO07l" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 1pt">Other</td><td style="color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: left"> </td><td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: right">394,427</td><td style="padding-bottom: 1pt; color: navy; font-weight: bold; text-align: left"> </td><td style="color: windowtext; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; color: windowtext; text-align: left"> </td><td style="border-bottom: Black 1pt solid; color: windowtext; text-align: right">188,134</td><td style="padding-bottom: 1pt; color: windowtext; text-align: left"> </td></tr> <tr id="xdx_405_eus-gaap--AccruedLiabilitiesAndOtherLiabilities_iI_zwfcuVdNaVK4" style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-bottom: 1pt">Total other accrued expenses</td><td style="color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: right">3,329,407</td><td style="padding-bottom: 1pt; color: navy; font-weight: bold; text-align: left"> </td><td style="color: windowtext; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; color: windowtext; text-align: left">$</td><td style="border-bottom: Black 1pt solid; color: windowtext; text-align: right">1,715,409</td><td style="padding-bottom: 1pt; color: windowtext; text-align: left"> </td></tr> </table> <table cellpadding="0" cellspacing="0" id="xdx_88F_eus-gaap--ScheduleOfAccruedLiabilitiesTableTextBlock_zd5EyNk4h3w8" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - Other accrued expenses table (Details)"> <tr style="vertical-align: bottom"> <td style="font-size: 12pt; text-align: justify"> </td><td style="color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td colspan="3" id="xdx_49E_20220531_zUmV4tBPMO85" style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: center">2022</td><td style="padding-bottom: 1pt"> </td> <td colspan="3" id="xdx_492_20210531_zgZx1CzTMarg" style="border-bottom: Black 1pt solid; text-align: center">2021</td></tr> <tr id="xdx_40A_eus-gaap--CustomerDepositsCurrent_iI_zD4VlWPJ36Mb" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 56%; text-align: left">Customer deposits</td><td style="width: 8%; color: navy; font-weight: bold"> </td> <td style="width: 1%; color: navy; font-weight: bold; text-align: left">$</td><td style="width: 12%; color: navy; font-weight: bold; text-align: right">1,347,709</td><td style="width: 1%; color: navy; font-weight: bold; text-align: left"> </td><td style="width: 8%; color: windowtext"> </td> <td style="width: 1%; color: windowtext; text-align: left">$</td><td style="width: 12%; color: windowtext; text-align: right">867,652</td><td style="width: 1%; color: windowtext; text-align: left"> </td></tr> <tr id="xdx_401_eus-gaap--OtherEmployeeRelatedLiabilitiesCurrentAndNoncurrent_iI_zDJ32OYuWW17" style="vertical-align: bottom; background-color: White"> <td style="text-align: left">Personnel costs</td><td style="color: navy; font-weight: bold"> </td> <td style="color: navy; font-weight: bold; text-align: left"> </td><td style="color: navy; font-weight: bold; text-align: right">1,587,271</td><td style="color: navy; font-weight: bold; text-align: left"> </td><td style="color: windowtext"> </td> <td style="color: windowtext; text-align: left"> </td><td style="color: windowtext; text-align: right">659,623</td><td style="color: windowtext; text-align: left"> </td></tr> <tr id="xdx_40D_eus-gaap--OtherAccountsPayableAndAccruedLiabilities_iI_zkFIuCILO07l" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 1pt">Other</td><td style="color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: left"> </td><td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: right">394,427</td><td style="padding-bottom: 1pt; color: navy; font-weight: bold; text-align: left"> </td><td style="color: windowtext; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; color: windowtext; text-align: left"> </td><td style="border-bottom: Black 1pt solid; color: windowtext; text-align: right">188,134</td><td style="padding-bottom: 1pt; color: windowtext; text-align: left"> </td></tr> <tr id="xdx_405_eus-gaap--AccruedLiabilitiesAndOtherLiabilities_iI_zwfcuVdNaVK4" style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-bottom: 1pt">Total other accrued expenses</td><td style="color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: right">3,329,407</td><td style="padding-bottom: 1pt; color: navy; font-weight: bold; text-align: left"> </td><td style="color: windowtext; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; color: windowtext; text-align: left">$</td><td style="border-bottom: Black 1pt solid; color: windowtext; text-align: right">1,715,409</td><td style="padding-bottom: 1pt; color: windowtext; text-align: left"> </td></tr> </table> 1347709 867652 1587271 659623 394427 188134 3329407 1715409 <p id="xdx_803_ecustom--ScheduleOfRevenueByMajorCustomersTypesTextBlock_zLPhgPhpTEK8" style="font: 10pt Times New Roman, Times, Serif; margin: 0; color: navy; text-align: justify"><b>9. Sales:</b></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"> </p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company manufactures and sells a single group of very similar products that have many different applications for customers. These similar products are included in one of eight categories; namely, Seismic Dampers, Fluidicshoks®, Crane and Industrial Buffers, Self-Adjusting Shock Absorbers, Liquid Die Springs, Vibration Dampers, Machined Springs and Custom Actuators. Management does not track or otherwise account for sales broken down by these categories. Sales of the Company's products are made to three general groups of customers: industrial, structural and aerospace / defense. A breakdown of sales to these three general groups of customers is as follows:</p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"> </p> <table cellpadding="0" cellspacing="0" id="xdx_882_ecustom--ScheduleOfRevenueByMajorCustomerTypesTextBlockTableTextBlock_z3FTDt3gQC48" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - Sales by major customer type (Details)"> <tr style="vertical-align: bottom"> <td style="font-size: 12pt; text-align: center"> </td><td style="color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td colspan="3" id="xdx_49B_20210601__20220531_zLAJDMtip24i" style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: center">2022</td><td style="padding-bottom: 1pt"> </td> <td colspan="3" id="xdx_494_20200601__20210531_z0a3goo2BMK" style="border-bottom: Black 1pt solid; text-align: center">2021</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 56%; padding-left: 5.4pt">Structural</td><td style="width: 8%; color: navy; font-weight: bold"> </td> <td style="width: 1%; color: navy; font-weight: bold; text-align: left">$</td><td id="xdx_98A_eus-gaap--Revenues_c20210601__20220531__srt--MajorCustomersAxis__custom--StructuralSeismicWindMember_zuhSsKYm6lB7" style="width: 12%; color: navy; font-weight: bold; text-align: right" title="Sales, net">16,267,162</td><td style="width: 1%; color: navy; font-weight: bold; text-align: left"> </td><td style="width: 8%"> </td> <td style="width: 1%; text-align: left">$</td><td id="xdx_98F_eus-gaap--Revenues_c20200601__20210531__srt--MajorCustomersAxis__custom--StructuralSeismicWindMember_zQ2rygqllXP4" style="width: 12%; text-align: right" title="Sales, net">10,137,468</td><td style="width: 1%; text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-left: 5.4pt">Aerospace / Defense</td><td style="color: navy; font-weight: bold"> </td> <td style="color: navy; font-weight: bold; text-align: left"> </td><td id="xdx_983_eus-gaap--Revenues_c20210601__20220531__srt--MajorCustomersAxis__custom--AerospaceDefenseMember_znAjIqOFaJic" style="color: navy; font-weight: bold; text-align: right" title="Sales, net">12,440,687</td><td style="color: navy; font-weight: bold; text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_988_eus-gaap--Revenues_c20200601__20210531__srt--MajorCustomersAxis__custom--AerospaceDefenseMember_zm9D72ElWvP1" style="text-align: right" title="Sales, net">10,183,399</td><td style="text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 1pt; padding-left: 5.4pt">Industrial</td><td style="color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: left"> </td><td id="xdx_986_eus-gaap--Revenues_c20210601__20220531__srt--MajorCustomersAxis__custom--IndustrialMember_z1oarrXe1FJ9" style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: right" title="Sales, net">2,158,733</td><td style="padding-bottom: 1pt; color: navy; font-weight: bold; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td id="xdx_98C_eus-gaap--Revenues_c20200601__20210531__srt--MajorCustomersAxis__custom--IndustrialMember_z6KRtnWWU8bh" style="border-bottom: Black 1pt solid; text-align: right" title="Sales, net">2,188,774</td><td style="padding-bottom: 1pt; text-align: left"> </td></tr> <tr id="xdx_401_eus-gaap--Revenues_z53fjL3SAIMi" style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-bottom: 1pt; padding-left: 5.4pt"><b style="display: none">Sales, net</b></td><td style="color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: right">30,866,582</td><td style="padding-bottom: 1pt; color: navy; font-weight: bold; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">22,509,641</td><td style="padding-bottom: 1pt; text-align: left"> </td></tr> </table> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"> </p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Sales to a single customer approximated <span id="xdx_907_ecustom--ScheduleOfRevenueByMajorCustomer1_c20210601__20220531_zhE2CN1YFEL6">15</span>% of net sales for 2022. Sales two customers approximated <span id="xdx_901_ecustom--ScheduleOfRevenueByMajorCustomers_c20200601__20210531_zOlsfr24I3d7">21</span>% (<span id="xdx_907_ecustom--ScheduleOfRevenueByMajorCustomer1_c20200601__20210531_zUasXgqctsr8">11</span>% and <span id="xdx_90C_ecustom--ScheduleOfRevenueByMajorCustomer2_c20200601__20210531_zm1y1cmDC7l6">10</span>%, respectively) of net sales for 2021.</p> <table cellpadding="0" cellspacing="0" id="xdx_882_ecustom--ScheduleOfRevenueByMajorCustomerTypesTextBlockTableTextBlock_z3FTDt3gQC48" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - Sales by major customer type (Details)"> <tr style="vertical-align: bottom"> <td style="font-size: 12pt; text-align: center"> </td><td style="color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td colspan="3" id="xdx_49B_20210601__20220531_zLAJDMtip24i" style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: center">2022</td><td style="padding-bottom: 1pt"> </td> <td colspan="3" id="xdx_494_20200601__20210531_z0a3goo2BMK" style="border-bottom: Black 1pt solid; text-align: center">2021</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 56%; padding-left: 5.4pt">Structural</td><td style="width: 8%; color: navy; font-weight: bold"> </td> <td style="width: 1%; color: navy; font-weight: bold; text-align: left">$</td><td id="xdx_98A_eus-gaap--Revenues_c20210601__20220531__srt--MajorCustomersAxis__custom--StructuralSeismicWindMember_zuhSsKYm6lB7" style="width: 12%; color: navy; font-weight: bold; text-align: right" title="Sales, net">16,267,162</td><td style="width: 1%; color: navy; font-weight: bold; text-align: left"> </td><td style="width: 8%"> </td> <td style="width: 1%; text-align: left">$</td><td id="xdx_98F_eus-gaap--Revenues_c20200601__20210531__srt--MajorCustomersAxis__custom--StructuralSeismicWindMember_zQ2rygqllXP4" style="width: 12%; text-align: right" title="Sales, net">10,137,468</td><td style="width: 1%; text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-left: 5.4pt">Aerospace / Defense</td><td style="color: navy; font-weight: bold"> </td> <td style="color: navy; font-weight: bold; text-align: left"> </td><td id="xdx_983_eus-gaap--Revenues_c20210601__20220531__srt--MajorCustomersAxis__custom--AerospaceDefenseMember_znAjIqOFaJic" style="color: navy; font-weight: bold; text-align: right" title="Sales, net">12,440,687</td><td style="color: navy; font-weight: bold; text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_988_eus-gaap--Revenues_c20200601__20210531__srt--MajorCustomersAxis__custom--AerospaceDefenseMember_zm9D72ElWvP1" style="text-align: right" title="Sales, net">10,183,399</td><td style="text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 1pt; padding-left: 5.4pt">Industrial</td><td style="color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: left"> </td><td id="xdx_986_eus-gaap--Revenues_c20210601__20220531__srt--MajorCustomersAxis__custom--IndustrialMember_z1oarrXe1FJ9" style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: right" title="Sales, net">2,158,733</td><td style="padding-bottom: 1pt; color: navy; font-weight: bold; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td id="xdx_98C_eus-gaap--Revenues_c20200601__20210531__srt--MajorCustomersAxis__custom--IndustrialMember_z6KRtnWWU8bh" style="border-bottom: Black 1pt solid; text-align: right" title="Sales, net">2,188,774</td><td style="padding-bottom: 1pt; text-align: left"> </td></tr> <tr id="xdx_401_eus-gaap--Revenues_z53fjL3SAIMi" style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-bottom: 1pt; padding-left: 5.4pt"><b style="display: none">Sales, net</b></td><td style="color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: right">30,866,582</td><td style="padding-bottom: 1pt; color: navy; font-weight: bold; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">22,509,641</td><td style="padding-bottom: 1pt; text-align: left"> </td></tr> </table> 16267162 10137468 12440687 10183399 2158733 2188774 30866582 22509641 15 21 11 10 <p id="xdx_800_eus-gaap--IncomeTaxDisclosureTextBlock_zOtW7ITd7iui" style="font: 10pt Times New Roman, Times, Serif; margin: 0; color: navy; text-align: justify"><b>10. Income Taxes:</b></p> <table cellpadding="0" cellspacing="0" id="xdx_887_eus-gaap--ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_zAKbziTnsIil" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - Income Taxes Table (Details)"> <tr style="vertical-align: bottom"> <td style="font-size: 12pt"> </td><td style="color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td colspan="3" id="xdx_49A_20210601__20220531_zqMJX3bosKdc" style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: center">2022</td><td style="padding-bottom: 1pt"> </td> <td colspan="3" id="xdx_493_20200601__20210531_zSiwfyrSLpQ3" style="border-bottom: Black 1pt solid; text-align: center">2021</td></tr> <tr id="xdx_40C_eus-gaap--IncomeTaxExpenseBenefitContinuingOperationsAbstract_iB_zlswXOn832og" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">Current tax provision (benefit):</td><td style="font-size: 12pt"> </td> <td style="font-size: 12pt; text-align: left"> </td><td style="font-size: 12pt; text-align: right"> </td><td style="font-size: 12pt; text-align: left"> </td><td style="font-size: 12pt"> </td> <td style="font-size: 12pt; text-align: left"> </td><td style="font-size: 12pt; text-align: right"> </td><td style="font-size: 12pt; text-align: left"> </td></tr> <tr id="xdx_404_eus-gaap--CurrentFederalTaxExpenseBenefit_maCITEBzk5Y_zJqfoNg2C0t5" style="vertical-align: bottom; background-color: White"> <td style="width: 56%; padding-left: 9pt">Federal</td><td style="width: 8%; color: navy; font-weight: bold"> </td> <td style="width: 1%; color: navy; font-weight: bold; text-align: left">$</td><td style="width: 12%; color: navy; font-weight: bold; text-align: right">200,100</td><td style="width: 1%; color: navy; font-weight: bold; text-align: left"> </td><td style="width: 8%; color: windowtext"> </td> <td style="width: 1%; color: windowtext; text-align: left">$</td><td style="width: 12%; color: windowtext; text-align: right">(361,000</td><td style="width: 1%; color: windowtext; text-align: left">)</td></tr> <tr id="xdx_400_eus-gaap--CurrentStateAndLocalTaxExpenseBenefit_d0_maCITEBzk5Y_zI3lGRQy6rI7" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 1pt; padding-left: 9pt">State</td><td style="color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: left"> </td><td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: right">1,400</td><td style="padding-bottom: 1pt; color: navy; font-weight: bold; text-align: left"> </td><td style="color: windowtext; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; color: windowtext; text-align: left"> </td><td style="border-bottom: Black 1pt solid; color: windowtext; text-align: right">—  </td><td style="padding-bottom: 1pt; color: windowtext; text-align: left"> </td></tr> <tr id="xdx_40E_eus-gaap--CurrentIncomeTaxExpenseBenefit_iT_mtCITEBzk5Y_maITEBz6JK_zc8Ll3ikavU3" style="vertical-align: bottom; background-color: White"> <td style="text-align: left"><b style="display: none">Total current tax provision</b></td><td style="color: navy; font-weight: bold"> </td> <td style="color: navy; font-weight: bold; text-align: left"> </td><td style="color: navy; font-weight: bold; text-align: right">201,500</td><td style="color: navy; font-weight: bold; text-align: left"> </td><td style="color: windowtext"> </td> <td style="color: windowtext; text-align: left"> </td><td style="color: windowtext; text-align: right">(361,000</td><td style="color: windowtext; text-align: left">)</td></tr> <tr id="xdx_404_eus-gaap--DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_iB_z26ZK1n3Llfc" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">Deferred tax provision (benefit):</td><td style="font-size: 12pt"> </td> <td style="font-size: 12pt; text-align: left"> </td><td style="font-size: 12pt; text-align: right"> </td><td style="font-size: 12pt; text-align: left"> </td><td style="font-size: 12pt"> </td> <td style="font-size: 12pt; text-align: left"> </td><td style="font-size: 12pt; text-align: right"> </td><td style="font-size: 12pt; text-align: left"> </td></tr> <tr id="xdx_40A_eus-gaap--DeferredFederalIncomeTaxExpenseBenefit_maDITEBzeUx_zc5R0yQVX7U" style="vertical-align: bottom; background-color: White"> <td style="padding-left: 9pt">Federal</td><td style="color: navy; font-weight: bold"> </td> <td style="color: navy; font-weight: bold; text-align: left"> </td><td style="color: navy; font-weight: bold; text-align: right">115,500</td><td style="color: navy; font-weight: bold; text-align: left"> </td><td style="color: windowtext"> </td> <td style="color: windowtext; text-align: left"> </td><td style="color: windowtext; text-align: right">(20,000</td><td style="color: windowtext; text-align: left">)</td></tr> <tr id="xdx_408_eus-gaap--DeferredStateAndLocalIncomeTaxExpenseBenefit_d0_maDITEBzeUx_zBRla0JMDhi2" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 1pt; padding-left: 9pt">State</td><td style="color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: left"> </td><td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: right">—  </td><td style="padding-bottom: 1pt; color: navy; font-weight: bold; text-align: left"> </td><td style="color: windowtext; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; color: windowtext; text-align: left"> </td><td style="border-bottom: Black 1pt solid; color: windowtext; text-align: right">—  </td><td style="padding-bottom: 1pt; color: windowtext; text-align: left"> </td></tr> <tr id="xdx_409_eus-gaap--IncomeTaxCreditsAndAdjustments_mtDITEBzeUx_maITEBz6JK_zclPsS37Lqi6" style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-bottom: 1pt"><b style="display: none">Total deferred tax provision</b></td><td style="color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: left"> </td><td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: right">115,500</td><td style="padding-bottom: 1pt; color: navy; font-weight: bold; text-align: left"> </td><td style="color: windowtext; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; color: windowtext; text-align: left"> </td><td style="border-bottom: Black 1pt solid; color: windowtext; text-align: right">(20,000</td><td style="padding-bottom: 1pt; color: windowtext; text-align: left">)</td></tr> <tr id="xdx_40E_eus-gaap--IncomeTaxExpenseBenefit_iT_mtITEBz6JK_zgVwzkM1NnH9" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-bottom: 1pt"><b style="display: none">Total tax provision</b></td><td style="color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: right">317,000</td><td style="padding-bottom: 1pt; color: navy; font-weight: bold; text-align: left"> </td><td style="color: windowtext; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; color: windowtext; text-align: left">$</td><td style="border-bottom: Black 1pt solid; color: windowtext; text-align: right">(381,000</td><td style="padding-bottom: 1pt; color: windowtext; text-align: left">)</td></tr> </table> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"> </p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"> </p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">A reconciliation of provision for income taxes at the statutory rate to income tax provision at the Company's effective rate is as follows:</p> <table cellpadding="0" cellspacing="0" id="xdx_886_eus-gaap--ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_zmb9CuteL8bd" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - Reconciliation of income tax statutory rate to effective rate (Details)"> <tr style="vertical-align: bottom"> <td style="font-size: 12pt"> </td><td style="color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td colspan="3" id="xdx_49A_20210601__20220531_zLDjoxyJwABd" style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: center">2022</td><td style="padding-bottom: 1pt"> </td> <td colspan="3" id="xdx_493_20200601__20210531_zfcO2Hw6aqbc" style="border-bottom: Black 1pt solid; text-align: center">2021</td></tr> <tr id="xdx_40F_eus-gaap--IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate_maITEBzDeG_zzKdn6yl8WFj" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 56%; text-align: left">Computed tax provision at the expected statutory rate</td><td style="width: 8%; color: navy; font-weight: bold"> </td> <td style="width: 1%; color: navy; font-weight: bold; text-align: left">$</td><td style="width: 12%; color: navy; font-weight: bold; text-align: right">536,800</td><td style="width: 1%; color: navy; font-weight: bold; text-align: left"> </td><td style="width: 8%"> </td> <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">143,200</td><td style="width: 1%; text-align: left"> </td></tr> <tr id="xdx_409_eus-gaap--IncomeTaxReconciliationStateAndLocalIncomeTaxes_d0_maITEBzDeG_zcEZMmofuVoe" style="vertical-align: bottom; background-color: White"> <td style="text-align: left">State income tax - net of Federal tax benefit</td><td style="color: navy; font-weight: bold"> </td> <td style="color: navy; font-weight: bold; text-align: left"> </td><td style="color: navy; font-weight: bold; text-align: right">1,100</td><td style="color: navy; font-weight: bold; text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">—  </td><td style="text-align: left"> </td></tr> <tr id="xdx_407_eus-gaap--EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_iB_zRJoNpBLvTZa" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">Tax effect of permanent differences:</td><td style="font-size: 12pt"> </td> <td style="font-size: 12pt; text-align: left"> </td><td style="font-size: 12pt; text-align: right"> </td><td style="font-size: 12pt; text-align: left"> </td><td style="font-size: 12pt"> </td> <td style="font-size: 12pt; text-align: left"> </td><td style="font-size: 12pt; text-align: right"> </td><td style="font-size: 12pt; text-align: left"> </td></tr> <tr id="xdx_40F_eus-gaap--IncomeTaxReconciliationTaxCreditsResearch_iN_di_msITEBzDeG_zXxFqLDgmHs2" style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-left: 9pt">Research tax credits</td><td style="color: navy; font-weight: bold"> </td> <td style="color: navy; font-weight: bold; text-align: left"> </td><td style="color: navy; font-weight: bold; text-align: right">(275,400</td><td style="color: navy; font-weight: bold; text-align: left">)</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">(218,000</td><td style="text-align: left">)</td></tr> <tr id="xdx_40A_eus-gaap--EffectiveIncomeTaxRateReconciliationFdiiAmount_iN_di_msITEBzDeG_zFhkUzcG3RO2" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 9pt">Foreign-derived intangible income deduction</td><td style="color: navy; font-weight: bold"> </td> <td style="color: navy; font-weight: bold; text-align: left"> </td><td style="color: navy; font-weight: bold; text-align: right">(12,200</td><td style="color: navy; font-weight: bold; text-align: left">)</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0601">—</span>  </td><td style="text-align: left"> </td></tr> <tr id="xdx_406_eus-gaap--IncomeTaxReconciliationNondeductibleExpense_d0_maITEBzDeG_zVLaV5sPVvna" style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-left: 9pt">PPP loan forgiveness</td><td style="color: navy; font-weight: bold"> </td> <td style="color: navy; font-weight: bold; text-align: left"> </td><td style="color: navy; font-weight: bold; text-align: right">—  </td><td style="color: navy; font-weight: bold; text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">(306,900</td><td style="text-align: left">)</td></tr> <tr id="xdx_40D_eus-gaap--IncomeTaxReconciliationOtherAdjustments_maITEBzDeG_zZaa2J8lwy2h" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 9pt">Other permanent differences</td><td style="color: navy; font-weight: bold"> </td> <td style="color: navy; font-weight: bold; text-align: left"> </td><td style="color: navy; font-weight: bold; text-align: right">3,100</td><td style="color: navy; font-weight: bold; text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">41,500</td><td style="text-align: left"> </td></tr> <tr id="xdx_406_eus-gaap--IncomeTaxReconciliationNondeductibleExpenseOther_maITEBzDeG_zI5UV7NKKTYa" style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt">Other</td><td style="color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: left"> </td><td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: right">63,600</td><td style="padding-bottom: 1pt; color: navy; font-weight: bold; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td style="border-bottom: Black 1pt solid; text-align: right">(40,800</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr> <tr id="xdx_406_eus-gaap--IncomeTaxExpenseBenefit_iT_mtITEBzDeG_z0Bk7dmyxDjg" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-bottom: 1pt"><b>Total tax provision</b></td><td style="color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: right">317,000</td><td style="padding-bottom: 1pt; color: navy; font-weight: bold; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">(381,000</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr> <tr id="xdx_409_eus-gaap--EffectiveIncomeTaxRateContinuingOperations_zeQ7wXKth1if" style="vertical-align: bottom; background-color: White"> <td style="text-align: left">Effective income tax rate</td><td style="color: navy; font-weight: bold"> </td> <td style="color: navy; font-weight: bold; text-align: left"> </td><td style="color: navy; font-weight: bold; text-align: right">12.4</td><td style="color: navy; font-weight: bold; text-align: left">%</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">(55.9</td><td style="text-align: left">%)</td></tr> </table> <p style="font: 12pt Times New Roman, Times, Serif; margin: 0"><span style="font-size: 10pt"><br/> </span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"> </p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Significant components of the Company's deferred tax assets and liabilities consist of the following:</p> <p style="font: 11pt Times New Roman, Times, Serif; margin: 0; text-align: justify"> </p> <table cellpadding="0" cellspacing="0" id="xdx_88B_eus-gaap--ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_zBJSj4eEeY1g" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - Components of Deferred Tax Assets and Liabilities (Details)"> <tr style="vertical-align: bottom"> <td style="font-size: 12pt"> </td><td style="color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td colspan="3" id="xdx_49E_20220531_zYmn2WZuIXIh" style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: center">2022</td><td style="padding-bottom: 1pt"> </td> <td colspan="3" id="xdx_492_20210531_zM6EVsvUMeQ2" style="border-bottom: Black 1pt solid; text-align: center">2021</td></tr> <tr id="xdx_40F_eus-gaap--DeferredTaxAssetsGrossAbstract_iB_zuHFOVXuwbJc" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">Deferred tax assets:</td><td style="font-size: 12pt"> </td> <td style="font-size: 12pt; text-align: left"> </td><td style="font-size: 12pt; text-align: right"> </td><td style="font-size: 12pt; text-align: left"> </td><td style="font-size: 12pt"> </td> <td style="font-size: 12pt; text-align: left"> </td><td style="font-size: 12pt; text-align: right"> </td><td style="font-size: 12pt; text-align: left"> </td></tr> <tr id="xdx_401_eus-gaap--DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts_iI_maDTAGz5Bw_zDc5edY1ALIh" style="vertical-align: bottom; background-color: White"> <td style="width: 56%; text-align: left; padding-left: 4.5pt">Allowance for doubtful receivables</td><td style="width: 8%; color: navy; font-weight: bold"> </td> <td style="width: 1%; color: navy; font-weight: bold; text-align: left">$</td><td style="width: 12%; color: navy; font-weight: bold; text-align: right">3,400</td><td style="width: 1%; color: navy; font-weight: bold; text-align: left"> </td><td style="width: 8%"> </td> <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">1,400</td><td style="width: 1%; text-align: left"> </td></tr> <tr id="xdx_40D_eus-gaap--DeferredTaxAssetsInventory_iI_maDTAGz5Bw_zoYdWSVQEVAi" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 4.5pt">Tax inventory adjustment</td><td style="color: navy; font-weight: bold"> </td> <td style="color: navy; font-weight: bold; text-align: left"> </td><td style="color: navy; font-weight: bold; text-align: right">92,200</td><td style="color: navy; font-weight: bold; text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">22,900</td><td style="text-align: left"> </td></tr> <tr id="xdx_402_eus-gaap--DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsLossReserves_iI_maDTAGz5Bw_zaQDfwurEv0h" style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-left: 4.5pt">Allowance for obsolete inventory</td><td style="color: navy; font-weight: bold"> </td> <td style="color: navy; font-weight: bold; text-align: left"> </td><td style="color: navy; font-weight: bold; text-align: right">278,800</td><td style="color: navy; font-weight: bold; text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">440,800</td><td style="text-align: left"> </td></tr> <tr id="xdx_401_eus-gaap--DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsCompensatedAbsences_iI_maDTAGz5Bw_zwYF5popELDc" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 4.5pt">Accrued vacation</td><td style="color: navy; font-weight: bold"> </td> <td style="color: navy; font-weight: bold; text-align: left"> </td><td style="color: navy; font-weight: bold; text-align: right">84,300</td><td style="color: navy; font-weight: bold; text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">81,400</td><td style="text-align: left"> </td></tr> <tr id="xdx_400_eus-gaap--DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsOther_iI_maDTAGz5Bw_zn8oq5r4umV6" style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-left: 4.5pt">Accrued commissions</td><td style="color: navy; font-weight: bold"> </td> <td style="color: navy; font-weight: bold; text-align: left"> </td><td style="color: navy; font-weight: bold; text-align: right">7,000</td><td style="color: navy; font-weight: bold; text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">5,900</td><td style="text-align: left"> </td></tr> <tr id="xdx_40E_eus-gaap--DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves_iI_maDTAGz5Bw_zvhHCElPi8Dh" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 4.5pt">Warranty reserve</td><td style="color: navy; font-weight: bold"> </td> <td style="color: navy; font-weight: bold; text-align: left"> </td><td style="color: navy; font-weight: bold; text-align: right">48,800</td><td style="color: navy; font-weight: bold; text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">23,900</td><td style="text-align: left"> </td></tr> <tr id="xdx_402_eus-gaap--DeferredTaxAssetsTaxCreditCarryforwardsResearch_iI_d0_maDTAGz5Bw_zRIg02Dm9yR6" style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-left: 4.5pt">R&amp;D tax credit</td><td style="color: navy; font-weight: bold"> </td> <td style="color: navy; font-weight: bold; text-align: left"> </td><td style="color: navy; font-weight: bold; text-align: right">84,000</td><td style="color: navy; font-weight: bold; text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">—  </td><td style="text-align: left"> </td></tr> <tr id="xdx_40B_eus-gaap--DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost_iI_maDTAGz5Bw_zSn421Nv9Xc6" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-bottom: 1pt; padding-left: 4.5pt">Stock options issued for services</td><td style="color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: left"> </td><td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: right">277,600</td><td style="padding-bottom: 1pt; color: navy; font-weight: bold; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td style="border-bottom: Black 1pt solid; text-align: right">238,500</td><td style="padding-bottom: 1pt; text-align: left"> </td></tr> <tr id="xdx_402_eus-gaap--DeferredTaxAssetsGross_iTI_mtDTAGz5Bw_maDTANzE3m_z2wruCIdrLB6" style="vertical-align: bottom; background-color: White"> <td style="text-align: left"><b>Total deferred tax assets</b></td><td style="color: navy; font-weight: bold"> </td> <td style="color: navy; font-weight: bold; text-align: left"> </td><td style="color: navy; font-weight: bold; text-align: right">876,100</td><td style="color: navy; font-weight: bold; text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">814,800</td><td style="text-align: left"> </td></tr> <tr id="xdx_408_eus-gaap--DeferredTaxLiabilitiesAbstract_iB_z7QsOiKXP6Jg" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">Deferred tax liabilities:</td><td style="font-size: 12pt"> </td> <td style="font-size: 12pt; text-align: left"> </td><td style="font-size: 12pt; text-align: right"> </td><td style="font-size: 12pt; text-align: left"> </td><td style="font-size: 12pt"> </td> <td style="font-size: 12pt; text-align: left"> </td><td style="font-size: 12pt; text-align: right"> </td><td style="font-size: 12pt; text-align: left"> </td></tr> <tr id="xdx_40E_eus-gaap--DeferredTaxLiabilitiesPropertyPlantAndEquipment_iNI_di_msDTANzE3m_zWzbiCUA6JEk" style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-bottom: 1pt; padding-left: 4.5pt">Excess tax depreciation</td><td style="color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: left"> </td><td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: right">(801,485</td><td style="padding-bottom: 1pt; color: navy; font-weight: bold; text-align: left">)</td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td style="border-bottom: Black 1pt solid; text-align: right">(624,685</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr> <tr id="xdx_404_eus-gaap--DeferredTaxAssetsNet_iTI_mtDTANzE3m_z4gcdEfbtX26" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-bottom: 1pt; padding-left: 27pt">Net deferred tax assets</td><td style="color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: right">74,615</td><td style="padding-bottom: 1pt; color: navy; font-weight: bold; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">190,115</td><td style="padding-bottom: 1pt; text-align: left"> </td></tr> </table> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"> </p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"> </p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Realization of the deferred tax assets is dependent on generating sufficient taxable income at the time temporary differences become deductible. The Company provides a valuation allowance to the extent that deferred tax assets may not be realized. A valuation allowance has not been recorded against the deferred tax assets since management believes it is more likely than not that the deferred tax assets are recoverable. The Company considers future taxable income and potential tax planning strategies in assessing the need for a potential valuation allowance. The amount of the deferred tax assets considered realizable however, could be reduced in the near term if estimates of future taxable income are reduced. The Company will need to generate approximately $4.2 million in taxable income in future years in order to realize the deferred tax assets recorded as of May 31, 2022 of $<span id="xdx_904_eus-gaap--DeferredTaxAssetsGross_iI_c20220531_zEbXa3kbCbN9">876,100</span>.</p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0"> </p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company and its subsidiary file consolidated Federal and State income tax returns. As of May 31, 2022, the Company had State investment tax credit carryforwards of approximately $<span id="xdx_90A_eus-gaap--DeferredTaxAssetsTaxCreditCarryforwards_iI_c20220531_z40cNQFpvUVi">389,000</span> expiring through <span id="xdx_906_eus-gaap--TaxCreditCarryforwardExpirationDate_dd_c20220601__20270531_zm0qgop4GnAd">May 31, 2027</span>.</p> <table cellpadding="0" cellspacing="0" id="xdx_887_eus-gaap--ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_zAKbziTnsIil" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - Income Taxes Table (Details)"> <tr style="vertical-align: bottom"> <td style="font-size: 12pt"> </td><td style="color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td colspan="3" id="xdx_49A_20210601__20220531_zqMJX3bosKdc" style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: center">2022</td><td style="padding-bottom: 1pt"> </td> <td colspan="3" id="xdx_493_20200601__20210531_zSiwfyrSLpQ3" style="border-bottom: Black 1pt solid; text-align: center">2021</td></tr> <tr id="xdx_40C_eus-gaap--IncomeTaxExpenseBenefitContinuingOperationsAbstract_iB_zlswXOn832og" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">Current tax provision (benefit):</td><td style="font-size: 12pt"> </td> <td style="font-size: 12pt; text-align: left"> </td><td style="font-size: 12pt; text-align: right"> </td><td style="font-size: 12pt; text-align: left"> </td><td style="font-size: 12pt"> </td> <td style="font-size: 12pt; text-align: left"> </td><td style="font-size: 12pt; text-align: right"> </td><td style="font-size: 12pt; text-align: left"> </td></tr> <tr id="xdx_404_eus-gaap--CurrentFederalTaxExpenseBenefit_maCITEBzk5Y_zJqfoNg2C0t5" style="vertical-align: bottom; background-color: White"> <td style="width: 56%; padding-left: 9pt">Federal</td><td style="width: 8%; color: navy; font-weight: bold"> </td> <td style="width: 1%; color: navy; font-weight: bold; text-align: left">$</td><td style="width: 12%; color: navy; font-weight: bold; text-align: right">200,100</td><td style="width: 1%; color: navy; font-weight: bold; text-align: left"> </td><td style="width: 8%; color: windowtext"> </td> <td style="width: 1%; color: windowtext; text-align: left">$</td><td style="width: 12%; color: windowtext; text-align: right">(361,000</td><td style="width: 1%; color: windowtext; text-align: left">)</td></tr> <tr id="xdx_400_eus-gaap--CurrentStateAndLocalTaxExpenseBenefit_d0_maCITEBzk5Y_zI3lGRQy6rI7" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 1pt; padding-left: 9pt">State</td><td style="color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: left"> </td><td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: right">1,400</td><td style="padding-bottom: 1pt; color: navy; font-weight: bold; text-align: left"> </td><td style="color: windowtext; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; color: windowtext; text-align: left"> </td><td style="border-bottom: Black 1pt solid; color: windowtext; text-align: right">—  </td><td style="padding-bottom: 1pt; color: windowtext; text-align: left"> </td></tr> <tr id="xdx_40E_eus-gaap--CurrentIncomeTaxExpenseBenefit_iT_mtCITEBzk5Y_maITEBz6JK_zc8Ll3ikavU3" style="vertical-align: bottom; background-color: White"> <td style="text-align: left"><b style="display: none">Total current tax provision</b></td><td style="color: navy; font-weight: bold"> </td> <td style="color: navy; font-weight: bold; text-align: left"> </td><td style="color: navy; font-weight: bold; text-align: right">201,500</td><td style="color: navy; font-weight: bold; text-align: left"> </td><td style="color: windowtext"> </td> <td style="color: windowtext; text-align: left"> </td><td style="color: windowtext; text-align: right">(361,000</td><td style="color: windowtext; text-align: left">)</td></tr> <tr id="xdx_404_eus-gaap--DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_iB_z26ZK1n3Llfc" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">Deferred tax provision (benefit):</td><td style="font-size: 12pt"> </td> <td style="font-size: 12pt; text-align: left"> </td><td style="font-size: 12pt; text-align: right"> </td><td style="font-size: 12pt; text-align: left"> </td><td style="font-size: 12pt"> </td> <td style="font-size: 12pt; text-align: left"> </td><td style="font-size: 12pt; text-align: right"> </td><td style="font-size: 12pt; text-align: left"> </td></tr> <tr id="xdx_40A_eus-gaap--DeferredFederalIncomeTaxExpenseBenefit_maDITEBzeUx_zc5R0yQVX7U" style="vertical-align: bottom; background-color: White"> <td style="padding-left: 9pt">Federal</td><td style="color: navy; font-weight: bold"> </td> <td style="color: navy; font-weight: bold; text-align: left"> </td><td style="color: navy; font-weight: bold; text-align: right">115,500</td><td style="color: navy; font-weight: bold; text-align: left"> </td><td style="color: windowtext"> </td> <td style="color: windowtext; text-align: left"> </td><td style="color: windowtext; text-align: right">(20,000</td><td style="color: windowtext; text-align: left">)</td></tr> <tr id="xdx_408_eus-gaap--DeferredStateAndLocalIncomeTaxExpenseBenefit_d0_maDITEBzeUx_zBRla0JMDhi2" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 1pt; padding-left: 9pt">State</td><td style="color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: left"> </td><td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: right">—  </td><td style="padding-bottom: 1pt; color: navy; font-weight: bold; text-align: left"> </td><td style="color: windowtext; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; color: windowtext; text-align: left"> </td><td style="border-bottom: Black 1pt solid; color: windowtext; text-align: right">—  </td><td style="padding-bottom: 1pt; color: windowtext; text-align: left"> </td></tr> <tr id="xdx_409_eus-gaap--IncomeTaxCreditsAndAdjustments_mtDITEBzeUx_maITEBz6JK_zclPsS37Lqi6" style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-bottom: 1pt"><b style="display: none">Total deferred tax provision</b></td><td style="color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: left"> </td><td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: right">115,500</td><td style="padding-bottom: 1pt; color: navy; font-weight: bold; text-align: left"> </td><td style="color: windowtext; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; color: windowtext; text-align: left"> </td><td style="border-bottom: Black 1pt solid; color: windowtext; text-align: right">(20,000</td><td style="padding-bottom: 1pt; color: windowtext; text-align: left">)</td></tr> <tr id="xdx_40E_eus-gaap--IncomeTaxExpenseBenefit_iT_mtITEBz6JK_zgVwzkM1NnH9" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-bottom: 1pt"><b style="display: none">Total tax provision</b></td><td style="color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: right">317,000</td><td style="padding-bottom: 1pt; color: navy; font-weight: bold; text-align: left"> </td><td style="color: windowtext; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; color: windowtext; text-align: left">$</td><td style="border-bottom: Black 1pt solid; color: windowtext; text-align: right">(381,000</td><td style="padding-bottom: 1pt; color: windowtext; text-align: left">)</td></tr> </table> 200100 -361000 1400 0 201500 -361000 115500 -20000 0 0 115500 -20000 317000 -381000 <table cellpadding="0" cellspacing="0" id="xdx_886_eus-gaap--ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_zmb9CuteL8bd" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - Reconciliation of income tax statutory rate to effective rate (Details)"> <tr style="vertical-align: bottom"> <td style="font-size: 12pt"> </td><td style="color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td colspan="3" id="xdx_49A_20210601__20220531_zLDjoxyJwABd" style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: center">2022</td><td style="padding-bottom: 1pt"> </td> <td colspan="3" id="xdx_493_20200601__20210531_zfcO2Hw6aqbc" style="border-bottom: Black 1pt solid; text-align: center">2021</td></tr> <tr id="xdx_40F_eus-gaap--IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate_maITEBzDeG_zzKdn6yl8WFj" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 56%; text-align: left">Computed tax provision at the expected statutory rate</td><td style="width: 8%; color: navy; font-weight: bold"> </td> <td style="width: 1%; color: navy; font-weight: bold; text-align: left">$</td><td style="width: 12%; color: navy; font-weight: bold; text-align: right">536,800</td><td style="width: 1%; color: navy; font-weight: bold; text-align: left"> </td><td style="width: 8%"> </td> <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">143,200</td><td style="width: 1%; text-align: left"> </td></tr> <tr id="xdx_409_eus-gaap--IncomeTaxReconciliationStateAndLocalIncomeTaxes_d0_maITEBzDeG_zcEZMmofuVoe" style="vertical-align: bottom; background-color: White"> <td style="text-align: left">State income tax - net of Federal tax benefit</td><td style="color: navy; font-weight: bold"> </td> <td style="color: navy; font-weight: bold; text-align: left"> </td><td style="color: navy; font-weight: bold; text-align: right">1,100</td><td style="color: navy; font-weight: bold; text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">—  </td><td style="text-align: left"> </td></tr> <tr id="xdx_407_eus-gaap--EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_iB_zRJoNpBLvTZa" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">Tax effect of permanent differences:</td><td style="font-size: 12pt"> </td> <td style="font-size: 12pt; text-align: left"> </td><td style="font-size: 12pt; text-align: right"> </td><td style="font-size: 12pt; text-align: left"> </td><td style="font-size: 12pt"> </td> <td style="font-size: 12pt; text-align: left"> </td><td style="font-size: 12pt; text-align: right"> </td><td style="font-size: 12pt; text-align: left"> </td></tr> <tr id="xdx_40F_eus-gaap--IncomeTaxReconciliationTaxCreditsResearch_iN_di_msITEBzDeG_zXxFqLDgmHs2" style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-left: 9pt">Research tax credits</td><td style="color: navy; font-weight: bold"> </td> <td style="color: navy; font-weight: bold; text-align: left"> </td><td style="color: navy; font-weight: bold; text-align: right">(275,400</td><td style="color: navy; font-weight: bold; text-align: left">)</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">(218,000</td><td style="text-align: left">)</td></tr> <tr id="xdx_40A_eus-gaap--EffectiveIncomeTaxRateReconciliationFdiiAmount_iN_di_msITEBzDeG_zFhkUzcG3RO2" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 9pt">Foreign-derived intangible income deduction</td><td style="color: navy; font-weight: bold"> </td> <td style="color: navy; font-weight: bold; text-align: left"> </td><td style="color: navy; font-weight: bold; text-align: right">(12,200</td><td style="color: navy; font-weight: bold; text-align: left">)</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0601">—</span>  </td><td style="text-align: left"> </td></tr> <tr id="xdx_406_eus-gaap--IncomeTaxReconciliationNondeductibleExpense_d0_maITEBzDeG_zVLaV5sPVvna" style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-left: 9pt">PPP loan forgiveness</td><td style="color: navy; font-weight: bold"> </td> <td style="color: navy; font-weight: bold; text-align: left"> </td><td style="color: navy; font-weight: bold; text-align: right">—  </td><td style="color: navy; font-weight: bold; text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">(306,900</td><td style="text-align: left">)</td></tr> <tr id="xdx_40D_eus-gaap--IncomeTaxReconciliationOtherAdjustments_maITEBzDeG_zZaa2J8lwy2h" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 9pt">Other permanent differences</td><td style="color: navy; font-weight: bold"> </td> <td style="color: navy; font-weight: bold; text-align: left"> </td><td style="color: navy; font-weight: bold; text-align: right">3,100</td><td style="color: navy; font-weight: bold; text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">41,500</td><td style="text-align: left"> </td></tr> <tr id="xdx_406_eus-gaap--IncomeTaxReconciliationNondeductibleExpenseOther_maITEBzDeG_zI5UV7NKKTYa" style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt">Other</td><td style="color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: left"> </td><td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: right">63,600</td><td style="padding-bottom: 1pt; color: navy; font-weight: bold; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td style="border-bottom: Black 1pt solid; text-align: right">(40,800</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr> <tr id="xdx_406_eus-gaap--IncomeTaxExpenseBenefit_iT_mtITEBzDeG_z0Bk7dmyxDjg" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-bottom: 1pt"><b>Total tax provision</b></td><td style="color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: right">317,000</td><td style="padding-bottom: 1pt; color: navy; font-weight: bold; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">(381,000</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr> <tr id="xdx_409_eus-gaap--EffectiveIncomeTaxRateContinuingOperations_zeQ7wXKth1if" style="vertical-align: bottom; background-color: White"> <td style="text-align: left">Effective income tax rate</td><td style="color: navy; font-weight: bold"> </td> <td style="color: navy; font-weight: bold; text-align: left"> </td><td style="color: navy; font-weight: bold; text-align: right">12.4</td><td style="color: navy; font-weight: bold; text-align: left">%</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">(55.9</td><td style="text-align: left">%)</td></tr> </table> 536800 143200 1100 0 275400 218000 12200 0 -306900 3100 41500 63600 -40800 317000 -381000 0.124 -0.559 <table cellpadding="0" cellspacing="0" id="xdx_88B_eus-gaap--ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_zBJSj4eEeY1g" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - Components of Deferred Tax Assets and Liabilities (Details)"> <tr style="vertical-align: bottom"> <td style="font-size: 12pt"> </td><td style="color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td colspan="3" id="xdx_49E_20220531_zYmn2WZuIXIh" style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: center">2022</td><td style="padding-bottom: 1pt"> </td> <td colspan="3" id="xdx_492_20210531_zM6EVsvUMeQ2" style="border-bottom: Black 1pt solid; text-align: center">2021</td></tr> <tr id="xdx_40F_eus-gaap--DeferredTaxAssetsGrossAbstract_iB_zuHFOVXuwbJc" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">Deferred tax assets:</td><td style="font-size: 12pt"> </td> <td style="font-size: 12pt; text-align: left"> </td><td style="font-size: 12pt; text-align: right"> </td><td style="font-size: 12pt; text-align: left"> </td><td style="font-size: 12pt"> </td> <td style="font-size: 12pt; text-align: left"> </td><td style="font-size: 12pt; text-align: right"> </td><td style="font-size: 12pt; text-align: left"> </td></tr> <tr id="xdx_401_eus-gaap--DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts_iI_maDTAGz5Bw_zDc5edY1ALIh" style="vertical-align: bottom; background-color: White"> <td style="width: 56%; text-align: left; padding-left: 4.5pt">Allowance for doubtful receivables</td><td style="width: 8%; color: navy; font-weight: bold"> </td> <td style="width: 1%; color: navy; font-weight: bold; text-align: left">$</td><td style="width: 12%; color: navy; font-weight: bold; text-align: right">3,400</td><td style="width: 1%; color: navy; font-weight: bold; text-align: left"> </td><td style="width: 8%"> </td> <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">1,400</td><td style="width: 1%; text-align: left"> </td></tr> <tr id="xdx_40D_eus-gaap--DeferredTaxAssetsInventory_iI_maDTAGz5Bw_zoYdWSVQEVAi" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 4.5pt">Tax inventory adjustment</td><td style="color: navy; font-weight: bold"> </td> <td style="color: navy; font-weight: bold; text-align: left"> </td><td style="color: navy; font-weight: bold; text-align: right">92,200</td><td style="color: navy; font-weight: bold; text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">22,900</td><td style="text-align: left"> </td></tr> <tr id="xdx_402_eus-gaap--DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsLossReserves_iI_maDTAGz5Bw_zaQDfwurEv0h" style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-left: 4.5pt">Allowance for obsolete inventory</td><td style="color: navy; font-weight: bold"> </td> <td style="color: navy; font-weight: bold; text-align: left"> </td><td style="color: navy; font-weight: bold; text-align: right">278,800</td><td style="color: navy; font-weight: bold; text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">440,800</td><td style="text-align: left"> </td></tr> <tr id="xdx_401_eus-gaap--DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsCompensatedAbsences_iI_maDTAGz5Bw_zwYF5popELDc" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 4.5pt">Accrued vacation</td><td style="color: navy; font-weight: bold"> </td> <td style="color: navy; font-weight: bold; text-align: left"> </td><td style="color: navy; font-weight: bold; text-align: right">84,300</td><td style="color: navy; font-weight: bold; text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">81,400</td><td style="text-align: left"> </td></tr> <tr id="xdx_400_eus-gaap--DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsOther_iI_maDTAGz5Bw_zn8oq5r4umV6" style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-left: 4.5pt">Accrued commissions</td><td style="color: navy; font-weight: bold"> </td> <td style="color: navy; font-weight: bold; text-align: left"> </td><td style="color: navy; font-weight: bold; text-align: right">7,000</td><td style="color: navy; font-weight: bold; text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">5,900</td><td style="text-align: left"> </td></tr> <tr id="xdx_40E_eus-gaap--DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves_iI_maDTAGz5Bw_zvhHCElPi8Dh" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 4.5pt">Warranty reserve</td><td style="color: navy; font-weight: bold"> </td> <td style="color: navy; font-weight: bold; text-align: left"> </td><td style="color: navy; font-weight: bold; text-align: right">48,800</td><td style="color: navy; font-weight: bold; text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">23,900</td><td style="text-align: left"> </td></tr> <tr id="xdx_402_eus-gaap--DeferredTaxAssetsTaxCreditCarryforwardsResearch_iI_d0_maDTAGz5Bw_zRIg02Dm9yR6" style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-left: 4.5pt">R&amp;D tax credit</td><td style="color: navy; font-weight: bold"> </td> <td style="color: navy; font-weight: bold; text-align: left"> </td><td style="color: navy; font-weight: bold; text-align: right">84,000</td><td style="color: navy; font-weight: bold; text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">—  </td><td style="text-align: left"> </td></tr> <tr id="xdx_40B_eus-gaap--DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost_iI_maDTAGz5Bw_zSn421Nv9Xc6" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-bottom: 1pt; padding-left: 4.5pt">Stock options issued for services</td><td style="color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: left"> </td><td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: right">277,600</td><td style="padding-bottom: 1pt; color: navy; font-weight: bold; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td style="border-bottom: Black 1pt solid; text-align: right">238,500</td><td style="padding-bottom: 1pt; text-align: left"> </td></tr> <tr id="xdx_402_eus-gaap--DeferredTaxAssetsGross_iTI_mtDTAGz5Bw_maDTANzE3m_z2wruCIdrLB6" style="vertical-align: bottom; background-color: White"> <td style="text-align: left"><b>Total deferred tax assets</b></td><td style="color: navy; font-weight: bold"> </td> <td style="color: navy; font-weight: bold; text-align: left"> </td><td style="color: navy; font-weight: bold; text-align: right">876,100</td><td style="color: navy; font-weight: bold; text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">814,800</td><td style="text-align: left"> </td></tr> <tr id="xdx_408_eus-gaap--DeferredTaxLiabilitiesAbstract_iB_z7QsOiKXP6Jg" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">Deferred tax liabilities:</td><td style="font-size: 12pt"> </td> <td style="font-size: 12pt; text-align: left"> </td><td style="font-size: 12pt; text-align: right"> </td><td style="font-size: 12pt; text-align: left"> </td><td style="font-size: 12pt"> </td> <td style="font-size: 12pt; text-align: left"> </td><td style="font-size: 12pt; text-align: right"> </td><td style="font-size: 12pt; text-align: left"> </td></tr> <tr id="xdx_40E_eus-gaap--DeferredTaxLiabilitiesPropertyPlantAndEquipment_iNI_di_msDTANzE3m_zWzbiCUA6JEk" style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-bottom: 1pt; padding-left: 4.5pt">Excess tax depreciation</td><td style="color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: left"> </td><td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: right">(801,485</td><td style="padding-bottom: 1pt; color: navy; font-weight: bold; text-align: left">)</td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td style="border-bottom: Black 1pt solid; text-align: right">(624,685</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr> <tr id="xdx_404_eus-gaap--DeferredTaxAssetsNet_iTI_mtDTANzE3m_z4gcdEfbtX26" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-bottom: 1pt; padding-left: 27pt">Net deferred tax assets</td><td style="color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: right">74,615</td><td style="padding-bottom: 1pt; color: navy; font-weight: bold; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">190,115</td><td style="padding-bottom: 1pt; text-align: left"> </td></tr> </table> 3400 1400 92200 22900 278800 440800 84300 81400 7000 5900 48800 23900 84000 0 277600 238500 876100 814800 801485 624685 74615 190115 876100 389000 2027-05-31 <p id="xdx_809_eus-gaap--EarningsPerShareTextBlock_zkE3TA3WWPkb" style="font: 10pt Times New Roman, Times, Serif; margin: 0; color: navy"><b>11. Earnings Per Common Share: </b></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"> </p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Basic earnings per common share is computed by dividing income available to common stockholders by the weighted-average common shares outstanding for the period. Diluted earnings per common share reflects the weighted-average common shares outstanding and dilutive potential common shares, such as stock options.</p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"> </p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">A reconciliation of weighted-average common shares outstanding to weighted-average common shares outstanding assuming dilution is as follows:</p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"> </p> <table cellpadding="0" cellspacing="0" id="xdx_880_eus-gaap--ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_zb0wJc8xRLo3" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - Earnings per common share table (Details)"> <tr style="vertical-align: bottom"> <td style="font-size: 12pt"> </td><td style="color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td colspan="3" id="xdx_493_20210601__20220531_zrLd9vW956y6" style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: center">2022</td><td style="padding-bottom: 1pt"> </td> <td colspan="3" id="xdx_497_20200601__20210531_zYtUxcDsjPt1" style="border-bottom: Black 1pt solid; text-align: center">2021</td></tr> <tr id="xdx_409_eus-gaap--WeightedAverageNumberOfSharesOutstandingBasic_zxWBuPWBSnGh" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 56%; padding-left: 6.2pt">Average common shares outstanding</td><td style="width: 8%; color: navy; font-weight: bold"> </td> <td style="width: 1%; color: navy; font-weight: bold; text-align: left"> </td><td style="width: 12%; color: navy; font-weight: bold; text-align: right">3,497,345</td><td style="width: 1%; color: navy; font-weight: bold; text-align: left"> </td><td style="width: 8%"> </td> <td style="width: 1%; text-align: left"> </td><td style="width: 12%; text-align: right">3,490,213</td><td style="width: 1%; text-align: left"> </td></tr> <tr id="xdx_401_eus-gaap--IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_zHSSHwsgjEO4" style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-bottom: 1pt; padding-left: 6.2pt">Common shares issuable under stock option plans</td><td style="color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: left"> </td><td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: right">2,208</td><td style="padding-bottom: 1pt; color: navy; font-weight: bold; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td style="border-bottom: Black 1pt solid; text-align: right">1,674</td><td style="padding-bottom: 1pt; text-align: left"> </td></tr> <tr id="xdx_403_eus-gaap--WeightedAverageNumberOfDilutedSharesOutstanding_zkAb7tOpLFS4" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-bottom: 1pt; padding-left: 6.2pt">Average common shares outstanding assuming dilution</td><td style="color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: left"> </td><td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: right">3,499,553</td><td style="padding-bottom: 1pt; color: navy; font-weight: bold; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td style="border-bottom: Black 1pt solid; text-align: right">3,491,887</td><td style="padding-bottom: 1pt; text-align: left"> </td></tr> </table> <table cellpadding="0" cellspacing="0" id="xdx_880_eus-gaap--ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_zb0wJc8xRLo3" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - Earnings per common share table (Details)"> <tr style="vertical-align: bottom"> <td style="font-size: 12pt"> </td><td style="color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td colspan="3" id="xdx_493_20210601__20220531_zrLd9vW956y6" style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: center">2022</td><td style="padding-bottom: 1pt"> </td> <td colspan="3" id="xdx_497_20200601__20210531_zYtUxcDsjPt1" style="border-bottom: Black 1pt solid; text-align: center">2021</td></tr> <tr id="xdx_409_eus-gaap--WeightedAverageNumberOfSharesOutstandingBasic_zxWBuPWBSnGh" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 56%; padding-left: 6.2pt">Average common shares outstanding</td><td style="width: 8%; color: navy; font-weight: bold"> </td> <td style="width: 1%; color: navy; font-weight: bold; text-align: left"> </td><td style="width: 12%; color: navy; font-weight: bold; text-align: right">3,497,345</td><td style="width: 1%; color: navy; font-weight: bold; text-align: left"> </td><td style="width: 8%"> </td> <td style="width: 1%; text-align: left"> </td><td style="width: 12%; text-align: right">3,490,213</td><td style="width: 1%; text-align: left"> </td></tr> <tr id="xdx_401_eus-gaap--IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_zHSSHwsgjEO4" style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-bottom: 1pt; padding-left: 6.2pt">Common shares issuable under stock option plans</td><td style="color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: left"> </td><td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: right">2,208</td><td style="padding-bottom: 1pt; color: navy; font-weight: bold; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td style="border-bottom: Black 1pt solid; text-align: right">1,674</td><td style="padding-bottom: 1pt; text-align: left"> </td></tr> <tr id="xdx_403_eus-gaap--WeightedAverageNumberOfDilutedSharesOutstanding_zkAb7tOpLFS4" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-bottom: 1pt; padding-left: 6.2pt">Average common shares outstanding assuming dilution</td><td style="color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: left"> </td><td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: right">3,499,553</td><td style="padding-bottom: 1pt; color: navy; font-weight: bold; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td style="border-bottom: Black 1pt solid; text-align: right">3,491,887</td><td style="padding-bottom: 1pt; text-align: left"> </td></tr> </table> 3497345 3490213 2208 1674 3499553 3491887 <p id="xdx_809_eus-gaap--RelatedPartyTransactionsDisclosureTextBlock_z27mCrEp62tf" style="font: 10pt Times New Roman, Times, Serif; margin: 0; color: navy; text-align: justify"><b>12. Related Party Transactions:</b></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"> </p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company had no related party transactions for the years ended May 31, 2022 and 2021.</p> <p id="xdx_804_eus-gaap--ScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock_zRtKnMbpTEKb" style="font: 10pt Times New Roman, Times, Serif; margin: 0; color: navy; text-align: justify"><b>13. Employee Stock Purchase Plan:</b></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"> </p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">In March 2004, the Company reserved 295,000 shares of common stock for issuance pursuant to a non-qualified employee stock purchase plan. Participation in the employee stock purchase plan is voluntary for all eligible employees of the Company. Purchase of common shares can be made by employee contributions through payroll deductions. At the end of each calendar quarter, the employee contributions will be applied to the purchase of common shares using a share value equal to the mean between the closing bid and ask prices of the stock on that date. These shares are distributed to the employees at the end of each calendar quarter or upon withdrawal from the plan. During the years ended May 31, 2022 and 2021, <span id="xdx_901_eus-gaap--StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans_c20210601__20220531_z5yG2nYGTuPd">1,496</span> ($9.90 to $11.83 price per share) and <span id="xdx_90D_eus-gaap--StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans_c20200601__20210531_zqtaRcwQwMLa">1,470</span> ($9.20 to $11.40 price per share) common shares, respectively, were issued to employees. As of May 31, 2022, 217,287 shares were reserved for further issue.</p> 1496 1470 160000 3.02 3.27 <table cellpadding="0" cellspacing="0" id="xdx_88E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValueTableTextBlock_zWtcosSviHuj" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - Stock option plans table (Details)"> <tr style="vertical-align: bottom"> <td style="font-size: 12pt"> </td><td style="color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td colspan="3" id="xdx_49B_20210601__20220531_zRjSckVC6Sha" style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: center">2022</td><td style="padding-bottom: 1pt"> </td> <td colspan="3" id="xdx_497_20200601__20210531_zI3vFyzbKwU9" style="border-bottom: Black 1pt solid; text-align: center">2021</td></tr> <tr id="xdx_400_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_z9l9vRiHdr3j" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 56%; text-align: left">Risk-free interest rate</td><td style="width: 8%; color: navy; font-weight: bold"> </td> <td style="width: 1%; color: navy; font-weight: bold; text-align: left"> </td><td style="width: 12%; color: navy; font-weight: bold; text-align: right">2.59</td><td style="width: 1%; color: navy; font-weight: bold; text-align: left">%</td><td style="width: 8%"> </td> <td style="width: 1%; text-align: left"> </td><td style="width: 12%; text-align: right">2.31</td><td style="width: 1%; text-align: left">%</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left">Expected life in years</td><td style="color: navy; font-weight: bold"> </td> <td style="color: navy; font-weight: bold; text-align: left"> </td><td id="xdx_982_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_dxL_c20210601__20220531_z4cMqrysEZBd" style="color: navy; font-weight: bold; text-align: right" title="::XDX::P4Y"><span style="-sec-ix-hidden: xdx2ixbrl0690">4.0 years</span></td><td style="color: navy; font-weight: bold; text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_980_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_dxL_c20200601__20210531_zE4xyGKD9mYb" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0691">4.0 years</span></td><td style="text-align: left"> </td></tr> <tr id="xdx_402_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_zwxq5ZRy1Xba" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">Expected volatility</td><td style="color: navy; font-weight: bold"> </td> <td style="color: navy; font-weight: bold; text-align: left"> </td><td style="color: navy; font-weight: bold; text-align: right">31</td><td style="color: navy; font-weight: bold; text-align: left">%</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">33</td><td style="text-align: left">%</td></tr> <tr id="xdx_40B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_zhI2zFNkNYE3" style="vertical-align: bottom; background-color: White"> <td style="text-align: left">Expected dividend yield</td><td style="color: navy; font-weight: bold"> </td> <td style="color: navy; font-weight: bold; text-align: left"> </td><td style="color: navy; font-weight: bold; text-align: right">0</td><td style="color: navy; font-weight: bold; text-align: left">%</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">0</td><td style="text-align: left">%</td></tr> </table> 0.0259 0.0231 0.31 0.33 0 0 <table cellpadding="0" cellspacing="0" id="xdx_88F_eus-gaap--ScheduleOfStockOptionsRollForwardTableTextBlock_zhwlRTP5AxI3" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - Stock options roll foward (Details)"> <tr style="vertical-align: bottom"> <td style="font-size: 12pt; text-align: justify"> </td><td style="font-weight: bold; padding-bottom: 1pt"> </td> <td colspan="3" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Shares</td><td style="font-weight: bold; padding-bottom: 1pt"> </td> <td colspan="3" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Weighted Average Exercise Price</td><td style="font-weight: bold; padding-bottom: 1pt"> </td> <td colspan="3" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Intrinsic Value</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 46%; text-align: justify">Outstanding - May 31, 2020</td><td style="width: 5%; color: navy; font-weight: bold"> </td> <td style="width: 1%; color: navy; font-weight: bold; text-align: left"> </td><td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iI_c20200531_zxoilbuOx7Ue" style="width: 11%; color: navy; font-weight: bold; text-align: right" title="Stock options outstanding">252,250</td><td style="width: 1%; color: navy; font-weight: bold; text-align: left"> </td><td style="width: 5%"> </td> <td style="width: 1%; text-align: left">$</td><td id="xdx_987_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iI_c20200531_zRBHoaGHJQH9" style="width: 11%; text-align: right" title="Weighted average exercise price of options outstanding">11.52</td><td style="width: 1%; text-align: left"> </td><td style="width: 5%"> </td> <td style="width: 1%; text-align: left">$</td><td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_iI_c20200531_zz6IWkN2Bsue" style="width: 11%; text-align: right" title="Intrinsic value of options outstanding">209,835</td><td style="width: 1%; text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: justify">     Options granted</td><td style="color: navy; font-weight: bold"> </td> <td style="color: navy; font-weight: bold; text-align: left"> </td><td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_c20200601__20210531_zoSUwxgIw1Jf" style="color: navy; font-weight: bold; text-align: right" title="Options granted">47,250</td><td style="color: navy; font-weight: bold; text-align: left"> </td><td> </td> <td style="text-align: left">$</td><td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20200601__20210531_zais717GNW7a" style="text-align: right" title="Weighted average exercise price of options granted">11.26</td><td style="text-align: left"> </td><td style="font-size: 12pt"> </td> <td style="font-size: 12pt; text-align: left"> </td><td style="font-size: 12pt; text-align: right"> </td><td style="font-size: 12pt; text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: justify">     Less: options exercised</td><td style="color: navy; font-weight: bold"> </td> <td style="color: navy; font-weight: bold; text-align: left"> </td><td id="xdx_98C_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_c20200601__20210531_zLUaTGjkXxF9" style="color: navy; font-weight: bold; text-align: right" title="Stock options exercised">13,000</td><td style="color: navy; font-weight: bold; text-align: left"> </td><td> </td> <td style="text-align: left">$</td><td id="xdx_985_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_c20200601__20210531_zRTQE1qWUld9" style="text-align: right" title="Weighted average exercise price of options exercised">6.34</td><td style="text-align: left"> </td><td style="font-size: 12pt"> </td> <td style="font-size: 12pt; text-align: left"> </td><td style="font-size: 12pt; text-align: right"> </td><td style="font-size: 12pt; text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: justify; padding-bottom: 1pt">     Less: options expired</td><td style="color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: left"> </td><td id="xdx_982_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_c20190601__20200531_ztu1eMxDqW5" style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: right" title="Stock options expired">18,750</td><td style="padding-bottom: 1pt; color: navy; font-weight: bold; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">13.31</td><td style="padding-bottom: 1pt; text-align: left"> </td><td style="font-size: 12pt; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; font-size: 12pt; text-align: left"> </td><td style="border-bottom: Black 1pt solid; font-size: 12pt; text-align: right"> </td><td style="padding-bottom: 1pt; font-size: 12pt; text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: justify">Outstanding - May 31, 2021</td><td style="color: navy; font-weight: bold"> </td> <td style="color: navy; font-weight: bold; text-align: left"> </td><td id="xdx_98F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iI_c20210531_z3wvnFsAvkD2" style="color: navy; font-weight: bold; text-align: right" title="Stock options outstanding">267,750</td><td style="color: navy; font-weight: bold; text-align: left"> </td><td> </td> <td style="text-align: left">$</td><td id="xdx_986_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iI_c20210531_z6DWO7rBKAb8" style="text-align: right" title="Weighted average exercise price of options outstanding">11.60</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left">$</td><td id="xdx_98D_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_iI_c20210531_zs6SO4A04rBi" style="text-align: right" title="Intrinsic value of options outstanding">271,426</td><td style="text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: justify">     Options granted</td><td style="color: navy; font-weight: bold"> </td> <td style="color: navy; font-weight: bold; text-align: left"> </td><td id="xdx_98D_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_c20210601__20220531_zpwHowfpMOC2" style="color: navy; font-weight: bold; text-align: right" title="Options granted">66,750</td><td style="color: navy; font-weight: bold; text-align: left"> </td><td> </td> <td style="text-align: left">$</td><td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20210601__20220531_zgoiG7GPanm8" style="text-align: right" title="Weighted average exercise price of options granted">10.69</td><td style="text-align: left"> </td><td style="font-size: 12pt"> </td> <td style="font-size: 12pt; text-align: left"> </td><td style="font-size: 12pt; text-align: right"> </td><td style="font-size: 12pt; text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: justify; padding-bottom: 1pt">     Less: options expired</td><td style="color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: left"> </td><td id="xdx_982_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_c20210601__20220531_zmx7EQlZOwY7" style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: right" title="Stock options expired">51,500</td><td style="padding-bottom: 1pt; color: navy; font-weight: bold; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td style="border-bottom: Black 1pt solid; text-align: right">—  </td><td style="padding-bottom: 1pt; text-align: left"> </td><td style="font-size: 12pt; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; font-size: 12pt; text-align: left"> </td><td style="border-bottom: Black 1pt solid; font-size: 12pt; text-align: right"> </td><td style="padding-bottom: 1pt; font-size: 12pt; text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: justify; padding-bottom: 1pt">Outstanding - May 31, 2022</td><td style="color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: left"> </td><td id="xdx_982_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iI_c20220531_zXRITmkSvMfe" style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: right" title="Stock options outstanding">283,000</td><td style="padding-bottom: 1pt; color: navy; font-weight: bold; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td id="xdx_981_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iI_c20220531_zssbKM6DCkTe" style="border-bottom: Black 1pt solid; text-align: right" title="Weighted average exercise price of options outstanding">11.43</td><td style="padding-bottom: 1pt; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td id="xdx_98A_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_iI_c20220531_zuhVOV1jr9C1" style="border-bottom: Black 1pt solid; text-align: right" title="Intrinsic value of options outstanding">28,248</td><td style="padding-bottom: 1pt; text-align: left"> </td></tr> </table> 252250 11.52 209835 47250 11.26 13000 6.34 18750 267750 11.60 271426 66750 10.69 51500 283000 11.43 28248 9.30 11.85 23750 0 28425 <table cellpadding="0" cellspacing="0" id="xdx_883_eus-gaap--ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock_zSmIDWCXYGo4" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - Stock option plans - Stock options outstanding and exercisable (Details)"> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="color: navy; font-weight: bold; text-align: center; padding-bottom: 1pt">Outstanding and Exercisable</td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td style="border-bottom: Black 1pt solid; text-align: right"> </td><td style="padding-bottom: 1pt; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td style="border-bottom: Black 1pt solid; text-align: right"> </td><td style="padding-bottom: 1pt; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td style="border-bottom: Black 1pt solid; text-align: right"> </td><td style="padding-bottom: 1pt; text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 9pt; text-align: center">Range of Exercise Prices</td><td style="font-size: 9pt"> </td> <td style="font-size: 9pt; text-align: left"> </td><td style="font-size: 9pt; text-align: right"><span style="font-size: 9pt">Number of Options</span></td><td style="font-size: 9pt; text-align: left"> </td><td style="font-size: 9pt"> </td> <td style="font-size: 9pt; text-align: left"> </td><td style="font-size: 9pt; text-align: right"><span style="font-size: 9pt">Weighted Average Remaining Years of Contractual Life</span></td><td style="font-size: 9pt; text-align: left"> </td><td style="font-size: 9pt"> </td> <td style="font-size: 9pt; text-align: left"> </td><td style="font-size: 9pt; text-align: right"><span style="font-size: 9pt">Weighted Average Exercise Price</span></td><td style="font-size: 9pt; text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 46%; text-align: center">$  <span id="xdx_909_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimitTwo_iI_c20220531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTwoMember_zaL2vyY42Rk7">7.01</span>-$  <span id="xdx_908_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimitTwo_iI_c20220531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTwoMember_zuSyHPVDTaDi">8.00</span></td><td style="width: 5%"> </td> <td style="width: 1%; text-align: left"> </td><td id="xdx_98F_eus-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions_iI_c20220531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTwoMember_zhW6f4mnmLlg" style="width: 11%; text-align: right">10,000</td><td style="width: 1%; text-align: left"> </td><td style="width: 5%"> </td> <td style="width: 1%; text-align: left"> </td><td id="xdx_980_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTermTwo_iI_c20220531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTwoMember_zpGXTIvIxAzb" style="width: 11%; text-align: right">0.9</td><td style="width: 1%; text-align: left"> </td><td style="width: 5%"> </td> <td style="width: 1%; text-align: left">$</td><td id="xdx_984_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice2_iI_c20220531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTwoMember_zcUhR5RPFp6" style="width: 11%; text-align: right">7.74</td><td style="width: 1%; text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: center">$  <span id="xdx_909_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimitTwo_iI_c20220531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeThreeMember_zoG9OcFC4zrj">8.01</span>-$  <span id="xdx_908_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimitTwo_iI_c20220531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeThreeMember_zR72Tk9CbxR9">9.00</span></td><td> </td> <td style="text-align: left"> </td><td id="xdx_98B_eus-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions_iI_c20220531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeThreeMember_zQ96qoTgNpU2" style="text-align: right">19,250</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_98B_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTermTwo_iI_c20220531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeThreeMember_zgSPIn1rK1I4" style="text-align: right">1.5</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left">$</td><td id="xdx_980_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice2_iI_c20220531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeThreeMember_zuLszAIDe4R" style="text-align: right">8.64</td><td style="text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: center">$  <span id="xdx_90B_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimitTwo_iI_c20220531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeFourMember_zAIcL54KUDD1">9.01</span>-$<span id="xdx_90B_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimitTwo_iI_c20220531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeFourMember_z0DPC6PwoP6h">10.00</span></td><td> </td> <td style="text-align: left"> </td><td id="xdx_987_eus-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions_iI_c20220531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeFourMember_znMfledpCZSh" style="text-align: right">55,000</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_981_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTermTwo_iI_c20220531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeFourMember_zbA5a8yVz933" style="text-align: right">9.0</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left">$</td><td id="xdx_984_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice2_iI_c20220531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeFourMember_zA1haQQCHPxg" style="text-align: right">9.67</td><td style="text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: center">$<span id="xdx_909_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimitTwo_iI_c20220531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeFiveMember_zfOtCzopCaga">10.01</span>-$<span id="xdx_905_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimitTwo_iI_c20220531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeFiveMember_z6oDuIunqLic">11.00</span></td><td> </td> <td style="text-align: left"> </td><td id="xdx_98E_eus-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions_iI_c20220531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeFiveMember_zRSaR4dLqMa" style="text-align: right">26,500</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_98E_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTermTwo_iI_c20220531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeFiveMember_zYApVGt4oBU" style="text-align: right">7.3</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left">$</td><td id="xdx_981_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice2_iI_c20220531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeFiveMember_zqNK7ajTEKil" style="text-align: right">10.14</td><td style="text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: center">$<span id="xdx_908_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimitTwo_iI_c20220531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeSixMember_ze9fWDW0TCPj">11.01</span>-$<span id="xdx_905_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimitTwo_iI_c20220531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeSixMember_zsYweKRRgpjd">12.00</span></td><td> </td> <td style="text-align: left"> </td><td id="xdx_989_eus-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions_iI_c20220531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeSixMember_zkkxedcHliOe" style="text-align: right">112,250</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_98B_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTermTwo_iI_c20220531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeSixMember_zBjknQaYTcQ6" style="text-align: right">7.8</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left">$</td><td id="xdx_985_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice2_iI_c20220531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeSixMember_zO3jy07HwVc2" style="text-align: right">11.72</td><td style="text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: center">$<span id="xdx_905_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimitTwo_iI_c20220531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeSevenMember_zNCmTh49bGIl">12.01</span>-$<span id="xdx_905_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimitTwo_iI_c20220531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeSevenMember_znAOKWVMCo4h">13.00</span></td><td> </td> <td style="text-align: left"> </td><td id="xdx_98D_eus-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions_iI_c20220531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeSevenMember_zZdYyrfUe6f9" style="text-align: right">28,750</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_98C_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTermTwo_iI_c20220531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeSevenMember_zZq3vfq0p1a8" style="text-align: right">3.9</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left">$</td><td id="xdx_988_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice2_iI_c20220531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeSevenMember_zgRmIQYUxmvb" style="text-align: right">12.39</td><td style="text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: center">$<span id="xdx_90D_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimitTwo_iI_c20220531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeEightMember_zDgNNdwS9NK4">13.01</span>-$<span id="xdx_90C_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimitTwo_iI_c20220531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeEightMember_zjG4LHpNPrL2">14.00</span></td><td> </td> <td style="text-align: left"> </td><td id="xdx_989_eus-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions_iI_c20220531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeEightMember_zCItVmwvCcS8" style="text-align: right">10,000</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_980_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTermTwo_iI_c20220531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeEightMember_zlb9MGjsZRLe" style="text-align: right">4.9</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left">$</td><td id="xdx_986_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice2_iI_c20220531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeEightMember_zK14Hsu16WM7" style="text-align: right">13.80</td><td style="text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: center">$<span id="xdx_902_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimitTwo_iI_c20220531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeNineMember_zzYmH1q8VJZ2">16.01</span>-$<span id="xdx_902_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimitTwo_iI_c20220531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeNineMember_z28xZX7ypIL1">17.00</span></td><td> </td> <td style="text-align: left"> </td><td id="xdx_98B_eus-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions_iI_c20220531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeNineMember_zkWJWlKdXgRh" style="text-align: right">10,000</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_98A_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTermTwo_iI_c20220531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeNineMember_zVXnZxWahEG2" style="text-align: right">3.9</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left">$</td><td id="xdx_98C_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice2_iI_c20220531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeNineMember_z0ld8hCTYdM3" style="text-align: right">16.40</td><td style="text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: center; padding-bottom: 1pt">$<span id="xdx_906_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimitTwo_iI_c20220531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTenMember_zBJguyptNCcg">19.01</span>-$<span id="xdx_90D_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimitTwo_iI_c20220531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTenMember_zvV8R3azqx85">20.00</span></td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td id="xdx_985_eus-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions_iI_c20220531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTenMember_zj3PH5TYkgJe" style="border-bottom: Black 1pt solid; text-align: right">11,250</td><td style="padding-bottom: 1pt; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td id="xdx_984_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTermTwo_iI_c20220531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTenMember_z9ur7N5Ibqn" style="border-bottom: Black 1pt solid; text-align: right">4.2</td><td style="padding-bottom: 1pt; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td id="xdx_98F_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice2_iI_c20220531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTenMember_z0ofGfaGetM8" style="border-bottom: Black 1pt solid; text-align: right">19.26</td><td style="padding-bottom: 1pt; text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: center; padding-bottom: 1pt">$  <span id="xdx_90B_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimitTwo_iI_c20220531_zYbRYbVYwuX4" title="Range of exercise prices, Minimum">7.01</span>-$<span id="xdx_90B_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimitTwo_iI_c20220531_zUQo1jXvPkP8" title="Range of exercise prices, Maximum">20.00</span></td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td id="xdx_98A_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iI_c20220531_zHbGxkb6HiRl" style="border-bottom: Black 1pt solid; text-align: right">283,000</td><td style="padding-bottom: 1pt; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td id="xdx_984_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTermOne_iI_c20220531_zg0VTpz46Kej" style="border-bottom: Black 1pt solid; text-align: right">6.5</td><td style="padding-bottom: 1pt; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td id="xdx_982_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iI_c20220531_zXB4FfXivP9k" style="border-bottom: Black 1pt solid; text-align: right">11.43</td><td style="padding-bottom: 1pt; text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 12pt"> </td><td style="font-size: 12pt"> </td> <td style="font-size: 12pt; text-align: left"> </td><td style="font-size: 12pt; text-align: right"> </td><td style="font-size: 12pt; text-align: left"> </td><td style="font-size: 12pt"> </td> <td style="font-size: 12pt; text-align: left"> </td><td style="font-size: 12pt; text-align: right"> </td><td style="font-size: 12pt; text-align: left"> </td><td style="font-size: 12pt"> </td> <td style="font-size: 12pt; text-align: left"> </td><td style="font-size: 12pt; text-align: right"> </td><td style="font-size: 12pt; text-align: left"> </td></tr> </table> 7.01 8.00 10000 0.9 7.74 8.01 9.00 19250 1.5 8.64 9.01 10.00 55000 9.0 9.67 10.01 11.00 26500 7.3 10.14 11.01 12.00 112250 7.8 11.72 12.01 13.00 28750 3.9 12.39 13.01 14.00 10000 4.9 13.80 16.01 17.00 10000 3.9 16.40 19.01 20.00 11250 4.2 19.26 7.01 20.00 283000 6.5 11.43 <table cellpadding="0" cellspacing="0" id="xdx_883_eus-gaap--ScheduleOfOtherShareBasedCompensationActivityTableTextBlock_znKCPW0p4vDe" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - Stock option plans - Stock options outstanding and exercisable (Details)"> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="color: navy; font-weight: bold; text-align: center; padding-bottom: 1pt">Outstanding and Exercisable</td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td style="border-bottom: Black 1pt solid; text-align: right"> </td><td style="padding-bottom: 1pt; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td style="border-bottom: Black 1pt solid; text-align: right"> </td><td style="padding-bottom: 1pt; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td style="border-bottom: Black 1pt solid; text-align: right"> </td><td style="padding-bottom: 1pt; text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 9pt; text-align: center">Range of Exercise Prices</td><td style="font-size: 9pt"> </td> <td style="font-size: 9pt; text-align: left"> </td><td style="font-size: 9pt; text-align: right"><span style="font-size: 9pt">Number of Options</span></td><td style="font-size: 9pt; text-align: left"> </td><td style="font-size: 9pt"> </td> <td style="font-size: 9pt; text-align: left"> </td><td style="font-size: 9pt; text-align: right"><span style="font-size: 9pt">Weighted Average Remaining Years of Contractual Life</span></td><td style="font-size: 9pt; text-align: left"> </td><td style="font-size: 9pt"> </td> <td style="font-size: 9pt; text-align: left"> </td><td style="font-size: 9pt; text-align: right"><span style="font-size: 9pt">Weighted Average Exercise Price</span></td><td style="font-size: 9pt; text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 46%; text-align: center">$  <span id="xdx_904_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimitOne_iI_c20210531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTwoMember_zRLlscD4Ziw8">7.01</span>-$  <span id="xdx_90E_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimitOne_iI_c20210531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTwoMember_zFegQDayysZ1">8.00</span></td><td style="width: 5%"> </td> <td style="width: 1%; text-align: left"> </td><td id="xdx_987_eus-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions_iI_c20210531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTwoMember_zhBXj4yYbbze" style="width: 11%; text-align: right">15,000</td><td style="width: 1%; text-align: left"> </td><td style="width: 5%"> </td> <td style="width: 1%; text-align: left"> </td><td id="xdx_988_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTermOne_iI_c20210531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTwoMember_zTNCYRPTqI8i" style="width: 11%; text-align: right">1.6</td><td style="width: 1%; text-align: left"> </td><td style="width: 5%"> </td> <td style="width: 1%; text-align: left">$</td><td id="xdx_982_eus-gaap--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1_iI_c20210531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTwoMember_z0nF3ADLHwrh" style="width: 11%; text-align: right">7.74</td><td style="width: 1%; text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: center">$  <span id="xdx_90F_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimitOne_iI_c20210531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeThreeMember_zRI1RXmCukN">8.01</span>-$  <span id="xdx_901_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimitOne_iI_c20210531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeThreeMember_zVHkltKG3YAe">9.00</span></td><td> </td> <td style="text-align: left"> </td><td id="xdx_984_eus-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions_iI_c20210531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeThreeMember_zycknaKzvWmf" style="text-align: right">24,250</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_982_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTermOne_iI_c20210531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeThreeMember_zRllWReHSy1g" style="text-align: right">2.1</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left">$</td><td id="xdx_984_eus-gaap--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1_iI_c20210531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeThreeMember_zDpKsF4JXIri" style="text-align: right">8.71</td><td style="text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: center">$  <span id="xdx_905_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimitOne_iI_c20210531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeFourMember_zGM0hup1y3A7">9.01</span>-$<span id="xdx_907_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimitOne_iI_c20210531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeFourMember_zoCdQHimsVDh">10.00</span></td><td> </td> <td style="text-align: left"> </td><td id="xdx_988_eus-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions_iI_c20210531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeFourMember_z77M22X1SD6k" style="text-align: right">30,000</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_98D_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTermOne_iI_c20210531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeFourMember_zyOVwZ9a29oj" style="text-align: right">7.6</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left">$</td><td id="xdx_98F_eus-gaap--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1_iI_c20210531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeFourMember_zhLLURFZYUsi" style="text-align: right">9.85</td><td style="text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: center">$<span id="xdx_904_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimitOne_iI_c20210531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeFiveMember_zU4oZOIsTMSb">10.01</span>-$<span id="xdx_90F_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimitOne_iI_c20210531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeFiveMember_zs67zzZsVpUl">11.00</span></td><td> </td> <td style="text-align: left"> </td><td id="xdx_982_eus-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions_iI_c20210531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeFiveMember_zjhBRNitgKka" style="text-align: right">32,250</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_981_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTermOne_iI_c20210531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeFiveMember_z7TQCDblfXUf" style="text-align: right">7.2</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left">$</td><td id="xdx_98F_eus-gaap--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1_iI_c20210531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeFiveMember_zM4vWechkjsg" style="text-align: right">10.17</td><td style="text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: center">$<span id="xdx_90B_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimitOne_iI_c20210531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeSixMember_z6Tl8AMCjWQ3">11.01</span>-$<span id="xdx_907_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimitOne_iI_c20210531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeSixMember_zy761XYsddmi">12.00</span></td><td> </td> <td style="text-align: left"> </td><td id="xdx_982_eus-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions_iI_c20210531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeSixMember_zCkp9K0ry9x6" style="text-align: right">91,250</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_980_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTermOne_iI_c20210531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeSixMember_zBtJpN5d0hH6" style="text-align: right">7.4</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left">$</td><td id="xdx_988_eus-gaap--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1_iI_c20210531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeSixMember_z1vDaHToXMM9" style="text-align: right">11.71</td><td style="text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: center">$<span id="xdx_906_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimitOne_iI_c20210531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeSevenMember_zo79WPyxvrsk">12.01</span>-$<span id="xdx_908_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimitOne_iI_c20210531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeSevenMember_zTHGy3BpZMx5">13.00</span></td><td> </td> <td style="text-align: left"> </td><td id="xdx_98E_eus-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions_iI_c20210531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeSevenMember_zGL2WOMLsZk4" style="text-align: right">33,750</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_984_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTermOne_iI_c20210531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeSevenMember_znqA5VWrVPEc" style="text-align: right">4.3</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left">$</td><td id="xdx_985_eus-gaap--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1_iI_c20210531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeSevenMember_z7vLgZN5fZCa" style="text-align: right">12.36</td><td style="text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: center">$<span id="xdx_904_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimitOne_iI_c20210531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeEightMember_z0xFMGf5PEu9">13.01</span>-$<span id="xdx_908_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimitOne_iI_c20210531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeEightMember_zNK75Oocozha">14.00</span></td><td> </td> <td style="text-align: left"> </td><td id="xdx_983_eus-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions_iI_c20210531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeEightMember_ziKSPv9VXW29" style="text-align: right">15,000</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_985_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTermOne_iI_c20210531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeEightMember_zQLch04nE5Ah" style="text-align: right">4.2</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left">$</td><td id="xdx_989_eus-gaap--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1_iI_c20210531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeEightMember_zt2qugf3BhE4" style="text-align: right">13.80</td><td style="text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: center">$<span id="xdx_908_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimitOne_iI_c20210531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeNineMember_zLIx1FVgyyz8">16.01</span>-$<span id="xdx_906_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimitOne_iI_c20210531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeNineMember_z4btWJKR71p6">17.00</span></td><td> </td> <td style="text-align: left"> </td><td id="xdx_983_eus-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions_iI_c20210531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeNineMember_zRlBK0q4joZ9" style="text-align: right">15,000</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_98C_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTermOne_iI_c20210531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeNineMember_zrHf08WwpEOg" style="text-align: right">3.6</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left">$</td><td id="xdx_983_eus-gaap--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1_iI_c20210531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeNineMember_zMdl5EC6bSyc" style="text-align: right">16.40</td><td style="text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: center; padding-bottom: 1pt">$<span id="xdx_905_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimitOne_iI_c20210531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTenMember_zSVJgDoaYJMf">19.01</span>-$<span id="xdx_90E_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimitOne_iI_c20210531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTenMember_zukZFlKJSHc4">20.00</span></td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td id="xdx_981_eus-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions_iI_c20210531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTenMember_zjuQGRtMSHA1" style="border-bottom: Black 1pt solid; text-align: right">11,250</td><td style="padding-bottom: 1pt; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td id="xdx_98C_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTermOne_iI_c20210531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTenMember_zgHMDNeYj905" style="border-bottom: Black 1pt solid; text-align: right">5.2</td><td style="padding-bottom: 1pt; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td id="xdx_984_eus-gaap--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1_iI_c20210531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTenMember_zxxxTu2NjRe6" style="border-bottom: Black 1pt solid; text-align: right">19.26</td><td style="padding-bottom: 1pt; text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: center; padding-bottom: 1pt">$  <span id="xdx_908_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimitOne_iI_c20210531_zd9uQefynNGa" title="Range of exercise prices, Minimum">7.01</span>-$<span id="xdx_903_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimitOne_iI_c20210531_za8CQCUYzIf6" title="Range of exercise prices, Maximum">20.00</span></td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td id="xdx_980_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iI_c20210531_zCuLcd50HVd9" style="border-bottom: Black 1pt solid; text-align: right">267,750</td><td style="padding-bottom: 1pt; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td id="xdx_985_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTermOne_iI_c20210531_zKCOpAkyM9Q1" style="border-bottom: Black 1pt solid; text-align: right">5.7</td><td style="padding-bottom: 1pt; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td id="xdx_980_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iI_c20210531_zzCIH1z0acqj" style="border-bottom: Black 1pt solid; text-align: right">11.60</td><td style="padding-bottom: 1pt; text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 12pt"> </td><td style="font-size: 12pt"> </td> <td style="font-size: 12pt; text-align: left"> </td><td style="font-size: 12pt; text-align: right"> </td><td style="font-size: 12pt; text-align: left"> </td><td style="font-size: 12pt"> </td> <td style="font-size: 12pt; text-align: left"> </td><td style="font-size: 12pt; text-align: right"> </td><td style="font-size: 12pt; text-align: left"> </td><td style="font-size: 12pt"> </td> <td style="font-size: 12pt; text-align: left"> </td><td style="font-size: 12pt; text-align: right"> </td><td style="font-size: 12pt; text-align: left"> </td></tr> </table> 7.01 8.00 15000 1.6 7.74 8.01 9.00 24250 2.1 8.71 9.01 10.00 30000 7.6 9.85 10.01 11.00 32250 7.2 10.17 11.01 12.00 91250 7.4 11.71 12.01 13.00 33750 4.3 12.36 13.01 14.00 15000 4.2 13.80 16.01 17.00 15000 3.6 16.40 19.01 20.00 11250 5.2 19.26 7.01 20.00 267750 5.7 11.60 <p id="xdx_80D_eus-gaap--PreferredStockTextBlock_zpzg4kYNXQkc" style="font: 10pt Times New Roman, Times, Serif; margin: 0; color: navy"><b>15. Preferred Stock:</b></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"> </p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company has <span id="xdx_90E_eus-gaap--PreferredStockSharesAuthorized_iI_c20220531_z1r95L1PQzN9" title="Preferred shares authorized">2,000,000</span> authorized but unissued shares of preferred stock which may be issued in series. The shares of each series shall have such rights, preferences, and limitations as shall be fixed by the Board of Directors.</p> 2000000 <p id="xdx_803_eus-gaap--TreasuryStockTextBlock_zmI9dmkRZRt8" style="font: 10pt Times New Roman, Times, Serif; margin: 0; color: navy; text-align: justify"><b>16. Treasury Stock:</b></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"> </p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Treasury shares are <span id="xdx_903_eus-gaap--TreasuryStockShares_iI_c20210531_zCJ8poWhSVv4"><span id="xdx_902_eus-gaap--TreasuryStockShares_iI_c20220531_z2ZTQ8MCs8ue" title="Treasury Stock">558,834</span></span> at both May 31, 2022 and 2021.</p> 558834 558834 <p id="xdx_80C_eus-gaap--ScheduleOfCostsOfRetirementPlansTableTextBlock_zLo8JYMUikgl" style="font: 10pt Times New Roman, Times, Serif; margin: 0; color: navy; text-align: justify"><b>17. Retirement Plan:</b></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"> </p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The Company maintains a retirement plan for essentially all employees pursuant to Section 401(k) of the Internal Revenue Code. The Company matches a percentage of employee voluntary salary deferrals subject to limitations. The Company may also make discretionary contributions as determined annually by the Company's Board of Directors. The amount expensed under the plan was $<span id="xdx_907_eus-gaap--PensionExpense_c20210601__20220531_zHkSadRfMigl" title="Retirement plan expense">313,269</span> and $<span id="xdx_907_eus-gaap--PensionExpense_c20200601__20210531_zsh9B0qum4Kc" title="Retirement plan expense">288,470</span> for the years ended May 31, 2022 and 2021.</p> 313269 288470 <p id="xdx_80D_eus-gaap--FairValueOfFinancialInstrumentsPolicy_zS8vzvlmp4T1" style="font: 10pt Times New Roman, Times, Serif; margin: 0; color: navy; text-align: justify"><b>18. Fair Value of Financial Instruments:</b></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b> </b></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The carrying amounts of cash and cash equivalents, accounts receivable, accounts payable, and accrued liabilities approximate fair value because of the short maturity of these instruments.</p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"> </p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The fair values of short-term investments were determined as described in Note 1.</p> <p id="xdx_808_eus-gaap--CashFlowSupplementalDisclosuresTextBlock_zRpmYDgMuorc" style="font: 10pt Times New Roman, Times, Serif; margin: 0; color: navy; text-align: justify"><b>19. Cash Flows Information:</b></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"> </p> <table cellpadding="0" cellspacing="0" id="xdx_880_eus-gaap--ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock_zkMnBxuIcxCh" style="font: 12pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - Supplemental cash flow information (Details)"> <tr style="vertical-align: bottom"> <td style="text-align: justify"> </td><td style="font-size: 10pt; color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td colspan="3" id="xdx_49E_20210601__20220531_zgpiVR40pEsj" style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: center">2022</td><td style="font-size: 10pt; padding-bottom: 1pt"> </td> <td colspan="3" id="xdx_49E_20200601__20210531_zjdMDu2uCWKe" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: center">2021</td></tr> <tr style="vertical-align: bottom"> <td style="text-align: justify"> </td><td> </td> <td colspan="3" style="text-align: right"> </td><td> </td> <td colspan="3" style="text-align: right"> </td></tr> <tr id="xdx_409_eus-gaap--InterestPaid_dn_zGsmF7Z1zE66" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 56%; font-size: 10pt; text-align: justify; padding-bottom: 1pt">  Interest paid</td><td style="width: 8%; font-size: 10pt; color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; width: 1%; font-size: 10pt; color: navy; font-weight: bold; text-align: left"> </td><td style="border-bottom: Black 1pt solid; width: 12%; font-size: 10pt; color: navy; font-weight: bold; text-align: right"><span style="font-size: 10pt; color: navy"><b>none</b></span></td><td style="width: 1%; padding-bottom: 1pt; font-size: 10pt; color: navy; font-weight: bold; text-align: left"> </td><td style="width: 8%; font-size: 10pt; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; width: 1%; font-size: 10pt; text-align: left"> </td><td style="border-bottom: Black 1pt solid; width: 12%; font-size: 10pt; text-align: right"><span style="font-size: 10pt">none</span></td><td style="width: 1%; padding-bottom: 1pt; font-size: 10pt; text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: justify"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td></tr> <tr id="xdx_400_eus-gaap--IncomeTaxesPaid_dn_zhYNxAmX8rG8" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: justify; padding-bottom: 1pt">  Income taxes paid</td><td style="font-size: 10pt; color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: left"> </td><td style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: right"><span style="font-size: 10pt; color: navy"><b>none</b></span></td><td style="padding-bottom: 1pt; font-size: 10pt; color: navy; font-weight: bold; text-align: left"> </td><td style="font-size: 10pt; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">43,630</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left"> </td></tr> </table> <table cellpadding="0" cellspacing="0" id="xdx_880_eus-gaap--ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock_zkMnBxuIcxCh" style="font: 12pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - Supplemental cash flow information (Details)"> <tr style="vertical-align: bottom"> <td style="text-align: justify"> </td><td style="font-size: 10pt; color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td colspan="3" id="xdx_49E_20210601__20220531_zgpiVR40pEsj" style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: center">2022</td><td style="font-size: 10pt; padding-bottom: 1pt"> </td> <td colspan="3" id="xdx_49E_20200601__20210531_zjdMDu2uCWKe" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: center">2021</td></tr> <tr style="vertical-align: bottom"> <td style="text-align: justify"> </td><td> </td> <td colspan="3" style="text-align: right"> </td><td> </td> <td colspan="3" style="text-align: right"> </td></tr> <tr id="xdx_409_eus-gaap--InterestPaid_dn_zGsmF7Z1zE66" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 56%; font-size: 10pt; text-align: justify; padding-bottom: 1pt">  Interest paid</td><td style="width: 8%; font-size: 10pt; color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; width: 1%; font-size: 10pt; color: navy; font-weight: bold; text-align: left"> </td><td style="border-bottom: Black 1pt solid; width: 12%; font-size: 10pt; color: navy; font-weight: bold; text-align: right"><span style="font-size: 10pt; color: navy"><b>none</b></span></td><td style="width: 1%; padding-bottom: 1pt; font-size: 10pt; color: navy; font-weight: bold; text-align: left"> </td><td style="width: 8%; font-size: 10pt; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; width: 1%; font-size: 10pt; text-align: left"> </td><td style="border-bottom: Black 1pt solid; width: 12%; font-size: 10pt; text-align: right"><span style="font-size: 10pt">none</span></td><td style="width: 1%; padding-bottom: 1pt; font-size: 10pt; text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: justify"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td></tr> <tr id="xdx_400_eus-gaap--IncomeTaxesPaid_dn_zhYNxAmX8rG8" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: justify; padding-bottom: 1pt">  Income taxes paid</td><td style="font-size: 10pt; color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: left"> </td><td style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: right"><span style="font-size: 10pt; color: navy"><b>none</b></span></td><td style="padding-bottom: 1pt; font-size: 10pt; color: navy; font-weight: bold; text-align: left"> </td><td style="font-size: 10pt; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">43,630</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left"> </td></tr> </table> 0 0 0 43630 <p id="xdx_802_eus-gaap--UnusualRisksAndUncertaintiesTextBlock_zLmeZEbKfPZ2" style="font: 10pt Times New Roman, Times, Serif; margin: 0; color: navy; text-align: justify"><b>20. Risks and Uncertainties:</b></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"> </p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">On January 31, 2020, the United States Secretary of Health and Human Services (HHS) declared a public health emergency related to the global spread of coronavirus COVID-19, and a pandemic was declared by the World Health Organization in February 2020. Efforts to fight the widespread disease included limiting or closing many businesses and resulted in a severe disruption of operations for many organizations. Financial markets also fluctuated significantly during this time. The extent of the impact of COVID-19 on the Company’s operational and financial performance was significant in fiscal 2021. The use of vaccinations world-wide have apparently slowed spread of the disease, the extent of the impact of COVID-19 on the Company’s operational and financial performance in fiscal 2022 was minimal. The effect on the Company’s operational and financial performance in fiscal 2023 is not expected to be significant however it will depend on further developments, including the duration and spread of the outbreak, impact on customers, employees, and vendors, all of which cannot be predicted.</p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"> </p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">As a result of the pandemic described above, the Company applied for, and received, financial assistance from the U.S. federal government as part of the CARES Act and the Consolidated Appropriations Act of 2021 (CAA) including: a.) $1,461,500 of income due to the forgiveness of the PPP loan by the SBA (all in fiscal 2021), and b.) $1,563,639 of Employee Retention Credit income ($53,508 in fiscal 2022 and $1,510,131 in fiscal 2021). These amounts are included in Other income on the Consolidated Statements of Income.</p> <p id="xdx_80F_eus-gaap--LegalMattersAndContingenciesTextBlock_zsZ4EE5noaz7" style="font: 10pt Times New Roman, Times, Serif; margin: 0; color: navy; text-align: justify"><b>21. Legal Proceedings: </b></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"> </p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">There are no legal proceedings except for routine litigation incidental to the business.</p> EXCEL 79 Financial_Report.xlsx IDEA: XBRL DOCUMENT begin 644 Financial_Report.xlsx M4$L#!!0 ( +E"$U4'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 " "Y0A-5QDG0BNX K @ $0 &1O8U!R;W!S+V-O&ULS9+! M:L,P#(9?9?B>*'9@=";-I:.G#@8K;.QF;+4UBQUC:R1]^R5>FS*V!]C1TN]/ MGT"-#E+W$9]C'S"2Q70WNLXGJ<.:G8B"!$CZA$ZE,1@M(? MZH@@JNH>')(RBA3,P"(L1-8V1DL=45$?+WBC%WSXC%V&&0W8H4-/"7C)@;7S MQ' >NP9N@!E&&%WZ+J!9B+GZ)S9W@%V28[)+:AB&=QO62LJ(8IJ5?"'/1=2<%FOWF?7'WXW8=<;>[#_ MV/@JV#;PZR[:+U!+ P04 " "Y0A-5F5R<(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 +E"$U6&U(V5\08 4M 8 >&PO=V]R:W-H965T&UL MM9IM;^(X%(7_BL6.1C-2*7D!6F9:)!K:730M@\J\J+O:#VYB(&H2LXX#[;_? MFQ (J9P+D4P_M$G(/<1/[?B+-G;?F1;N;V_5[[+&0V.>:VVPWB)K'D85X,5Q#ZT>8O?AR\>I#,SXG9JRP?XN5COCHGMI&5FTAC[!U?.].S M4;[_#)YC*:"/_ZL"O%%HJQ72@?\E7E*773=@9,=,K%BC__$/LVM\5='1*3;4 M)%8BU]Z1:V/J_2%W$[C!2/+C;F@#1P M'"\#=!?0N0H07C^C0:SBZJ!E=0EI$BL1ZNX(=8_K08,H2FA 'MF2"ZDBA>M( MD2A!H55U06D2*X&ZV(&Z.'*H"0HS>C8A5\/"M2J[%5I6EY8FL1*MRQVMR^-H M39CPN9?.>P3F7N4]"E?:SG254QU:7I>9)K$2L]Z.6>\X9G=^[,)0S-'=P>%8 MQ0U7NWM2P4)KZL+2)%:"91J%*3-JX7IB5%3#.B!6U;GPLKK =*F5B>W96!-M MI),(\1X8-C /R#6;1J=IFTIL:&5M;)K4RMBL IN%MO,VDKY\ VH!(^,D?&9" M"0L7,9IVNW>I9(46UF:E2:W,JG#R)FIWMZP>V=Q/S3QTMC$-U9T+%_HQ>+K_ M_DB&M[]&SNV4C,:.DIU6)Z]+KKB4 MD?[TNAV[JZ2FU=_K4BM3*QR^B5OTG-H/^DI&'J#S9[Y+,W>&C%5 MQ<5E3TE/J_?7I5:F5[A_$[?M.;U1Y'(!7C8#=T:F$F8$P@5Q> *=$?HD]]2# M&%>!>GRVW2#WM/X'7T=*?+C<&"+9 HHCNJ:11Y7X MM&8&76IE?$5J,'&C_Q[?;O!.!%_YD:ON@KAFQ<#5FAYTJ96?GQ;QP<(=_WML M$QY+F'7_]I>5=[L#BF;;M SEPUBM(4*76IE;$2*L R$BHR88K<:$"UR82E." M5]6&=(K(8!61P<+=_CW/ OR"1UAD."#2[;6;QJ6A[E):0X,NM3*M(C18![R^ M+R%:\1DQK4_SSV3*W$1 +U,BPY4<'H;@_*:2NR_DTX=SP^J0):3<%0T2IGIQ MX^""M4&>(D%818*PCDH0OUD0-%\BF#Z!)8VA$WID%,=)12_$-<=[>%EM6&=(@[811RPCXH#MR$3\_1N]B'U]5>?7"*-& 7:<#&S?RVCRW >3!R%02T[LZ:*/6W6]CQ["LGK5K8@[C M%&[?+MR^C3OS0>+YD@N8S41(1D,E&%S!M)7A$J^JW65.8>[MPMS;!Y8 Y92J MWD,=*+]/PMAC$?E(P^57\N Z7(1^VC/O[R=*=EJ]OBZU,KO"Z]NX,]^R2Q]G MI&\&E/QPB9MD!C=W?D;&;$V>N'A10M-J]76I;:"U]M:-IN8@6W\;$S=],[)9 M0KH[NEOC.\A6MK:*TS<+A!]HZBUB$K 9E!KG%_#?%9LUMYL=R9?9*M1G+B4/ ML\T%HQX3Z0GP^8QSN=U)OV"W\KG_/U!+ P04 " "Y0A-54%#\2@D& #Y M%P & 'AL+W=O+2A3U;'G1/+O1RPNULV51RQN-S*ZJA-Y?R5(]7L[([/G!I^)^ M8]V#Q?)B*^[EK;1?MC<:[A:'**NBDK4I5(VT7%_.WI'S:YHYA\;BKT(^FJ-K MY*C<*?75W7Q87:W*OXN5W5S.TAE:R;78E?:3>OQ#=H2XBY>KTC2?Z+&SQ3.4[XQ55><, M"*JB;O^+IVXACAP(&W&@G0-]J0/K'%A#M$76T'HOK%A>:/6(M+.&:.ZB69O& M&]@4M?L9;ZV&;POPL\MK51M5%BMAY0I=B5+4N42W+IQ!9^C+[7OTRZM?+Q86 M7N4<%GD7]JH-2T?"?A1[Q,@<44QIP/OZQ=[DU'L!] X3F#6C%2/\C9\O5/),9O0^1^4+ 3KNS E4U% M7UX+LT&B7J'<7A%BWH7@3RM7[PY)23A+,THO%PS&C@"'F*4". M#H8G:*,#VF@2[>U&:7MFI:Y043](8ZLQJ&V<^ @!P5D2<3Q &K;#A(:!\@-0 M/@GT79ZK'4!KEE;9C=30PW()BWM72C-'M;0AU-Q#$T5Q'*?Q '7 CL *QR/+ M&Q]0QY.H/\":UE;I?0A;[+V3ISS*&!]@"]DQSK,XC"TY8$LFL=UHN17%"LDG M4"0C@S]ZXB]+G$9I-D#HFW%*DR@) TP/ -,7 2SJ7%426?$4!IEZ;Z>,9T=O M;T'Z9A&/DB0-@\P.(+/IF2THHGJ)JNK@4NB[J>P/(875S:0Q2:W17E*5[ M&J*0>=@88W&41 ,.OAV)LFRT"Q#I/%965&"W!WWZ:#H8!]IDB50W\.< M"%E&A) ,\Q&P1XI))L%^A.'(RKI1RKX=%,^U-MH,NK GRT=PPK"'/6 8$YJR M; 1Z+X1D4GL@IV'^TW;?9@R(P]8UW''$U .208](N(9! M?+U*HI@,>W# ##*9D+%<[F6-3.M:6W@3!1=0IHS"NV,RA!BPY!DC649&0/8J M1N(7S6]E(:"+%;:0X2&.3*KA?YWB?E2T4]*]/))I?3Q,'%NQ=T-&D+"O?"2B M<2KK1^4;Q.NK'@R9S$^2D"%A M+$G9"-ZC?>+T1O'6JOSK1I4KJYAYDI F;=T=G].$=][!A?45F6#"(CK,@;#=V'!'>^6FT\I] R/_&=1=+K8% M)&\08VB/"865D>&V+FB)"8Z.&O0ISEZXZ;1P?Y(6QM#OM0!?DQE/(YQFPPU^ MR)+%F,"L-X*T5V\ZO0D]+JK7/Z64)&^;T1.FT#NY5AJF(RT%C'3[-@6#1/Q- M*$Q),/9S;\D#EBPAC)*Q)>\5F4XK\N<3F*CA0MXBSM-YRJ(NJ9&P3:<.LO!5 M^(QFA&/LI?<++$]9]()-IP6[[=!='Y[+N4/RCT/>P M>T&E7(,K?I- #-V>,[2DIP" L!P & 'AL+W=O0VDS5^E I:K;N8=J# S?! MJL',-DFS7[]K0U'2DGY(XP'\<<_Q.=?F.MD*>:<* $WN2UZIJ5-H79^YKLH* M**DZ%354.+,2LJ0:NW+MJEH"S2VHY&[@>;%;4E8Y:6+'YC)-1*,YJV NB6K* MDLK=!7"QG3J^\S!PP]:%-@-NFM1T#0O0/^JYQ)[;L^2LA$HQ41$)JZES[I_- M8A-O VX9;-5>FQ@G2R'N3.$00<,FT8*'XV, /.#1'*^--Q.OV2!KC? M?F"_M-[1RY(JF G^D^6ZF#H3A^2PH@W7-V+[#3H_D>'+!%?V3;9M;#1V2-8H M+M_E80_@AT< 00<(7@L(.T!HC;;*K*VO5-,TD6)+I(E&-M.P MN;%H=,,JLXL++7&6(4ZG,U$IP5E.->3D@G):94 6ADZ1CW,JH=(%:)91_HE\ M)N^)2U2!HRIQ-:YN.-RL6^FB72DXLM(UW9'0/R&!%P0#Z-FKT?XAVD7'O>V@ MMQU8NO (W4*C83R,FH@5N605VF:4D[E0S)ZN7^=+I26>L=]#1EONT3"W^>_. M5$TSF#KX8RF0&W#2#^_\V/LRY/L_D1VD(>S3$#['CKM?ENAVH45V=T)PNXF0 MQ.8F)[>4-T#F@ -FQX?RT)*/+;DI%YO4._6"*'$W^P9?BCI0/NJ5C]Z@W"I4 MY+S1A9#L+^1#:EO">$_'Q+//([TOQQTHCGK%T9L5GY KI9IAN=$3&2,OBL=C M_Y'&PO=V]R:W-H965T M&ULK5?;;N,V$/T50BV*%$ABD=0UM0TDWFV;A[1&TFT?BC[0 M%FT+*Y$N2]X=R@M[(0>N)MC-G> MC49ZN>$ET[=RRP5\64E5,@-+M1[IK>(LJY3*8D1\/QJ5+!?>=%R]FZOI6.Y, MD0L^5TCORI*I]P=>R/W$P]['B^=\O3'VQ6@ZWK(U?^'FRW:N8#5JK61YR87. MI4"*KR;>/;Z;X=@J5!)_YGROCYZ1I;*0\JM=/&83S[>(>,&7QII@\/?*9[PH MK"7 \6]CU&OWM(K'SQ_6?Z[( YD%TWPFB[_RS&PF7N*AC*_8KC#/C'P M!SXR&LD5>A1+67)T@[Z\?$)7W_\X'AG8T*J-EHWQA]HX&3"."7J2PFPT^BPR MGIT:& '2%B[Y@/M SEI\8N^(XFM$?$(<>&;_6QN? 4/;LZ.5.3I@KCF@]M30 MW_<+;13Z2U;\HD'\:BY>N7>](?O<.3_Y")Z(6,GO(.6 M=W#.^O2%%5Q?(\&-BV:M&U:Z-HF\3JF?1%&8@,->CRGT!0D)_30*<"MX B]L MX85GX?O!23C7*ROT9H+ MKEB!F,@0RR!KY38L;+Y&_ T*D.;:!3_NP8IP&,0T[,#ORX4AB>(X<,-/6OC) MI1WR^Y9;7F*-\CH77!7@(6>F3/KW+8A)',<=UXJ5 MJ)!,(.A^UG 9!=?.>]B@.(;?30H.$1S ;?4'D@(^JL?X$AP_E]M"OG..GKF! MTF,ISA3/W'FAV?+4'Z&?=$GUQ7"(?4P'\@(F!U+D$J2>G1AI?W,:!5$78U^,^I2F M<3( \U"=\=GR_"UYK.ED%APB@]L"\YI7?3HL/S*;86_NK-V@Z?@D"D@W*3@$ MHP0G1]X[)7RH]_A\P9\/XD57"XARJ);NYK5?VJ$.^GXOV/MR-S3!_F"P'UH M?/$>X#<8[ 8 >&PO=V]R:W-H965T&ULO5EM<^(V$/XK&MII M[V9(+,DOV"EA)L%TFIFF94+O^J'3#PH6X(EM<;((Q[^O;!R#;:&$.Z5?@@V[ MSTK/KM?[1,,MXT_YBE(!OJ9)EE_W5D*LKRPKGZ]H2O)+MJ:9_&7!>$J$O.5+ M*U]S2J+2*4TL#*%GI23.>J-A^=V4CX9L(Y(XHU,.\DV:$KZ[I0G;7O=0[^6+ MAWBY$L47UFBX)DLZH^+3>LKEG56C1'%*LSQF&>!T<=V[05<3# N'TN)S3+?Y MT34HMO+(V%-Q7"K17QRP$@ULY ME%NW]GLOB0N)(*,A9UO "VN)5ER4[)?>DJ\X*PIE)KC\-99^8C1F6L I$#M@"S%>%TQ9*(\AQ,OFQBL0,7X-,L!!]^_#BTA(Q>8%CS*M+M M/A(^&2E-967,!)L_@7_N:?I(^;\*F+$>YB:*XJ+$2 *F)(XNX@R,R3H6\EX# M&NI!'ZB0SY1D8$)X%F?+7(02\ J M(3^_9.1&"!X_;@1Y3"@03)+"90)5Z=F#NR5XT3^>1PC"P+&'UO,Q_5VS8. & MT&O9A5T[&[NV[_JP:3C1;JIHA%?YFLSI=4]VNISR9]H;_?0#\N O&LKLFC+; M%&5]<$N7<5:D']R2A&1S"H@ ]V1W"6S4!QABJ*)UOP#O-5J[9FI:NW8G:-5N M_!MI=6I:'2VMS1KO@\\DV;R-+2WNVU>]Y]0D6&@2;.)T'HX+['L(VKC.8H-X MMR;>?;V>P5V>;V2S"C>\*-8IY3&+JB3TP21=)VQ':=5_IAL^7\DW*9C*DE9E MQ.T6W*!5NUT3Y 2NTZI<[TG"B-50]&N^MS25L34=!0$#_($FAO@ M)EFDF=Z04K- 104A&[8Y5=I!!!V[3:O"TK8]B)Q!NRCU6__&JD1'R@]]_Q"G M)DT+?&Y#,(H6&D6;5&B-NL8!ZJ0AWS M!]L4OVH2ZA=\-KVZ@$W.#A(-Z37:>X_!^O!G=]^NN,,0X4&GK(W*.U-HS10= M!![2*[SO&8;UT&?3;Q(M1%U=A[$=.-AN=W!#89O\'X0BTBM%HVVEJ^0Z;>55 MDU"_X+/+6Q>PR=E!OR&]@#,X"6,ECRHMA6P'M\E4V6$\")#7YK1K:;N^ _W M;Y?C>^@S=!!H2*_0WC0)JTDS*:+&1M%"HVB3"JWY+TW=)(P/&@\;TWC*$+^,L!PE=2'AX.9 KXON3S_V- M8.OR:.^1"<'2\G)%B>2Q,)"_+Q@3+S?%:6%]_CSZ#U!+ P04 " "Y0A-5 M_R+M*:@& #A&P & 'AL+W=OM#UZ!!MV=:HFVMDNB2M)/\^QU*LF2+%-,. M>8DEY?#P.]>/E^M'(;^H'><:/95%I6XF.ZWW5[.92G>\9.J-V/,*_K,1LF0: M7N5VIO:2LZP>5!8S$@3QK&1Y-5E>U]_NY?):''215_Q>(G4H2R:?[W@A'F\F M>'+Z\"G?[K3Y,%M>[]F6/W#]>7\OX6W6:7F?W4P"@X@7/-5&!8.?(U_QHC": ,?75NFDF],,/'\^ M:7]7&P_&K)GB*U'\DV=Z=S-93%#&-^Q0Z$_B\4_>&A09?:DH5/T7/;:RP02E M!Z5%V0X&!&5>-;_LJ77$V0 #=;DE0GC@Y;PWQS&Z>5*5$H4><8TS]"#AA^(D59(;-"*J1UZ M!W%6:(H^/[Q%/__XR_5,PZ1FZ"QM)[AK)B C$V""/HA*[Q3ZO^63YTP\X#GYSF?A*RBXL#CN+0Y_VY5_0 M6_(J%25WF=F,C>JQIH4G8\M\"6PT%,%DG4R5V BSIPD3<F^D*)'XUDA&KQG)5U)VX:RX1;#DK3G)E^ZC*T&1V?QXB&\S D@U@ZY @F> ]:I%\@+ :> M0KE2!VA10%S(^"%/N7)AGEM82 !8%@/(MAB.0AJ.(%YTB!=>Q'FP)5YL?P"E(^#-+%=[H5AA.OQ>FJ37SXA5 M&>)?#_G>5(X+=6)AFN*(#I';4B.@<=#34^"%?2_%,:_7#";R>74$@$(^([$& MVN(JY57J='.KUN=GAPB.@F#4T_B,4_$+A;7A4D*VGCH.>W)G:ZOG @*.HL"" M:LM-B0=G-ML@4 MAS&.1M'WW(O]Y+O:L6K+H3= 9NL=E[!@ K=7&C&E.#" 2>LB9^N\&._F^%6) M^;6T73JDIV;LY^;;-!6'JK6\<0ET>)X?V;H8R<#0C@Z%Z)!ADW<(XB@.DV ^ M$L6>LK&7Y);O3T7MQ!=9TX:+&"=X",^6(P%=!!$9@=>3)/:SY+WD>Y9GIY[N M]J)-@5%(HB'K.,2F,8GHR*(']TR)_51YPOABOW'0(UXLJ.5-6VX:!F%,QTJV M9TCLI\B54&UZS*WN M8TN2*$SB9,20GDZQGT^[4MNS9U-=3I@.VJ1Q$)ZM ]I1)_)3YL6Y6K(7K MJS7BX,P8TR095IM#,,+AV Z#])Q)_)QYUR;F9;JFGL1VFN&@1=@I$:OQ.@2A M9V \DL&D9T_B):-Z(^?:]#C14@L$I<$B(L-,=@C. QJ<9](EW)[;2.@E>T,3 MZEOV9\3+D=_+Z*^E[=+JGAR)GQQO4UB6J[Q>F'W7BIW8A#B%*H% 6#7MDHR! M%_!8S'KN)"]QIT@YS]H=]O_;>A";-.?V"MDA-=8\>U8E?E9]7Z62,\5-H:N= MD'JJN2SK34A[QN#$Z^).:C4GAQ2)@GADN4)Z@B5^@CT'71]Q'%EQX,;E1;XQ M7]5!LI%-$W'0:GC>W%OL+K%D-%MZ2B5^2FU.ENPJ=T)U[4CI(J$T'J)U2<81 MGB>Q&S#MV94&WI;T+J_ E=]R^.=EZ>\^_7LE;9=6]U1-_51]6=3F7,;D4\.! M90E]2IF#&Z<;7-1-PB&'.,1"&N*Q,77&8[E,_F!8$E3)6 MU-0F89Q0666&D[L-B63(%I M/EC@;4D@""P2QI"$/S_4[%\Z;K?,W86-,J^ZJL@YOCS9MVUP<'X=\8RH= MYJXQ-9ZLG*]TBZ]^?1P:;W3!FZKR>'%R\N*XTK8^>O>&?_OBW[UQ75O:VGSQ M*G15I?WNO2G=]NW1Z5'ZX:M=;UKZX?C=FT:OS;5I?V^^>'P[[JD4MC)UL*Y6 MWJS>'EV>7KP_I_6\X ]KMF'T69$D2^=NZ,NGXNW1"3%D2I.W1$'CSZVY,F5) MA,#&7Y'F47\D;1Q_3M1_9-DARU('<^7*?]FBW;P]>G6D"K/27=E^==N?3)3G M.='+71GX?[65M>A=95<3,XJ&PM?_5=U,-HPZN3!S8LXH8%\RT',9OQU&)?^^YTKJ[%'LJMU+5=UW9EWMEZK+ZZTN37AXLUQBS-IYW$>Z;\7^HN'Z"_49U>WFZ ^UH4II@2. MP6S/\2)Q_'[Q*,7/>J?.3F=J<;)8/$+NK%? &9,[>X#< 3'5OR^7H?5PF/\< M$ECHG1^F1T%T$1J=F[='B))@_*TY>O?=-Z ,N==. -V%$ <=B7!D?YNJW#:2\3TM# %OG90>?S6RM M7,T"<8PKD#)KYR'L:U7KRI2[F;HV-E0V5Q]T!:$AWX]E9PN;AXV["3#_R_/7 M,W7E->A ,DA?@ =O=:G>=\1G(!+EZMEE\2<>D!6O-RZ_4?!$YY?T//O9_@62 MZH,UZKKQ6((]?]BE:'@X^+/.-[!JD1;Q>5S5=KIU7M30!1)2W6IO70?] M[1KH'5)60L%#+(,CFXJ5""K@N!/SS#(0AT?8:X@MLBN JV\P7KA.@SLQ1Y>?\<_*YLK;$7 MZ@PD)G$:DB>SE)&UL"$_GMZ3R[A#)MW1K_++)'NJF#SB7TZ(BE+L$?!.- 71KHQ)2(OIJYMV3] MD;0$/,L )R2%?[PE840!B>N-#LK),[0!CS MC@>%#7GI0L<1SRHYJ,/HQKR 5/WPRBWYE0VA,\5<_1X8.#XBIBMRNXOHTZ;1 M47UX^H#12!=4=L&%LZUM-\EVY-O-X")K4U/\P&AX;IJHQ_L.CX,N$:- 0J@ M<4TH6PW^C#"N](U1)K'*>H3_=U4C]B. S330*I=0UI5X$H1Q?G3L07&8V,AM M*73([QF2R"@!=52@X"^+B-UJY8%9[<:%$5=S=:7#1D"-/GR$)'" ^ZX1G3YP MB&\ W%!0*1!JZUO08[X(W"N@^P["^QL4P:NN+D3YZ1C^8(9CD SZ2.JEB7ZM MN!(;,WEO-T@/"K(UY&H[<=,*E8VYRPUK,C#$46B0\MH!I5$2!U5TA.W,QLX@ M<3&.=LL_DVF2$@B;'?@"H,;\!R_(0=FVRMMP,Z:"XPFR$,RA+%9AS\6*# 4TT,DGR^8Y*3HT86(.'&-1W+,OKAM(>O[[YY MM5BZ1ZJQ#BG9Y*9"DA;^H?-?W"W_D.&'%P"! M&OU2:?\&+T#7@G:OT2])4 ![ J4C=OPE8T. 7CCW4.TC2(%D 1/ 41&I,"%\ MKZNZDL7CM,./O=E0NW3+M0OR\4S5AI9G:%.,]^Q7]+MJ]1U%TM?$U3UNHHN3 MS?E-R(<"<8ZI94C[+A;=UTK10QJ70+)H==VE@VV##$/YHVHLT' MDF [:THP@>54'1)L]@[E:M8C%$[?!I(9Z8 0G2H<0N)T:@HE+C@8S6)V)5W^ MRH;Y"N>PS#9%U?BY&,X/SUDQ@]/J.D)L-H)I6],'9T+LER]C5D8JE;WUQD+*=5OE&^[6AXV),AXRA/(F.!UI) M!N8NNT2;STA(O7)!&F4 (Z\*5?1>,FI4/XO;!7&RPH)#R@:)C[EZG^H%KNY% M/Y9JMD%D(N^!J%C2)"8;,"BJ(GKR%@5$8X/S50:&)U4/2 M[>L Z[+!DG/&TAJ5]NYB^ @7&EF7*(,:.*=XIA)X;1B(4)1D%+>"&\7@8.C0 +I MMW#,N)K'$@S=<"H\^3H4LQ?]CS:D(I? _J] M1,_U,_6EOP[A;$=,P3V5LH3,&7VBG/_\!0<2_>\-K<@/QB'MV?E@5 9_"RIJ8 ML2O])SK4ED8_F>O\X(/2P?7#F8=8$B4D[8[U2;^/,)]T.G4H*_UUJH#@OZFR M(%#,).UQ#HWD0^I !B;[>02+#1=T])'()F4R1(I;WV>ASSJV(J#U4K/W9YB[ M-MN+35Z]Q[9D/['(83W!/7]T8^5RE3&,57#FO0#)DJ7&[KOGB?0]XK$LHKA( MDS)2+[P,8J'[IJJQ&PB,QP+C[]QP4U>:&\Y,GL \D(L<9))87:T\- E53 MI6D%8[EMYK*,:U0!E)5MI\@S2/6(GTX\O7?S#.CLN6T9@UY)C$!DF>)1N_1T M%C,2);@![7L>O2E%(:0,!X3OV\\B;N'DR*(1-]0ZH]*@;B%)#HULM2^B--PB M4O0\:/U/B0?.N=[$+B#PI4;:9HK4O:#3P8*&JVERE5DRE#?+'> 2-)"D+3QI MQB5T'W34_D5 WW.5.0V:Q(5[M7#;A=+8 =)Z_^?2%8K>& V,D(%EG)$X87\T M0N"979$Z)>116&26C3H-07E1_M(,MN!2/$6#K0>7>CAQQ\",35GHH*=XR+1G MF4MEGLED;C*^I(4C!.V@8;3TL3;:CZV^PNUC7]*JV *'L5V')ITR^J2U7U0[X\#OXSW M#A/)@GN?_*& BFJ-T;I7,O0*Z =KXDD99^2G ET'ACZIE9603279--IKFJ[V MMEVBM)>9-7>D4@Q)!.Z%*@A2ZQ+1)1M51CP?I:GM+ T,8LA2G=N'<6IF8CE! MAR,TTOFS-%$8!6+$F$EI-=D8N8PE0,L MP@-7Z0($>#U5_@A!J58CI1%\9Y*9T=R0%:'[/O2%3>[%6QB(4$T/WB\SRE$) MN#I7L"&SJ_21-3"(+POW+@:6B&Z:[<&TB/$U!(\"F MDD30:BI;'2N&Y//S3"ZKQI:9(/5,+;NA_N#1(6MG%N\@$"ZH$4+$RB'GB3$? ML22-[FS3L+G!]4_XC[P/:@PT*IP\W*2'O>*X09-A8&R$,S!61<@IX7:6RDT9 M=TVF7-(-KV)=%EPI^8]&,X\?B?9W[>B7!%T'8'XX.;M_,MT\8O\L#=>E RT@ MA@T\2KWM;90@IQI?J_0>_:A\^Z=DCYPBUPK?JL79J]GS,[HL>C%[]?(5>KX M=\IEV/P! % Z >MHG,GS8O1\<+8]'K.#-F 7>E34R.#I;'%Z-CLY.5$_+,[Y M[R?IT'^CH6.Z_T!)RN]U3#MX$Z9C*H9_?9<9OG20$\*0#Y5J8V']*J/:Y4(XS0*W"L1$IM]Z*\Z'AL3!6IR^?(J ME^L7<$3S:3]<3M.#I6FW= \6A>4##V53FF-*HF'&LCW&IMQ'R?H2A0B7>CL> M>YI:,\,<[#P^X9+M7D&F1/NBN.1CK Y#8V0/W*^/@XQ89 Z9@H?D9?8Z4A_%^B;,(VK%0, MV8&[H3SW';M;9(5ZG=%9\L( ,\MW6:.+V>D%$=U=I_PT/9.$\$2D=L,Q2="] MX^Z=DHWJK*B]RZ*P5XA.SL^6IK1 "9!OI0%/=69_O>3 CN8;6PI@M!LK M4_08R0R0Y1B<.R1WF:!SG,CI*)(=-Z9#@C[] 2F&9PP2A'<8?+M M&X=WW5J?H$\F*WR%6L3;_%&-E2'.IN>A0I.K"#ZCK]*XW$OPGJ(_\D98G#AH M*9RN6Y??/'M/\9P17>P:O1"03HIMJ#3>:4F<%T.3_%8$>. *;^UU3$/HILPS M@8J^]2 SH[IV.V/"] 9MO_GN2Q<)4G8Y:<2'9BRZX###2+0S.U+E:%B1)FOW MIGVD:NJL1<.!M2*L3T1.$9/*V4..OX49OR7OFRV02$^?G\_.T(C]8K;9Z&6J M:[IEP'ET>2/A*>@I%_SJT$I8H^BOO[(GE]=73]6Z0X12_/, Q?+4BM]^L-3" M5'+A1_.Y-#T:S9VG(YFY.O0>V?'H%4#X[YI?= SR+HV\#=C_VK]+>2FO$ [+ MY47,S^BMZ3JP-"ML/9F_?'XD8Y[TI74-OU"X="V"A3_2+,!X6H#G*^?:](4. MZ-\P??=?4$L#!!0 ( +E"$U6VT7>[70, &D' 8 >&PO=V]R:W-H M965T&ULI55-C]LV$+W[5PR4("?!^K LV[NV :^;-@6Z[6*# M-H>B!UH:6TPH4B%I>_WO.Z1DK0KL[J&YV"0U\^:]F>%P>5;ZFZD0+3S50II5 M4%G;W$21*2JLF1FK!B5]V2M=,TM;?8A,HY&5WJD641K'>50S+H/UTI\]Z/52 M':W@$A\TF&-=,WVY0Z'.JR )K@>/_%!9=Q"MEPT[X&>T?S8/FG91CU+R&J7A M2H+&_2K8)#=WF;/W!G]Q/)O!&IR2G5+?W.;71@XS.-7'-+.(?6\VT">Y4_,LO52JS-H M9TUH;N&E>F\BQZ4KRF>KZ2LG/[M.Q[ I"G64U@"3)?QA*]3PB 7R$]L)-#?+ MR%(<9QT5'>9=BYF^@IFD<*^DK0Q\E"66_P6(B&#/,KVRO$O?1+QG%Y@D(:1Q MFKX!-^E%3SS[,S5E-S_/.2T!8G>QG'79@;T[ "5P'="(/ZA,'Z MP[LDCV_?8)GU++.WT/]G:7X4<^1R[!*=C+:^_5 ;> ]9F"[2CAZ4 MU_-*;V&6)6&6+$:_TYQ[B8-3F.5YF,]SOT[2.)SF&:7FJF=@O->J[BZGTZ[1 M5]_GM/;((RY/BA=8@E4#PS.Q0VC8I?;&%3LA[! E'6G+2>V%;K^M*A0ET-0M MN3Q H>I&H&>@]D#ZH-'J*\TTJJ00UX# "!B?&CIO@^Z0/(7P^Y$#Y=([2WRR ML.>F8 (NR/2X:X&!NC-SO=$ANZ ?B8&Z(#XG8[356'(+A6 TH4O873SXEK@R M>?'5Z0.7!@3NR34>SVALZW:PMQNK&C],=\I2 M4?VRHK<0M3.@[WNE['7C O2OZ_I?4$L#!!0 ( +E"$U5]'.?#D0( ),% M 8 >&PO=V]R:W-H965T&ULA51-;]LP#+WG5PC>L)-; M?\C.UQ(#3;MN!=:A:+'U,.R@V$PB5)8\24G:?S]*3MP42+.+15)\3X^2RS K#DN1;23(.5MC MFG$9%!,?N]/%1*VMX!+N-#'KNF;Z909";:=!$NP#]WRYLBX0%9.&+>$![,_F M3J,7=2P5KT$:KB31L)@&%\EXEKE\G_"+P]8.MC2*X](]RH/5N,L19PMZ3F[D!J15^F4\B2Q2NHVH MW,%G+3Q]!YZDY%9)NS+DBZR@>DL0H99.4+H7-$M/,MZR%T*3D*1QFIZ@HUU] MU-/1=^BZXL@5-Z509JV!_+Z8&ZOQA_ASK.*6,#M.Z)ID;!I6PC3 +C"@-Q 4 MGSXD_?CS";E9)S<[Q?[_YS@)/R[N#6?/W:N[W*1WS[;X)UG0G E#/I)L. SI MB**5QS2D6=9[Q(8ZX_*LT:H$8T@>)OU^F X2M.)!/Z2#0>^:2XZ_7T662E6& MT#CV"33/P^$@[WW5"H&\>X4\'.59.**YLV@>YJ-^[[OC9@+G Y,E$)PT1,V- M$F!*<($$.>,XWJ^]'SBK7AE1;CC<<7J[927'7B,Z:)0:]-*/ T-*M9:V[9DN MVDV&PO M=V]R:W-H965TDO M9@]@V5-=23/W]]8V-Z.1R?=0"W.M&I#X9:MT+2Q.]6YD&@VB<$YU->)AF(YJ M44I_,7-K:[V8J=96I82U9J:M:Z&?;Z%2A[D?^<>%AW*WM[0P6LP:L8./8#\W M:XVST8!2E#5(4RK)-&SG_C*ZN4W(WAG\4L+!G(P99;)1Z@M-?BSF?DB$H(+< M$H+ OT=80541$-+XL\?TAY#D>#H^HG_O2.Y4E)1/EJ-7TOTLXODFJV4L88)6;#WQI:8 M*.!(:%G*G6$HW&>9J[JI@-972EJ-2IJ;V (9Y7VHVRX4?R-4Q-D]NN\- M>R\+*,X!1LA[(,^/Y&_Y1<1[\ MO!Z==M^-:40.NH*@2WOBDA]=V!5+ IY.@C2,I9EDV" M,(J\3PJKBV!'KO!WIRQ()F$0AB'&B<9AP">9]Q,8PS9E53D+JUB!/FR,/%+\ M/D7+,.)!FDZ\U25HJ:Q#P;4KAJRC.,BB",=1G 5I-&7+6K62_+&Q4(FJQ4V# M X:]AX<9J2'D,T+AJ50)F0-SIX#Q6MQ=VEEM586'+IGDHJ%#\!6-WV"'<> I MITS5]B59)W&8U6.TULA?MT>IXX&J33J60?VGJ#VIZC ML $%242)M]SA;$<]T8#.05IV[%R69.P=BSE[=V(D7)GQ@J,KE)A?8=>E/ MX M3")/47#,-(R\=8>&5R41L*YY'T754G<\JC)'8; 9NSL#2<9CBA7B#PFSZMH% MJ],XVFBI(5<[B0HY@1"YQ$8;:'@:'D$B.%V=5<7H&4"9=ED7K2:JY'@B6LRV M>!8BK6>LVC5[Z!&&0,6I']D8#$M=W6-X9\)C,76OCCG; )M_WFU=?2GL!G:E M=#KW"\2C#],IZ!J;=[L^PV:?I.EK!_#HY-)%O7?N:6&0!@)U]^^P.KQ>EMVE M_6+>/7WNA492AE6P1=?P.AO[3'?/B6YB5>.N\(VR6%PWW.,+##09X/>M4O8X MH0##FV[Q%5!+ P04 " "Y0A-5R<[OW-H$ #H"@ &0 'AL+W=OM(EE&IT>,\R\[&C50FF5_%LTD[?HZF23;@W=J60<^&,^O6KFD]Q1^;A\==N,=2JD: M,EY9(QQ5U\G-Y/+VA.6CP"^*UOY@+=B3A;4?>/.VO$XR)D2:BL ($G\KNB.M M&0@T/@Z8RQT>&?7W]/@SRGC M%5;[^"O6O>QLEHBB\\$V@S(8-,KT__+3$(<#A?/L"PKYH)!'WKVAR/)>!CF_ MF%^>BP>D+I 1IJ"A#2E^#'4Y,1;LR(3 MK-M<7HT##+'XN!A ;WO0_ N@DUP\6!-J+[XU)95/ <9@N*.9;VG>YJ\B/LB- MF$Y2D6=Y_@K<=.?U-,)-OP!W3Q4Y1Z6XLS[X5-S)5@6IU6^LG+UKG/+GTK"[I.T$B>W(J2^==? M3MRPYXB!Q"2FX "L#"T!;/93P%DL&(5&Y M2S+D$.0-!O'B#PQ'AO,M:$E#M@-75Y)39CEPW$<#FU:ZH(I.2\?Z/)MYJ#)" MH*(VJI!Z]"1E\(6],"0=1%PCRBZ**U#L?/RN3(DYYQ3!_5IR3\$\.E$L-E&W M #5E.J8&GWO_>*##6X.IOX^[(;2R0RN7/1NK[3(RDN6*4^QC.+;RAS395<)U M8!VE"*W!==1PUCEM!SFH)2>AX "5P'I6JJU%*04E]4'(GAJY[SBNHL(8@12W M2OH$?T%+1L69=;9;UC"VPC4T&FA4LE : 2<.1*&[DL'B!]!@KGN[H>X!!K5X MQLZO40&UY%&XP$ 55E2H4!Z +L/A94"I1WG MUU A/>0:,_L6TZWVJ8FM@,?:UJ1]F*-G"#(W@I: M2=UQPXWZBH8C?L^\'*I;>+4T"MPEJ+?6;^A M#Z%UK70?@W^7UM$.#4GAH')M> 02W'MSW'6J9)!*X2.#]H:E/A9'LUD-V_B=0 M2P,$% @ N4(35:Z5V=XO P V 8 !D !X;"]W;W)K&ULG55-;^,V$+WK5Q#:14]$)%'45VH;B+/;;H$&-7;[<2AZ8*21 M1402M205Q_^^0\G6.HLD0'NQAN2\-_.&TO/JH/2#:0 L>>K:WJS]QMKA.@A, MV4 GS)4:H,>36NE.6%SJ?6 &#:*:0%T;L#!,@T[(WM^LIKV=WJS4:%O9PTX3 M,W:=T,!6M7_)RC9K/_=)!;486_M9'3[!24_B^$K5FNF7'.9< MCA7+T5C5G<"X[F0_/\73:0X7@#Q\!:NOP@K-BLM#H0[;*1S063 MU F-S7LH!QRZO5X%%OE=5E">N+8S M%WN%*V+D3O6V,>1C7T'UG"# QI;NV+F[+7N3\4X<21Q1PD+&WJ"+%['Q1!>_ M0G=62LFN%;U]+IC\?7-OK,;7Y)^7I,_,_&5F]^E1[3@A6$9RGEK/!^ULH8,EQ.Y*)B2L,"F;*$L(1&",TC' X@0I3EV(VML%"A M">"=EU),-A.EE/&01A%*2U!:1EF4>;L7"U#2H^V^=Z-+.,V28HZ1(BDX^7!) M"T]HPP;(01AW'33F&>6<8<1P@ED4D]\;(+>J&T1_) UFE:KKI)U56X6>\0"D M%(.THIW9JFG(QE,U$0-.X$FBR4%[G/C3,*1A&+[T\@87;M.!WD^>ZNJ-O9V- M9]E=;/MF=JMOZ;/GWPF]E[TA+=0(#:^RQ"=Z]M%Y8=4P>=>]LNB$4]C@7P]H MEX#GM5+VO' %EC^SS;]02P,$% @ N4(358D/*EBJ @ T 4 !D !X M;"]W;W)K&ULG91-;]I $(;O_14CM^J)8F,()!20 M0M*J/42-DK0]5#TL]H!7K'?=W3&$?]_9-3A$2I#: W@_YGWV'7MG)EMCUZY M)'@LE7;3J""JQG'LL@)+X;JF0LT[2V-+03RUJ]A5%D4>1*6*TR09QJ60.II- MPMJMG4U,34IJO+7@ZK(4=C='9;;3J!<=%N[DJB"_$,\FE5CA/=+WZM;R+&XI MN2Q1.VDT6%Q.H\O>>#[P\2'@A\2M.QJ#SV1AS-I/ON;3*/&&4&%&GB#XL<$K M5,J#V,:?/3-JC_3"X_&!_CGDSKDLA,,KHW[*G(II=!Y!CDM1*[HSVR^XS^?, M\S*C7/B';1.;CB+(:D>FW(O902EU\Q2/^_=P)#A/7A&D>T$:?#<'!9?7@L1L M8LT6K(]FFA^$5(.:S4GM/\H]6=Z5K*/9J OWA;'TX0%M"7-C62_URHTG,3'> M!\79'C5O4.DKJ%X*-T93X>"3SC%_#HB9VYI+#^;FZ4GBC=A!O]>!-$G3$[A^ MFVL_X/JOX*YQ07 M7::,JRW"K\N%(\OWXO=+R3:LPFK(3>02$JRJ=*G\*;7W0B[XOQ!X9*E27=T%H%M M^D7QM!AX@]HF_CL+U!+ P04 " "Y0A-5 M8>C":W0" !Q!0 &0 'AL+W=OD(+&!)(FB EVZW:PZK1;C\.50\.3 ):8U/;V>S^^XX-H:F4 M1.H%C^V99]ZQ&<\/4CWI"L"0EX8+O? J8]I9$.BB@H;I&]F"P)VM5 TS.%6[ M0+<*6.F"&A[0,)P$#:N%E\_=VEKE<[DWO!:P5D3OFX:IUQ5P>5AXD7=<>*AW ME;$+03YOV0X>P7QKUPIGP4 IZP:$KJ4@"K8+;QG-5HGU=P[?:SCH$YO82C92 M/MG)YW+AA580<"B,)3 BK#?2K.%*==$HKA;V4AZ-PMT:XTR>W9 O MI@)%ED6A]E"2NQ>\;PUZ-@\,\JU74/2L5<>B%U@1)?=2F$J3.U%"^2\@0&&# M.GI4MZ)7B??LE<213VA(Z15N3WW:'3K_D)T*J&5NC::O"61'R>IGX93M+-)ZD_&=+0&I:40P$DA-7I% M_CA+?9I&9#*>^A,:C[I<\33Q$YJ2*,O\*$Y&7Z5AG$BWQWH=T.M ?.S'=.HG M8>K2IM$8[2DY=[K!21N@WIUK=HUJ]L)T'3&L#N_)LFNCO^[=8W3/U*X6FG#8 M8FAXDXX]HKH&[R9&MJZI-M+@X3BSPC<1E'7 _:V4YCBQ"897-O\#4$L#!!0 M ( +E"$U4=U#S$Q0, . ' 9 >&PO=V]R:W-H965T>%L6D&"WISNI2*OC>OULDH&X.';.=I;E MWW?L0);3[=)*B/AEYIEG'L_8LZ/2!U,B6GBIA#3SH+2VGD:1R4NLF.FK&B7M M[)2NF*6IWD>FUL@*[U2)*(WC450Q+H/%S*\]Z<5,-59PB4\:3%-53)]6*-1Q M'B3!9>$+WY?6+42+6Z4 MRY89?%#B;U[8Y2.S;#'3Z@C:61.:&_A4O3>1X](=RL9J MVN7D9Q=W?=@P@68ZBRS!N<4H/[NN6M?T'=1%RS$V1)"&F,4#=?ZY&U*;OXAO\&8MI!"YST5 YT "41*# OC. H'"O-$=SWY.L0G$* M88/<5#R'1U;5!!S"1]'P@N>F5 =#DH\']R$\:$8X+K//LB .FC,!J\;Q- Y" M['Y?%O_0!N4+FU+E!UANC=);O_\G_TZ0\,@1-K4F$UK[QK?:)];K J]97I+< MQ<7(QWOP&<.2Q&56N<373-)553E]"D5Z2V7!:D8A22!E2]1'3LJP/%<-V3C9 MC#LRV&IU0$E.1PG;$ZGN!'R5I-_S)^O4LJ]G^YOY4=N*%0A6D8E&.EB4J$D* M?\#>M3NA*:E_D2H$^C:N/LC69<50*U_?$+G[BRY8[,.2&"([.'ZN5EK2/I0C M^I\!@1-#5R:";GDS[;D.=FV<]#:OP3] ,@K3T3A,1JF;Q&&2C4O4Q<@.Y17_P+4$L#!!0 ( +E"$U4)QMR?/@8 M .\. 9 >&PO=V]R:W-H965TU9Q2+I*@/.[9G_)%,Z=J54XMHP6U<5-X\7HM3KTU[2V[RX MD8NEHQ>#LY,57XA;X7Y;71O\&K0HA:R$LE(K9L3\M'>>'%]D9.\-?I=B;3O/ MC#*9:7U'/SX7I[V8"(E2Y(X0./[=BTM1E@0$&G\WF+TV)#EVGS?HGWSNR&7& MK;C4Y3=9N.5I;]ICA9CSNG0W>OVS:/(9$5ZN2^O_LG6P'0Y[+*^MTU7C# :5 M5.$_?VCJT'&8QB\XI(U#ZGF'0)[E%7?\[,3H-3-D#31Z\*EZ;Y"3BIIRZPQ6 M)?S<61(?LL\JUY5@7_F#L,G/6P%*\R]Z)V]>Y.,XP^O\,U:OMEKZ/^O)S\( M$5$MJ:!)=%D;(Y1C#O58&7TO_0;;GPDEYM(='$>?1"$,+]D>[.-^$L=XVA^. MDWZ,QX/HUG$G6-+/\.O=FVF:I!^BK]K!(=^)G,9)?P3;#L25F N8%O_-(4E& MP3F-M\(W@;\C4.S&?0X2S+>M]J"YB5^G=*<-5W:.V9-KEVT>62&Z#K=L>JXZ6G'U^)-E8CX7?E %/PE MBR EAN=V$^%1NV>9-GCB8044K'Y'8X^-AN/^U*>89,,^^MO4L\/N/5/X&"#+ M30_H9=,9M#WIMATK@;&OBL"85"2 0N(EI)"3\FZP0;C)EQXG1W>DLVC%9.05 M=(#'9-JT!8,68U2]1UR4H KQ]5"SLJ6( 9,'>;Y?I(2?P!LV%Q?7[-2<]^4 M!?R5L+85ROXP'O>/?)1?42*SFRT;^OPRK]C&<#SLCTD\6>PK]R/BB3ZV[>P4 MV+AZYN9U21M R'N.-EA* MU/=M+TP +P&I4&RO,E[\A6]6154]"NU)4ZKZ=\AZ9G4IO.PVGNEDZLN;A3)' MYWEN:M"[YWG8=M.L/\3Z-(3=+*-4E;34 LM"_4<^WC=N#$H)W8?QS+( GP[] M\LT[7JT^7'4D2?AQ1]JW3N=W3*^* MB3 \PU!S/OB2[\ZZPJE!:8=@:#IE*XI#3.\=B&R)H1I,A?+CW8 :XPL<8JU[ MJ3B1E>2+H8'3JI?X3)12W(,WY(/*59A>:.>=*!^)I?(A/-V7RLV-\.'O4>1G M5?&[&),0\[]V=&)IRAYMRHY=O])4$[D91R57RO?*T8Q9T"R0R@?#%L%[XJ%$ M(V3>\=Y1I$"&5[I6;I=D-L-G0Q-O0]F]-)9ZCR MI R)P#8VWC1!'\'*UXP480BQD=*++=RH!^4@\MVC*_W>:S=_M[74.OH*VGJ& MVDG:+G,)/E1+7*BMRD48]],C/Q@1(FI"3'8=<@>=2T@ES,)?M4@>T$^XC[1OV]O< M>;C$/)F'J^ 7CN\WIFXIYG"-#R>C'C/A>A5^.+WR5YJ9=K@@^<_8O4$L#!!0 ( +E"$U5.USK']P( &8' 9 >&PO M=V]R:W-H965T7/P%":' #)!T MVD-F,LFT/71Z$/:"-9$E5Q*0_/NN9'!A2DC3BRW)N^^]E;Q/HZW2CZ9$M/!4 M"6G&06EM/8PBDY=8,=-5-4KZLE2Z8I:F>A696B,K?%(EHC2.+Z**<1E,1G[M M3D]&:FT%EWBGP:RKBNGG&0JU'0=)L%^XYZO2NH5H,JK9"A_0?JWO-,VB%J7@ M%4K#E02-RW$P38:SGHOW =\X;LW!&%PE"Z4>W>1+,0YB)P@%YM8A,'IM<(Y" M.""2\6N'&;24+O%PO$?_Y&NG6A;,X%R)[[RPY3@8!%#@DJV%O5?;S[BKI^_P M]KMPT'"('XA(=TEI%YW0^157C/+)B.M MMJ!=-*&Y@2_59Y,X+MVA/%A-7SGEV4F2=.&&:BB9QN$H MLL3A(J-\AS=K\-*7\%*X5=*6!FYD@<4Q0$3B6H7I7N$L/8MXRYXA2T)(XS0] M Y>U!6<>+GL![JA87R7\F"Z,U?1__#Q5;P/7.PWG>F9H:I;C.*"F,*@W&$S> MOTLNXH]GQ/9:L;USZ/]Q.F?Q3JL]3P(S9G@.N ^H*2!O HS?/6[A%!1$Z.0?4RJ*TG(GC MA) ,+2^!F:8L4+6S&].%*='F2N9<<.8=2"U?X>X<-Z*.E,7P7+PM[599CU^GX4AVF2=>9'T9SH_*&NJ50 M"R8-I&$:#R )+RY[_\#XMWS'?!7V^YD?)>%@< FG.BHZ\+X*]SI9OOOL9TT!*GM 2Z)QW[O^8WMF:15^LF4 MB 0OHI8F9251,P\"DYOR88M'7$\/JE_\KG;7+; MKFKCO]!VV*D%YP=#2O1DZT!4LOOSE_X<1H2[\ (A[@FQ]]UMY%U^X,2S1*L6 MM$-;-3?PJ7JV-5=)=RD/I.UJ97F41?$$-EASP@+67-,1'C67AOLS,_,D(+N) M@P9Y+[CL!..+@G"O))4&/LH"B[\% NMNL!B?+"[CJXKW_ C3Z"W$81Q?D9L. M&4^]W/2"W.5LX<=B:TC;Z.>YO#O9V7E95SQST_ <4V:KPZ!^1I:]>1W=AN^O MF)X-IF?7U/_EFOY+$!Y+A)42#9='*'D!4MD2[."-A]/XX&QS>$66<42N#:"[ M>!A?&W!9N$$T.7<6P>CY"M1[7Z0&@4N V&[IC]!E!+ P04 M " "Y0A-5:$.)55P# "R!P &0 'AL+W=O29>\FV=H&[$V*YK" D>W'H>AA)(TM8BF2 M(:E5_.\SI&S9"^RZ0'NA.-3,XWM#SG#1:?OD:B(/WQNIW#*IO3=W:>K*FAIT M$VU(\9^=M@UZ-NT^=<825C&HD6F>9;=I@T(EJT5"D5;"ZYM&K2' M#4G=+9-I6$5F!IMTS6T[O-//A' MAS\%=>YB#D%)H?53,+Y4RR0+A$A2Z0,"\N>9[DG* ,0TOATQDV'+$'@Y/Z'_ M&K6SE@(=W6OYEZA\O4P^)%#1#EOIO^KN-SKJN0EXI98NCM#UOO-9 F7KO&Z. MP*+#^AQ]7"Z@YL\&:T,(E28S23$RH< MRJ.W_%=PG%]-9Q/XW!BI#T3PZ'7Y!-O6EC4+A:U$=;=(/6\3G-/R"+GI(?.W M('-XT,K7#CZKBJJ7 "GS&TCF)Y*;_"KB QY@-AU#GN7Y%;C9H'D6X69OP#W6 M:.G=AB56L,4#7S$/:VM1[2G._UX7SEN^+_^\)K['GK^.'6KHSADL:9EPD3BR MSY2L?OYI>IO];<99EX$)JW4COH-1-PU7G(B(W#Q#.M:A* M/:,//@-2 HK=Y]:U&*G6 < M.C'IX\R)B6$F$SXLZT4I#,:"%BIRN18R$@Z>M6R5YX836:"40%+L12'/H0Z8 M\(6NR3D%%TJB-"A104%<@A5!<3CO7O*5MZ)H S7'8%:W^QH,'JR6:+CQ%I1GC/5)UL'=_10H:<) M_%[S=3AMR@-4PO6\SRR'E(_PW], ?&"MX4TZX>O*8L>4=U8WO=YX)3ZU-A - M"P="ZP(>[W;9,:("GK Y'<\_WH;Q??9:-:87?;0ANX^O!1^YY@O4M]1A=7B0 MUGT?/KOWKQE7S%[P84G:<6@V>7^3@.U?B-[PVL2N7&C//3Y.:WY4R08'_K_3 MVI^,L,'P3*]^ %!+ P04 " "Y0A-5@HSZ50T" "U! &0 'AL+W=O MSU49R=*;91;8VP(L0)*N(Q?%])+E0-$O"VLIDB3Y@ M)12L#+$'*;DYSJ'234J']+3P)'8E^H4H2VJ^@S7@]WIEG!7UE$)(4%9H10QL M4SH;3N=C[Q\P%004Y>@)WPPLLH*H\R,EX[IBT M/]('GL]/],\A=Y?+AEM8Z.JG*+!,Z0=*"MCR0X5/NOD"73X3S\MU9<.;-*TO M4NO*W8%Z 9N_?#>_CCS<$CGN!XUOT?[Z' M_Z>0;R60A98U5T=2]O02VYV0EE2P=:%QH.'"26F;9+60%V'PMQH=&4>IJ7[KX#Q#FY_JS6>#'] M_Z?*W@!02P,$% @ N4(351CX8:L* @ M 0 !D !X;"]W;W)K&ULE91-C]HP$(;_BN5*/:UP"($BFD2"[5;M 6FU].-0 M]6"2@5@D=M:>;)9_7]L)62H!:B^QQYYY_$X\X[A5^F * "2O52E-0@O$>L&8 MR0JHN!FI&J3=V2E=<;2FWC-3:^"Y#ZI*%@;!C%5<2)K&?NU1I[%JL!02'C4Q M355Q?5Q!J=J$CNEIX4GL"W0++(UKOH<-X/?Z45N+#91<5""-4))HV"5T.5ZL M(N?O'7X(:,W9G+A,MDH=G/$U3VC@!$$)&3H"M\,+W$-9.I"5\=PSZ7"D"SR? MG^B??>XVERTW<*_*GR+'(J%S2G+8\:;$)]5^@3Z?J>-EJC3^2]K.-PPHR1J# MJNJ#K8)*R&[DK_U_. N(YE<"PCX@]+J[@[S*3QQY&FO5$NV\+):WXDD_$="8,PO(&;#%E./&YR!??PW @\DE_+K4%M M"^'WI1P[1'09X9IC86J>04)M]1O0+T#3]^_&L^#C#8'1(#"Z1?_7:_AOR)MM M"FYE$_LAT^G\;CZ)+LEF9Y54@=[[?C$D4XW$KJB&U:$EEUTEOKEW_;SF>B^D M(27L;&@P^C"E1'<]TAFH:E^76X6VROVTL,\*:.=@]W=*X&PO=V]R:W-H965TJA\4>\)9] MN+MKB+]]9]?&I5&"V@/V/F9^\Y_USC#9:;.Q!:*#!RF4G4:%<^4XCFU6H&2V MITM4M+/21C)'4[..;6F0Y<%)BCA-DO-8,JZBV22L+34JVQGMT7\J%H5G<47(N45FN%1A<3:/+_G@^]/;! MX"O'G3T8@\]DJ?7&3V[R:91X02@P.Z*:32*(,<5JX2[T[M/V.9SYGF9%C8\8=?8#BAB5EFG9>M, M<\E5\V8/[3D<.(R29QS2UB$-NIM 0>4U58_XW M("9)G:YTKVN>'B7>LAH&_5-(DS0]@AMT:0X";O ,[B#%.2I<<6?A^^72.D/7 MXL=3"3>\X=,\7RIC6[(,IQ'5@D6SQ6CVZD7_/'E_1.VP4SL\1O_GC_+_%/A< M(%QI63)5@Z]91S\+C.JK,RS)$*C< :VE.6="U"?T )2ET#6BA;(RMF)DZS3< MM_4U3/IO-F]!K\!1C!OET"@F2,$65>6#YMA[%-Y1B_'!2S091:(FX-WW86"K M146KI@;+A']1M:$Q3-@36RU_4EP?7W#)'?,2[&-^#62K:;!!R+G-?)):>5)& MM]7P917<@%E"DUZJ+\R!*57YG&%9AU1:WFL+<\U,[B5>TUEE3AO;._$1F=0D M%/"!6J4E0D5%8()O.,L=\5_2;1ZA*RRUHQX3A@4U M=33>@/976KO]Q ?H_B9FOP%02P,$% @ N4(3542[XON= @ \P4 !D M !X;"]W;W)K&ULK53!;MLP#+WW*P0/V*F+'2?M MBBPQD'0KUD.'H-VZP[ #+=.Q4%ER)3EI_GZ4[+H9T.:R76*1XGM\I$+.=]H\ MV K1L:=:*KN(*N>:61Q;7F$-=J0;5'13:E.#(]-L8ML8A"* :AFG27(>UR!4 ME,V#;VVRN6Z=% K7AMFVKL'L5RCU;A&-HV?'K=A4SCOB;-[ !N_0_6C6AJQX M8"E$C'@'N!.WMP9KZ27.L';UP7BRCQ@E B=YX!Z+/% M2Y32$Y&,QYXS&E)ZX.'YF?TJU$ZUY&#Q4LN?HG#5(KJ(6($EM-+=ZMU7[.LY M\WQ<2QM^V:Z+G5)&WEJGZQY,=BU4]X6GO@\'@(OD#4#: ]*@NTL45'X&!]G< MZ!TS/IK8_"&4&M D3BC_*'?.T*T@G,O&%R-V!<*P>Y M,EVR*Z% <0&272OK M3$LOX.QL'CO*YC$Q[YE7'7/Z%G/*;K1RE65?5('%WP0QR1RTIL]:5^E1QAO8 ML\GXE*5)FAZAFPRE3P+=Y VZ)>>Z54ZH#5MK*;A RWXM.#0:S1 M;,*ZL2R4V\WDX!TVVK(;Y)?P;AW>@-E0 4QB2=!D]/$L8J9;,9WA=!/&.M>. MED0X5K25T?@ NB\UZ>P-GV#8\]D?4$L#!!0 ( +E"$U6H5'IZ- ( "$% M 9 >&PO=V]R:W-H965T=.> M*A*2E'4,(@%K-1Z04-&VAVD/)CE(5,?.[*/0?U_;"2F3 &DOB>]\WW??^7P> M[95^-@4BP:$2THQ9050/@\!D!5;<]%2-TNYLE*XX65-O U-KY+D'52*(PG 0 M5+R4+!UYWU*G([4C44I<:C"[JN+Z=8I"[<>LSXZ.IW);D',$Z:CF6UPA_:B7 MVEI!QY*7%4I3*@D:-V,VZ0^GB8OW 3]+W)N3-;A*UDH].V.>CUGH!*' C!P# MM[\7G*$0CLC*^-MRLBZE YZNC^R/OG9;RYH;G"GQJ\RI&+-[!CEN^$[0D]I_ MQ[:>.\>7*6'\%_9-;!(SR':&5-6"K8*JE,V?']IS. '9([YOP2!5=;)BX[RIM%5Q@5_A;A_"U$8 M15?HXJ[:V-/%%^A6N[H6:.\4-CPT/@._)VM#VMZ4/^>*;[B3\]QN>H:F MYAF.F1T/@_H%6?KI0W\0?KVB/.F4)]?8_[=/5\G.2[V2X<8=O^M!_V8N"2V$ MH.9E#E))]!_KSU2%0/R YF3O(R3Q[2 .X=P1!"?7MD*]]<-I(%,[2WCP>"ZZWI30@<&.A8>_S'0/=#&1CD*K]$*P5V9'RR\*^8:A=@-W? M*$5'PR7H7L7T#5!+ P04 " "Y0A-5/#+0F 0% F"P &0 'AL+W=O MO(-RB2 #7GTF:IHD!QTV0 M'E DB*_MP^$>:&EE$:%('4G9]?WZFZ5DQ2F:X*[W8DLB.3LSW%WR?&/=@\^) M@OA>:.,ONGD(Y=E@X).<"NG[MB2#DC >#D\&A52F M.SV/W^[<]-Q602M#=T[XJBBDVUZ2MIN+[JB[^W"O5GG@#X/I>2E7M*#PI;QS M>!NT**DJR'AEC7"4771GH[/+(YX?)WQ5M/%[SX*5+*U]X)=/Z45WR(1(4Q(8 M0>)O37/2FH% XZ\&L]N&Y(7[SSOTZZ@=6I;2T]SJ;RH-^47WM"M2RF2EP[W= MW%"CYYCQ$JM]_!6;>N[DN"N2R@=;-(O!H%"F_I??&Q_V%IP.GUDP;A:,(^\Z M4&3Y408Y/7=V(QS/!AH_1*EQ-<@IPYNR" ZC"NO"=#SLBWOE'[R0)A5?3$(N M8"N#(G]V/@B(P/,&28-V6:.-GT$;C<5G:T+NQ95)*7T*, "UEM]XQ^]R_"+B M9[D5DU%/C(?C\0MPDU;N),)-GH%[1JKX8[;TP2%%_OR9Z!KSZ.>87#9GOI0) M7711%Y[6#WLBY(1Y M*E J%D$&>+6@Q%'@63;KW)#4(8]H-U4A#4;=6B68=G!SLSA$@21:.BR6HJR6 M6B4BKU=006Y%)MFBM+5D^&!CL)6V2ZE%W6,00B3662/7RE5>S&^_?OKX=O2^ M%R,"$W]4J*2SD?XQUG(;D;Y9IT&KCG?K5M*HOV7L!74Z'KW[X!\)(CYKREHV&(@' Q))\!;LL6#!F?*)U!U8/*H9 M5+ 0 =K JI&X,S3+B>/_#MLZ3&!.!#3,V0%<)Y+HJEO3$UQR>((N$"DA0 MK9'V.*%3)I%5#CP'<&8O\?[0:WTT MS1%$#CA4E-INB7Q=?&L$M?Q=@@,6W"&6=MWL:N-D!ZF@%89@5J^IIH1PBJ>]/3.E]\J'N%^9LT7=L?J+ MOL@HQ09HL0*N,^P&YB*R:UG,9_=7"S :O(QMOM4IC3#WJ'9V,>L?#(<_#()R#X;1K;9"Q GON#CL&=W=W M0EOTS:9G+2YGXH =?9(6H\-:_K)_V$&0XY-)[V3RGC&NFDT1]\2%P!L[9^/# M+OS!Z^,)&)W^F,L,QU"C86\T&?T8+J8W:E46MC+<;=Q>Z\/<6\ZS3A.B3?\] MZ^)9$1.067Z*$_L_.PX'>W>7>"3P# +&,VO#[H4#M%?CZ3]0 M2P,$% @ N4(35:G+7F=( @ ' 4 !D !X;"]W;W)K&ULG51-;]LP#+WO5Q :L-,0.T[:%5EBH$DW;, *!.T^#L,.BLW8 M0F7)D^BF_?>CY,3-@#; =K MBN3C>S*I^]]8NG]N.M#*X=N"[II'N M<8G:[A9B+ X;-ZJJ*6PD^;R5%=XB?6O7CJUD0"E5@\8K:\#A=B$NQ[/E-,3' M@.\*=_YH#4')QMJ[8'PN%R(-A%!C00%!\N<>5ZAU &(:O_>88B@9$H_7!_2/ M43MKV4B/*ZM_J)+JA;@04.)6=IIN[.X3[O6?)-OMD M9M HTW_EP_XB&2TLHM28S>24"3_E MEAQ[%>=1GHU'\ 4KJ6'M;(%8*E/YV3PAQ@X12;''6?8XV0LXXPRNK:':PP=3 M8ODW0,*D!F;9@=DR.XEX+1]A,GX+69IE)^ F@]!)A)N\ +>R3:.(VXD\2%/" MBMFR5C2%0@]7RA?:^LXA_+S<>'+<+;^>.X6^R/3Y(F&"9KZ5!2X$CXA'=X\B M?_-Z?)Z^/R%A.DB8GD+_AW_U/SCPM4:6+_DQ%G3TMT]^P(<"6P*^!\#Q=#/F M*ZU(53).E^)S+/EP.8DL4(VPZ3S'>#]Z3GERU+$-NBK.I8?"=H;ZYAUVA]&_ M[#O^*;R_-ZZEJY3QS'C+J>GHW9D U\]B;Y!M8_]O+/$TQ67-UQ>Z$,#^K;5T M,$*!X4+,_P!02P,$% @ N4(350Z:&]$^$0 XS( !D !X;"]W;W)K M&ULI5MM;]M&$O[.7[%P#W<)H-B6[-ANW@#'27$% MVEX0M[T/A_NP(E?2UB17Y9*6=;_^GIG9Y8M,LTT*%(TDK. M;XRIU4.1E_[MT::NMZ].3GRZ,87VQVYK2CQ9N:K0-;Y6ZQ._K8S.>%&1GRQ. M3R]."FW+HW=O^+=/U;LWKJES6YI/E?)-4>AJ_][D;O?V:'X4?_ALUYN:?CAY M]V:KU^;6U+]L/U7X=M)2R6QA2F]=J2JS>GMT/7_U?G%*"_B-7ZW9^=YG1:(L MG;NC+]]G;X].B2.3F[0F$AK_W)L;D^=$"7S\'H@>M7O2PO[G2/T[%A["++4W M-R[_M\WJS=NCJR.5F95N\OJSV_W3!(%>$KW4Y9[_KW;R[DN\G#:^=D58# X* M6\J_^B$HHK?@ZO2)!8NP8,%\RT;,Y0==ZW=O*K=3%;T-:O2!1>758,Z69)7; MNL)3BW7UN_FQNA6#*+=2MW9=VI5-=5FKZS1U35G;Z?PPG+9@7%8+57NLP2A%J.3\I#@;E1 MZ\HU6Z)[;^!J-KM='WA@CM5697*U,9^)W>;J%[840A M[80H,)4_5C]OH,;'M#0$L&6:-W"KQ);*E2P01Z0"*;-V%8SY6I6Z,/E^IFZ- M]85-U0==0&C(]UW>V,RF?N/N/"QT>?YZIFXJ#3J0#-)GX*&R.E?O&^+3$XE\ M]>(Z^PT/R&%N-RZ]4W 65RWI>?*#_1TDU0=KU.VVPBM8\ZM=BH:[C7_4Z086 MR>)+O-\-2XP(K!M=NTK4T'@24MWKRKH&^MMOH7=(60B%"F(9;+DM6(F@ HX; M,<\L 7'$N,WWJG:=0M5N8],-JR]WI*<,9H'9UAOD;T76_J6T].MMC8?"FS>P M)Q0!EJ#?4G'(D';9.D.;]%PD4[I.>O[S#Z^\@Y1AW1R5ZY?Y,CMV,-[@[TALLW,,91;HK*P0C('(J6#5 CFNP3Z=*!2 M[2RTJB7N6YWAQ6;D[4V+1KE3+/>V'USI'.E:7%VI^KBZND'HF0OEE&\HO M)V/P$TR?VFTN!KV!XR/]9.PIHQ']]=381B0O*P]J3]+V.?2WLJ7&6IC7D]I) MV7N==ZP$(;?8&G[XB?D MG%M7XR&9IS*I0ZEF#>)!9GV:.]]P'F3#C%HR!#>_0 9_^LT=19OUOC'9E!8O M6RU>3FK@%\\)^2-R94'A/*K$+R01THW9ZN!)>/J$_Y);$(!%=DEVMMY$-Z:T ML^VB96U*2FWP7SPWV^!2CW,1-KI&^D21@AV0 !23WDYST)9 M5:L*Y:3>.-_C:LJN5ZU=KR:-P.$ MPP6W6?X6'24J@8JX U^HO $HP2=34+:UJJR_F[+MMZUMOYW.6AOXX@NDXP+X MIU7LJ&&_BI"ZKD7JV4 T,:)GC7G?V4ULG'"!P L*ZBE)5Z3JJF&2QZJW5<\9 M2,_]5H'5VOMAWI:XOW]SM5B5V5!'?L]X&QARIDI#KR=HA$U5 ML8O3[ZK6#Y24/D>N'G$3HHV42]L-S 6=9(:LR,BX\5$9?FM2:D\5T!VR]RJT M":HPR&U97[U$@HT1ER/-I_1OX3*34[J&8>S_" 1X4:*BUM2D\:&M^6VJ05X MQW;#FQ1VJ0/4M;Y+14O->_"&)-C>FAQ,X'7J:*B>M [E2M8C%$[?.I()Z8#J M+:%R*E%QUQC5#)(GD_;\M.OY3RMO8#Y(\@O+=D)490 ME5NRYILR4+'TK86U$2%IE6YTM3:T7<@T/N'*&PV"!UH):N/I4IZ['9<*FA%E M9&?.\.3KO@@Q1:X6G(+%;;RX?F;!(17OR,>Q>A^1+O?)HA]+W4\G+A $8J2/ M/ A)-K0[DH%W)0L:Q01#9@45A/C:P>T )K'_:E1H8G5,ND,=X+VDL^2D>_9& M4O-)9Z(J4:+OW8][XI]=K-J/B*R>>Y%H$ >JHS1'W>S:<'X&DDXHG4DJ9>UQ M2 -;]=\:Y/65K7S]PI:S\(D:9\[U4YI8=)I8_$$K1_UQ+?W5Q]C=CZOEJRBI MP>_=_&"@,)9:\GR_+"#GHQX [W"OA1+5?:/U(>XRU>IDO#U#? 8!P+XO49 MN;-K9V!4&T&3HC5[C6S<#49M0:*9KE:E>FMKJ7.39N_FD//)P:% X5^EFJS4 M#W9EX,M CL3]N/'_ CW!M/?Q:4Y/;7SZ.'(\YZ\,R*-=PFG-E3PFG:Y0W6QS M/CV5_$QM,*A_[OK<<<&_G(R*/UH?VV@"*,]ZW1]*BWT0ST4*?I[L 'IFU&?K M [#*'3K- T5^Q],I>$=A/2\/LS "$0 6EO,YU8TX@2-@VU8[2?656>52Z$2K M-,D2ETRP5)!EGX5>702T(UA4Y])! D%O=+D6$!LY#<"2.L$Q]I#J"'+R:0^9 MWRUSNVY#6D?9F.\DVISK0*"/=S)+(U'\O'8(ZHYX+"M1^)E,C432!M8)^85T M07Q$\H2]YY>O?7\>(J9AGO(PNDRX5$,[[?Y/""+AWQI>DQN(1SRR\].J\/CD M5]8$U%GHWUQ%PTM 8==473C(I*H=BC_%DB@A:K>O3_J]AQ!(IT.'LC+7C"@> M_AO1,56P1$ 2(ZY WL?Q0L=D.P=FL>&"CCX2V:C,8ZH4XM:/66@QBBVH*E;2 M K=[F(H)[?N?ZRF6DW(VSL>>C $FBI?KN>^")]#V4 M*WF)XB*>4)!ZX640J]1T@LC-0B#0'W_VO_-(CT9.J6$845&M\^2A6[WG AO MZ+JB)IM!?=9DE!6MAYFGDZJ"3\=>'KKY@F*5\6M=S_IY<0( M1);3$YH^/)^%@DWUORN&+8^5R44AI R' MC.EK*PA+$#BT;Z1+T "&L?"D&;>!;=#1-"4D] -7.::!NKAPJQ8>':"],2.1$9'!O1B[T,VD##RF\"=#R,K;8?:F-?RJK8 INQ M7;N9%X&+P7AF,5,7I^H<_YVIEY>4AT3$$$K"3KW?BMH 5->NMEP1*,CH=(C< MG69"T Z-TK#AI_[:[B0HX_X]?2J@@EI#M!Y AE8![>A>/"GABOQ<4M?(1#>. M8R1D(V(=1GM)IUJM;9=H!.6LD*E FIP#T6G9+ Z] M0LA2&]"&<6Q] YR@S1$:7PT&*6!Z% ![=EI.*YO*WPK>Q)$II*SIV13'A9I8A)5$.Z?=RQE M37=T ]6+,"4M.=C[=4?!\^O3V%FEDRRX#R?^)_Y$'PQ3^B=G[7R"G M!@\W\6%K2VZI9<8>!BD)=%6$+)@C$BPA8)DB#X;',DU9!:CH72XEF2:>TUNZ MIEX[^B5FTY'*T^VYLG,((,8UO-AR7WK-C$+%OT3[3;()N4[ MW"69V$7.4O^F%F=7LY=G=&_@8G9U>37E+-WA]'SZ9/DS^-55*D=2'Y#7]9YW47F@N634,SC6)@T0U#:?+>9GL]/34_7MXIS^G5)<=QX] MGSY-_EZF13_3*<6XFKY@?;SX"AJUK9(:93\R L 1#V1APW P0Y.Q<#^&@66HN73V<(#G(IMMGEXU M?$Y%%&@BP7<94CD(!T=T(%9U-[CHP=+4.[J<$83E#<>@#QV<""I@QI(#QH;< M!\E:/$F$<[WKG[.84C/#G)EY%,CX^A%Z5J)]T5Q@,I#7?(R>[Y.MMCR]Z%7, MWCGT/WRRI2(0IA @W"I0M6>4W"')MKWQ) IH';K5]LWP^"1F#:E[?:+X&4VH ME>[]2_+/@&U8*>M*.;>N:5HU[&Z!%6I,>WO)K3IFEF\5]&X+#0_'Z8)7!!/# M/4F(BHB4KMLF"GJPW:-=DI[;\V$)*^K@H-P?= V#_9.ER2TR%*60;29H2$LJ..@&95T>G!1**$;GX3VKT0. M?T"TUP<7,ELSAY,F'[*XA!2/GWKUFR<2?/F!,TQ9VRI6 )G$\7V:+-RZZV'R M!*$^W ^(7HY?>8\6U7-[$&MO3$"!-RI)D8/Z#Z;UW3V)^1_<;ZA=>O?B/:R'9LVV= MR?/1';J],7YXB^%P>-1";\E;'(4R2.J&"2$JNQE$?67HE(GEW?WCQ7ZP9) ME%(T#R0M3X'YUJ2ED4 AET!HWAVGL;UCKN&(KYRKXQ?:H/V[EG?_!U!+ P04 " "Y0A-5:^OB7*8" #+ M!0 &0 'AL+W=O$/L26[--!J1IO_T )VXFI7EC'W#WXW_ MW70KU1]=(AIX;.I6SX+2F/4D#'5>8B/TA5QC:U>64C7"V*%:A7JM4!0^J*E# M%D5)V(BJ#;*IG[M5V51N3%VU>*M ;YI&J*X4>%6WU@@\MD(>4?-_A4S(+( M"<(:<^,(POX>\!KKVH&LC+\[9M!OZ0(/[3W]O<_=YK(0&J]E_;,J3#D+T@ * M7(I-;>[D]B/N\ADZ7BYK[;^P[7PY#R#?:".;7;!5T%1M]Q>/NW,X"$BC%P+8 M+H!YW=U&7N5;840V57(+RGE;FC-\JC[:BJM:=RGW1MG5RL:9C%W /,_EIC4: M1%O 5U.B@CO,L7H0BQKU!%Y_\\:;:6CLABXLS'?PJP[.7H!3!C>R-:6&=VV! MQ?^ T"KMY;*]W"MVDG@CGB"F!%C$V EUS\ NX@3_@U7VBC["OY?2S1 MCL./ 6*R'B8##XHJ>VK.J*>$YXR,K*^,8G3(1FS9/ 9G7-MNX1H%T//AB.]LQ#2Y#GB0D21-O M4Q:18<+AV(6%!P5FDU_Y-J+!0[M:ZV?[3C7O"O39O6MS-T*MJE9#C4L;&EV, MA@&HKG5T R/7OEP7TMB3]F9INRTJYV#7EU*:_&UL M?91M3]LP$,??]U-8V31M4B /3OJTMA*%L2&-"<$V7DQ[X2;7UL*Q@^T2^/8[ M.VWHI-(W\=F^^_E_CN\FC=(/9@U@R7,EI)D&:VOK<1298@T5,Z>J!HD[2Z4K M9G&J5Y&I-;#2!U4B2N.X'U6,RV V\6LW>C91&RNXA!M-S*:JF'Z9@U#--$B" MW<(M7ZVM6XAFDYJMX [LK_I&XRSJ*"6O0!JN)-&PG 9GR7B>.7_O\)M#8_9L MXC)9*/7@)E?E-(B=(!!06$=@.#S!.0CA0"CC<7L/>P'#^(V =!N0>MWM05[E!;-L-M&J(=IY(\T9/E4?C>*X=#_ESFKRK@%9H>!KEK&IF8%3 ,L!P/Z"8+9AW=)/_Y\1&[6R3@ MA2.:.XOF83[J][X[-A/8')@L@&";(6IA%+[" MQ"@LPXCG=C[PBO2JI0*]\+S"D4!MIVX+I5KMV<]96V:M[VZNNF5YQ:8B )8;& MIX,\(+JM_W9B5>UK;J$L5K WU]@R03L'W%\J97<3=T#7A&?_ %!+ P04 M" "Y0A-57!=^>)@# !7"0 &0 'AL+W=O=76.E.U4K6)'9" E- F:J5MIIT7ZT#U4?3+B NTF"=W>^LVPMFD%CMX#_9CO=*X"CN4C2RA,E)51,-V&LS9W2)U M^3[A#PD'MF&D2.$!206X<@\.L)EE 4#@AI?#YB!EU+5W@> MG]!_]K/C+&MA8*F*/^7&[J?!*" ;V(JFL._4X1+DJC/\DAS8WRP*2 M-\:J\EB,#$I9M=_B^:C#6<$HNE+ CP7<\VX;>9;WPHK91*L#T2X;T5S@1_75 M2$Y6SI3W5N-3B75VEMR2I3+6$%%MR(.Q$@<%C(2N9+4S!(7[6.6JK MP^TM5 M68U*FCORPP>Q+L#\. DM\G!H87[LN6A[\BL]&2>/B+,WY*':P.9;@! 'Z*;@ MIRD6O!?Q47PA,:.$1YSWP,6=*+&'BZ_ W<,6M/;CHC24+$4MK2CD5]A0LM)0 M"XF!4^QWNP=-YL8 2G@O35XHTV@@?\W7Q@OU]R5YVN[)Y>[N&-Z96N0P#?"< M&=!/$,R^_XZET4\]LR7=;$D?^NS%;>C>.%OTKD#4DH3T,Q) MEHUHQ-C@@T(7$:Q'@8PFHXA&481]V#"B?)0-WH(Q9"V+PF=813980X;((\7G M8\R,&*=I.AKTBELIZU%P[PU!UBRF&6,8LSBC*1N3'G>'G;O#5W#WJJ6]S?Z? MI5>XR(K <^Z$5=L7;;VC<4J3+'&ZT&0\1J>3P>*4\$U9KY&,,LYIEL88Q2FC MX]'P]>Q).WO2U[#GH*Y;U-_PQ8W?FG*-?U4HVTJK?R#WIXW46NVTDQ/G8\E@ MOL/5SOVZ:] Y'G=RXD.2C-R0F).;LR11J@9S-+C;'V= L5 JGE$>.__&Z"6* M&+'!JD7#6]X1L/X8/HFB >3PI&2.X^*Q:J\[)!D/7:^(W%R2/#R[[#!YYZ]T M]P^%5-I[K]OMWAKF[67YDMZ^5AV(-B,[%06?(DI6GW]9/DQ,V&-'VQ*(GG\% T M.=Y)=:=+1 ,/%1=Z$I3&U*,HTGF)%=67LD9A;]925=38K=I$NE9("P^J>$3B MN!=5E(D@&_NSIA),D]&LX_R]PW>&.WUD@\MD)>6=VUP7DR!V@I!C M;AP#MXVEQ75.)?\!RM,.0D& 12XIEMN M;N3N$^[SZ3J^7'+MO[!K?/O] /*M-K+:@ZV"BHEFI0_[=S@"#.)G &0/(%YW M$\BKO**&9F,E=Z"?J4KCOK=.#(VHL-%^9Y]UK"39]@3 @LI3*GA@RBP^)<@ MLE);O>2@=T;.,B[H(Z1)""0FY Q=VJ:?>KKT&;HK7*-26,!<:J-#F-.:&ND%[\_DUNGS:USCCW[OZ[29\ .=07CJGI*]%G:TZ)=.5Q- MDET"#M(AG'KAZ*B1*E0;/RXTY'(K M3--3[6D[D:9-(SZY-^-L0=6&"0T_DP[8-)#K":V*GME/;?[YQ 6BK*%WQGW_/<<^?XF&R5OC4; M $L>JE*:J;>QMA[[OLDW4'%SKFJ0>+)2NN(67;WV3:V!%RVH*GT6!(E?<2&] MV:3=6^C91#6V%!(6FIBFJKA^G$.IME,O]/8;UV*]L6[#GTUJOH8;L+_JA4;/ M[UD*48$T0DFB837U+L+Q/'+Q;F(4,;=CM/K4SK@JE'"ECQIK37:OL5 M=O7$CB]7I6E_R;:+C3!CWABKJAT8_4K(;N4/NSX\ Z3!*P"V [!6=Y>H5?F1 M6SZ;:+4EVD4CFS/:4ELTBA/27(&IMN MQ^3=3[XLP;R?^!83N7 _WY'..U+V"FG(R)62=F/()UE <4C@H\)>)MO+G+.3 MC%?\D0Q#2EC V FZ85_UL*4;OD*W+YF21_EWK/2..3K. M[-[0V-0\AZF'C\2 O@=O]O9-F 0?3NB.>MW1*?;9P55!+]BZBSJF]23;<:VN MPZ[-X>"[2W)&PBRFC 5/UF#>B+(0"+5L:0^GAS M64*##)E&,6$Q#1&:AM@<0 3/\Z9J2FZAP$F /(.,62!# MXT^/Z0TE;>*I?43_[+0;+1NJ\$:PGW6IJX4W\:#$+=TS?2<.7[#7,[9XA6#* M?>'0Q<:I!\5>:='TR89!4_/N3Y_[/IPD3,)7$DB?0!SOKI!C^9%JFL^E.("T MT0;-&DZJRS;D:FX/Y5Y+LUN;/)U/KN&;KE#"LBCD'DOX]&S.6Z&:P;L'NF&H MWL\#;0K9\*#H05<=*'D%-")P*[BN%'SB)9;_ P2&X4"3'&FNR$7$6_H"<>0# M"0FY !F6EK@ MPC/#H5 ^H9>_?1.EX8<+?).!;W()/>^.B/9'A/T1@;8BSG&]B':>J^VL;6\T MNG&WSM0KL16JU@JN(/+C)/.S<&KL29KYZ9B,UBB5X!P9%$*9J,@?3S*?9!&D MXZF?DGC4T8ZGB9^0#*+)Q(_B9/0@-&4@SDNZ@MB/R=1/PLR5S:*QL:=PKHG! MR;4W?'=NN)5AL^>ZFX!A=7@_EMW8_ OO'I];*GP&NG.T M:-T0;80VS7%F9=Y E#; [&^%T$?'%AA>U?PO4$L#!!0 ( +E"$U4"S7'H M:@( #,% 9 >&PO=V]R:W-H965TS^34\L1K5 CY\ M9QMC?%SZVO#:73\?.-8]!WV#(Z1P+[@N%7SA!1;_$_A&T*B*'E6MZ47&>W: M*"1 THOT$5CDI&CB]Z@RZN'Q>=AMA\6JF4YKCSSX!7*%_2R]^_")/AT M050\BHHOL?>B8',PM_E;R.&N48(^M'A.ZT6V\UIM^6P-PXD)[7+=25;#%80) MH0@A)7$6*(N5AS;0&Z++M"T1I)V'XH^T-+89B.)6I**D[_OD)(5):NXZ(M- MD<,SEW.&Y&PGY*/: FCRG&>%FCM;K*R2+>1,G8H2"EQ9"YDSC9]R,U:E M!);:37DVIJX;C7/&"V\@*4DJLIS)E\N(1.[N>,Y^XD[OMEJ M,S%>S$JV@7O0?Y1+B5_C%B7E.12*BX)(6,^="V]Z&1E[:_ GAYWJC(G)9"7$ MH_GXELX=UP0$&23:(##\>X(KR#(#A&'\:#"=UJ79V!WOT;_:W#&7%5-P);+O M/-7;N1,[)(4UJS)])W:_0)-/:/ 2D2G[2W:U;40=DE1*B[S9C!'DO*C_V7-3 MA\Z&V/U@ VTV4!MW[W?DN2Z. MAG[DC5P?8NK1\\&#T+@AZ46FKC<*T;8#<0UK0-/TOV/P MO+#>3-TW[AO'[P)(^W%_!JG-WUH=H<0F=MVD&S>Q'J O;.D+#Y;^#A)1)#SC MS!Y 8DUX3:CQKS"=2@OY0J3)2PL"ZS78,\K.]#%]V%V':9&7E?ZI' P9V@*! MYQ+]X.J[$(Y(Z$>CV-;!"_P1BJ I>B?L+Z3 FP)3V1-E)AOZ4!M>5QNX4N=D M[$O ,[0P*DDY3J)>$CQM!G?8-$PF6XN3((5<*^1K$EJ9G>#0BQON\!3&,[;X M@GZQ2"E&I5FQX=@5^P#QT*GJPW[H41,_ NRC62Z7)!.L('B1;7!_ 4JU:AKZ M;C0ZLUY^QQ+)_FB);_,+K*P;P\@?149A@6LK]W\4-KAI">\4V%+AT=. ?";# M,#P](Y\/:3%JM1@=%(>1A# )*4-&VX>&HPNE *=9D9)?.5NA7C4'U:>_@R[Z MS\)74;[I?69]3@<7&;X*&!;7T$)24:WTNLKPMD^ /]E[R!3/:N&H/GJLK'B! M!%KELO0?O"1SP]1933FEALEWR&*E1 96RON==!);RH*:NL%%DL@*PWMB2=VO M<3#R<3VNW>Z7D:B<*T.K(C6GH?7WG4G)"HV]5*=.@AJ>^G;Y[ICEY?EU1^8& MW^VTR[T6R2,1I;;0Z,)X,[$;.&[D1R<3*S;JQU:!/6=?75<23R(KU=@+;&YO M:I^]DCP=W#PGIA',? I(6](<5L,83^\@#DT+1C08168X^ U[O\_?$9F@B1<: MDL[PZL!1GV;'G7=*#G)C7V,*2UH5NGZRM+/M@^^B?N>\FM>OQ5N&78QURF"- M6]W3"9Z-LGZ!U1]:E/;5LQ(:WU!VN,5'*TAC@.MK(?3^PSAHG\&+?P%02P,$ M% @ N4(35>"M\@%U @ B@4 !D !X;"]W;W)K&ULC53;;MLP#'WO5P@>,&R 45_3I%EB(,DZ; \%@G:7AV$/BLW$0G7Q M)#EI_WZ4G+@)D 9[L4B)/#R4?#C9*?UD:@!+G@679AK4UC;C*#)E#8*::]6 MQ).UTH):=/4F,HT&6ODDP:,TCF\B09D,BHG?6^IBHEK+F82E)J85@NJ7.7"U MFP9)<-AX8)O:NHVHF#1T X]@?S1+C5[4HU1,@#1,2:)A/0UFR7B>NW@?\)/! MSAS9Q'6R4NK).=^J:1 [0L"AM Z!XK*%!7#N@)#&WSUFT)=TBV^PKZ?@<,K%3?^2W9=;!X'I&R-56*?C P$ MD]U*G_?W<)0P>BLAW2>DGG=7R+/\3"TM)EKMB';1B.8,WZK/1G),ND=YM!I/ M&>;9(DFNR1W5DLF-(4O09*&$P-MZK*F&,?GPG:XXF(^3R&(QEQ*5>^!Y!YR^ M!9R2>R5M;] 7?2 MM6^7_)ZMC-7XH_PYUV\'EY^'<^(9FX:6, U0'0;T%H+B_;OD)OYT@6S>D\TO MH;^2;9!LV3V1\9RM>Z!S="\"GJ?K;M9=;W(UVX)&39Z4,@1%;2R5%3(A69C? M#L,L'W@K#M,DNUJ<1#-C6D>.M/@#X!RPJGPBJO%B;#B5AJ1A&H]($MX,\_^H M2!%/.*-BO/4HKO)M.!ADWDK"T6A(SEUV=*0/ 7KCIX#!4JVTG53ZW7[0S#I] MO89W4^J>Z@U#ZAS6F!I?#PJQJMMI2QJUYLU#DO0+@#/UTK9@^,* M]..W^ =02P,$% @ N4(359KQ]KR0! H P !D !X;"]W;W)K&ULU5?;;N,V$'WW5PRT%[2 (TO4U5G;0))-T04V&R-I M=U$4?: EVA8BBRY)Q\G?=X:2',=KJ^U+@3XDHCB'9VZ'%#W:2O6@ET(8>%J5 ME1X[2V/6YX.!SI9BQ;4KUZ)"RURJ%3?XJA8#O5:"YW;1JAPPSXL'*UY4SF1D MYZ9J,I(;4Q:5F"K0F]6*J^=+4,^?)%5 MQO42KI]0^EK [Q=T9XZUVN>B;&#FT8+]2B!5<:0M<['+U 'V7)35$6AMJ)5$&P3Y07 MCT4NJAR>"U'FX"$ _SJ*%.V*%/WC(FE0LBQA+K=JU$EUO)M63QJ^V0, M$[EX% K/,Y2/4%F!^IFJ(A/PJ3*JP,,L@Z^\W(C>[<9HPZN\J!9P!GL:]X!% MK,\B#]Z"[[L1PR?SAOTTB'JW318+E"OY"I,7((M[GX7&O=NF*IH +W0_1_&%XCZD+M;:]VS)/7<(-)V$:$W).K36H=4?JA1H.B;K MD*S8<#1'D5V,,T#S<=*S4B"[3W86V]8G;E!KQ*?U9$( L_Q^O1,2-ZV[GC!" M,(L(+$4MV\#&AX9@V+,2)D"XET!8 P(W]0@06T"R!V@88C>T )L%\^H@; RA M2SL1#2CTID*UO95E;*M@I=DAR&0GR.0_%F2WO_^-(&M-X"#%JYL4:0R8$@AWX#"!L]^@=Z# *KQ["6-.HQ/M1C MU.B1G=)CU.@Q[M9C=%*/S?DZN MWQ?UK?,%7M_=;[A:X+<-2C''I9Z;X&=4U??A^L7(M;V#SJ3!&ZT=+O$GA% $ M0/M<2M.^D(/=CY+)7U!+ P04 " "Y0A-5]",BT$(" 5!0 &0 'AL M+W=O M*JGLB)5$]2"*;%YBQ6U'UZC/SC\$KBU1V/PF2RU?O*3AV+$8B\()>;D"=S]GG&*4GJ0 MD_%OQV3MEC[P>+RGWX7<72Y+;G&JY6]14#EB7Q@4N.(;28]Z>X^[?*X]+]?2 MAB]L&]]>RB#?6-+5+M@IJ(1J_OQE=PY' ?V;,P')+B )NIN-@LKOG'@V-'H+ MQGL[FA^$5$.T$R>4OY0%&;/\IWU$E#3-S<*?\=*2<27S]U3R#;MWFNW;:&!K MGN.(N3ZQ:)Z191_?=_OQMPO*>ZWRWB7Z6^6Y5[[RRL7AXDXIOL@\K=B?M#_N M[KL'1>C,!#47!2BM,'RRNXA)4F9E]55'^^ Z&.RR .7CX\\5UIW80'F$VU,"]$G_RPI;+8!Z0 K9T M+^R3.OX*+=#4Z3$EC'^28VL;!83MC555ZXP15%PV;_K<)J+G$&=G')+6(3EU M2,\XI*U#ZD&;R#S6 [4T7VAU)-I9HYIK^-QX;Z3ATDWCVFK\R]'/YO$563-)7GCNDHN*C_0S M2>,/)(F29"2>^Z_VCB\$DW;)3;U<>D9N)(7DK]N-L1I7[]]CZ6KT)N-Z;DO? MF)HR6 :X9PWH P3Y#]_%6?33&.LW$GN#/NG0)Y?4\Q5H!M+B2>#6E566"F*H MP 04>^T20DD-FJL"_Y%"56 L9^V"!VVNQI+3C'CM1W3'TR&?98OPT$<>FF3S MSN0-R+0#F7X[$'BNE;:O&&,4TT&(\>2$8FB21.,464>1?0V%0]!P +D'?#.% MN_U?*/#(L64+Q7 [NM79M/ ::! -O@0X4G]S2(;9V B^H^XL'J/,AA,1G5 . M32;I..6LHYS]ORAG0X13RJ')=#9..>\HYQ MUH\CB=,H.LWKT.XZF?3-WL0;1Z_W8?0?V:4:?&508) 5EDO&3[_;V]B&T4LN M&N8XBI->\IJ81^SBZ20=+/NP=Y_C,;+S98Y;JWB9-%=A][4KI6Y] 7'R_)5IZK-'JG=<&B)@BY+1U0R#TDW)TW2LJGW5L%$6SS+?++%,!.T,\/]6 M*?O2<0-TA6?^!5!+ P04 " "Y0A-5&9[]H,T" \" &0 'AL+W=O M MG0#\N[J3I^:U+ M4590JU+42,)TY%WABW%JZUW!CQ+6:JN-;)*)$$^V\[48>8$% @ZYM@[,7%8P M!LZMD<'XL_'TVE=:X7;[U?V3RVZR3)B"L> _RT+/1U[JH0*F;,GUO5A_@4V> MV/KE@BOWB]9-;40]E"^5%M5&; BJLFZN['DS#EL"'.X1D(V '"L(-X+0!6W( M7*P;IEDVE&*-I*TV;K;AQL:I39JRME_Q04OSM#0ZG5WEN5C66IDODD.Y8A,. M2+O?TQO0K.3J#'U$CP\WZ/3]V=#7YI56Z.<;^^O&GNRQOV4O*,0?$ D(Z5&/ MCU;CMVK?Q&RSDC8K<7;A'KO[-J)"OZXF2DLSB7[WA6I\HGX?N[ NU(+E,/+, MRE$@5^!E)^\P#2[[,OXGLS>1PS9R>,@]&[L9!%+UI6RDL9/:U;[*(C(@81 , M_=5V@&Y=B--HD/RK>\,6M6S1<6SHY%U*,+XT5MJST M(.LWL*C<[,^LS@&9G1X58CG1TR5O$_1AT^X 4QS0'>AN%4U2W$^*K MHD!"ST%N#6PO8M)Y^>Y<[58D$8[PH!\P;0'3@X#?S7%ZY,=/NXLJHI2FN^/8 M4X=)$--HA]3?VMOMN7K+Y*RL%>(P-&ULK99=;]HP%(;_BI5-4R>MS8?) M1SN(U(*Z55JGJE77BVD7)AS JA-GMH'VW^\X@0B*2WLQ+L!VSOOZ>9TXIK^2 MZE'/ 0QY*D6E!][F4I7,8%?-?%TK8)-&5 H_"H+$ M+QFOO+S?C-VHO"\71O *;A31B[)DZOD"A%P-O-#;#-SRV=S8 3_OUVP&=V#N MZQN%/;]SF? 2*LUE111,!]YY>#;,;'U3\(O#2F^UB4TREO+1=JXF R^P0""@ M,-:!X<\2AB"$-4*,OVM/KYO2"K?;&_?+)CMF&3,-0RD>^,3,!U[FD0E,V4*8 M6[GZ#NL\L?4KI-#--UFUM33Q2+'01I9K,1*4O&I_V=-Z';8$(7U%$*T%T7L% M="V@3="6K(DU8H;E?2571-EJ=+.-9FT:-:;AE;V+=T;A58XZDU]52ZB,5,_$ ML+$ KPUVUC^&ZA%&7,&KLZ)L)1UP70NJ% O+[?*R-PF?HCRM=:]AS&]I]=:9K M5L# PXVC02W!RS]]")/@JROL?S+;R4Z[[/20>W[+5OBP&%"<">U*VLKC1FXW M_#+O91D]I7U_N9UAORP.*.WUNK(=NEY'USM(]X ;_)A7Q[62!6@G7VN0;$\< M)DF4AB\ '75!FM T=1/&'6%\D/"25QSWUH3,I)PX >.]B6D0[/,YRN(X2V,W M7M+A)0?QOBFI->&;!]S%E^POS&G<.Z7Q"T!7'2*>)F["M"-,#Q+^P/M*F,"S M@E4%$#QUB!QK*4 7@ ,NXG2/) SLYP7PFV4[O%G'FQWD_8GGYL'US/9W0N9: M3U>=:SW]K5>W/3:OF9KQ2A,!4U0&)RE:J/8H:CM&ULW;?"P-G@U-G4II-QQX0W?^!_!]02P,$% @ N4(358,0 9WP @ (@@ !D !X M;"]W;W)K&ULK9;13MLP%(9?Q E2,.5)!J6D^ L/IUE+MX'_."P-3MMXBI9*'7K.E^*21 Y(!"06Z? M\'(',Q#""2'>8S:*=TB;OM1_5/OG:L9<$,S)3XR0N[G@2C@!2P9!MAK]3V M,S3U#)U>KH3Q_V3;Q$8!R3?&JK))1H*2R_K*[AL?=A+B9$\";1+H:Q.2)B'Q MA=9DOJPYLVPZUFI+M(M&-=?PWOALK(9+]Q2OK<:['//L=*:,-83)@H"Q'&T! M;#$MN5P9@C9O9*[*2H ;SY6T>WQ(TI"1*;EBT$D(,Y6,:%.23ORL)S7+'0/RP5[($E\1&A$:4_V[-79\=/L$#UIC:&M,=3+)7OD MYK $K;%J[] 1F;&*6R;X7RB.R*6&BG%L...^V35H\72W;/Y265]#5#TD6>=)4EIG&0[C[LF[\9A5!J? M/ ,/=W9P=WI>,+WBTA !2TR,CC-4T/6)5'>LJORFOE 6CPC?7.,A#MH%X/VE M4O:QX\Z)]K-@^@]02P,$% @ N4(353D>4T.C @ Y@8 !D !X;"]W M;W)K&ULK55=;],P%/TK5D!H2&/Y:M-MI)&V5@@> M)JI-@P?$@YO<--8<.]ANN_'KN7:RT&Y9-2%>$G_<<^\YQ\EUNI7J3E< AMS7 M7.BI5QG3G/N^SBNHJ3Z1#0C<*:6JJ<&I6OFZ44 +!ZJY'P5!XM>4"2]+W=I" M9:E<&\X$+!31Z[JFZN$2N-Q.O=![7+AFJ\K8!3]+&[J"&S"WS4+AS.^S%*P& MH9D41$$Y]2["\]G8QKN ;PRV>F=,K)*EE'=V\J68>H$E!!QR8S-0?&U@!IS; M1$CC5Y?3ZTM:X.[X,?LGIQVU+*F&F>3?66&JJ7?JD0)*NN;F6FX_0Z?'$ V EMF3E9PW%,=DH:"A# ?6K:^F D4NM :T8\YTSJ5>*R _+I;:F?1SR(JV^FBXNOUA MSW5#.SLZ2X&_%C$N!3$-*X X!BB/GXF:U1 M%,:3,'S"_'D<1B'U)\3]G2YD;X KJE9,:,*A1&!P,L$,JNVJ[<3(QC6FI338 MYMRPPHL(E W _5)*\SBQO:Z_VK(_4$L#!!0 ( +E"$U7*YE SU@( &(' M 9 >&PO=V]R:W-H965T !CR4'&A)\'&F/HB#'6Q@8KJ,UF#P"]KJ2IJ<*K*4-<*Z,HE53Q, MHB@+*\I$D(_=VD+E8]D8S@0L%-%-55'U> E<[B9!'.P7;EBY,78AS,$6 MS%V]4#@+>Y05JT!H)@51L)X$T_ABEMEX%_"-P4X?C(E5LI3RWDZN5I,@LH2 M0V$L L77%F; N05"&K\[S* O:1,/QWOT3TX[:EE2#3/)O[.5V4R"#P%9P9HV MW-S(W6?H] PM7B&Y=D^R:V-'HX 4C3:RZI*10<5$^Z8/G0\'"4G\3$+2)22O M34B[A-0);9DY67-J:#Y64C48T.W#>N&Q4PX3]B[=&X5>&>2:?26TTH6)% M0!N&M@".J!),E)J@S8TH9%5SL.N%%$:A[YJ8G22&+CF0DSD8RKA^/PX-TK&@ M8=&5OFQ+)\^4OJ:/)(U/21(E";F[G9.3MSZ4V:M18C]*B);TOB2]+XF#39^! MG<,:E$+1SJ!3,J,U,Y2S/[ Z)0L%-64XL+Y]-1M09*HUH#%SI@LN=:. _)@N MM;/KI\^:MOK 7]T>W0M=TP(F 9Y-#6H+0?[N39Q%'WT._2>P)T:EO5'I2^CY MEZ9:HGZY1E?D+["[@PE2*UEB+>V3WN)E#L\VF6T>GX_#[:$@3\B@#WE"<]#3 M'+Q(]K'\46Z_R@?G0V&!V1] 6EB9_FL*;/8BV47K)#9[^_N- MQ/-!MI0W@#M@*UF!I\?(KHF!\@G(?!8.C]A[@XZ8AP<=T-X^UU253&C"88U9 MT=D(Q:NVH[<3(VO7%)?2(#LWW. E",H&X/>UE&8_L7VVOU;SOU!+ P04 M" "Y0A-5AW:G/Y0" "H!@ &0 'AL+W=O$ ]N&ELYYYSSSEI;I*=5'>Z $!R7W*AIUZ!6)W[OLX***D^DQ4(VR2'%=UPO):[3]#X<0(SR;7[);NZ=C3R2+;1*,L&;!243-17 M>M_DL <(XR. J %$KP7$#2!V1FMESM:<(DT3)7=$V6K#9AW-[,RB((HZT+-7H\-#M&\LM[ZCUG?DZ.(C='-8 M@5*0DYG4J'MD1BN&E+/?D/?(0D%%F5G81+ZZ1"ZT!M1DSG3&I=XH(#\NEAJ5 M^1O^[(JB[M[O[FY?S7-=T0RFGGGW-*@M>.F[-^$P^-"5S'\B.P@J;H.*7V+_ MVQ^DRWM-.'"$=HILTRB.^^/Q)/&W^[:>U\7#T(R?H*T[4-QO%?=?5/P%M":4 MF_GD1)M)1^122PXZ W/0I;@F'.XI":-H-!@'3Q1WU$TFDW 8=BL>M(H'_Y)Q MCPC +MF#9P&&83"*@Z=!=]29H,?QY(EL?V^.V!E^1=6:"4TXK PR.!L9"E7/ MQ7J#LG*C92G1#"JW+,RG!)0M,/=74N+CQDZK]N.4_@%02P,$% @ N4(3 M50!AJHW/ @ 9P8 !D !X;"]W;W)K&ULK55= M;],P%/TK5P&A31K+5]=-HXW4CR%X&%2;!@^(!S>Y;UV8G!=3)7 MZMX-/A;#('*$4&!N'0*CUPHG*(0#(AH_-YA!MZ4KW(VWZ.]][]3+G!F<*/&5 M%[8.?L-[D1@'DC;&JVA03@XK+]LT>-CKL M%,3] P7)IB!Y7I >*$@W!:EOM&7FVYHRR[*!5FO0+IO07."U\=74#9?N%&^M MIE5.=3;KG<)$&6N R0*NC.6D#%+$M.1R:8"4OI.YJFJ!;GZBI-4DO;F$HRE: MQH6!3TQKY@[C&-["W>T4CEX?#T)+Y-P68;XA,FZ)) >(Q E<$WAIX$H66#P% M"*FKKK5DV]HX>1'QFCU"&I] $B7)'CZ3?ZZ.7R"3=CJG'BX] #?%!6KM%22U M3V#":FZ9X+^P.(&9QIIQ"MPA?+8E:A@9@W0J4VYRH4RC$;Z-YL9K_WV?N.WN MO?V[.RNX-#7+<1C0MVY0KS#(WKR*^]&[?\MQ?B0HZ$;O("\ MN^'8W7#=K.&U=9W".OC*)!N-H5[^^\\[1_ MT>]W::TLX>BLS1+61MKWCW6SGEB-O$L_FQ^2BK>G]@6DM^)KI)9<& M!"X(,CH])U*ZM;5V8%7MG6&N+/F,#TOZ$Z!V";2^4,IN!VZ#[M^2_0902P,$ M% @ N4(353\QD=I^ @ VP4 !D !X;"]W;W)K&ULK51-;]LP#/TKA#<,'=#6'TG:(7,,Y&/#>L@6M.AZ&'90;"86:DN> MQ,3M?OTDV7'3+BEVF \V)?$]\M$BXUJJ>YTC$CR4A= C+R>JAKZOTQQ+IL]E MA<*>:&WV[CFZYSLAI_$%5OC#=)MM5!FY7S98)4LI[^WB*AMY@4T("TS),C#SV>(4B\(2F31^M9Q>%]("]^T=^V>G MW6A9,HU36=SQC/*1]\&##%=L4]"UK+]@JV=@^5)9:/>&NO&]O/0@W6B290LV M&91<-%_VT-9A#Q!>' %$+2!Z">@= ?1:0,\);3)SLF:,6!(K68.RWH;-&JXV M#FW4<&'_X@TI<\H-CI+!.?L^]LFD89K,4A MP0W+P+'8H;1-@MC?[JOXVR,9"0X$K0QF<7YJL5#-*F@7)RG7C4I+I;6?F9OJB ML@[F?"4E[18V0#?/DS]02P,$% @ N4(352C]M51! P 6@H !D !X M;"]W;W)K&ULK9;+;MLX%(9?A5 '@Q9(*Y&Z4:DM M()?IS -:C3H=%%T0B<:J,V7I9 5TZ8J5[YJ)+!%)ZI*GP1!XE>, MUUX^Z=IF,I^(5I>\AIE$JJTJ)I^NH13;J8>]YX;/?+76ML'/)PU;P3WH+\U, MFIH_9%GP"FK%18TD+*?>%;Z\P9V@B_B/PU;ME9&U,A?BP5;^74R]P!)!"86V M*9CYV\ -E*7-9#A^[))Z0Y]6N%]^SOZA,V_,S)F"&U%^Y0N]GGK40PM8LK;4 MG\7V']@9BFV^0I2J^T7;/C;*/%2T2HMJ)S8$%:_[?_:X&X@] 0Y?$)"=@/RJ M(-P)PLYH3];9NF6:Y1,IMDC::)/-%KJQZ=3&#:_M--YK:;YRH]/Y3)H5(?43 M8O4"P8^6-V:.--)L7@)Z?0N:\5*]06_1E_M;]/J/-Q-?FUZMUB]V/5SW/9 7 M>KAC3RC$%X@$A#C4-[^LQH=JWS@=[)+!+NG2A6?L7J!9R8Q/Z_JOP?6WJ[G2 MTJRL[RZ;?>;(G=ENMTO5L *FGME/"N0&O/S/5S@)WKM<_Z9D!X,0#H,0GLJ> M?S2N709[5=RI[/;?Y#B+"0DF_F8?_6S8 50T0$4GH:Y;7BYXO5+=G/"JD6(# M=E:4"[7/E>PQ9)1@BLF(U1$7TRB@J1LV'F#CD[!WK%B;)CG:-B[2^(@ $TJB M)$M&J*[ ,$GB)'.S)@-KA+XJM6B7P5:ML6#<_[3XZXCBND(\%S4 1X=\.C9W7-V?=*CGB,: M9B0; 3K"TB0B+\QX-A!F)PG_ED(IU#A/=A=L=CQ,29!%-(U'N([ &-.08NP& MQL'/6R@X/:A@B%E1M%5;,@T+8%J<([S+EM\<&K%41J/EX4S$"=Q%HV(_;V+W[ZZ[IA< M\5JA$I9&&;Q+30K9/V3ZBA9-]Q:8"VU>%EUQ;1Y_(&V ^;X40C]7[/-B>$[F M_P-02P,$% @ N4(357N6:ZF/ @ CP8 !D !X;"]W;W)K&ULK55=;]HP%/TK5C9-K=0U7WQ,#"(5Z+0]=$*MNCU,>S#) MA5AU[-2^ ?KO9SLA@RZ@31H/Q!_WG'ON=7PRWDKUI', )+N""SWQ !_+A3(SOV7)6 %",RF(@M7$NPE' ML[Z-=P'?&&SUP9C82I92/MG)EVSB!580<$C1,E#SV, ,.+=$1L9SP^FU*2WP M<+QG_^1J-[4LJ8:9Y-]9AOG$^^"1#%:TXG@OMY^AJ<<)3"77[I]LZ]C^T"-I MI5$6#=@H*)BHGW37].$ $ Y. *(&$+T&Q"< <0.(7:&U,E?6G")-QDINB;+1 MALT.7&\X]'NJ0I3#QS436H#7C)NS?A(/C85?5_(CMJ0J]M M0N\<>S('0YHR:F]H5Z$UNN_0UE\V21CWAKV>.;[-80T=<5$8#<.XC3N2UV_E M]<_*F\FB8&@/1!-C@&158:6 I+1D2#F!G?'&C-DUW:6^_Z>J06!_K]2?%?&O M)^ ?W.T"U-I9GB:IK 365Z5=;5WUQIG)J_6I<=O:''_3U%9]1]6:"4TXK QE M<#TT!:C:_NH)RM(YR%*B\2,WS,T7 Y0-,/LK*7$_L0G:;U#R"U!+ P04 M" "Y0A-5S#EK#Y " "V!@ &0 'AL+W=O4A\[7O./<=.;J*-D'):[;,T4RX<;2B2Y@!WJRF4D=NRY*Q DK%1$DD+$;.V!\F?9-O$VX9;-3. MF!@G$00<4C0,5#_6D #GADC+^-MP.FU) ]P=/["?6^_:RYPJ M2 3_Q3+,1\Z)0S)8T(KCM=A<0./'"DP%5_9.-G5N7R>GE4)1-&"MH&!E_:3W MS3[L /SP%4#0 (+W L(&$%JCM3)K:T*1QI$4&R)-MF8S [LW%JW=L-**70)=V2T#\@@1<$'>CDW6C_*=K5@EO70>LZL'3A*W03 MF".9,)5RH2H)Y/=XKE#J5^I/E[&:J]?-93ZSH5K1%$:._HX4R#4X\9=/_L#[ MVN7S/Y$]L1VVML.WV./O.B9B01()&4-R3E/&&6X/2%))"24^GC])J%:AU[KV MHR[2MT5,EUC'OE=?D;O>]?JFF@]Z[;5>>Q_S>DZ9)+>45W9Y7(A*&[^J4"$M M,VV]RW%=:K#C^+G5WHL]>T;%FD'67K ,4 M*]MHY@)UV[+#7/]80)H$O;X0 A\"T[O:7U7\#U!+ P04 " "Y0A-5*E;+F5,JU5RZKLQ+J(B\X W4>F;%1464[HJU*QL! MI+"@BKG8\V*W(K1VLM2.+426\HUBM(:%0')3540\7P/CNYGC.R\#=W1=*C/@ M9FE#UG /ZJ%9"-US>Y:"5E!+RFLD8#5SKOS+>6SB;*^$GJ4:I[+O MJ@2A%S,7&R@0/.G3(4$B198,T-D-*$*9/$>?T,/]#3I[?YZZ2F+>+K9TP2MT"_)LG$E$Z@)=&=>$ M2?3[:BF5T"?JSYB]EC$<9S2W[%(V)(>9HZ^1!+$%)_OPSH^]SV-N_Q/9GOF@ M-Q^<8L_F]CCI[2Z@X9(J.>:VI8@LA2D!V\P/PB3QIJF['1HYCIO$21SA/FQ/ M8MA+#$]*7("0O*Z!H9S+<8$M03P4&$T2G/@' H_CXF@:XV!<8-0+C$X*M/=E M3%9TE"Z8AB%.#E0=A_F3B5[A<55QKRH^J>H'5X0A/GJ7Q\3&1YL7!'@:>H=J MC^/\Q(_"P6%HY;J# F2*_RT1:UI+Q&"ED=Y%HBE$6U#;CN*-K4E+KO21M,U2 MOT$@3(">7W&N7CJFS/6O6O8/4$L#!!0 ( +E"$U47\TYOWP( %X) 9 M >&PO=V]R:W-H965T@>)+:,;U$VWK6"\R4%)Q0?,&+!7DI*C?^*G9AP. [;\ (XSX&BQ MDYR_*6LR D-B5P(ZFX+ )./GZ#.ZGT_1VA%+XYU/P\T'$&5N1[=AMX),]KY7G]\@2K M$E$QG*$Y$)Z3!#V0(D4_9Y O@/WJ$MW+J(Z5*U[B!$:&/#X$V-]0^VW/8=/Y"/$V\Z BW;#3P_[/;&;^7YO?*N@5%= M/)K"4AZ,T.M*+]=K77DGLJ.R@[;LX VN!,\WV_$\RP^#$U@HS(/Z;/CEZ2U]KQ3F1']49MO=$;[(B>GTOV( Q<]\2-KK@P M# +OQ SSH%7)/K/2'9RCA%:%J#M N]I>$JYU;SQ9'\O+0]WK_]'4-X\99BM2 M<)3!4E):EX%4Q>IN7D\$+75#7% AFYT>KN4%")@*D-^7E(K]1"5HKU3Q7U!+ M P04 " "Y0A-5_6A>CW4" !W!P &0 'AL+W=OB:A/PV4LNC37'#O:U MV?[];"<-79=63&)?&K_<\]P]=_5=VDIUIRL )/U#55#W/@ MLIUYH;<[N&;K"NV!GZ4-7<,-X,]FI($R. *(>$!T"CGF(>T#LA':1.5E7%&F6*MD29:T-FUVXW#BT M4<.$K>(-*G/+# ZSBS-R0SGH*7EW!4@9U^0'58K:Y+Y/?30NK*&?]W3SCBXZ M0A=&9"D%5II\$0443PE\$]L08+0+R)PO-! MX?DI]FP%*@>!Y@$361*42#G15K59$\W6@I4LIP()$P7;LF)C[KN_*2@2CJ6F M\W?A_-F>LLW"2>IO]P6/F(2#R1,9DT'&Y-5DC!;XI+N7%GCR3&]T1&\RZ$U> MKVQC[VI^TM]+!2?/"QP<"/;W>I@):NU:NR:YW CLNL5P.DR/2]2EE2MF="$0VDH@[./I@ZJ:_/=!F7C.N6M1),9MZS,9 1E#?S<%[H929D3#>W:O8B&?*5H MRN!>(+G*,B)>QD#Y9N1@9[_PD"Z6RBRXT3 G"YB">LKOA9ZY)4N29L!DRAD2 M,!\YW_%@@BW 6OQ*82,/QLBX,N/\V4QNDY'C&45 (5:&@NC7&B9 J6'2.O[L M2)UR3P,\'._9;ZSSVID9D3#A]'>:J.7(Z3DH@3E94?7 -S]AYU#'\,6<2OM$ MF\(VZ#LH7DG%LQU8*\A25KS)=A>( P .3P#\'8E:Z&EZC2X^7PY=I?\8X+7O\$+_;1'6=J*=$/ED!R3.!JD:52?Z]T M[#90@UN!$7S[AT/M6Y^T'D1TYWRZ=;S>Q M1S>0@""TSL<"V+% [(V&=4EBG4=A4$05U ML@I8>+ ?;E=$58U.R E+.6&CG$>N"-6'N"95ZD2&E?U]#W=\KO>^]-Z5[U=S!G>IOJ9JU=.J?^BO]4E?_ M?1G=;TC60E"3Q9$6[+W6"N^,A$YJ,Z6V1'CGQ:[&KBEX^*"XX3,$_ULGKMQ' M >YZ59U5NU;0JSE[[D%!SD L;)\B4Z'OM@-XLSXV/9(M]*\T M18-U1\0B91)1F&M*[ZJK58FB9RDFBN>V[,^XTDV$'2YUGP?"&.CO<\[5?F(V M*#O'Z"]02P,$% @ N4(35>O#"LW- P <@P !D !X;"]W;W)K&ULK5=-;^,V$/TKA/J!!*@C4;)E.[4%),XNNH>@1K+; M'HH>:&EL"RN1*DG;R;_OD%)D.?IH#[G8(C7S^-YPAAPM3D)^5WL 35[RC*NE ML]>ZN'5=%>\A9^I&%,#QS5;(G&D%[HY2[D3+>S<6D8+ M<=!9RF$MB3KD.9.O]Y")T]*ASMO$4[K;:S/A1HN"[> 9]+=B+7'DUBA)F@-7 MJ>!$PG;IW-';%0V,@[7X(X63:CP3(V4CQ'R%*,WW00KX2R31."0+;+=C ES-7#Z!9FJEK,B+?GA_(U8_7"U)UA61L%@LGR$!R3([N0$.VU1WL2_APR8MVN+>-NJA'=:TP\', M,RE7%JRA6@">>ARX)DF*DQ)X#.JVBVWXD=GW06 7 9C6 9@.[ML3(C(9[^WV MQ!*25*LNP=-6Y$?^=#)N[5"7'<4D[-FG64US-D@3[R.\;?@(4PE/U@0333.^ M2S=9G7-X+![LM=?%?M9F17V_17Z00_=&D($]F-?BYH/BUNLUR03C!%N.'369W,R] MGZZ["LIM=&\YR)UM:A6)Q8'KLN>I9^O&^_PH &D,\/U6"/TV, O4GQG1OU!+ M P04 " "Y0A-523#3_YD# ";# &0 'AL+W=OM3AQ\2#W H]EJR22V^O5'WE^S+? M0TGD)UY#I=_LN"B)TK?BWI>U %(T3B7SPR!(_)+0RELMFF/ZO_U@2O@]D2"6O.OM-"[9=>YJ$"=N3 U"T__0Y=0#.CEW,FFU]T M:FW3P$/Y02I>=LZ:H*15^T\>NT0,'' TXA!V#N%K':+.(6H";$KC6($_;P;]DL[;#@R M[%?RA"+\"PJ#,'1XKU_MC2^]?1U^GX.PST'8R$4CXGG 2?71&^D=A%P%$?<#2EOKIFNGI)E0/2^P J M^&&K=@>FJS('>B1;!M(5?JLY:S3-[G!<17$0+/SC,"S;" ^-+G#C'C>>Q#6+ MD59'O4BY>$*D^%>7A=Y)E NR54H&X\_#T**TK<)P/H8YZS%G/Y!5OI6<@8(S MN0MW9H.D66;QVF9Q'&1CP$D/G$P#Y[DXZ&5_)#DQ>ZH+,+%&SN+(XG-8C4][ MVN.EK\++>5E2:?J&/,>;SZ)=_N.E/7G3;.IY7IWH\YZF3OFUTZ?;34"AX-SWPDF\>X4 MSQ\0K\W"DTC/KYEJ4S@FES1W;T&=YF6]I(G%Z[*+LME82O&@6^+IK8@KPLPQ MX67#<-)B.[EI@FU:AQV.1\L;G_L:_H'&QLX]W-G=\)NVM[=2NXS\W.#P=(?[ M]5&O(-G$78 >(:>C.URG-,S^QRS0^9^]G":'81+&R<#PDO;*>ZGIDL-..P:=4*XCV)-S>*%XW MA\DM5_IHVESN]=<#"&.@W^\X5\\WYGS:?X^L_@=02P,$% @ N4(355,' M)V2_ @ #0D !D !X;"]W;W)K&ULK59=;YLP M%/TK%INF5LK*9VB6$:0T=%L?.E7MNCU,>W#@)E@%S&PGI/]^MB$T60EJI+R M/^XY]]YC^5X'%65// 40:)-G!9\8J1#EV#1YG$*.^04MH9 ["\IR+.24+4U> M,L")!N69Z5B6;^:8%$88Z+4[%@9T)3)2P!U#?)7GF#U?04:KB6$;VX5[LDR% M6C##H,1+> #Q6-XQ.3-;EH3D4'!""\1@,3&F]CCRE;TV^$F@XCMCI#*94_JD M)C?)Q+!40)!!+!0#EK\US"#+%)$,XV_#:;0N%7!WO&7_HG.7N,5%S1OP#*"G!3U'V\:'78 MMG\ X#0 YW^ >P#@-@#WK0"O 7A:F3H5K4.$!0X#1BO$E+5D4P,MID;+]$FA MCOU!,+E+)$Z$MG6!;HJ8YH!^X WP,3J+0&"2X < MR[GLB&?V9K33@8[>C+9[4G%;]5U-YQZ@>U$>183'&>4K!NCW=,X%DS?B3Y?< M-:/7S:BJQ)B7.(:)(JZ37QQY&L #& M(-%:3CD'P0?H*Z.<=VG8RW6LAC794).I*KL.1Y>^;5F!N=Y5I\/,]D8[9GMY M#]N\A\?GK<8SN4@$FLE+_"R[0X59TBE%+_VQ4@Q?Y>B./EFOI#B1SSW!_%8P MOU>P ]H,T/6F)*K>R68D*RET:=7/O*T-!PM3+_S8RW8BLEI#!Y,"6NA%S M%--5(>I>TJZVO7ZJ6YSY8EX_%&XQ6Y*"HPP6$FI=7,K#9G7SK2>"EKH=S:F0 MS4T/4_E> :8,Y/Z"4K&=* ?M"RC\!U!+ P04 " "Y0A-55SK%M*H" R M!P &0 'AL+W=OXY]YR+ M?3W92?6@"P!#'DLN]-0KC*FN?%]G!9147\@*!'Y92U52@U.U\76E@.8.5'(_ M' P2OZ1,>.G$K2U5.I&UX4S 4A%=ER553W/@2LQ*$9E(0!>NI-PNN%HF-=P%?&>STP9A8)RLI'^SD^H4PTQVS0:7HZB83SQ MMX?&>N/PCT5=W)'FN-,/Q MZ,2%?]!^2E ;UY4UJJR%:U73H9F)DY9K<2AILF6Y8X*4&R@;@][649C^Q";IK,OT%4$L#!!0 M ( +E"$U4?ZJ:V&PO=V]R:W-H965T+CYW9G3%WDZV03ZI"U/!<,ZZF7J5U,_%]E5=8$W4E&N3F M9BUD3;39RM)7C412.%#-_"@(QGY-*/?2Q)UE,DU$JQGEF$E0;5T3N9LC$]NI M%WK[@T=:5MH>^&G2D!*7J+\UF30[?V I:(U<4<%!XGKJS<+)8F3C7>Q\. .$I0-0#HM> ^ 0@[@&Q$]I5YF3=$DW21(HM2!MMV.S">>/01@WE M]E]<:FENJ<'I-(ROX*YNF-@APE*+_ FR5N:5<08R1O@$WMVB)I0I^$JD)-;T M]W )JB(25>)K4X-E\O,^W[S+%YW*%\&#X+I2<,<++%X2^*;X04&T5S"/SC(^ MD!W$X05$010=J6?QS^CP3#'Q8&?LZ.(3=$MKR^7>):DB.4\\TK$*Y02]]^R8J-3[Q&2K?1HG%=N1+:]+A;5F8*H[0!YGXMA-YO;()AKJ=_ M %!+ P04 " "Y0A-5PW&2 N<" /" &0 'AL+W=OS'4XDZ#6 M14'D;H),;$=>Z!T6'N@RUW;!3X8E6>(CZF_E3)J97[-DM$"NJ. @<3'RQN'U M=&#MG<$3Q:UJC,%Z,A=B92>?LY$76$'(,-66@9C/!J?(F"4R,G[M.;WZ2 ML MC@_L=\YWX\N<*)P*]IUF.A]Y'SS(<$'63#^([2?<^].S?*E@ROW"=F\;>)"N ME1;%'FP4%)177_*\CT,#$/9/ *(]('H)B$\ XCT@=HY6RIQ;-T239"C%%J2U M-FQVX&+CT,8;RFT6'[4TN]3@=/*H1;H"4;J8EHQP!9K,&<*[&]2$,O5^Z&MS MCK7VTSWGI.*,3G"&$=P+KG,%MSS#[)C -P)KE=%!Y20ZRWA/=A"''8B"*&K1 M,WTU.CPC)JY#%CNZ^%3(\O9-V \^M@7B/Y$= MQ:5;QZ5[CCUYH&IUL9"(0+E&PZ]!$HUM/E=$8>"8;*'9),%E$/6NAOZFZR_HBS:7#^OK L[)%*UI?8?@$?!Z=?!Z9]EJCW8"&:BPJC>M?E1 MD5P=9::1ETISJU'08[BBQKTSCX^_@7 L]95.K\1FTM M4"Y=RU&0BC7750&K5^NN-G;%_,7ZQ'2[JCG]H:E:Y3V12VH*+\.%H0PN!R;5 MLFH_U42+TE7PN="F'[AA;CHV2FM@]A="Z,/$'E#_!TA^ U!+ P04 " "Y M0A-5* +08P# "N#0 &0 'AL+W=OSMH$X;K$]I T2I#TL]L!(M"5$$K4D;2?_?DE* M5F6)%N+"%UND9M[,>QR.R-F>LF>>$B+ 2Y&7?&ZE0E17MLWCE!283VA%2OEF M35F!A1RRC=YZ!HO)$Z;,:?$WFEJ,R(CF)A8+ \F]';DB>*R29QW\-J-7&5([=YP/Z M%TU>DGG"G-S0_&>6B'1N119(R!IO'0"'B)P2TN1O=G;&:'BMMJ[&LX]I7V*&?FTE%6; M@#O\*G>3 ->,X7)#U/-'\(V6,>8I^/PBMSDGX)_K)RZ8W"K_FE:B#N:9@ZG^ M<<4K').Y)1L$)VQ'K,6??\# ^X3+)R M8Y*PA@HTE.J8NP6*7,>1B[WKBF,P"\+0[YFM#&8^0AVS(T)^2\@?)?13MS)9 M,GA'F&S-@+P0%F>R/"J6Q030]5O9UG&B3GX03CRW1]9H%?2H&HU\9&8:M$R# M4:9?2\$R^86)P0[GVW.8U;C^T3HB+^HQ,UB%T$-];@8S9QJYOIE*0.=7X<1 MYU*5,BK<>)ASE6O0ND453%ROI]RE8AY+USG'P;/*JLK8"6W@H!!\Z ^^<>/A MSCT!&(+"*!Q\"NW.0;8@;*,O!!S$=%N*^HC8SK:7CFM]U.[-+]5E1!^0?\'4 M-YE;S#;RHP)RLI:0SB24C9W5EX-Z(&BEC\M/5,C#MWY,Y86*,&4@WZ\I%8>! M"M!>T1;_ U!+ P04 " "Y0A-5=P2["0T- "+DP &0 'AL+W=ORG+]<3(I9@]TF1;C;$U7U5_NLGR9EM6/^?VD6.T_+W]55>_339J=S.EW15S+.5E=.[B]$GYV/BV%%]1%/D M7W/Z7'2^M^JVW&39C_J'GV\O1G9=);J@L[+62*LO3W1*%XM:JJK(?UK5T2YH M?6#W^ZWZ3TWKJ];9X]6WE=NE*KOVG,;(ZNFC]?U1U_7>;57^?5<>7E=9G- M?EC9NNF$]2)=%=8'J_O+PJI.EZ),5[?SU;U5?;'H"\UG\R*]65#KKPDMT_FB M^-OYI*QJ4VM.9FWDSYO(9$_DK^FKY3IG%K$)L?YL3:SB(Y"ZE?;KS+[K8G,;76M:?%F?5U MOIHO'Y242-9#Z1/E^'8=LXG3UV+P+BZ%B&)<19Y.XN\H1:E+_LLVDCZ M'8N(+1@$1M4U"$F,,\C?&>2#!G6OVVFVK*;@(FV&S\[%:]V\6LKK^SG-;[=7 M=F7IKVQL/;-^>5S>T-SZW_XAZ_.F9D'7Y\BU;=%K1;$@#'VA6*(HYA/2*<;Y M$^S\"> 3B-8+CGJV6&T:5)U+KS3-"ZO,V$D%S2I%=_Y1V;"I@.-T:AZ,?<$$ M12%_' H6@$T9>"*%.Z/"XYQ(?S2KG:KTIR>:5\LW8091.1I*8YSCC#U7L%19 M*A L51;RB?JDBG9>1?@#-RBI.P=NQ!P"3@,)4DC.HWCG48P_D?WVG%G?O])ZR%.NR."JZ5J-JI9@J?'=TH$0YXA+X38XEO&8:@F6&F\\ M0Q '7&T/&U9;S9ZA< J'UC;*!#8XC!N

"P?VQM-;OC822:A,H-6&J\28P< M'!@=WG09GVW'X"^=E2"T%FXKTUV^.K:\%E85\Z5B"=RTH=8QIG!@J/B^^:SG M8^-!_4'6;7=ZVCC#)J=F;FJFIHVCS<2T-;7QM+&TXV2[4-RN#-N%X6ZI/LU6 M99[.RL=T\1O-E]54]L%6CZ6^O*JVQ['H.=A8[;,:28WO&H8S#LPSQ^D:[A"R MKS<"Q4<3H2?V!A+DM+UA IDU3+,UGD6B2"<@B#++( 9 U?!G0&1H' M?90!UT[[HV_[@"$VP8K).\[XB8"88!9K'W)*0;"%*Z=M."I?8:GQ'=/9XCGJ M'@_N)@_N+H\)7B.,UXB!C9Y6DP/;2 9;.+2V42:8C3!F(P:V>XB\WR,B !Q6 MVR03=$88G9'#MWS,@RV1]V6))Q1*X:4.M8_1$3I&>],&6*+:+ M'&E/"6ZL]EEM J4(0RD"H]0)@RV1-Y&B<>#9G7_2J(Q);0F6&M\UC,=(#X^9 MIURX!MJ+ATB^?,A8I#>LF+RKC-[(8'H#%@6H]-:J1> *(\&*R=\CPP#.A0%N MT)H UM3UJ54+]J\P$JR O$F,N=P#F.MXE O73MMN1W%:A@XPWB98%>#M9V3E MPCM7)I'WI^PQ!XD7KINV^:C@A:7&]TOG!COWB,3K8J+7%%4MP5+CC6<@YPX& M.>#61D\FWEAQ*8JZ\Y9O 31MJ'>,J]Q2Y2A]YVV8 :ZPIW%+M4]H$5+D, MJEP8JDZ8=UUY\RL>!Z'8&YC(EF"I\;W!8,SM@3'SB O70'NU$,N(&TH;N5@Q M^7OW&;IY@]%M_RH UM3UR9-WS.0E18(5D_>)T9L'T]NPIQQ0F:M5"X E18(5 MD7>)099W &0=CW'AVFG[313G9>2+CIO )X_ADP?O6QG%VOD3O)$+UTW;;U2Z MPE+C^Z7S4)1W1*SU,/EJBJJ68*GQQC-:\P;3&C"A^3+6.K;,M7!L;:=,$)O' MB,WK>>YJT)06R%PKN82ZZ86EQKO$X,P[_*$K\USKR8A% E_B6D4QE\A;N7#3 MAEK'^,D[17[2YUI/L1<5CL5GV>#&:I_5)F#*8S#EP3!UPFCKR3M>U5#LB#I05'W?'"LI;SBC*A_>H3-+M]?P%A%NX:MI^HS(6EAK?+9V$%OX1X=;' MA*PIJEJ"I<8;SY#-'XQLP(P6*.#6D>$6CJWME EL\QFV^3V/?0V:TD(9;HGH M$NH.%Y8:[Q(C-!\FM/>%V[8R_!PO8^M442YV9+J%VS;4.X90_BDBE#[=^LIM M*/&YU"9P*&$X%,$Z=,-T&\F97-1:'XB@#-U"W.[#4^.Y@'!;T<-@[ M)'A"I;963;ADQ&?XL&+RKC)H"PRDXH UM7V2=\@4"XL$*RAO%..VP$ J#EA3 MVRA7GOG$#TNP(O(N,=0*#D"MX]$M7#MMOSWE*"N=F"8P*F 8%1SPE)@INJ5/ M= 7R+5PY;<=1,0M+C>^83D+"X(A\&V!RUA15+<%2XXUGU!8,IC9@3@L5?$MD MOH5C:SME@MP"1F[!X 0 /$6KIRVXZB4A:7&=TPG MC7QX1+P-4;,AHJHE6&J\\0S:0@-9$T-%(GG'E?$6CJWME EP"QFXA0;R)H9R M.GGIMD$XKK9+)A@M8HP6&4VBF">.F&\C10;7JZTEPZW3[LW3'!8Q#@LZN$P M\W0+UT!WQ="J"5>,N-N&%9-WE4%;-!C:@-?3H$);I-@CDY<5"590WBC&;9&! MY!NPIK91BO2*XKT 6!%YEQAJ14:3;[R5;N'::?LM)ZF7!]D$*R;O.&.HZ(#' MP@S![2\U8$%L"]=-VV]4Q,)2X_NE\]JOZ(AL&^&^(0R5V+#4>.,9L44&,$%A,:.PN(?"S+,M7 /=%4.K)EPQXKX/5DS>589LL8$, M'+"FMD^*#3)Y69%@!>6-8M06&TC 6MJ&R4G2)2> <6*R+O$2"LVFH#CK6P+ MUT[;;\7+CJ5!-L&*R3O.&"H^X*DP4V\'ZKDK&:Z:MMVHA(6EQG=+YVW-\1'1 M-L9]L3,JL&&I"2^![KX%VD"6Q*TH3[>*;,D]T77=0I,3[.J\G=DVD"QQ*PJ] M#7S:$UG?*B.O4[9)QRJC&1-U7X%KJ])LR$_@'E@NZ6G=8/\ZKUFV3Q&H!KP' MUSYD6VK:TUS]\]O("Y[MSAN>;1BQ3AAXMU6/^.&9!%*?8#)<@B8G]$GGU=%V M#Z"]PRMQX2KH+B>V<[(ZY;MSON6;:.9.MY*P3W5TS==SE^O&'H3M+ ; MWR?% Z5EDI;IY?FZ:OC7-+^?5["ZH'>5O#VN;YC.:V^V/Y39NNJFD763E=4D MUGS[0--JCJH+5'^_R[)R^\.DTG_.\A]-C,O_ U!+ P04 " "Y0A-5?!!2 M#%$# #J"0 &0 'AL+W=O:"EL46L)+HD97O[]1V2MJ+U:MTB M:*('FZ1FSIPY&I(SV@MYKS)$#87ON^2C(LF.J(+9;T9BUDP31- MY<976XDLM4Y%[D=!T/<+QDMO,K)K"SD9B4KGO,2%!%45!9,/,\S%?NR%WFGA M ]]DVBSXD]&6;7")^N-V(6GFUR@I+[!47)0@<3WVIN'U?&CLK<$GCGO5&(/) M9"7$O9F\3<=>8 AACHDV"(S^=CC'/#= 1..O(Z97AS2.S?$)_8W-G7)9,85S MD7_FJ<[&WM"#%->LRO4'L?\3C_GT#%XB MOG@U\C6%-@!^<@PS+P M"J(@BEKXS/^S=WB!3%RK&%NX^!FX9<8DOIY1.:6P8 ]4Y1JFI%NY03.^@G>B M3)C*X/9 VT\A?)FNE)94PU_;M'3!NNW!S+Z^5EN6X-BCC:M0[M";_/I+V ]^ M;Q/B?P)[I$NWUJ5["?V1+G-1F-R9K;*&.+!Z@%;]]DRFI%Q5K%""6#LC!=-* M9T+RO\^KR$GG^/0M'W."[2:4"CTC?]<4Y2+M[Q2E5XO2^]&BN+VJKN /\M * M..U;E%S0J\_VX"*7Z0XEGMB0+NX$T9EP;4;1 MH#9Z)$B_%J3_[X+ 0O*DE5?_27F= O='E F7+7O<4>EUY#C7(JG%M&P&YT7@-^X-@N4 M&]M-*$A$56IW$=6K=<,RM??TV?J,&AG7=WR#<5W0'9,;7BK(<4V006= G*3K M+-Q$BZV]G%="TU5OAQDU8RB- ;U?"Z%/$Q.@;N\F_P!02P,$% @ N4(3 M597F?\K] 0 $@0 !D !X;"]W;W)K&UL?93= MCM,P$(5?Q3(2 @G5:;HMJ"21MKL@N%A4;05<("[<9-I8=>+L>-IL>7IL)PU% M:C<7B<>>\_F,?Y*T!G>V!"#V7.G:IKPD:N9"V+R$2MJ1::!V(QN#E207XE;8 M!D$6051I$4?13%12U3Q+0M\2L\3L2:L:ELCLOJHD'A>@39OR,3]U/*IM2;Y# M9$DCM[ "^MXLT45BH!2J@MHJ4S.$3'A!\*6GO69KZ2M3$['WPM M4AYY0Z A)T^0[G. .]#:@YR-IY[)ARF]\+Q]HG\.M;M:UM+"G=$_54%ERC]P M5L!&[C4]FO8+]/5,/2\WVH8W:[O<&S=COK=DJE[LXDK5W5<^]^MP)HBC*X*X M%\3!=S=1<'DO268)FI:ASW8TWPBE!K4SIVJ_*2M"-ZJ8W(>_*B(\=7R _RR";C=RR.XIC94B+8 M_R'"61W\QH/?.% G5ZB?GO:*CNS7[=H2NBW]?M7XUGT\06#D\'@Y"5Z]F\QNYJ9W%-I4/V!XI+5#C8+,'^!#IF[3OY) MQ.'^ M,89.@3](PV\@^PM02P,$% @ N4(350>3\7&ULK51-C]HP$/TKEBM5K=3B? "E-$3:95NU MAZW0TH]#U8,) [%PXJP]([)1NN!H3;UEIM+ UQY42!8%P9@57)0T3?S>0J>) MJE&*$A::F+HHN#[<@E3-C(;TN/$@MCFZ#98F%=_"$O![M=#68CW+6A10&J%* MHF$SHS?A=!X[?^_P0T!C3M;$*5DIM7/&E_6,!BXAD)"A8^#VMX_P/259;5 5'=AF4(BR_?.GK@XG@#"^ H@Z0/1<0-P!?.58FYF7=<>1IXE6 M#='.V[*YA:^-1ULUHG2WN$1M3X7%81J.!^2;O7Y3ZP-9HLIV4_+J#I +:5&O=S(T\57Z#X^U@(/Y-?-RJ"V+?3[DIZ68GB9PHW5U%0\@QFUQ,;=RKC?_&GIY?["6I+7[L\6[@]^EH-)G$PX3M3T7\TZU- MCYWTH7L#[KG>BM(0"1L+# ;O1I3H=JY: U7E6W.ET#:Z7^;V*0+M'.SY1BD\ M&J[;^\&ULK51-C],P$/TK5D!H5X+FJ]LN)8VT;4%P**I: M+1P0!S>9-M8Z=K"G'_OOL9TT9)=VQ8%+[+'GO9DW\4QRD.I!%P!(CB47>NP5 MB-7(]W560$EU3U8@S,U&JI*B,=76UY4"FCM0R?TH" 9^29GPTL2=+52:R!UR M)F"AB-Z5)56/$^#R,/9"[W2P9-L"[8&?)A7=P@KPOEHH8_DM2\Y*$)I)011L MQMY=.)KVK;]S^,;@H#M[8I6LI7RPQI=\[ 4V(>"0H66@9MG#%#BW1":-7PVG MUX:TP.[^Q/[):3=:UE3#5/+O+,=B[-UZ)(<-W7%FSIT .'@ B!J -%S0'P!$#> V FM,W.R9A1IFBAY M(,IZ&S:[<;5Q:*.&"?L75ZC,+3,X3,-ACRP!F0+S:Y L.!4CI%Q3A])'+XE41!%9_*9_C,Z?"&9N"UA[.CB"W2=\DU P(:A)C_NUAJ5 M>:,_SY6KYNN?Y[-].](5S6#LF<;4H/;@I6]>A8/@PSFM_XGLB?1^*[W_$GM7 M>F5>#H&CF2X:SFFNB6X?J=%U^" MVKI!H$DF=P+K9]2>MK/FSK78L_.)F4'UR/A#4P^P.55;)C3AL#&406]HDE+U M4*@-E)7KJ[5$TZ5N6Y@Y"LHZF/N-E'@R;(!V,J>_ 5!+ P04 " "Y0A-5 M$RB%=VH" !_!@ &0 'AL+W=O)X:9=T MQ;876Z1X#@\IB\[74CWH&@#)IN%"CX(:L3T-0UW6T%!](EL09FY\MZK(Y1(Y$W"KB%XV#56/8^!R/0KB8.NX8XL: MK2,L\I8N8 IXW]XJ8X4]2\4:$)I)013,1\%9?#K);+P+^,)@K7?6Q%8RD_+! M&M?5*(BL(.!0HF6@YK6""7!NB8R,'QUGT*>TP-WUEOW2U6YJF5$-$\F_L@KK M4? I(!7,Z9+CG5Q?05>/$UA*KMV3K'ULE@6D7&J430A>>;)5/DY>9+RACR2-WY,D2I(]>B:O M1LVC9>VC1?>I\FWLYE&9;[9[_M:Y[D'^[GM/3[5+2UA M%)B+JD&M("C>O8F'T>=]=?\GLB=M&/1M&/PMNW]>"P2S@:2EK-K7"L^?.7X[ M@59%E(>KW?I>BG@B.NM%9_\JNI0-$*0;T >%9W\4_GO$(!VFS\6'.W>Y ;5P M(TZ34BX%^LO1>_LI>N:&QS/_V$Q7/PQ_T?C1?$/5@@E-.,P-973RT6A2?MQY M V7K)L9,HID_;EF;/P0H&V#VYU+BUK )^G].\1-02P,$% @ N4(350RS M:),Y P S!, T !X;"]S='EL97,N>&ULW5A=3]LP%/TKD1D32!-IFQ&: MT5;:*B%-VB8D>-@;38F>.R=K]^OG::?N"+& ];NU0T]CT^YQ[;-\0P MJ,U*L+LY8R9:ED+60S(WIOH0Q_5TSDI:7ZB*28L42I?4V*Z>Q76E&C]^YH!S$@=%+U\@>M'IX,( 8N+IR\2?T\:DKW:EW?!3 M*^2)IQBM'Z#9+!LF=#!R%B1O41TQ;G9S-"B4W&QJ0GS *M.218]4#,F8"C[1 M'%@%+;E8^7 / E,EE(Z,K2:;J@N1^I>'N[X'A=;HE%PJ[7+[#/Y[T@S? ]8] M,,B%: WVB ^,!A4UAFEY8SMNL L^@:*F?;^JK,.9IJMN[Y)L".YFDTR4SIEN MTW3).C0:"%: 'PN_%CO:R MV-JS#NR8;)O64-/T,KX#^MMJ7GM;-GF5;E3Q1V4^+>QTI.M#9;-;S0J^=/UE MT1K U+NX.JTJL?HH^$R6S$_^Q0E' [KF17.E^2^;#4IE:@-,D^B1:<.GVY&? MFE;W;&G6Y;0L<,^](_3\=]=YQB335&R;MK5_R*O\:L?-:^M?>':_5O8=!TTF M5X?OL7E5'[K)]!A,'L5V]X_!9';X)I/#]!@WAXRMD\S..::-1G!>'))O,_GD.&/E#9W8/U5V].WXG!5T("R. M87DP!QC'L[ \_]-\^NA\/(9YZP>1/LKIHQS/"B%C]\'RA#F9O<(SS;(D25-L M1TJ2),O""&!A!TF"(? TX@CF #Q@2)*X]^#>^RA>OZ?BS?_O1K\!4$L# M!!0 ( +E"$U67BKL

-8?20$3;8T.P6BP^0"X99K>]9!:G M:%$-MQ?EE9^]NU_&%M[-V-,7?LH5;:G8Q6WC?O)Q-7K43- MW=@T0L.>I;$U]_#6WDY<8P5?N)40OE:3=#HM)S67>O3QP_9<,SN)WQ@O*B^- MAHUAPP\IUNYY?WC+[J63-U))OSD9=?\K,6*UU+*6O\3B9#0=,;( "_@X/Y=Z\V%5%[8,^[%G]:TC=2WX33P*R;1S^CBL'WM@_C>_I\PFN525N+, M5&TMM._C:(4*@-JM9.-&3/-:G(Q.S;VPX?? %WQ9]+_- U04*?M>P@[[9='A M4:)H9Y1NN*X$ZT+H(L 4 4SW!L@.9CR"S!#([#="7@>(\ ''S))] MT96)(',$,M\;Y/6*Q]=C@4 6>X,\Y6X5098(9$D+F8S9=5O7W&ZZX,E;+>&3 M7'OVJ:I,&T$>(I"'M)#IN*<)T>-ZP2[]2EAV)2HA[_F-BB"/$,@C6LAL#!/D M'HXQ=O,S0CI&D(YID?(Q.S7N,6CGSLNZNQ;/N=7@BS@K)E,L;T]I,8LQ^P:. M]D)W&?%YA/MXQIBH7HC]4HX9E L-R'S3!_3?5C;A,_%H)YA?$F+!',)D7AGK MW\V%K=EG8ZU9AX$> &)N28CE M &$228@MDDS'G7AKP>;\X048)HZ$VAR@CFTF83,8TU-3UT9W A8#2LP<";$Z M$G#'5=@!%]N,AZD[MUP[WM7\PV!B[DB(Y9& /<[K1IF-@)+0F^J.S5I;K;@3 M;*;BTC#!?)(0"R4I0@X42V%M5], 9QS"%+-(2FR1!/+S')H_UT(MLXN&F2,E M-D=R&"Y"+VU7 88!U0,VM"R.!AR17DG4'GA)DC M)39' HDY5,WL0IFU [+^+'#8()*8.E)B=:20J:^DN^O+K;^AE+$^E#5RF+13 MS"8IL4U22-I?Q2V,+90RE1"+E^5!BBDEW6&W69)AC,F+'['0#KQ)BALFH^Q6T+6 Q)J::C%HUD'_Z.ONR M"3N[HNPYG#$FIIJ,NGUYN^P)J#$FIIJ,NGU!Q9W%F)AS,F+G/%G;;F\=BK#N M G\/SH2/HYECSLF)G?-D[1A.JL$8;7+R%1<,,YX\.;KD0JR>EV60Z40NM]=JC(GY)R?V#UY7#J*)^25PXP,?_DQ/X9%)5B6U0^Y:48$_-/3NP?K/R%Y!EC8O[)B?WSYOWY'?\4 MF'\*8O_T%R)_+-'%8XG^VJ 7F(4*8@MU)3J[V;":_V,LJUKGH2ZVS&^:EYB8 MA0IB"T7-Q*/'V7=N+0\/=,1&+S '%<0.BGL*-G^SZB@P 17$ KH2E=&55++; M%0I-V5-[_@!4,2:ZZD^^[%\W1F]7^L^V-\LAM.R32+K22?3J*,3$!%?M)G2\ M@Q8C?B0%$U!)+* 8$YHUHQ1;FC6WBQU/EIB 2FH![4;S'7O>&&-B BJI5WC> MNM71S_<8$U-02;W"\\K:8I238DS,0B7U';C=9<8X<\:8F(5*ZMMPKRPYOA%- M].DS8@M=MTVC.D2N6!5N="V568/8^[/%F)B%RLY"D^Y@]_'#0BRE%HOO\!4. MME=<53.P![STC^CD15A%7[9*G<*V2_W5\,7VZ=GMD[\?_P-02P,$% @ MN4(35!-T#(HPS=1Y +Z1 ITA@\ M%3$D>/E7'X@AGWZ50SONNU/=[?NZ^#@>3G75[,:Q_Y%27>_*L:UW75].YRN; M;CBVXWDY;%/?KM_;;4FZ7.8TW,YHGI]N9RY>/_OR/Q.[S6:_+C^[]>]C.8W_ M&)S^=,-[W94R-HO7=MB6<=6DC\/U=$V7@]R=)S>+E[=5,[R\29/F#E((TOF# M#()L_B"'()\_*" HY@_*$)3G#[J'H/OY@QX@Z&'^H$<(>IP_2)8HXY(@:8(U M@=:"7 N!UX)@"X'8@F0+@=F": N!VH)L"X';@G +@=R"= N!W8)X"X'>BGHK M@=Z*>BN!WCIYV2;06U%O)=!;46\ET%M1;R706U%O)=!;46\ET%M1;R706U%O M)=#;4&\CT-M0;R/0VU!O(]#;)ILE!'H;ZFT$>AOJ;01Z&^IM!'H;ZFT$>AOJ M;01Z&^IM!'H[ZNT$>COJ[01Z.^KM!'H[ZNT$>OMDLYM ;T>]G4!O1[V=0&]' MO9U ;T>]G4!O1[V=0.] O8- [T"]@T#O0+V#0.] O8- [T"]@T#OF'RL)- [ M4.\@T#M0[R#0.U#O(- [4.\@T#NCWIE [XQZ9P*],^J="?3.J'2KWV?*WQ^=])]7B^MUP??UE^G9RP<\$Y MW5;4Y[]02P,$% @ N4(35>(A,D+Q 0 &2< !, !;0V]N=&5N=%]4 M>7!E&ULS=K+3L,P$ 707ZFR18WK)P_1;H ML. '3#*E49/8LETH?X^3 M A((*E"1N)M&K>VY$X]T5CV_>_84)]NN[>.\6*7DSQB+U8HZ&TOGJ<\K2QTM)LV3:ZV^>?8N'Y>!&IC,;G8 M;1RRYH7UOFTJF_(Z>^SK3RG3UX0RGQSWQ%7CXU'>4+ O$X:5[P->S]T\4@A- M39-;&]*U[?(NMFU93,\MQ7)_B2]Z=,ME4U'MJDV7CY31![)U7!&EKBUW18_V M)Z=\P[3[Y ?GCV7V!>:=M\'YF"<6Z/=Q;R,93D]]+D0A-?M?\3TQES[X_6B8 M=DWU#[/S]3ZYL![G$=GX./R./\[XO?XO^Q @?4B0/A1('QJD#P/2QS%('R<@ M?9R"],%G*(V@B,I12.4HIG(45#F*JAR%58[B*D>!E:/(*E!D%2BR"A19!8JL M D56@2*K0)%5H,@J4&05*+)*%%DEBJP215:)(JM$D56BR"I19)4HLDH4626* MK I%5H4BJT*15:'(JE!D52BR*A19%8JL"D56A2*K1I%5H\BJ4635*+)J%%DU MBJP:15:-(JM&D56CR&I09#4HLAH460V*K 9%5H,BJT&1U?RGK/?.K?\X?GR6 MG6WZMWPV_B-N\0)02P$"% ,4 " "Y0A-5!T%-8H$ "Q $ M @ $ 9&]C4')O<',O87!P+GAM;%!+ 0(4 Q0 ( +E"$U7& M2="*[@ "L" 1 " :\ !D;V-0&UL4$L! A0#% @ N4(358;4C97Q!@ M!2T !@ ("!#0@ 'AL+W=O2 MDIP" L!P & @(%S%0 >&PO=V]R:W-H965T&UL4$L! A0#% @ N4(35;5UF?UQ! RP\ !@ M ("!11@ 'AL+W=O 8 " @>P< !X;"]W;W)K&PO=V]R:W-H965T&UL4$L! A0#% M @ N4(35=C0'RXT$ ;2H !@ ("!1"D 'AL+W=O&PO M=V]R:W-H965T&UL4$L! A0#% @ N4(359D?Z)TI! MWPD !D ("!"$ 'AL+W=O&PO=V]R:W-H965T+P, -@& 9 " @7E) !X;"]W;W)K&UL4$L! A0#% @ N4(358D/*EBJ @ T 4 !D M ("!WTP 'AL+W=OC":W0" !Q!0 &0 @(' 3P >&PO=V]R:W-H M965T&UL4$L! M A0#% @ N4(350G&W)\^!@ [PX !D ("!9U8 'AL M+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ N4(3 M56A#B55< P L@< !D ("!:V( 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ N4(35>$O8@_: @ ,@8 M !D ("!@VH 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ N4(353PRT)@$!0 )@L !D M ("!TW( 'AL+W=O9T@" >&PO=V]R:W-H965T M&UL4$L! A0# M% @ N4(356OKXERF @ RP4 !D ("! HP 'AL+W=O M&PO=V]R:W-H965T&UL4$L! A0#% @ N4(358NO M$Q:3 @ LP4 !D ("!@)4 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ N4(350+-<>AJ @ ,P4 !D M ("!(IX 'AL+W=O&PO M=V]R:W-H965T&UL4$L! A0#% @ N4(359KQ]KR0! H P !D ("! M/J@ 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% M @ N4(351F>_:#- @ / @ !D ("!*;, 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ N4(350!AJHW/ @ 9P8 !D M ("! ,4 'AL+W=O&PO=V]R M:W-H965T&UL M4$L! A0#% @ N4(357N6:ZF/ @ CP8 !D ("!,\X M 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ MN4(351?S3F_? @ 7@D !D ("!AM8 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ N4(355&PO=V]R:W-H M965T&UL4$L! M A0#% @ N4(352@ "T&, P K@T !D ("!X_( 'AL M+W=O&PO=V]R:W-H965TH# 0!X;"]W;W)K&UL4$L! A0#% @ N4(3 M597F?\K] 0 $@0 !D ("!<@&PO=V]R:W-H965T3'5@( *4% 9 " @>P+ 0!X;"]W;W)K M&UL4$L! A0#% @ N4(351,HA7=J @ ?P8 M !D ("!>0X! 'AL+W=O&PO&PO M7W)E;',O=V]R:V)O;VLN>&UL+G)E;'-02P$"% ,4 " "Y0A-5XB$R0O$! M 9)P $P @ &J'0$ 6T-O;G1E;G1?5'EP97-=+GAM;%!+ 4!08 2P!+ (04 #,'P$ ! end XML 80 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 81 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 82 FilingSummary.xml IDEA: XBRL DOCUMENT 3.22.2.2 html 53 270 1 false 16 0 false 4 false false R1.htm 00000001 - Document - Cover Sheet http://taylordevices.com/role/Cover Cover Cover 1 false false R2.htm 00000002 - Statement - Consolidated Balance Sheets Sheet http://taylordevices.com/role/BalanceSheets Consolidated Balance Sheets Statements 2 false false R3.htm 00000003 - Statement - Consolidated Balance Sheets (Parenthetical) Sheet http://taylordevices.com/role/BalanceSheetsParenthetical Consolidated Balance Sheets (Parenthetical) Statements 3 false false R4.htm 00000004 - Statement - Consolidated Statements of Income Sheet http://taylordevices.com/role/StatementsOfIncome Consolidated Statements of Income Statements 4 false false R5.htm 00000005 - Statement - Consolidated Statements of Shareholders Equity Sheet http://taylordevices.com/role/StatementsOfShareholdersEquity Consolidated Statements of Shareholders Equity Statements 5 false false R6.htm 00000006 - Statement - Consolidated Statements of Cash Flows Sheet http://taylordevices.com/role/StatementsOfCashFlows Consolidated Statements of Cash Flows Statements 6 false false R7.htm 00000007 - Disclosure - 1. Summary of Significant Accounting Policies: Sheet http://taylordevices.com/role/SummaryOfSignificantAccountingPolicies 1. Summary of Significant Accounting Policies: Notes 7 false false R8.htm 00000008 - Disclosure - 2. Accounts and Other Receivables: Sheet http://taylordevices.com/role/AccountsAndOtherReceivables 2. Accounts and Other Receivables: Notes 8 false false R9.htm 00000009 - Disclosure - 3. Inventory: Sheet http://taylordevices.com/role/Inventory 3. Inventory: Notes 9 false false R10.htm 00000010 - Disclosure - 4. Costs and Estimated Earnings on Uncompleted Contracts: Sheet http://taylordevices.com/role/CostsAndEstimatedEarningsOnUncompletedContracts 4. Costs and Estimated Earnings on Uncompleted Contracts: Notes 10 false false R11.htm 00000011 - Disclosure - 5. Maintenance and Other Inventory: Sheet http://taylordevices.com/role/MaintenanceAndOtherInventory 5. Maintenance and Other Inventory: Notes 11 false false R12.htm 00000012 - Disclosure - 6. Property and Equipment: Sheet http://taylordevices.com/role/PropertyAndEquipment 6. Property and Equipment: Notes 12 false false R13.htm 00000013 - Disclosure - 7. Short-Term Borrowings: Sheet http://taylordevices.com/role/Short-termBorrowings 7. Short-Term Borrowings: Notes 13 false false R14.htm 00000014 - Disclosure - 8. Other Accrued Expenses: Sheet http://taylordevices.com/role/OtherAccruedExpenses 8. Other Accrued Expenses: Notes 14 false false R15.htm 00000015 - Disclosure - 9. Sales: Sheet http://taylordevices.com/role/Sales 9. Sales: Notes 15 false false R16.htm 00000016 - Disclosure - 10. Income Taxes: Sheet http://taylordevices.com/role/IncomeTaxes 10. Income Taxes: Notes 16 false false R17.htm 00000017 - Disclosure - 11. Earnings Per Common Share: Sheet http://taylordevices.com/role/EarningsPerCommonShare 11. Earnings Per Common Share: Notes 17 false false R18.htm 00000018 - Disclosure - 12. Related Party Transactions: Sheet http://taylordevices.com/role/RelatedPartyTransactions 12. Related Party Transactions: Notes 18 false false R19.htm 00000019 - Disclosure - 13. Employee Stock Purchase Plan: Sheet http://taylordevices.com/role/EmployeeStockPurchasePlan 13. Employee Stock Purchase Plan: Notes 19 false false R20.htm 00000021 - Disclosure - 15. Preferred Stock: Sheet http://taylordevices.com/role/PreferredStock 15. Preferred Stock: Notes 20 false false R21.htm 00000022 - Disclosure - 16. Treasury Stock: Sheet http://taylordevices.com/role/TreasuryStock 16. Treasury Stock: Notes 21 false false R22.htm 00000023 - Disclosure - 17. Retirement Plan: Sheet http://taylordevices.com/role/RetirementPlan 17. Retirement Plan: Notes 22 false false R23.htm 00000024 - Disclosure - 18. Fair Value of Financial Instruments: Sheet http://taylordevices.com/role/FairValueOfFinancialInstruments 18. Fair Value of Financial Instruments: Notes 23 false false R24.htm 00000025 - Disclosure - 19. Cash Flows Information: Sheet http://taylordevices.com/role/CashFlowsInformation 19. Cash Flows Information: Notes 24 false false R25.htm 00000026 - Disclosure - 20. Risks and Uncertainties: Sheet http://taylordevices.com/role/RisksAndUncertainties 20. Risks and Uncertainties: Notes 25 false false R26.htm 00000027 - Disclosure - 21. Legal Proceedings: Sheet http://taylordevices.com/role/LegalProceedings 21. Legal Proceedings: Notes 26 false false R27.htm 00000028 - Disclosure - 1. Summary of Significant Accounting Policies: (Policies) Sheet http://taylordevices.com/role/SummaryOfSignificantAccountingPoliciesPolicies 1. Summary of Significant Accounting Policies: (Policies) Policies http://taylordevices.com/role/SummaryOfSignificantAccountingPolicies 27 false false R28.htm 00000029 - Disclosure - 2. Accounts and Other Receivables: (Tables) Sheet http://taylordevices.com/role/AccountsAndOtherReceivablesTables 2. Accounts and Other Receivables: (Tables) Tables http://taylordevices.com/role/AccountsAndOtherReceivables 28 false false R29.htm 00000030 - Disclosure - 3. Inventory: (Tables) Sheet http://taylordevices.com/role/InventoryTables 3. Inventory: (Tables) Tables http://taylordevices.com/role/Inventory 29 false false R30.htm 00000031 - Disclosure - 4. Costs and Estimated Earnings on Uncompleted Contracts: (Tables) Sheet http://taylordevices.com/role/CostsAndEstimatedEarningsOnUncompletedContractsTables 4. Costs and Estimated Earnings on Uncompleted Contracts: (Tables) Tables http://taylordevices.com/role/CostsAndEstimatedEarningsOnUncompletedContracts 30 false false R31.htm 00000032 - Disclosure - 5. Maintenance and Other Inventory: (Tables) Sheet http://taylordevices.com/role/MaintenanceAndOtherInventoryTables 5. Maintenance and Other Inventory: (Tables) Tables http://taylordevices.com/role/MaintenanceAndOtherInventory 31 false false R32.htm 00000033 - Disclosure - 6. Property and Equipment: (Tables) Sheet http://taylordevices.com/role/PropertyAndEquipmentTables 6. Property and Equipment: (Tables) Tables http://taylordevices.com/role/PropertyAndEquipment 32 false false R33.htm 00000034 - Disclosure - 8. Other Accrued Expenses: (Tables) Sheet http://taylordevices.com/role/OtherAccruedExpensesTables 8. Other Accrued Expenses: (Tables) Tables http://taylordevices.com/role/OtherAccruedExpenses 33 false false R34.htm 00000035 - Disclosure - 9. Sales: (Tables) Sheet http://taylordevices.com/role/SalesTables 9. Sales: (Tables) Tables http://taylordevices.com/role/Sales 34 false false R35.htm 00000036 - Disclosure - 10. Income Taxes: (Tables) Sheet http://taylordevices.com/role/IncomeTaxesTables 10. Income Taxes: (Tables) Tables http://taylordevices.com/role/IncomeTaxes 35 false false R36.htm 00000037 - Disclosure - 11. Earnings Per Common Share: (Tables) Sheet http://taylordevices.com/role/EarningsPerCommonShareTables 11. Earnings Per Common Share: (Tables) Tables http://taylordevices.com/role/EarningsPerCommonShare 36 false false R37.htm 00000038 - Disclosure - 14. Stock Option Plans: (Tables) Sheet http://taylordevices.com/role/StockOptionPlansTables 14. Stock Option Plans: (Tables) Tables 37 false false R38.htm 00000039 - Disclosure - 19. Cash Flows Information: (Tables) Sheet http://taylordevices.com/role/CashFlowsInformationTables 19. Cash Flows Information: (Tables) Tables http://taylordevices.com/role/CashFlowsInformation 38 false false R39.htm 00000040 - Disclosure - 1. Summary of Significant Accounting Policies: (Details Narrative) Sheet http://taylordevices.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative 1. Summary of Significant Accounting Policies: (Details Narrative) Details http://taylordevices.com/role/SummaryOfSignificantAccountingPoliciesPolicies 39 false false R40.htm 00000041 - Disclosure - Accounts receivable table (Details) Sheet http://taylordevices.com/role/AccountsReceivableTableDetails Accounts receivable table (Details) Details 40 false false R41.htm 00000042 - Disclosure - Inventory table (Details) Sheet http://taylordevices.com/role/InventoryTableDetails Inventory table (Details) Details 41 false false R42.htm 00000043 - Disclosure - Costs and estimated earnings on uncompleted contracts components table (Details) Sheet http://taylordevices.com/role/CostsAndEstimatedEarningsOnUncompletedContractsComponentsTableDetails Costs and estimated earnings on uncompleted contracts components table (Details) Details 42 false false R43.htm 00000044 - Disclosure - Costs and estimated earnings on uncompleted contracts table (Details) Sheet http://taylordevices.com/role/CostsAndEstimatedEarningsOnUncompletedContractsTableDetails Costs and estimated earnings on uncompleted contracts table (Details) Details 43 false false R44.htm 00000045 - Disclosure - Costs and estimated earnings on uncompleted contracts two table (Details) Sheet http://taylordevices.com/role/CostsAndEstimatedEarningsOnUncompletedContractsTwoTableDetails Costs and estimated earnings on uncompleted contracts two table (Details) Details 44 false false R45.htm 00000046 - Disclosure - Maintenance and other inventory table (Details) Sheet http://taylordevices.com/role/MaintenanceAndOtherInventoryTableDetails Maintenance and other inventory table (Details) Details 45 false false R46.htm 00000047 - Disclosure - 4. Costs and Estimated Earnings on Uncompleted Contracts: (Details Narrative) Sheet http://taylordevices.com/role/CostsAndEstimatedEarningsOnUncompletedContractsDetailsNarrative 4. Costs and Estimated Earnings on Uncompleted Contracts: (Details Narrative) Details http://taylordevices.com/role/CostsAndEstimatedEarningsOnUncompletedContractsTables 46 false false R47.htm 00000048 - Disclosure - 5. Maintenance and Other Inventory: (Details Narrative) Sheet http://taylordevices.com/role/MaintenanceAndOtherInventoryDetailsNarrative 5. Maintenance and Other Inventory: (Details Narrative) Details http://taylordevices.com/role/MaintenanceAndOtherInventoryTables 47 false false R48.htm 00000049 - Disclosure - Property and equipment table (Details) Sheet http://taylordevices.com/role/PropertyAndEquipmentTableDetails Property and equipment table (Details) Details 48 false false R49.htm 00000050 - Disclosure - 6. Property and Equipment: (Details Narrative) Sheet http://taylordevices.com/role/PropertyAndEquipmentDetailsNarrative 6. Property and Equipment: (Details Narrative) Details http://taylordevices.com/role/PropertyAndEquipmentTables 49 false false R50.htm 00000051 - Disclosure - 7. Short-Term Borrowings: (Details Narrative) Sheet http://taylordevices.com/role/Short-termBorrowingsDetailsNarrative 7. Short-Term Borrowings: (Details Narrative) Details http://taylordevices.com/role/Short-termBorrowings 50 false false R51.htm 00000052 - Disclosure - Other accrued expenses table (Details) Sheet http://taylordevices.com/role/OtherAccruedExpensesTableDetails Other accrued expenses table (Details) Details 51 false false R52.htm 00000053 - Disclosure - Sales by major customer type (Details) Sheet http://taylordevices.com/role/SalesByMajorCustomerTypeDetails Sales by major customer type (Details) Details 52 false false R53.htm 00000054 - Disclosure - 9. Sales: (Details Narrative) Sheet http://taylordevices.com/role/SalesDetailsNarrative 9. Sales: (Details Narrative) Details http://taylordevices.com/role/SalesTables 53 false false R54.htm 00000055 - Disclosure - Income Taxes Table (Details) Sheet http://taylordevices.com/role/IncomeTaxesTableDetails Income Taxes Table (Details) Details 54 false false R55.htm 00000056 - Disclosure - Reconciliation of income tax statutory rate to effective rate (Details) Sheet http://taylordevices.com/role/ReconciliationOfIncomeTaxStatutoryRateToEffectiveRateDetails Reconciliation of income tax statutory rate to effective rate (Details) Details 55 false false R56.htm 00000057 - Disclosure - Components of Deferred Tax Assets and Liabilities (Details) Sheet http://taylordevices.com/role/ComponentsOfDeferredTaxAssetsAndLiabilitiesDetails Components of Deferred Tax Assets and Liabilities (Details) Details 56 false false R57.htm 00000058 - Disclosure - 10. Income Taxes: (Details Narrative) Sheet http://taylordevices.com/role/IncomeTaxesDetailsNarrative 10. Income Taxes: (Details Narrative) Details http://taylordevices.com/role/IncomeTaxesTables 57 false false R58.htm 00000059 - Disclosure - Earnings per common share table (Details) Sheet http://taylordevices.com/role/EarningsPerCommonShareTableDetails Earnings per common share table (Details) Details 58 false false R59.htm 00000060 - Disclosure - 13. Employee Stock Purchase Plan: (Details Narrative) Sheet http://taylordevices.com/role/EmployeeStockPurchasePlanDetailsNarrative 13. Employee Stock Purchase Plan: (Details Narrative) Details http://taylordevices.com/role/EmployeeStockPurchasePlan 59 false false R60.htm 00000061 - Disclosure - Stock option plans table (Details) Sheet http://taylordevices.com/role/StockOptionPlansTableDetails Stock option plans table (Details) Details 60 false false R61.htm 00000062 - Disclosure - Stock options roll foward (Details) Sheet http://taylordevices.com/role/StockOptionsRollFowardDetails Stock options roll foward (Details) Details 61 false false R62.htm 00000063 - Disclosure - Stock option plans - Stock options outstanding and exercisable (Details) Sheet http://taylordevices.com/role/StockOptionPlans-StockOptionsOutstandingAndExercisableDetails Stock option plans - Stock options outstanding and exercisable (Details) Details 62 false false R63.htm 00000064 - Disclosure - 14. Stock Option Plans: (Details Narrative) Sheet http://taylordevices.com/role/StockOptionPlansDetailsNarrative 14. Stock Option Plans: (Details Narrative) Details http://taylordevices.com/role/StockOptionPlansTables 63 false false R64.htm 00000065 - Disclosure - 15. Preferred Stock: (Details Narrative) Sheet http://taylordevices.com/role/PreferredStockDetailsNarrative 15. Preferred Stock: (Details Narrative) Details http://taylordevices.com/role/PreferredStock 64 false false R65.htm 00000066 - Disclosure - 16. Treasury Stock: (Details Narrative) Sheet http://taylordevices.com/role/TreasuryStockDetailsNarrative 16. Treasury Stock: (Details Narrative) Details http://taylordevices.com/role/TreasuryStock 65 false false R66.htm 00000067 - Disclosure - 17. Retirement Plan: (Details Narrative) Sheet http://taylordevices.com/role/RetirementPlanDetailsNarrative 17. Retirement Plan: (Details Narrative) Details http://taylordevices.com/role/RetirementPlan 66 false false R67.htm 00000068 - Disclosure - Supplemental cash flow information (Details) Sheet http://taylordevices.com/role/SupplementalCashFlowInformationDetails Supplemental cash flow information (Details) Details 67 false false All Reports Book All Reports [ix-0514-Hidden-Fact-Eligible-For-Transform] WARN: 2 fact(s) appearing in ix:hidden were eligible for transformation: us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1 - tayd202210k.htm 29, 30 tayd202210k.htm ceo302certification20220531.htm ceo906certification20220531.htm cfo302certification20220531.htm cfo906certification20220531.htm tayd-20220531.xsd tayd-20220531_cal.xml tayd-20220531_def.xml tayd-20220531_lab.xml tayd-20220531_pre.xml http://fasb.org/us-gaap/2022 http://xbrl.sec.gov/dei/2022 true true JSON 85 MetaLinks.json IDEA: XBRL DOCUMENT { "instance": { "tayd202210k.htm": { "axisCustom": 0, "axisStandard": 3, "contextCount": 53, "dts": { "calculationLink": { "local": [ "tayd-20220531_cal.xml" ] }, "definitionLink": { "local": [ "tayd-20220531_def.xml" ] }, "inline": { "local": [ "tayd202210k.htm" ] }, "labelLink": { "local": [ "tayd-20220531_lab.xml" ] }, "presentationLink": { "local": [ "tayd-20220531_pre.xml" ] }, "schema": { "local": [ "tayd-20220531.xsd" ], "remote": [ "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd", "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd", "http://www.xbrl.org/2003/xl-2003-12-31.xsd", "http://www.xbrl.org/2003/xlink-2003-12-31.xsd", "http://www.xbrl.org/2005/xbrldt-2005.xsd", "http://www.xbrl.org/2006/ref-2006-02-27.xsd", "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd", "http://www.xbrl.org/lrr/role/net-2009-12-16.xsd", "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd", "https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd", "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd", "https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd", "https://xbrl.fasb.org/srt/2022/elts/srt-roles-2022.xsd", "https://xbrl.fasb.org/srt/2022/elts/srt-types-2022.xsd", "https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd", "https://xbrl.fasb.org/us-gaap/2022/elts/us-roles-2022.xsd", "https://xbrl.fasb.org/us-gaap/2022/elts/us-types-2022.xsd", "https://xbrl.sec.gov/country/2022/country-2022.xsd", "https://xbrl.sec.gov/dei/2022/dei-2022.xsd" ] } }, "elementCount": 361, "entityCount": 1, "hidden": { "http://fasb.org/us-gaap/2022": 3, "http://xbrl.sec.gov/dei/2022": 5, "total": 8 }, "keyCustom": 32, "keyStandard": 238, "memberCustom": 12, "memberStandard": 4, "nsprefix": "tayd", "nsuri": "http://taylordevices.com/20220531", "report": { "R1": { "firstAnchor": { "ancestors": [ "span", "b", "p", "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "From2021-06-01to2022-05-31", "decimals": null, "first": true, "lang": "en-US", "name": "dei:DocumentType", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "document", "isDefault": "true", "longName": "00000001 - Document - Cover", "role": "http://taylordevices.com/role/Cover", "shortName": "Cover", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "b", "p", "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "From2021-06-01to2022-05-31", "decimals": null, "first": true, "lang": "en-US", "name": "dei:DocumentType", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R10": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "From2021-06-01to2022-05-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000010 - Disclosure - 4. Costs and Estimated Earnings on Uncompleted Contracts:", "role": "http://taylordevices.com/role/CostsAndEstimatedEarningsOnUncompletedContracts", "shortName": "4. Costs and Estimated Earnings on Uncompleted Contracts:", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "From2021-06-01to2022-05-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R11": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "From2021-06-01to2022-05-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:OtherAssetsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000011 - Disclosure - 5. Maintenance and Other Inventory:", "role": "http://taylordevices.com/role/MaintenanceAndOtherInventory", "shortName": "5. Maintenance and Other Inventory:", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "From2021-06-01to2022-05-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:OtherAssetsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R12": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "From2021-06-01to2022-05-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000012 - Disclosure - 6. Property and Equipment:", "role": "http://taylordevices.com/role/PropertyAndEquipment", "shortName": "6. Property and Equipment:", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "From2021-06-01to2022-05-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R13": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "From2021-06-01to2022-05-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfLineOfCreditFacilitiesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000013 - Disclosure - 7. Short-Term Borrowings:", "role": "http://taylordevices.com/role/Short-termBorrowings", "shortName": "7. Short-Term Borrowings:", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "From2021-06-01to2022-05-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfLineOfCreditFacilitiesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R14": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "From2021-06-01to2022-05-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000014 - Disclosure - 8. Other Accrued Expenses:", "role": "http://taylordevices.com/role/OtherAccruedExpenses", "shortName": "8. Other Accrued Expenses:", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "From2021-06-01to2022-05-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R15": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "From2021-06-01to2022-05-31", "decimals": null, "first": true, "lang": "en-US", "name": "tayd:ScheduleOfRevenueByMajorCustomersTypesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000015 - Disclosure - 9. Sales:", "role": "http://taylordevices.com/role/Sales", "shortName": "9. Sales:", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "From2021-06-01to2022-05-31", "decimals": null, "first": true, "lang": "en-US", "name": "tayd:ScheduleOfRevenueByMajorCustomersTypesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R16": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "From2021-06-01to2022-05-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000016 - Disclosure - 10. Income Taxes:", "role": "http://taylordevices.com/role/IncomeTaxes", "shortName": "10. Income Taxes:", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "From2021-06-01to2022-05-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R17": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "From2021-06-01to2022-05-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:EarningsPerShareTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000017 - Disclosure - 11. Earnings Per Common Share:", "role": "http://taylordevices.com/role/EarningsPerCommonShare", "shortName": "11. Earnings Per Common Share:", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "From2021-06-01to2022-05-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:EarningsPerShareTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R18": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "From2021-06-01to2022-05-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RelatedPartyTransactionsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000018 - Disclosure - 12. Related Party Transactions:", "role": "http://taylordevices.com/role/RelatedPartyTransactions", "shortName": "12. Related Party Transactions:", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "From2021-06-01to2022-05-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RelatedPartyTransactionsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R19": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "From2021-06-01to2022-05-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000019 - Disclosure - 13. Employee Stock Purchase Plan:", "role": "http://taylordevices.com/role/EmployeeStockPurchasePlan", "shortName": "13. Employee Stock Purchase Plan:", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "From2021-06-01to2022-05-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R2": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "AsOf2022-05-31", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "00000002 - Statement - Consolidated Balance Sheets", "role": "http://taylordevices.com/role/BalanceSheets", "shortName": "Consolidated Balance Sheets", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "td", "tr", "table", "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "AsOf2022-05-31", "decimals": "0", "lang": null, "name": "us-gaap:ShortTermInvestments", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R20": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "From2021-06-01to2022-05-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:PreferredStockTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000021 - Disclosure - 15. Preferred Stock:", "role": "http://taylordevices.com/role/PreferredStock", "shortName": "15. Preferred Stock:", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "From2021-06-01to2022-05-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:PreferredStockTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R21": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "From2021-06-01to2022-05-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:TreasuryStockTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000022 - Disclosure - 16. Treasury Stock:", "role": "http://taylordevices.com/role/TreasuryStock", "shortName": "16. Treasury Stock:", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "From2021-06-01to2022-05-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:TreasuryStockTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R22": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "From2021-06-01to2022-05-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfCostsOfRetirementPlansTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000023 - Disclosure - 17. Retirement Plan:", "role": "http://taylordevices.com/role/RetirementPlan", "shortName": "17. Retirement Plan:", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "From2021-06-01to2022-05-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfCostsOfRetirementPlansTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R23": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "From2021-06-01to2022-05-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueOfFinancialInstrumentsPolicy", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000024 - Disclosure - 18. Fair Value of Financial Instruments:", "role": "http://taylordevices.com/role/FairValueOfFinancialInstruments", "shortName": "18. Fair Value of Financial Instruments:", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "From2021-06-01to2022-05-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueOfFinancialInstrumentsPolicy", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R24": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "From2021-06-01to2022-05-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CashFlowSupplementalDisclosuresTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000025 - Disclosure - 19. Cash Flows Information:", "role": "http://taylordevices.com/role/CashFlowsInformation", "shortName": "19. Cash Flows Information:", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "From2021-06-01to2022-05-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CashFlowSupplementalDisclosuresTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R25": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "From2021-06-01to2022-05-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:UnusualRisksAndUncertaintiesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000026 - Disclosure - 20. Risks and Uncertainties:", "role": "http://taylordevices.com/role/RisksAndUncertainties", "shortName": "20. Risks and Uncertainties:", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "From2021-06-01to2022-05-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:UnusualRisksAndUncertaintiesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R26": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "From2021-06-01to2022-05-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LegalMattersAndContingenciesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000027 - Disclosure - 21. Legal Proceedings:", "role": "http://taylordevices.com/role/LegalProceedings", "shortName": "21. Legal Proceedings:", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "From2021-06-01to2022-05-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LegalMattersAndContingenciesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R27": { "firstAnchor": { "ancestors": [ "us-gaap:SignificantAccountingPoliciesTextBlock", "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "From2021-06-01to2022-05-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:NatureOfOperations", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000028 - Disclosure - 1. Summary of Significant Accounting Policies: (Policies)", "role": "http://taylordevices.com/role/SummaryOfSignificantAccountingPoliciesPolicies", "shortName": "1. Summary of Significant Accounting Policies: (Policies)", "subGroupType": "policies", "uniqueAnchor": { "ancestors": [ "us-gaap:SignificantAccountingPoliciesTextBlock", "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "From2021-06-01to2022-05-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:NatureOfOperations", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R28": { "firstAnchor": { "ancestors": [ "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock", "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "From2021-06-01to2022-05-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000029 - Disclosure - 2. Accounts and Other Receivables: (Tables)", "role": "http://taylordevices.com/role/AccountsAndOtherReceivablesTables", "shortName": "2. Accounts and Other Receivables: (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock", "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "From2021-06-01to2022-05-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R29": { "firstAnchor": { "ancestors": [ "us-gaap:InventoryDisclosureTextBlock", "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "From2021-06-01to2022-05-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000030 - Disclosure - 3. Inventory: (Tables)", "role": "http://taylordevices.com/role/InventoryTables", "shortName": "3. Inventory: (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:InventoryDisclosureTextBlock", "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "From2021-06-01to2022-05-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R3": { "firstAnchor": { "ancestors": [ "us-gaap:CommonStockParOrStatedValuePerShare", "span", "span", "td", "tr", "table", "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "AsOf2022-05-31", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:CommonStockParOrStatedValuePerShare", "reportCount": 1, "unique": true, "unitRef": "USDPShares", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "00000003 - Statement - Consolidated Balance Sheets (Parenthetical)", "role": "http://taylordevices.com/role/BalanceSheetsParenthetical", "shortName": "Consolidated Balance Sheets (Parenthetical)", "subGroupType": "parenthetical", "uniqueAnchor": { "ancestors": [ "us-gaap:CommonStockParOrStatedValuePerShare", "span", "span", "td", "tr", "table", "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "AsOf2022-05-31", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:CommonStockParOrStatedValuePerShare", "reportCount": 1, "unique": true, "unitRef": "USDPShares", "xsiNil": "false" } }, "R30": { "firstAnchor": { "ancestors": [ "us-gaap:DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock", "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "From2021-06-01to2022-05-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LongTermContractsOrProgramsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000031 - Disclosure - 4. Costs and Estimated Earnings on Uncompleted Contracts: (Tables)", "role": "http://taylordevices.com/role/CostsAndEstimatedEarningsOnUncompletedContractsTables", "shortName": "4. Costs and Estimated Earnings on Uncompleted Contracts: (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock", "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "From2021-06-01to2022-05-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LongTermContractsOrProgramsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R31": { "firstAnchor": { "ancestors": [ "us-gaap:OtherAssetsDisclosureTextBlock", "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "From2021-06-01to2022-05-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfInventoryNoncurrentTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000032 - Disclosure - 5. Maintenance and Other Inventory: (Tables)", "role": "http://taylordevices.com/role/MaintenanceAndOtherInventoryTables", "shortName": "5. Maintenance and Other Inventory: (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:OtherAssetsDisclosureTextBlock", "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "From2021-06-01to2022-05-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfInventoryNoncurrentTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R32": { "firstAnchor": { "ancestors": [ "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "From2021-06-01to2022-05-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000033 - Disclosure - 6. Property and Equipment: (Tables)", "role": "http://taylordevices.com/role/PropertyAndEquipmentTables", "shortName": "6. Property and Equipment: (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "From2021-06-01to2022-05-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R33": { "firstAnchor": { "ancestors": [ "us-gaap:AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock", "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "From2021-06-01to2022-05-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000034 - Disclosure - 8. Other Accrued Expenses: (Tables)", "role": "http://taylordevices.com/role/OtherAccruedExpensesTables", "shortName": "8. Other Accrued Expenses: (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock", "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "From2021-06-01to2022-05-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R34": { "firstAnchor": { "ancestors": [ "tayd:ScheduleOfRevenueByMajorCustomersTypesTextBlock", "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "From2021-06-01to2022-05-31", "decimals": null, "first": true, "lang": "en-US", "name": "tayd:ScheduleOfRevenueByMajorCustomerTypesTextBlockTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000035 - Disclosure - 9. Sales: (Tables)", "role": "http://taylordevices.com/role/SalesTables", "shortName": "9. Sales: (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "tayd:ScheduleOfRevenueByMajorCustomersTypesTextBlock", "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "From2021-06-01to2022-05-31", "decimals": null, "first": true, "lang": "en-US", "name": "tayd:ScheduleOfRevenueByMajorCustomerTypesTextBlockTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R35": { "firstAnchor": { "ancestors": [ "us-gaap:IncomeTaxDisclosureTextBlock", "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "From2021-06-01to2022-05-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000036 - Disclosure - 10. Income Taxes: (Tables)", "role": "http://taylordevices.com/role/IncomeTaxesTables", "shortName": "10. Income Taxes: (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:IncomeTaxDisclosureTextBlock", "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "From2021-06-01to2022-05-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R36": { "firstAnchor": { "ancestors": [ "us-gaap:EarningsPerShareTextBlock", "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "From2021-06-01to2022-05-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000037 - Disclosure - 11. Earnings Per Common Share: (Tables)", "role": "http://taylordevices.com/role/EarningsPerCommonShareTables", "shortName": "11. Earnings Per Common Share: (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:EarningsPerShareTextBlock", "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "From2021-06-01to2022-05-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R37": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "From2021-06-01to2022-05-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValueTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000038 - Disclosure - 14. Stock Option Plans: (Tables)", "role": "http://taylordevices.com/role/StockOptionPlansTables", "shortName": "14. Stock Option Plans: (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "From2021-06-01to2022-05-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValueTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R38": { "firstAnchor": { "ancestors": [ "us-gaap:CashFlowSupplementalDisclosuresTextBlock", "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "From2021-06-01to2022-05-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000039 - Disclosure - 19. Cash Flows Information: (Tables)", "role": "http://taylordevices.com/role/CashFlowsInformationTables", "shortName": "19. Cash Flows Information: (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:CashFlowSupplementalDisclosuresTextBlock", "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "From2021-06-01to2022-05-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R39": { "firstAnchor": { "ancestors": [ "span", "p", "us-gaap:NatureOfOperations", "us-gaap:SignificantAccountingPoliciesTextBlock", "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "From2021-06-01to2022-05-31", "decimals": "INF", "first": true, "lang": null, "name": "tayd:EntityWideDisclosureOnGeographicAreasPercentageOfRevenueFromExternalCustomersAttributedToEntitysCountryOfDomicile", "reportCount": 1, "unique": true, "unitRef": "Pure", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000040 - Disclosure - 1. Summary of Significant Accounting Policies: (Details Narrative)", "role": "http://taylordevices.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative", "shortName": "1. Summary of Significant Accounting Policies: (Details Narrative)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "p", "us-gaap:NatureOfOperations", "us-gaap:SignificantAccountingPoliciesTextBlock", "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "From2021-06-01to2022-05-31", "decimals": "INF", "first": true, "lang": null, "name": "tayd:EntityWideDisclosureOnGeographicAreasPercentageOfRevenueFromExternalCustomersAttributedToEntitysCountryOfDomicile", "reportCount": 1, "unique": true, "unitRef": "Pure", "xsiNil": "false" } }, "R4": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "From2021-06-01to2022-05-31", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:Revenues", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "00000004 - Statement - Consolidated Statements of Income", "role": "http://taylordevices.com/role/StatementsOfIncome", "shortName": "Consolidated Statements of Income", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "td", "tr", "table", "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "From2021-06-01to2022-05-31", "decimals": "0", "lang": null, "name": "us-gaap:CostOfGoodsAndServicesSold", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R40": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock", "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock", "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "AsOf2022-05-31", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:ReceivablesFromCustomers", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000041 - Disclosure - Accounts receivable table (Details)", "role": "http://taylordevices.com/role/AccountsReceivableTableDetails", "shortName": "Accounts receivable table (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock", "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock", "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "AsOf2022-05-31", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:ReceivablesFromCustomers", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R41": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "us-gaap:InventoryDisclosureTextBlock", "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "AsOf2022-05-31", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:InventoryRawMaterials", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000042 - Disclosure - Inventory table (Details)", "role": "http://taylordevices.com/role/InventoryTableDetails", "shortName": "Inventory table (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "us-gaap:InventoryDisclosureTextBlock", "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "AsOf2022-05-31", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:InventoryRawMaterials", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R42": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:LongTermContractsOrProgramsDisclosureTextBlock", "us-gaap:DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock", "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "AsOf2022-05-31", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:InventoryForLongTermContractsOrPrograms", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000043 - Disclosure - Costs and estimated earnings on uncompleted contracts components table (Details)", "role": "http://taylordevices.com/role/CostsAndEstimatedEarningsOnUncompletedContractsComponentsTableDetails", "shortName": "Costs and estimated earnings on uncompleted contracts components table (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:LongTermContractsOrProgramsDisclosureTextBlock", "us-gaap:DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock", "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "AsOf2022-05-31", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:InventoryForLongTermContractsOrPrograms", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R43": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "AsOf2022-05-31", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:CostsInExcessOfBillingsOnUncompletedContractsOrPrograms", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000044 - Disclosure - Costs and estimated earnings on uncompleted contracts table (Details)", "role": "http://taylordevices.com/role/CostsAndEstimatedEarningsOnUncompletedContractsTableDetails", "shortName": "Costs and estimated earnings on uncompleted contracts table (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "table", "tayd:LongTermContractsDisclosureTableTextBlock", "us-gaap:DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock", "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "AsOf2022-05-31", "decimals": "0", "lang": null, "name": "us-gaap:CostsInExcessOfBillingsOnUncompletedContractsOrProgramsExpectedToBeCollectedWithinOneYear", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R44": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "tayd:LongTermContractsDisclosureTwoTableTextBlock", "us-gaap:DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock", "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "AsOf2022-05-31", "decimals": "INF", "first": true, "lang": null, "name": "tayd:QuantityOfUncompletedProjectsOrProgramsInProgress", "reportCount": 1, "unique": true, "unitRef": "Pure", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000045 - Disclosure - Costs and estimated earnings on uncompleted contracts two table (Details)", "role": "http://taylordevices.com/role/CostsAndEstimatedEarningsOnUncompletedContractsTwoTableDetails", "shortName": "Costs and estimated earnings on uncompleted contracts two table (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "table", "tayd:LongTermContractsDisclosureTwoTableTextBlock", "us-gaap:DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock", "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "AsOf2022-05-31", "decimals": "INF", "first": true, "lang": null, "name": "tayd:QuantityOfUncompletedProjectsOrProgramsInProgress", "reportCount": 1, "unique": true, "unitRef": "Pure", "xsiNil": "false" } }, "R45": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:ScheduleOfInventoryNoncurrentTableTextBlock", "us-gaap:OtherAssetsDisclosureTextBlock", "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "AsOf2022-05-31", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:OtherInventoryNoncurrent", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000046 - Disclosure - Maintenance and other inventory table (Details)", "role": "http://taylordevices.com/role/MaintenanceAndOtherInventoryTableDetails", "shortName": "Maintenance and other inventory table (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:ScheduleOfInventoryNoncurrentTableTextBlock", "us-gaap:OtherAssetsDisclosureTextBlock", "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "AsOf2022-05-31", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:OtherInventoryNoncurrent", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R46": { "firstAnchor": { "ancestors": [ "span", "p", "us-gaap:DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock", "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "From2021-06-01to2022-05-31", "decimals": "0", "first": true, "lang": null, "name": "tayd:AggregateRevenueRecognizedFromUncompletedProjectsOrProgramsInProgressAtPriorYearEndIncludedInBillingsInExcessOfCostsAndEstimatedEarnings", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000047 - Disclosure - 4. Costs and Estimated Earnings on Uncompleted Contracts: (Details Narrative)", "role": "http://taylordevices.com/role/CostsAndEstimatedEarningsOnUncompletedContractsDetailsNarrative", "shortName": "4. Costs and Estimated Earnings on Uncompleted Contracts: (Details Narrative)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "p", "us-gaap:DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock", "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "From2021-06-01to2022-05-31", "decimals": "0", "first": true, "lang": null, "name": "tayd:AggregateRevenueRecognizedFromUncompletedProjectsOrProgramsInProgressAtPriorYearEndIncludedInBillingsInExcessOfCostsAndEstimatedEarnings", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R47": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "From2021-06-01to2022-05-31", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:InventoryWriteDown", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000048 - Disclosure - 5. Maintenance and Other Inventory: (Details Narrative)", "role": "http://taylordevices.com/role/MaintenanceAndOtherInventoryDetailsNarrative", "shortName": "5. Maintenance and Other Inventory: (Details Narrative)", "subGroupType": "details", "uniqueAnchor": null }, "R48": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:PropertyPlantAndEquipmentTextBlock", "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "AsOf2022-05-31", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:Land", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000049 - Disclosure - Property and equipment table (Details)", "role": "http://taylordevices.com/role/PropertyAndEquipmentTableDetails", "shortName": "Property and equipment table (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:PropertyPlantAndEquipmentTextBlock", "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "AsOf2022-05-31", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:Land", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R49": { "firstAnchor": { "ancestors": [ "span", "p", "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "From2021-06-01to2022-05-31", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:Depreciation", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000050 - Disclosure - 6. Property and Equipment: (Details Narrative)", "role": "http://taylordevices.com/role/PropertyAndEquipmentDetailsNarrative", "shortName": "6. Property and Equipment: (Details Narrative)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "p", "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "From2021-06-01to2022-05-31", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:Depreciation", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R5": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "AsOf2020-05-31_us-gaap_CommonStockMember", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:StockholdersEquity", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "00000005 - Statement - Consolidated Statements of Shareholders Equity", "role": "http://taylordevices.com/role/StatementsOfShareholdersEquity", "shortName": "Consolidated Statements of Shareholders Equity", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "td", "tr", "table", "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "AsOf2020-05-31_us-gaap_TreasuryStockMember", "decimals": "0", "lang": null, "name": "us-gaap:TreasuryStockValue", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R50": { "firstAnchor": { "ancestors": [ "span", "p", "us-gaap:ScheduleOfLineOfCreditFacilitiesTextBlock", "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "AsOf2022-05-31", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:LineOfCreditFacilityCurrentBorrowingCapacity", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000051 - Disclosure - 7. Short-Term Borrowings: (Details Narrative)", "role": "http://taylordevices.com/role/Short-termBorrowingsDetailsNarrative", "shortName": "7. Short-Term Borrowings: (Details Narrative)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "p", "us-gaap:ScheduleOfLineOfCreditFacilitiesTextBlock", "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "AsOf2022-05-31", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:LineOfCreditFacilityCurrentBorrowingCapacity", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R51": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "us-gaap:AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock", "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "AsOf2022-05-31", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:CustomerDepositsCurrent", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000052 - Disclosure - Other accrued expenses table (Details)", "role": "http://taylordevices.com/role/OtherAccruedExpensesTableDetails", "shortName": "Other accrued expenses table (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "us-gaap:AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock", "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "AsOf2022-05-31", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:CustomerDepositsCurrent", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R52": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "From2021-06-01to2022-05-31", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:Revenues", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000053 - Disclosure - Sales by major customer type (Details)", "role": "http://taylordevices.com/role/SalesByMajorCustomerTypeDetails", "shortName": "Sales by major customer type (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "table", "tayd:ScheduleOfRevenueByMajorCustomerTypesTextBlockTableTextBlock", "tayd:ScheduleOfRevenueByMajorCustomersTypesTextBlock", "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "From2021-06-012022-05-31_custom_StructuralSeismicWindMember", "decimals": "0", "lang": null, "name": "us-gaap:Revenues", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R53": { "firstAnchor": { "ancestors": [ "span", "p", "tayd:ScheduleOfRevenueByMajorCustomersTypesTextBlock", "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "From2021-06-01to2022-05-31", "decimals": "INF", "first": true, "lang": null, "name": "tayd:ScheduleOfRevenueByMajorCustomer1", "reportCount": 1, "unique": true, "unitRef": "Pure", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000054 - Disclosure - 9. Sales: (Details Narrative)", "role": "http://taylordevices.com/role/SalesDetailsNarrative", "shortName": "9. Sales: (Details Narrative)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "p", "tayd:ScheduleOfRevenueByMajorCustomersTypesTextBlock", "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "From2021-06-01to2022-05-31", "decimals": "INF", "first": true, "lang": null, "name": "tayd:ScheduleOfRevenueByMajorCustomer1", "reportCount": 1, "unique": true, "unitRef": "Pure", "xsiNil": "false" } }, "R54": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock", "us-gaap:IncomeTaxDisclosureTextBlock", "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "From2021-06-01to2022-05-31", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:CurrentFederalTaxExpenseBenefit", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000055 - Disclosure - Income Taxes Table (Details)", "role": "http://taylordevices.com/role/IncomeTaxesTableDetails", "shortName": "Income Taxes Table (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock", "us-gaap:IncomeTaxDisclosureTextBlock", "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "From2021-06-01to2022-05-31", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:CurrentFederalTaxExpenseBenefit", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R55": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock", "us-gaap:IncomeTaxDisclosureTextBlock", "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "From2021-06-01to2022-05-31", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000056 - Disclosure - Reconciliation of income tax statutory rate to effective rate (Details)", "role": "http://taylordevices.com/role/ReconciliationOfIncomeTaxStatutoryRateToEffectiveRateDetails", "shortName": "Reconciliation of income tax statutory rate to effective rate (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock", "us-gaap:IncomeTaxDisclosureTextBlock", "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "From2021-06-01to2022-05-31", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R56": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock", "us-gaap:IncomeTaxDisclosureTextBlock", "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "AsOf2022-05-31", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000057 - Disclosure - Components of Deferred Tax Assets and Liabilities (Details)", "role": "http://taylordevices.com/role/ComponentsOfDeferredTaxAssetsAndLiabilitiesDetails", "shortName": "Components of Deferred Tax Assets and Liabilities (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock", "us-gaap:IncomeTaxDisclosureTextBlock", "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "AsOf2022-05-31", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R57": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock", "us-gaap:IncomeTaxDisclosureTextBlock", "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "AsOf2022-05-31", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:DeferredTaxAssetsGross", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000058 - Disclosure - 10. Income Taxes: (Details Narrative)", "role": "http://taylordevices.com/role/IncomeTaxesDetailsNarrative", "shortName": "10. Income Taxes: (Details Narrative)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "p", "us-gaap:IncomeTaxDisclosureTextBlock", "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "AsOf2022-05-31", "decimals": "0", "lang": null, "name": "us-gaap:DeferredTaxAssetsTaxCreditCarryforwards", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R58": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "us-gaap:EarningsPerShareTextBlock", "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "From2021-06-01to2022-05-31", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:WeightedAverageNumberOfSharesOutstandingBasic", "reportCount": 1, "unique": true, "unitRef": "Shares", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000059 - Disclosure - Earnings per common share table (Details)", "role": "http://taylordevices.com/role/EarningsPerCommonShareTableDetails", "shortName": "Earnings per common share table (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "us-gaap:EarningsPerShareTextBlock", "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "From2021-06-01to2022-05-31", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:WeightedAverageNumberOfSharesOutstandingBasic", "reportCount": 1, "unique": true, "unitRef": "Shares", "xsiNil": "false" } }, "R59": { "firstAnchor": { "ancestors": [ "span", "p", "us-gaap:ScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock", "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "From2021-06-01to2022-05-31", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans", "reportCount": 1, "unique": true, "unitRef": "Shares", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000060 - Disclosure - 13. Employee Stock Purchase Plan: (Details Narrative)", "role": "http://taylordevices.com/role/EmployeeStockPurchasePlanDetailsNarrative", "shortName": "13. Employee Stock Purchase Plan: (Details Narrative)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "p", "us-gaap:ScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock", "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "From2021-06-01to2022-05-31", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans", "reportCount": 1, "unique": true, "unitRef": "Shares", "xsiNil": "false" } }, "R6": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "From2021-06-01to2022-05-31", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:NetIncomeLoss", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "00000006 - Statement - Consolidated Statements of Cash Flows", "role": "http://taylordevices.com/role/StatementsOfCashFlows", "shortName": "Consolidated Statements of Cash Flows", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "td", "tr", "table", "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "From2021-06-01to2022-05-31", "decimals": "0", "lang": null, "name": "us-gaap:DepreciationDepletionAndAmortization", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R60": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValueTableTextBlock", "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "From2021-06-01to2022-05-31", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate", "reportCount": 1, "unique": true, "unitRef": "Pure", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000061 - Disclosure - Stock option plans table (Details)", "role": "http://taylordevices.com/role/StockOptionPlansTableDetails", "shortName": "Stock option plans table (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValueTableTextBlock", "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "From2021-06-01to2022-05-31", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate", "reportCount": 1, "unique": true, "unitRef": "Pure", "xsiNil": "false" } }, "R61": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:ScheduleOfStockOptionsRollForwardTableTextBlock", "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "AsOf2022-05-31", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "reportCount": 1, "unitRef": "Shares", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000062 - Disclosure - Stock options roll foward (Details)", "role": "http://taylordevices.com/role/StockOptionsRollFowardDetails", "shortName": "Stock options roll foward (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:ScheduleOfStockOptionsRollForwardTableTextBlock", "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "AsOf2022-05-31", "decimals": "0", "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R62": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "us-gaap:ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock", "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "AsOf2022-05-31", "decimals": "INF", "first": true, "lang": null, "name": "tayd:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimitTwo", "reportCount": 1, "unique": true, "unitRef": "USDPShares", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000063 - Disclosure - Stock option plans - Stock options outstanding and exercisable (Details)", "role": "http://taylordevices.com/role/StockOptionPlans-StockOptionsOutstandingAndExercisableDetails", "shortName": "Stock option plans - Stock options outstanding and exercisable (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "us-gaap:ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock", "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "AsOf2022-05-31", "decimals": "INF", "first": true, "lang": null, "name": "tayd:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimitTwo", "reportCount": 1, "unique": true, "unitRef": "USDPShares", "xsiNil": "false" } }, "R63": { "firstAnchor": { "ancestors": [ "span", "p", "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "AsOf2022-05-31", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized", "reportCount": 1, "unique": true, "unitRef": "Shares", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000064 - Disclosure - 14. Stock Option Plans: (Details Narrative)", "role": "http://taylordevices.com/role/StockOptionPlansDetailsNarrative", "shortName": "14. Stock Option Plans: (Details Narrative)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "p", "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "AsOf2022-05-31", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized", "reportCount": 1, "unique": true, "unitRef": "Shares", "xsiNil": "false" } }, "R64": { "firstAnchor": { "ancestors": [ "span", "p", "us-gaap:PreferredStockTextBlock", "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "AsOf2022-05-31", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:PreferredStockSharesAuthorized", "reportCount": 1, "unique": true, "unitRef": "Shares", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000065 - Disclosure - 15. Preferred Stock: (Details Narrative)", "role": "http://taylordevices.com/role/PreferredStockDetailsNarrative", "shortName": "15. Preferred Stock: (Details Narrative)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "p", "us-gaap:PreferredStockTextBlock", "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "AsOf2022-05-31", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:PreferredStockSharesAuthorized", "reportCount": 1, "unique": true, "unitRef": "Shares", "xsiNil": "false" } }, "R65": { "firstAnchor": { "ancestors": [ "us-gaap:TreasuryStockShares", "span", "span", "td", "tr", "table", "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "AsOf2022-05-31", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:TreasuryStockShares", "reportCount": 1, "unitRef": "Shares", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000066 - Disclosure - 16. Treasury Stock: (Details Narrative)", "role": "http://taylordevices.com/role/TreasuryStockDetailsNarrative", "shortName": "16. Treasury Stock: (Details Narrative)", "subGroupType": "details", "uniqueAnchor": null }, "R66": { "firstAnchor": { "ancestors": [ "span", "p", "us-gaap:ScheduleOfCostsOfRetirementPlansTableTextBlock", "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "From2021-06-01to2022-05-31", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:PensionExpense", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000067 - Disclosure - 17. Retirement Plan: (Details Narrative)", "role": "http://taylordevices.com/role/RetirementPlanDetailsNarrative", "shortName": "17. Retirement Plan: (Details Narrative)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "p", "us-gaap:ScheduleOfCostsOfRetirementPlansTableTextBlock", "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "From2021-06-01to2022-05-31", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:PensionExpense", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R67": { "firstAnchor": { "ancestors": [ "b", "span", "td", "tr", "table", "us-gaap:ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock", "us-gaap:CashFlowSupplementalDisclosuresTextBlock", "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "From2021-06-01to2022-05-31", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:InterestPaid", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000068 - Disclosure - Supplemental cash flow information (Details)", "role": "http://taylordevices.com/role/SupplementalCashFlowInformationDetails", "shortName": "Supplemental cash flow information (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "b", "span", "td", "tr", "table", "us-gaap:ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock", "us-gaap:CashFlowSupplementalDisclosuresTextBlock", "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "From2021-06-01to2022-05-31", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:InterestPaid", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R7": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "From2021-06-01to2022-05-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SignificantAccountingPoliciesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000007 - Disclosure - 1. Summary of Significant Accounting Policies:", "role": "http://taylordevices.com/role/SummaryOfSignificantAccountingPolicies", "shortName": "1. Summary of Significant Accounting Policies:", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "From2021-06-01to2022-05-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SignificantAccountingPoliciesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R8": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "From2021-06-01to2022-05-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000008 - Disclosure - 2. Accounts and Other Receivables:", "role": "http://taylordevices.com/role/AccountsAndOtherReceivables", "shortName": "2. Accounts and Other Receivables:", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "From2021-06-01to2022-05-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R9": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "From2021-06-01to2022-05-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:InventoryDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000009 - Disclosure - 3. Inventory:", "role": "http://taylordevices.com/role/Inventory", "shortName": "3. Inventory:", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "tayd202210k.htm", "contextRef": "From2021-06-01to2022-05-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:InventoryDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } } }, "segmentCount": 16, "tag": { "dei_AmendmentDescription": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Description of changes contained within amended document.", "label": "Amendment Description" } } }, "localname": "AmendmentDescription", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://taylordevices.com/role/Cover" ], "xbrltype": "stringItemType" }, "dei_AmendmentFlag": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.", "label": "Amendment Flag" } } }, "localname": "AmendmentFlag", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://taylordevices.com/role/Cover" ], "xbrltype": "booleanItemType" }, "dei_AnnualInformationForm": { "auth_ref": [ "r355" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag with value true on a form if it is an annual report containing an annual information form.", "label": "Annual Information Form" } } }, "localname": "AnnualInformationForm", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://taylordevices.com/role/Cover" ], "xbrltype": "booleanItemType" }, "dei_AuditedAnnualFinancialStatements": { "auth_ref": [ "r355" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag with value true on a form if it is an annual report containing audited financial statements.", "label": "Audited Annual Financial Statements" } } }, "localname": "AuditedAnnualFinancialStatements", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://taylordevices.com/role/Cover" ], "xbrltype": "booleanItemType" }, "dei_AuditorFirmId": { "auth_ref": [ "r352", "r354", "r355" ], "lang": { "en-us": { "role": { "documentation": "PCAOB issued Audit Firm Identifier", "label": "Auditor Firm ID" } } }, "localname": "AuditorFirmId", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://taylordevices.com/role/Cover" ], "xbrltype": "nonemptySequenceNumberItemType" }, "dei_AuditorLocation": { "auth_ref": [ "r352", "r354", "r355" ], "lang": { "en-us": { "role": { "label": "Auditor Location" } } }, "localname": "AuditorLocation", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://taylordevices.com/role/Cover" ], "xbrltype": "internationalNameItemType" }, "dei_AuditorName": { "auth_ref": [ "r352", "r354", "r355" ], "lang": { "en-us": { "role": { "label": "Auditor Name" } } }, "localname": "AuditorName", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://taylordevices.com/role/Cover" ], "xbrltype": "internationalNameItemType" }, "dei_CityAreaCode": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Area code of city", "label": "City Area Code" } } }, "localname": "CityAreaCode", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://taylordevices.com/role/Cover" ], "xbrltype": "normalizedStringItemType" }, "dei_CountryRegion": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Region code of country", "label": "Country Region" } } }, "localname": "CountryRegion", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://taylordevices.com/role/Cover" ], "xbrltype": "normalizedStringItemType" }, "dei_CoverAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Cover page.", "label": "Cover [Abstract]" } } }, "localname": "CoverAbstract", "nsuri": "http://xbrl.sec.gov/dei/2022", "xbrltype": "stringItemType" }, "dei_CurrentFiscalYearEndDate": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "End date of current fiscal year in the format --MM-DD.", "label": "Current Fiscal Year End Date" } } }, "localname": "CurrentFiscalYearEndDate", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://taylordevices.com/role/Cover" ], "xbrltype": "gMonthDayItemType" }, "dei_DocumentAccountingStandard": { "auth_ref": [ "r354" ], "lang": { "en-us": { "role": { "documentation": "The basis of accounting the registrant has used to prepare the financial statements included in this filing This can either be 'U.S. GAAP', 'International Financial Reporting Standards', or 'Other'.", "label": "Document Accounting Standard" } } }, "localname": "DocumentAccountingStandard", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://taylordevices.com/role/Cover" ], "xbrltype": "accountingStandardItemType" }, "dei_DocumentAnnualReport": { "auth_ref": [ "r352", "r354", "r355" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true only for a form used as an annual report.", "label": "Document Annual Report" } } }, "localname": "DocumentAnnualReport", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://taylordevices.com/role/Cover" ], "xbrltype": "booleanItemType" }, "dei_DocumentFiscalPeriodFocus": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Fiscal period values are FY, Q1, Q2, and Q3. 1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY.", "label": "Document Fiscal Period Focus" } } }, "localname": "DocumentFiscalPeriodFocus", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://taylordevices.com/role/Cover" ], "xbrltype": "fiscalPeriodItemType" }, "dei_DocumentFiscalYearFocus": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006.", "label": "Document Fiscal Year Focus" } } }, "localname": "DocumentFiscalYearFocus", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://taylordevices.com/role/Cover" ], "xbrltype": "gYearItemType" }, "dei_DocumentPeriodEndDate": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period. The format of the date is YYYY-MM-DD.", "label": "Document Period End Date" } } }, "localname": "DocumentPeriodEndDate", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://taylordevices.com/role/Cover" ], "xbrltype": "dateItemType" }, "dei_DocumentPeriodStartDate": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The start date of the period covered in the document, in YYYY-MM-DD format.", "label": "Document Period Start Date" } } }, "localname": "DocumentPeriodStartDate", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://taylordevices.com/role/Cover" ], "xbrltype": "dateItemType" }, "dei_DocumentQuarterlyReport": { "auth_ref": [ "r353" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true only for a form used as an quarterly report.", "label": "Document Quarterly Report" } } }, "localname": "DocumentQuarterlyReport", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://taylordevices.com/role/Cover" ], "xbrltype": "booleanItemType" }, "dei_DocumentRegistrationStatement": { "auth_ref": [ "r341" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true only for a form used as a registration statement.", "label": "Document Registration Statement" } } }, "localname": "DocumentRegistrationStatement", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://taylordevices.com/role/Cover" ], "xbrltype": "booleanItemType" }, "dei_DocumentShellCompanyEventDate": { "auth_ref": [ "r354" ], "lang": { "en-us": { "role": { "documentation": "Date of event requiring a shell company report.", "label": "Document Shell Company Event Date" } } }, "localname": "DocumentShellCompanyEventDate", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://taylordevices.com/role/Cover" ], "xbrltype": "dateItemType" }, "dei_DocumentShellCompanyReport": { "auth_ref": [ "r354" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true for a Shell Company Report pursuant to section 13 or 15(d) of the Exchange Act.", "label": "Document Shell Company Report" } } }, "localname": "DocumentShellCompanyReport", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://taylordevices.com/role/Cover" ], "xbrltype": "booleanItemType" }, "dei_DocumentTransitionReport": { "auth_ref": [ "r356" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true only for a form used as a transition report.", "label": "Document Transition Report" } } }, "localname": "DocumentTransitionReport", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://taylordevices.com/role/Cover" ], "xbrltype": "booleanItemType" }, "dei_DocumentType": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.", "label": "Document Type" } } }, "localname": "DocumentType", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://taylordevices.com/role/Cover" ], "xbrltype": "submissionTypeItemType" }, "dei_DocumentsIncorporatedByReferenceTextBlock": { "auth_ref": [ "r344" ], "lang": { "en-us": { "role": { "documentation": "Documents incorporated by reference.", "label": "Documents Incorporated by Reference [Text Block]" } } }, "localname": "DocumentsIncorporatedByReferenceTextBlock", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://taylordevices.com/role/Cover" ], "xbrltype": "textBlockItemType" }, "dei_EntityAddressAddressLine1": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Address Line 1 such as Attn, Building Name, Street Name", "label": "Entity Address, Address Line One" } } }, "localname": "EntityAddressAddressLine1", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://taylordevices.com/role/Cover" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityAddressAddressLine2": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Address Line 2 such as Street or Suite number", "label": "Entity Address, Address Line Two" } } }, "localname": "EntityAddressAddressLine2", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://taylordevices.com/role/Cover" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityAddressAddressLine3": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Address Line 3 such as an Office Park", "label": "Entity Address, Address Line Three" } } }, "localname": "EntityAddressAddressLine3", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://taylordevices.com/role/Cover" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityAddressCityOrTown": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Name of the City or Town", "label": "Entity Address, City or Town" } } }, "localname": "EntityAddressCityOrTown", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://taylordevices.com/role/Cover" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityAddressCountry": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "ISO 3166-1 alpha-2 country code.", "label": "Entity Address, Country" } } }, "localname": "EntityAddressCountry", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://taylordevices.com/role/Cover" ], "xbrltype": "countryCodeItemType" }, "dei_EntityAddressPostalZipCode": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Code for the postal or zip code", "label": "Entity Address, Postal Zip Code" } } }, "localname": "EntityAddressPostalZipCode", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://taylordevices.com/role/Cover" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityAddressStateOrProvince": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Name of the state or province.", "label": "Entity Address, State or Province" } } }, "localname": "EntityAddressStateOrProvince", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://taylordevices.com/role/Cover" ], "xbrltype": "stateOrProvinceItemType" }, "dei_EntityBankruptcyProceedingsReportingCurrent": { "auth_ref": [ "r347" ], "lang": { "en-us": { "role": { "documentation": "For registrants involved in bankruptcy proceedings during the preceding five years, the value Yes indicates that the registrant has filed all documents and reports required to be filed by Section 12, 13 or 15(d) of the Securities Exchange Act of 1934 subsequent to the distribution of securities under a plan confirmed by a court; the value No indicates the registrant has not. Registrants not involved in bankruptcy proceedings during the preceding five years should not report this element.", "label": "Entity Bankruptcy Proceedings, Reporting Current" } } }, "localname": "EntityBankruptcyProceedingsReportingCurrent", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://taylordevices.com/role/Cover" ], "xbrltype": "booleanItemType" }, "dei_EntityCentralIndexKey": { "auth_ref": [ "r343" ], "lang": { "en-us": { "role": { "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.", "label": "Entity Central Index Key" } } }, "localname": "EntityCentralIndexKey", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://taylordevices.com/role/Cover" ], "xbrltype": "centralIndexKeyItemType" }, "dei_EntityCommonStockSharesOutstanding": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument.", "label": "Entity Common Stock, Shares Outstanding" } } }, "localname": "EntityCommonStockSharesOutstanding", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://taylordevices.com/role/Cover" ], "xbrltype": "sharesItemType" }, "dei_EntityCurrentReportingStatus": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure.", "label": "Entity Current Reporting Status" } } }, "localname": "EntityCurrentReportingStatus", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://taylordevices.com/role/Cover" ], "xbrltype": "yesNoItemType" }, "dei_EntityEmergingGrowthCompany": { "auth_ref": [ "r343" ], "lang": { "en-us": { "role": { "documentation": "Indicate if registrant meets the emerging growth company criteria.", "label": "Entity Emerging Growth Company" } } }, "localname": "EntityEmergingGrowthCompany", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://taylordevices.com/role/Cover" ], "xbrltype": "booleanItemType" }, "dei_EntityExTransitionPeriod": { "auth_ref": [ "r360" ], "lang": { "en-us": { "role": { "documentation": "Indicate if an emerging growth company has elected not to use the extended transition period for complying with any new or revised financial accounting standards.", "label": "Elected Not To Use the Extended Transition Period" } } }, "localname": "EntityExTransitionPeriod", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://taylordevices.com/role/Cover" ], "xbrltype": "booleanItemType" }, "dei_EntityFileNumber": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen.", "label": "Entity File Number" } } }, "localname": "EntityFileNumber", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://taylordevices.com/role/Cover" ], "xbrltype": "fileNumberItemType" }, "dei_EntityFilerCategory": { "auth_ref": [ "r343" ], "lang": { "en-us": { "role": { "documentation": "Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure.", "label": "Entity Filer Category" } } }, "localname": "EntityFilerCategory", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://taylordevices.com/role/Cover" ], "xbrltype": "filerCategoryItemType" }, "dei_EntityIncorporationStateCountryCode": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Two-character EDGAR code representing the state or country of incorporation.", "label": "Entity Incorporation, State or Country Code" } } }, "localname": "EntityIncorporationStateCountryCode", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://taylordevices.com/role/Cover" ], "xbrltype": "edgarStateCountryItemType" }, "dei_EntityInteractiveDataCurrent": { "auth_ref": [ "r357" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).", "label": "Entity Interactive Data Current" } } }, "localname": "EntityInteractiveDataCurrent", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://taylordevices.com/role/Cover" ], "xbrltype": "yesNoItemType" }, "dei_EntityPrimarySicNumber": { "auth_ref": [ "r355" ], "lang": { "en-us": { "role": { "documentation": "Primary Standard Industrial Classification (SIC) Number for the Entity.", "label": "Entity Primary SIC Number" } } }, "localname": "EntityPrimarySicNumber", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://taylordevices.com/role/Cover" ], "xbrltype": "sicNumberItemType" }, "dei_EntityPublicFloat": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The aggregate market value of the voting and non-voting common equity held by non-affiliates computed by reference to the price at which the common equity was last sold, or the average bid and asked price of such common equity, as of the last business day of the registrant's most recently completed second fiscal quarter.", "label": "Entity Public Float" } } }, "localname": "EntityPublicFloat", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://taylordevices.com/role/Cover" ], "xbrltype": "monetaryItemType" }, "dei_EntityRegistrantName": { "auth_ref": [ "r343" ], "lang": { "en-us": { "role": { "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.", "label": "Entity Registrant Name" } } }, "localname": "EntityRegistrantName", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://taylordevices.com/role/Cover" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityShellCompany": { "auth_ref": [ "r343" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act.", "label": "Entity Shell Company" } } }, "localname": "EntityShellCompany", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://taylordevices.com/role/Cover" ], "xbrltype": "booleanItemType" }, "dei_EntitySmallBusiness": { "auth_ref": [ "r343" ], "lang": { "en-us": { "role": { "documentation": "Indicates that the company is a Smaller Reporting Company (SRC).", "label": "Entity Small Business" } } }, "localname": "EntitySmallBusiness", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://taylordevices.com/role/Cover" ], "xbrltype": "booleanItemType" }, "dei_EntityTaxIdentificationNumber": { "auth_ref": [ "r343" ], "lang": { "en-us": { "role": { "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.", "label": "Entity Tax Identification Number" } } }, "localname": "EntityTaxIdentificationNumber", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://taylordevices.com/role/Cover" ], "xbrltype": "employerIdItemType" }, "dei_EntityVoluntaryFilers": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Indicate 'Yes' or 'No' if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act.", "label": "Entity Voluntary Filers" } } }, "localname": "EntityVoluntaryFilers", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://taylordevices.com/role/Cover" ], "xbrltype": "yesNoItemType" }, "dei_EntityWellKnownSeasonedIssuer": { "auth_ref": [ "r358" ], "lang": { "en-us": { "role": { "documentation": "Indicate 'Yes' or 'No' if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. Is used on Form Type: 10-K, 10-Q, 8-K, 20-F, 6-K, 10-K/A, 10-Q/A, 20-F/A, 6-K/A, N-CSR, N-Q, N-1A.", "label": "Entity Well-known Seasoned Issuer" } } }, "localname": "EntityWellKnownSeasonedIssuer", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://taylordevices.com/role/Cover" ], "xbrltype": "yesNoItemType" }, "dei_Extension": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Extension number for local phone number.", "label": "Extension" } } }, "localname": "Extension", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://taylordevices.com/role/Cover" ], "xbrltype": "normalizedStringItemType" }, "dei_LocalPhoneNumber": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Local phone number for entity.", "label": "Local Phone Number" } } }, "localname": "LocalPhoneNumber", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://taylordevices.com/role/Cover" ], "xbrltype": "normalizedStringItemType" }, "dei_NoTradingSymbolFlag": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true only for a security having no trading symbol.", "label": "No Trading Symbol Flag" } } }, "localname": "NoTradingSymbolFlag", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://taylordevices.com/role/Cover" ], "xbrltype": "trueItemType" }, "dei_OtherReportingStandardItemNumber": { "auth_ref": [ "r354" ], "lang": { "en-us": { "role": { "documentation": "\"Item 17\" or \"Item 18\" specified when the basis of accounting is neither US GAAP nor IFRS.", "label": "Other Reporting Standard Item Number" } } }, "localname": "OtherReportingStandardItemNumber", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://taylordevices.com/role/Cover" ], "xbrltype": "otherReportingStandardItemNumberItemType" }, "dei_PreCommencementIssuerTenderOffer": { "auth_ref": [ "r348" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as pre-commencement communications pursuant to Rule 13e-4(c) under the Exchange Act.", "label": "Pre-commencement Issuer Tender Offer" } } }, "localname": "PreCommencementIssuerTenderOffer", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://taylordevices.com/role/Cover" ], "xbrltype": "booleanItemType" }, "dei_PreCommencementTenderOffer": { "auth_ref": [ "r349" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as pre-commencement communications pursuant to Rule 14d-2(b) under the Exchange Act.", "label": "Pre-commencement Tender Offer" } } }, "localname": "PreCommencementTenderOffer", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://taylordevices.com/role/Cover" ], "xbrltype": "booleanItemType" }, "dei_Security12bTitle": { "auth_ref": [ "r342" ], "lang": { "en-us": { "role": { "documentation": "Title of a 12(b) registered security.", "label": "Title of 12(b) Security" } } }, "localname": "Security12bTitle", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://taylordevices.com/role/Cover" ], "xbrltype": "securityTitleItemType" }, "dei_Security12gTitle": { "auth_ref": [ "r346" ], "lang": { "en-us": { "role": { "documentation": "Title of a 12(g) registered security.", "label": "Title of 12(g) Security" } } }, "localname": "Security12gTitle", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://taylordevices.com/role/Cover" ], "xbrltype": "securityTitleItemType" }, "dei_SecurityExchangeName": { "auth_ref": [ "r345" ], "lang": { "en-us": { "role": { "documentation": "Name of the Exchange on which a security is registered.", "label": "Security Exchange Name" } } }, "localname": "SecurityExchangeName", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://taylordevices.com/role/Cover" ], "xbrltype": "edgarExchangeCodeItemType" }, "dei_SecurityReportingObligation": { "auth_ref": [ "r350" ], "lang": { "en-us": { "role": { "documentation": "15(d), indicating whether the security has a reporting obligation under that section of the Exchange Act.", "label": "Security Reporting Obligation" } } }, "localname": "SecurityReportingObligation", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://taylordevices.com/role/Cover" ], "xbrltype": "securityReportingObligationItemType" }, "dei_SolicitingMaterial": { "auth_ref": [ "r351" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as soliciting material pursuant to Rule 14a-12 under the Exchange Act.", "label": "Soliciting Material" } } }, "localname": "SolicitingMaterial", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://taylordevices.com/role/Cover" ], "xbrltype": "booleanItemType" }, "dei_TradingSymbol": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Trading symbol of an instrument as listed on an exchange.", "label": "Trading Symbol" } } }, "localname": "TradingSymbol", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://taylordevices.com/role/Cover" ], "xbrltype": "tradingSymbolItemType" }, "dei_WrittenCommunications": { "auth_ref": [ "r359" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as written communications pursuant to Rule 425 under the Securities Act.", "label": "Written Communications" } } }, "localname": "WrittenCommunications", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://taylordevices.com/role/Cover" ], "xbrltype": "booleanItemType" }, "srt_MajorCustomersAxis": { "auth_ref": [ "r145", "r199", "r200", "r329" ], "lang": { "en-us": { "role": { "label": "Customer [Axis]" } } }, "localname": "MajorCustomersAxis", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://taylordevices.com/role/SalesByMajorCustomerTypeDetails" ], "xbrltype": "stringItemType" }, "srt_NameOfMajorCustomerDomain": { "auth_ref": [ "r145", "r199", "r200", "r329" ], "localname": "NameOfMajorCustomerDomain", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://taylordevices.com/role/SalesByMajorCustomerTypeDetails" ], "xbrltype": "domainItemType" }, "tayd_AerospaceDefenseMember": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Aerospace Defense [Member]" } } }, "localname": "AerospaceDefenseMember", "nsuri": "http://taylordevices.com/20220531", "presentation": [ "http://taylordevices.com/role/SalesByMajorCustomerTypeDetails" ], "xbrltype": "domainItemType" }, "tayd_AggregateFutureRevenueToBeRecognizedFromUncompletedProjectsOrProgramsInProgress": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "label": "Aggregate amount remaining" } } }, "localname": "AggregateFutureRevenueToBeRecognizedFromUncompletedProjectsOrProgramsInProgress", "nsuri": "http://taylordevices.com/20220531", "presentation": [ "http://taylordevices.com/role/CostsAndEstimatedEarningsOnUncompletedContractsTwoTableDetails" ], "xbrltype": "monetaryItemType" }, "tayd_AggregatePercentCompleteOfUncompletedProjectsOrProgramsInProgress": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Aggregate percent complete" } } }, "localname": "AggregatePercentCompleteOfUncompletedProjectsOrProgramsInProgress", "nsuri": "http://taylordevices.com/20220531", "presentation": [ "http://taylordevices.com/role/CostsAndEstimatedEarningsOnUncompletedContractsTwoTableDetails" ], "xbrltype": "percentItemType" }, "tayd_AggregateRevenueRecognizedFromUncompletedProjectsOrProgramsInProgressAtPriorYearEndIncludedInBillingsInExcessOfCostsAndEstimatedEarnings": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Revenue recognized in current period for projects included in billings in excess of costs and estimated earnings at end of prior year", "label": "Revenue recognized in current period for projects included in billings in excess of costs and estimated earnings at end of prior year" } } }, "localname": "AggregateRevenueRecognizedFromUncompletedProjectsOrProgramsInProgressAtPriorYearEndIncludedInBillingsInExcessOfCostsAndEstimatedEarnings", "nsuri": "http://taylordevices.com/20220531", "presentation": [ "http://taylordevices.com/role/CostsAndEstimatedEarningsOnUncompletedContractsDetailsNarrative" ], "xbrltype": "monetaryItemType" }, "tayd_BillingsOnUncompletedContractsOrPrograms": { "auth_ref": [], "calculation": { "http://taylordevices.com/role/CostsAndEstimatedEarningsOnUncompletedContractsComponentsTableDetails": { "order": 2.0, "parentTag": "tayd_CostsInExcessOfBillingsOnUncompletedContractsOrProgramsExpectedToBeCollectedWithinOneYearNet", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "label": "Less billings to date" } } }, "localname": "BillingsOnUncompletedContractsOrPrograms", "nsuri": "http://taylordevices.com/20220531", "presentation": [ "http://taylordevices.com/role/CostsAndEstimatedEarningsOnUncompletedContractsComponentsTableDetails" ], "xbrltype": "monetaryItemType" }, "tayd_CommitmentsForFutureCapitalExpendituresDisclosure": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "label": "Commitments for future capital expenditures" } } }, "localname": "CommitmentsForFutureCapitalExpendituresDisclosure", "nsuri": "http://taylordevices.com/20220531", "presentation": [ "http://taylordevices.com/role/PropertyAndEquipmentDetailsNarrative" ], "xbrltype": "monetaryItemType" }, "tayd_CostsAndEstimatedEarningsOnUncompletedContractsOrPrograms": { "auth_ref": [], "calculation": { "http://taylordevices.com/role/CostsAndEstimatedEarningsOnUncompletedContractsComponentsTableDetails": { "order": 1.0, "parentTag": "tayd_CostsInExcessOfBillingsOnUncompletedContractsOrProgramsExpectedToBeCollectedWithinOneYearNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "label": "CostsAndEstimatedEarningsOnUncompletedContractsOrPrograms", "totalLabel": "Total costs and estimated earnings" } } }, "localname": "CostsAndEstimatedEarningsOnUncompletedContractsOrPrograms", "nsuri": "http://taylordevices.com/20220531", "presentation": [ "http://taylordevices.com/role/CostsAndEstimatedEarningsOnUncompletedContractsComponentsTableDetails" ], "xbrltype": "monetaryItemType" }, "tayd_CostsInExcessOfBillingsOnUncompletedContractsOrProgramsExpectedToBeCollectedWithinOneYearNet": { "auth_ref": [], "calculation": { "http://taylordevices.com/role/CostsAndEstimatedEarningsOnUncompletedContractsComponentsTableDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "label": "CostsInExcessOfBillingsOnUncompletedContractsOrProgramsExpectedToBeCollectedWithinOneYearNet", "totalLabel": "Costs and estimated earnings not billed" } } }, "localname": "CostsInExcessOfBillingsOnUncompletedContractsOrProgramsExpectedToBeCollectedWithinOneYearNet", "nsuri": "http://taylordevices.com/20220531", "presentation": [ "http://taylordevices.com/role/CostsAndEstimatedEarningsOnUncompletedContractsComponentsTableDetails" ], "xbrltype": "monetaryItemType" }, "tayd_Disclosure9.SalesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Sales" } } }, "localname": "Disclosure9.SalesAbstract", "nsuri": "http://taylordevices.com/20220531", "xbrltype": "stringItemType" }, "tayd_EntityWideDisclosureOnGeographicAreasPercentageOfRevenueFromExternalCustomersAttributedToEntitysCountryOfDomicile": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Percentage of total sales during a period to domestic customers." } } }, "localname": "EntityWideDisclosureOnGeographicAreasPercentageOfRevenueFromExternalCustomersAttributedToEntitysCountryOfDomicile", "nsuri": "http://taylordevices.com/20220531", "presentation": [ "http://taylordevices.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative" ], "xbrltype": "percentItemType" }, "tayd_EntityWideDisclosureOnGeographicAreasPercentageOfRevenueFromExternalCustomersAttributedToForeignCountries": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Percentage of total sales during a period to export customers" } } }, "localname": "EntityWideDisclosureOnGeographicAreasPercentageOfRevenueFromExternalCustomersAttributedToForeignCountries", "nsuri": "http://taylordevices.com/20220531", "presentation": [ "http://taylordevices.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative" ], "xbrltype": "percentItemType" }, "tayd_EstimatedEarningsOnUncompletedContractsOrPrograms": { "auth_ref": [], "calculation": { "http://taylordevices.com/role/CostsAndEstimatedEarningsOnUncompletedContractsComponentsTableDetails": { "order": 2.0, "parentTag": "tayd_CostsAndEstimatedEarningsOnUncompletedContractsOrPrograms", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "label": "Estimated earnings" } } }, "localname": "EstimatedEarningsOnUncompletedContractsOrPrograms", "nsuri": "http://taylordevices.com/20220531", "presentation": [ "http://taylordevices.com/role/CostsAndEstimatedEarningsOnUncompletedContractsComponentsTableDetails" ], "xbrltype": "monetaryItemType" }, "tayd_GainLossOnPaycheckProtectionProgramLoanForgiveness": { "auth_ref": [], "calculation": { "http://taylordevices.com/role/StatementsOfCashFlows": { "order": 8.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 }, "http://taylordevices.com/role/StatementsOfIncome": { "order": 2.0, "parentTag": "us-gaap_NonoperatingIncomeExpense", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "label": "Paycheck Protection Program loan forgiveness", "negatedLabel": "Paycheck Protection Program loan forgiveness" } } }, "localname": "GainLossOnPaycheckProtectionProgramLoanForgiveness", "nsuri": "http://taylordevices.com/20220531", "presentation": [ "http://taylordevices.com/role/StatementsOfCashFlows", "http://taylordevices.com/role/StatementsOfIncome" ], "xbrltype": "monetaryItemType" }, "tayd_IndustrialMember": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Industrial [Member]" } } }, "localname": "IndustrialMember", "nsuri": "http://taylordevices.com/20220531", "presentation": [ "http://taylordevices.com/role/SalesByMajorCustomerTypeDetails" ], "xbrltype": "domainItemType" }, "tayd_InventoryValuationReserveNoncurrent": { "auth_ref": [], "calculation": { "http://taylordevices.com/role/MaintenanceAndOtherInventoryTableDetails": { "order": 2.0, "parentTag": "us-gaap_InventoryNoncurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "label": "InventoryValuationReserveNoncurrent", "negatedLabel": "Less allowance for obsolescence" } } }, "localname": "InventoryValuationReserveNoncurrent", "nsuri": "http://taylordevices.com/20220531", "presentation": [ "http://taylordevices.com/role/MaintenanceAndOtherInventoryTableDetails" ], "xbrltype": "monetaryItemType" }, "tayd_LongTermContractsDisclosureTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Costs and estimated earnings on uncompleted contracts table" } } }, "localname": "LongTermContractsDisclosureTableTextBlock", "nsuri": "http://taylordevices.com/20220531", "presentation": [ "http://taylordevices.com/role/CostsAndEstimatedEarningsOnUncompletedContractsTables" ], "xbrltype": "textBlockItemType" }, "tayd_LongTermContractsDisclosureTwoTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Costs and estimated earnings on uncompleted contracts two table" } } }, "localname": "LongTermContractsDisclosureTwoTableTextBlock", "nsuri": "http://taylordevices.com/20220531", "presentation": [ "http://taylordevices.com/role/CostsAndEstimatedEarningsOnUncompletedContractsTables" ], "xbrltype": "textBlockItemType" }, "tayd_OtherIncomeEmployeeRetentionCredit": { "auth_ref": [], "calculation": { "http://taylordevices.com/role/StatementsOfIncome": { "order": 3.0, "parentTag": "us-gaap_NonoperatingIncomeExpense", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "label": "Employee Retention Credit" } } }, "localname": "OtherIncomeEmployeeRetentionCredit", "nsuri": "http://taylordevices.com/20220531", "presentation": [ "http://taylordevices.com/role/StatementsOfIncome" ], "xbrltype": "monetaryItemType" }, "tayd_OtherReceivableEmployeeRetentionCredit": { "auth_ref": [], "calculation": { "http://taylordevices.com/role/AccountsReceivableTableDetails": { "order": 3.0, "parentTag": "us-gaap_AccountsReceivableNetCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "label": "Add other receivables" } } }, "localname": "OtherReceivableEmployeeRetentionCredit", "nsuri": "http://taylordevices.com/20220531", "presentation": [ "http://taylordevices.com/role/AccountsReceivableTableDetails" ], "xbrltype": "monetaryItemType" }, "tayd_PercentOfAggregateRevenueValueOfUncompletedProjectsOrProgramsInProgressInvoicedToCustomer": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Percentage of total value invoiced to customer" } } }, "localname": "PercentOfAggregateRevenueValueOfUncompletedProjectsOrProgramsInProgressInvoicedToCustomer", "nsuri": "http://taylordevices.com/20220531", "presentation": [ "http://taylordevices.com/role/CostsAndEstimatedEarningsOnUncompletedContractsTwoTableDetails" ], "xbrltype": "percentItemType" }, "tayd_QuantityOfUncompletedProjectsOrProgramsInProgress": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Number of Projects in progress" } } }, "localname": "QuantityOfUncompletedProjectsOrProgramsInProgress", "nsuri": "http://taylordevices.com/20220531", "presentation": [ "http://taylordevices.com/role/CostsAndEstimatedEarningsOnUncompletedContractsTwoTableDetails" ], "xbrltype": "pureItemType" }, "tayd_RevenueRecognitionOverTimePercentOfTotal": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Percent of revenue recognized with sales contracts containing a single performance obligation" } } }, "localname": "RevenueRecognitionOverTimePercentOfTotal", "nsuri": "http://taylordevices.com/20220531", "presentation": [ "http://taylordevices.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative" ], "xbrltype": "percentItemType" }, "tayd_RevenueRecognitionSinglePerformanceObligationPercentOfTotal": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "RevenueRecognitionSinglePerformanceObligationPercentOfTotal", "verboseLabel": "Percent of revenue recognized with sales contracts containing a single performance obligation" } } }, "localname": "RevenueRecognitionSinglePerformanceObligationPercentOfTotal", "nsuri": "http://taylordevices.com/20220531", "presentation": [ "http://taylordevices.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative" ], "xbrltype": "percentItemType" }, "tayd_ScheduleOfRevenueByMajorCustomer1": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Percentage of total sales to significant individual customer 1" } } }, "localname": "ScheduleOfRevenueByMajorCustomer1", "nsuri": "http://taylordevices.com/20220531", "presentation": [ "http://taylordevices.com/role/SalesDetailsNarrative" ], "xbrltype": "percentItemType" }, "tayd_ScheduleOfRevenueByMajorCustomer2": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Percentage of total sales to significant individual customer 2" } } }, "localname": "ScheduleOfRevenueByMajorCustomer2", "nsuri": "http://taylordevices.com/20220531", "presentation": [ "http://taylordevices.com/role/SalesDetailsNarrative" ], "xbrltype": "percentItemType" }, "tayd_ScheduleOfRevenueByMajorCustomerTypesTextBlockTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Sales by major customer type" } } }, "localname": "ScheduleOfRevenueByMajorCustomerTypesTextBlockTableTextBlock", "nsuri": "http://taylordevices.com/20220531", "presentation": [ "http://taylordevices.com/role/SalesTables" ], "xbrltype": "textBlockItemType" }, "tayd_ScheduleOfRevenueByMajorCustomers": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Percentage of total sales to significant individual customers" } } }, "localname": "ScheduleOfRevenueByMajorCustomers", "nsuri": "http://taylordevices.com/20220531", "presentation": [ "http://taylordevices.com/role/SalesDetailsNarrative" ], "xbrltype": "percentItemType" }, "tayd_ScheduleOfRevenueByMajorCustomersTypesTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "9. Sales:" } } }, "localname": "ScheduleOfRevenueByMajorCustomersTypesTextBlock", "nsuri": "http://taylordevices.com/20220531", "presentation": [ "http://taylordevices.com/role/Sales" ], "xbrltype": "textBlockItemType" }, "tayd_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeEightMember": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Share Based Compensation Shares Authorized Under Stock Option Plans By Exercise Price Range Eight [Member]" } } }, "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeEightMember", "nsuri": "http://taylordevices.com/20220531", "presentation": [ "http://taylordevices.com/role/StockOptionPlans-StockOptionsOutstandingAndExercisableDetails" ], "xbrltype": "domainItemType" }, "tayd_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeFiveMember": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Share Based Compensation Shares Authorized Under Stock Option Plans By Exercise Price Range Five [Member]" } } }, "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeFiveMember", "nsuri": "http://taylordevices.com/20220531", "presentation": [ "http://taylordevices.com/role/StockOptionPlans-StockOptionsOutstandingAndExercisableDetails" ], "xbrltype": "domainItemType" }, "tayd_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeFourMember": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Share Based Compensation Shares Authorized Under Stock Option Plans By Exercise Price Range Four [Member]" } } }, "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeFourMember", "nsuri": "http://taylordevices.com/20220531", "presentation": [ "http://taylordevices.com/role/StockOptionPlans-StockOptionsOutstandingAndExercisableDetails" ], "xbrltype": "domainItemType" }, "tayd_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeNineMember": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Share Based Compensation Shares Authorized Under Stock Option Plans By Exercise Price Range Nine [Member]" } } }, "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeNineMember", "nsuri": "http://taylordevices.com/20220531", "presentation": [ "http://taylordevices.com/role/StockOptionPlans-StockOptionsOutstandingAndExercisableDetails" ], "xbrltype": "domainItemType" }, "tayd_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeSevenMember": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Share Based Compensation Shares Authorized Under Stock Option Plans By Exercise Price Range Seven [Member]" } } }, "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeSevenMember", "nsuri": "http://taylordevices.com/20220531", "presentation": [ "http://taylordevices.com/role/StockOptionPlans-StockOptionsOutstandingAndExercisableDetails" ], "xbrltype": "domainItemType" }, "tayd_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeSixMember": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Share Based Compensation Shares Authorized Under Stock Option Plans By Exercise Price Range Six [Member]" } } }, "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeSixMember", "nsuri": "http://taylordevices.com/20220531", "presentation": [ "http://taylordevices.com/role/StockOptionPlans-StockOptionsOutstandingAndExercisableDetails" ], "xbrltype": "domainItemType" }, "tayd_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTenMember": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Share Based Compensation Shares Authorized Under Stock Option Plans By Exercise Price Range Ten [Member]" } } }, "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTenMember", "nsuri": "http://taylordevices.com/20220531", "presentation": [ "http://taylordevices.com/role/StockOptionPlans-StockOptionsOutstandingAndExercisableDetails" ], "xbrltype": "domainItemType" }, "tayd_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeThreeMember": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Share Based Compensation Shares Authorized Under Stock Option Plans By Exercise Price Range Three [Member]" } } }, "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeThreeMember", "nsuri": "http://taylordevices.com/20220531", "presentation": [ "http://taylordevices.com/role/StockOptionPlans-StockOptionsOutstandingAndExercisableDetails" ], "xbrltype": "domainItemType" }, "tayd_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTwoMember": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Share Based Compensation Shares Authorized Under Stock Option Plans By Exercise Price Range Two [Member]" } } }, "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTwoMember", "nsuri": "http://taylordevices.com/20220531", "presentation": [ "http://taylordevices.com/role/StockOptionPlans-StockOptionsOutstandingAndExercisableDetails" ], "xbrltype": "domainItemType" }, "tayd_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimitOne": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Lower limit of exercise per share price range for outstanding and exercisable stock options.", "label": "Range of exercise prices, Minimum [Default Label]", "verboseLabel": "Range of exercise prices, Minimum" } } }, "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimitOne", "nsuri": "http://taylordevices.com/20220531", "presentation": [ "http://taylordevices.com/role/StockOptionPlans-StockOptionsOutstandingAndExercisableDetails" ], "xbrltype": "perShareItemType" }, "tayd_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimitTwo": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Range of exercise prices, Minimum" } } }, "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimitTwo", "nsuri": "http://taylordevices.com/20220531", "presentation": [ "http://taylordevices.com/role/StockOptionPlans-StockOptionsOutstandingAndExercisableDetails" ], "xbrltype": "perShareItemType" }, "tayd_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimitOne": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Upper limit of exercise per share price range for outstanding and exercisable stock options.", "label": "Range of exercise prices, Maximum [Default Label]", "verboseLabel": "Range of exercise prices, Maximum" } } }, "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimitOne", "nsuri": "http://taylordevices.com/20220531", "presentation": [ "http://taylordevices.com/role/StockOptionPlans-StockOptionsOutstandingAndExercisableDetails" ], "xbrltype": "perShareItemType" }, "tayd_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimitTwo": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Range of exercise prices, Maximum" } } }, "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimitTwo", "nsuri": "http://taylordevices.com/20220531", "presentation": [ "http://taylordevices.com/role/StockOptionPlans-StockOptionsOutstandingAndExercisableDetails" ], "xbrltype": "perShareItemType" }, "tayd_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice2": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "[custom:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice2-0]" } } }, "localname": "SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice2", "nsuri": "http://taylordevices.com/20220531", "presentation": [ "http://taylordevices.com/role/StockOptionPlans-StockOptionsOutstandingAndExercisableDetails" ], "xbrltype": "perShareItemType" }, "tayd_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTermOne": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Weightrd average number of years remaining to exercise outstanding and exercisable stock options.", "label": "Remaining number of years to exercise outstanding and exercisable stock options" } } }, "localname": "SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTermOne", "nsuri": "http://taylordevices.com/20220531", "presentation": [ "http://taylordevices.com/role/StockOptionPlans-StockOptionsOutstandingAndExercisableDetails" ], "xbrltype": "pureItemType" }, "tayd_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTermTwo": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "[custom:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTermTwo-0]" } } }, "localname": "SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTermTwo", "nsuri": "http://taylordevices.com/20220531", "presentation": [ "http://taylordevices.com/role/StockOptionPlans-StockOptionsOutstandingAndExercisableDetails" ], "xbrltype": "pureItemType" }, "tayd_StructuralSeismicWindMember": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Structural Seismic Wind [Member]" } } }, "localname": "StructuralSeismicWindMember", "nsuri": "http://taylordevices.com/20220531", "presentation": [ "http://taylordevices.com/role/SalesByMajorCustomerTypeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_AccountingPoliciesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Accounting Policies [Abstract]" } } }, "localname": "AccountingPoliciesAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_AccountsAndOtherReceivablesNetCurrent": { "auth_ref": [], "calculation": { "http://taylordevices.com/role/BalanceSheets": { "order": 3.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, after allowance, receivable from customers, clients, or other third-parties, and receivables classified as other due within one year or the normal operating cycle, if longer.", "label": "Accounts and other receivables, net" } } }, "localname": "AccountsAndOtherReceivablesNetCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/BalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for accounts payable, accrued expenses, and other liabilities that are classified as current at the end of the reporting period.", "label": "8. Other Accrued Expenses:" } } }, "localname": "AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/OtherAccruedExpenses" ], "xbrltype": "textBlockItemType" }, "us-gaap_AccountsPayableCurrent": { "auth_ref": [ "r40", "r285" ], "calculation": { "http://taylordevices.com/role/BalanceSheets": { "order": 1.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Accounts payable" } } }, "localname": "AccountsPayableCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/BalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccountsPayableOtherCurrent": { "auth_ref": [ "r40" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of obligations incurred classified as other, payable within one year or the normal operating cycle, if longer.", "label": "Accounts Payable, Other, Current" } } }, "localname": "AccountsPayableOtherCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/Short-termBorrowingsDetailsNarrative" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccountsReceivableGrossCurrent": { "auth_ref": [ "r4", "r18", "r146", "r147" ], "calculation": { "http://taylordevices.com/role/AccountsReceivableTableDetails": { "order": 1.0, "parentTag": "us-gaap_AccountsReceivableNetCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, before allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.", "label": "Accounts Receivable, before Allowance for Credit Loss, Current", "totalLabel": "Gross accounts receivable" } } }, "localname": "AccountsReceivableGrossCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/AccountsReceivableTableDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccountsReceivableNetCurrent": { "auth_ref": [ "r146", "r147" ], "calculation": { "http://taylordevices.com/role/AccountsReceivableTableDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.", "label": "Accounts Receivable, after Allowance for Credit Loss, Current", "totalLabel": "Net accounts receivable" } } }, "localname": "AccountsReceivableNetCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/AccountsReceivableTableDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedLiabilitiesAndOtherLiabilities": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of expenses incurred but not yet paid nor invoiced, and liabilities classified as other.", "label": "Total other accrued expenses" } } }, "localname": "AccruedLiabilitiesAndOtherLiabilities", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/OtherAccruedExpensesTableDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedLiabilitiesCurrent": { "auth_ref": [ "r42" ], "calculation": { "http://taylordevices.com/role/BalanceSheets": { "order": 3.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Other accrued expenses" } } }, "localname": "AccruedLiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/BalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedSalesCommissionCurrent": { "auth_ref": [ "r9", "r42" ], "calculation": { "http://taylordevices.com/role/BalanceSheets": { "order": 2.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable for sales commissions. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Accrued commissions" } } }, "localname": "AccruedSalesCommissionCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/BalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": { "auth_ref": [ "r13", "r176" ], "calculation": { "http://taylordevices.com/role/PropertyAndEquipmentTableDetails": { "order": 2.0, "parentTag": "us-gaap_PropertyPlantAndEquipmentNet", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services.", "label": "Less accumulated depreciation" } } }, "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/PropertyAndEquipmentTableDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AdditionalCashFlowElementsFinancingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Financing activities:" } } }, "localname": "AdditionalCashFlowElementsFinancingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/StatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_AdditionalCashFlowElementsInvestingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Investing activities:" } } }, "localname": "AdditionalCashFlowElementsInvestingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/StatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_AdditionalPaidInCapitalCommonStock": { "auth_ref": [ "r22" ], "calculation": { "http://taylordevices.com/role/BalanceSheets": { "order": 2.0, "parentTag": "us-gaap_StockholdersEquityBeforeTreasuryStock", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Value received from shareholders in common stock-related transactions that are in excess of par value or stated value and amounts received from other stock-related transactions. Includes only common stock transactions (excludes preferred stock transactions). May be called contributed capital, capital in excess of par, capital surplus, or paid-in capital.", "label": "Paid-in capital" } } }, "localname": "AdditionalPaidInCapitalCommonStock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/BalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AdditionalPaidInCapitalMember": { "auth_ref": [ "r89", "r90", "r91", "r225", "r226", "r227", "r263" ], "lang": { "en-us": { "role": { "documentation": "Excess of issue price over par or stated value of the entity's capital stock and amounts received from other transactions involving the entity's stock or stockholders.", "label": "Additional Paid-in Capital [Member]" } } }, "localname": "AdditionalPaidInCapitalMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/StatementsOfShareholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Adjustments to reconcile net income to net cash flows from operating activities:" } } }, "localname": "AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/StatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for option under share-based payment arrangement.", "label": "APIC, Share-Based Payment Arrangement, Option, Increase for Cost Recognition" } } }, "localname": "AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/StatementsOfShareholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_AllowanceForDoubtfulAccountsReceivable": { "auth_ref": [ "r27", "r152", "r161", "r162", "r164" ], "calculation": { "http://taylordevices.com/role/AccountsReceivableTableDetails": { "order": 2.0, "parentTag": "us-gaap_AccountsReceivableNetCurrent", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of allowance for credit loss on accounts receivable.", "label": "Less allowance for doubtful accounts" } } }, "localname": "AllowanceForDoubtfulAccountsReceivable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/AccountsReceivableTableDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_Assets": { "auth_ref": [ "r15", "r84", "r133", "r136", "r141", "r158", "r181", "r182", "r183", "r184", "r185", "r186", "r187", "r188", "r189", "r190", "r191", "r258", "r261", "r269", "r283", "r285", "r307", "r320" ], "calculation": { "http://taylordevices.com/role/BalanceSheets": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.", "label": "Assets [Default Label]", "totalLabel": "Total assets" } } }, "localname": "Assets", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/BalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AssetsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Assets" } } }, "localname": "AssetsAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/BalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_AssetsCurrent": { "auth_ref": [ "r7", "r39", "r84", "r158", "r181", "r182", "r183", "r184", "r185", "r186", "r187", "r188", "r189", "r190", "r191", "r258", "r261", "r269", "r283", "r285" ], "calculation": { "http://taylordevices.com/role/BalanceSheets": { "order": 1.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.", "label": "Assets, Current", "totalLabel": "Total current assets" } } }, "localname": "AssetsCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/BalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AssetsCurrentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Current assets:" } } }, "localname": "AssetsCurrentAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/BalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_BillingsInExcessOfCostCurrent": { "auth_ref": [], "calculation": { "http://taylordevices.com/role/BalanceSheets": { "order": 4.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 }, "http://taylordevices.com/role/CostsAndEstimatedEarningsOnUncompletedContractsTableDetails": { "order": 2.0, "parentTag": "us-gaap_CostsInExcessOfBillingsOnUncompletedContractsOrProgramsExpectedToBeCollectedWithinOneYear", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Liability attributable to (i) billings in excess of costs under the percentage of completion contract accounting method representing the difference between contractually invoiced amounts (billings) and revenue recognized based, for example, on costs incurred to estimated total costs at period end or (ii) contractually invoiced amounts (billings) in excess of costs incurred and accumulated under the completed contract accounting method that are expected to be realized within one year or one operating cycle, whichever is longer, from the reporting date.", "label": "Billings in excess of costs and estimated earnings" } } }, "localname": "BillingsInExcessOfCostCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/BalanceSheets", "http://taylordevices.com/role/CostsAndEstimatedEarningsOnUncompletedContractsTableDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BuildingsAndImprovementsGross": { "auth_ref": [ "r175" ], "calculation": { "http://taylordevices.com/role/PropertyAndEquipmentTableDetails": { "order": 2.0, "parentTag": "us-gaap_PropertyPlantAndEquipmentGross", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before accumulated depreciation of building structures held for productive use including addition, improvement, or renovation to the structure, including, but not limited to, interior masonry, interior flooring, electrical, and plumbing.", "label": "Buildings and improvements" } } }, "localname": "BuildingsAndImprovementsGross", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/PropertyAndEquipmentTableDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashAndCashEquivalentsAtCarryingValue": { "auth_ref": [ "r2", "r11", "r75" ], "calculation": { "http://taylordevices.com/role/BalanceSheets": { "order": 1.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.", "label": "Cash and cash equivalents", "periodEndLabel": "Cash and cash equivalents - ending", "periodStartLabel": "Cash and cash equivalents - beginning" } } }, "localname": "CashAndCashEquivalentsAtCarryingValue", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/BalanceSheets", "http://taylordevices.com/role/StatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashAndCashEquivalentsPolicyTextBlock": { "auth_ref": [ "r76" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for cash and cash equivalents, including the policy for determining which items are treated as cash equivalents. Other information that may be disclosed includes (1) the nature of any restrictions on the entity's use of its cash and cash equivalents, (2) whether the entity's cash and cash equivalents are insured or expose the entity to credit risk, (3) the classification of any negative balance accounts (overdrafts), and (4) the carrying basis of cash equivalents (for example, at cost) and whether the carrying amount of cash equivalents approximates fair value.", "label": "Cash and Cash Equivalents:" } } }, "localname": "CashAndCashEquivalentsPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect": { "auth_ref": [ "r69", "r270" ], "calculation": { "http://taylordevices.com/role/StatementsOfCashFlows": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Excluding Exchange Rate Effect", "totalLabel": "Net change in cash and cash equivalents" } } }, "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/StatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashFlowSupplementalDisclosuresTextBlock": { "auth_ref": [ "r78" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for supplemental cash flow activities, including cash, noncash, and part noncash transactions, for the period. Noncash is defined as information about all investing and financing activities of an enterprise during a period that affect recognized assets or liabilities but that do not result in cash receipts or cash payments in the period. \"Part noncash\" refers to that portion of the transaction not resulting in cash receipts or cash payments in the period.", "label": "19. Cash Flows Information:" } } }, "localname": "CashFlowSupplementalDisclosuresTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/CashFlowsInformation" ], "xbrltype": "textBlockItemType" }, "us-gaap_CashSurrenderValueOfLifeInsurance": { "auth_ref": [ "r14" ], "calculation": { "http://taylordevices.com/role/BalanceSheets": { "order": 4.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Carrying amount as of the balance sheet date of amounts which could be received based on the terms of the insurance contract upon surrendering life policies owned by the entity.", "label": "Cash value of life insurance, net" } } }, "localname": "CashSurrenderValueOfLifeInsurance", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/BalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Commitments and Contingencies Disclosure [Abstract]" } } }, "localname": "CommitmentsAndContingenciesDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_CommonStockMember": { "auth_ref": [ "r89", "r90", "r263" ], "lang": { "en-us": { "role": { "documentation": "Stock that is subordinate to all other stock of the issuer.", "label": "Common Stock [Member]" } } }, "localname": "CommonStockMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/StatementsOfShareholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_CommonStockParOrStatedValuePerShare": { "auth_ref": [ "r17" ], "lang": { "en-us": { "role": { "documentation": "Face amount or stated value per share of common stock.", "label": "Common Stock, Par or Stated Value Per Share" } } }, "localname": "CommonStockParOrStatedValuePerShare", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/BalanceSheetsParenthetical" ], "xbrltype": "perShareItemType" }, "us-gaap_CommonStockSharesAuthorized": { "auth_ref": [ "r17" ], "lang": { "en-us": { "role": { "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws.", "label": "Common Stock, Shares Authorized" } } }, "localname": "CommonStockSharesAuthorized", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/BalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockSharesIssued": { "auth_ref": [ "r17" ], "lang": { "en-us": { "role": { "documentation": "Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.", "label": "Common Stock, Shares, Issued" } } }, "localname": "CommonStockSharesIssued", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/BalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockValue": { "auth_ref": [ "r17", "r285" ], "calculation": { "http://taylordevices.com/role/BalanceSheets": { "order": 1.0, "parentTag": "us-gaap_StockholdersEquityBeforeTreasuryStock", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity.", "label": "Common stock, $.025 par value, authorized 8,000,000 shares,\u00a0\u00a0\u00a0\u00a0issued 4,056,771 and 4,055,275 shares" } } }, "localname": "CommonStockValue", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/BalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_CompensationAndRetirementDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Retirement Benefits [Abstract]" } } }, "localname": "CompensationAndRetirementDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_ConsolidationPolicyTextBlock": { "auth_ref": [ "r80", "r260" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy regarding (1) the principles it follows in consolidating or combining the separate financial statements, including the principles followed in determining the inclusion or exclusion of subsidiaries or other entities in the consolidated or combined financial statements and (2) its treatment of interests (for example, common stock, a partnership interest or other means of exerting influence) in other entities, for example consolidation or use of the equity or cost methods of accounting. The accounting policy may also address the accounting treatment for intercompany accounts and transactions, noncontrolling interest, and the income statement treatment in consolidation for issuances of stock by a subsidiary.", "label": "Principles of Consolidation:" } } }, "localname": "ConsolidationPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_ContractReceivableRetainageDueOneYearOrLess": { "auth_ref": [ "r21", "r288" ], "calculation": { "http://taylordevices.com/role/AccountsReceivableTableDetails": { "order": 2.0, "parentTag": "us-gaap_AccountsReceivableGrossCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount billed to customers under long-term contracts or programs that have been withheld because of retainage provisions in a contract to be collected in the next fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.", "label": "Customers \u2013 retention" } } }, "localname": "ContractReceivableRetainageDueOneYearOrLess", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/AccountsReceivableTableDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CostOfGoodsAndServicesSold": { "auth_ref": [ "r60", "r304" ], "calculation": { "http://taylordevices.com/role/StatementsOfIncome": { "order": 2.0, "parentTag": "us-gaap_GrossProfit", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities.", "label": "Cost of goods sold" } } }, "localname": "CostOfGoodsAndServicesSold", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/StatementsOfIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_CostsInExcessOfBillingsOnUncompletedContractsOrPrograms": { "auth_ref": [ "r19", "r20", "r21", "r295" ], "calculation": { "http://taylordevices.com/role/BalanceSheets": { "order": 7.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 }, "http://taylordevices.com/role/CostsAndEstimatedEarningsOnUncompletedContractsTableDetails": { "order": 1.0, "parentTag": "us-gaap_CostsInExcessOfBillingsOnUncompletedContractsOrProgramsExpectedToBeCollectedWithinOneYear", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of receivable reflecting the cost incurred on uncompleted contracts in excess of related billings.", "label": "Costs and estimated earnings in excess of billings" } } }, "localname": "CostsInExcessOfBillingsOnUncompletedContractsOrPrograms", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/BalanceSheets", "http://taylordevices.com/role/CostsAndEstimatedEarningsOnUncompletedContractsTableDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CostsInExcessOfBillingsOnUncompletedContractsOrProgramsExpectedToBeCollectedWithinOneYear": { "auth_ref": [ "r47" ], "calculation": { "http://taylordevices.com/role/CostsAndEstimatedEarningsOnUncompletedContractsTableDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of receivable reflecting the cost incurred on uncompleted contracts in excess of related billings which is expected to be collected within one year or the normal operating cycle, if longer.", "label": "Costs and estimated earnings not billed" } } }, "localname": "CostsInExcessOfBillingsOnUncompletedContractsOrProgramsExpectedToBeCollectedWithinOneYear", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/CostsAndEstimatedEarningsOnUncompletedContractsTableDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CurrentFederalTaxExpenseBenefit": { "auth_ref": [ "r85", "r243", "r250" ], "calculation": { "http://taylordevices.com/role/IncomeTaxesTableDetails": { "order": 1.0, "parentTag": "us-gaap_CurrentIncomeTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of current federal tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, current national tax expense (benefit) for non-US (United States of America) jurisdiction.", "label": "Federal" } } }, "localname": "CurrentFederalTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/IncomeTaxesTableDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CurrentIncomeTaxExpenseBenefit": { "auth_ref": [ "r85", "r243", "r250", "r252" ], "calculation": { "http://taylordevices.com/role/IncomeTaxesTableDetails": { "order": 1.0, "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of current income tax expense (benefit) pertaining to taxable income (loss) from continuing operations.", "label": "Current Income Tax Expense (Benefit)", "totalLabel": "Total current tax provision" } } }, "localname": "CurrentIncomeTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/IncomeTaxesTableDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CurrentStateAndLocalTaxExpenseBenefit": { "auth_ref": [ "r85", "r243", "r250" ], "calculation": { "http://taylordevices.com/role/IncomeTaxesTableDetails": { "order": 2.0, "parentTag": "us-gaap_CurrentIncomeTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of current state and local tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, current regional, territorial, and provincial tax expense (benefit) for non-US (United States of America) jurisdiction.", "label": "State" } } }, "localname": "CurrentStateAndLocalTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/IncomeTaxesTableDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CustomerDepositsCurrent": { "auth_ref": [ "r42" ], "crdr": "credit", "lang": { "en-us": { "role": { "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.", "label": "Customer deposits" } } }, "localname": "CustomerDepositsCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/OtherAccruedExpensesTableDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DebtDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Debt Disclosure [Abstract]" } } }, "localname": "DebtDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Deferred Costs, Capitalized, Prepaid, and Other Assets Disclosure [Abstract]" } } }, "localname": "DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the amounts paid in advance for capitalized costs that will be expensed with the passage of time or the occurrence of a triggering event, and will be charged against earnings within one year or the normal operating cycle, if longer; the aggregate carrying amount of current assets, not separately presented elsewhere in the balance sheet; and other deferred costs.", "label": "4. Costs and Estimated Earnings on Uncompleted Contracts:" } } }, "localname": "DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/CostsAndEstimatedEarningsOnUncompletedContracts" ], "xbrltype": "textBlockItemType" }, "us-gaap_DeferredFederalIncomeTaxExpenseBenefit": { "auth_ref": [ "r85", "r244", "r250" ], "calculation": { "http://taylordevices.com/role/IncomeTaxesTableDetails": { "order": 1.0, "parentTag": "us-gaap_IncomeTaxCreditsAndAdjustments", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred federal tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, deferred national tax expense (benefit) for non-US (United States of America) jurisdiction.", "label": "Deferred Federal Income Tax Expense (Benefit)", "verboseLabel": "Federal" } } }, "localname": "DeferredFederalIncomeTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/IncomeTaxesTableDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredIncomeTaxAssetsNet": { "auth_ref": [ "r231", "r232" ], "calculation": { "http://taylordevices.com/role/BalanceSheets": { "order": 5.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting.", "label": "Deferred income taxes" } } }, "localname": "DeferredIncomeTaxAssetsNet", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/BalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredIncomeTaxExpenseBenefit": { "auth_ref": [ "r73", "r85", "r244", "r250", "r251", "r252" ], "calculation": { "http://taylordevices.com/role/StatementsOfCashFlows": { "order": 7.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations.", "label": "Deferred Income Tax Expense (Benefit)", "verboseLabel": "Deferred income taxes" } } }, "localname": "DeferredIncomeTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/StatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Deferred tax provision (benefit):" } } }, "localname": "DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/IncomeTaxesTableDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit": { "auth_ref": [ "r85", "r244", "r250" ], "calculation": { "http://taylordevices.com/role/IncomeTaxesTableDetails": { "order": 2.0, "parentTag": "us-gaap_IncomeTaxCreditsAndAdjustments", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred state and local tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, deferred regional, territorial, and provincial tax expense (benefit) for non-US (United States of America) jurisdiction.", "label": "Deferred State and Local Income Tax Expense (Benefit)", "verboseLabel": "State" } } }, "localname": "DeferredStateAndLocalIncomeTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/IncomeTaxesTableDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsGross": { "auth_ref": [ "r237" ], "calculation": { "http://taylordevices.com/role/ComponentsOfDeferredTaxAssetsAndLiabilitiesDetails": { "order": 1.0, "parentTag": "us-gaap_DeferredTaxAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards.", "label": "Deferred Tax Assets, Gross", "totalLabel": "Total deferred tax assets" } } }, "localname": "DeferredTaxAssetsGross", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/ComponentsOfDeferredTaxAssetsAndLiabilitiesDetails", "http://taylordevices.com/role/IncomeTaxesDetailsNarrative" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsGrossAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Deferred tax assets:" } } }, "localname": "DeferredTaxAssetsGrossAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/ComponentsOfDeferredTaxAssetsAndLiabilitiesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DeferredTaxAssetsInventory": { "auth_ref": [ "r241", "r242" ], "calculation": { "http://taylordevices.com/role/ComponentsOfDeferredTaxAssetsAndLiabilitiesDetails": { "order": 2.0, "parentTag": "us-gaap_DeferredTaxAssetsGross", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from inventory.", "label": "Tax inventory adjustment" } } }, "localname": "DeferredTaxAssetsInventory", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/ComponentsOfDeferredTaxAssetsAndLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsNet": { "auth_ref": [ "r238" ], "calculation": { "http://taylordevices.com/role/ComponentsOfDeferredTaxAssetsAndLiabilitiesDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount after allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards.", "label": "Deferred Tax Assets, Net of Valuation Allowance", "totalLabel": "Net deferred tax assets" } } }, "localname": "DeferredTaxAssetsNet", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/ComponentsOfDeferredTaxAssetsAndLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsTaxCreditCarryforwards": { "auth_ref": [ "r240", "r241", "r242" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, before allocation of a valuation allowances, of deferred tax assets attributable to deductible tax credit carryforwards including, but not limited to, research, foreign, general business, alternative minimum tax, and other deductible tax credit carryforwards.", "label": "Deferred Tax Assets, Tax Credit Carryforwards" } } }, "localname": "DeferredTaxAssetsTaxCreditCarryforwards", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/IncomeTaxesDetailsNarrative" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch": { "auth_ref": [ "r240", "r241", "r242" ], "calculation": { "http://taylordevices.com/role/ComponentsOfDeferredTaxAssetsAndLiabilitiesDetails": { "order": 7.0, "parentTag": "us-gaap_DeferredTaxAssetsGross", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible research tax credit carryforwards.", "label": "R&D tax credit" } } }, "localname": "DeferredTaxAssetsTaxCreditCarryforwardsResearch", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/ComponentsOfDeferredTaxAssetsAndLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsCompensatedAbsences": { "auth_ref": [ "r241", "r242" ], "calculation": { "http://taylordevices.com/role/ComponentsOfDeferredTaxAssetsAndLiabilitiesDetails": { "order": 4.0, "parentTag": "us-gaap_DeferredTaxAssetsGross", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from compensated absences (includes, but not limited to, sick and personal days).", "label": "Accrued vacation" } } }, "localname": "DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsCompensatedAbsences", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/ComponentsOfDeferredTaxAssetsAndLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsOther": { "auth_ref": [ "r241", "r242" ], "calculation": { "http://taylordevices.com/role/ComponentsOfDeferredTaxAssetsAndLiabilitiesDetails": { "order": 5.0, "parentTag": "us-gaap_DeferredTaxAssetsGross", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary differences from compensation and benefits, classified as other.", "label": "Deferred Tax Assets, Tax Deferred Expense, Compensation and Benefits, Other", "verboseLabel": "Accrued commissions" } } }, "localname": "DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsOther", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/ComponentsOfDeferredTaxAssetsAndLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost": { "auth_ref": [ "r241", "r242" ], "calculation": { "http://taylordevices.com/role/ComponentsOfDeferredTaxAssetsAndLiabilitiesDetails": { "order": 8.0, "parentTag": "us-gaap_DeferredTaxAssetsGross", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from share-based compensation.", "label": "Deferred Tax Assets, Tax Deferred Expense, Compensation and Benefits, Share-Based Compensation Cost", "verboseLabel": "Stock options issued for services" } } }, "localname": "DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/ComponentsOfDeferredTaxAssetsAndLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts": { "auth_ref": [ "r241", "r242" ], "calculation": { "http://taylordevices.com/role/ComponentsOfDeferredTaxAssetsAndLiabilitiesDetails": { "order": 1.0, "parentTag": "us-gaap_DeferredTaxAssetsGross", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary difference from allowance for credit loss on accounts receivable.", "label": "Allowance for doubtful receivables" } } }, "localname": "DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/ComponentsOfDeferredTaxAssetsAndLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsLossReserves": { "auth_ref": [ "r241", "r242" ], "calculation": { "http://taylordevices.com/role/ComponentsOfDeferredTaxAssetsAndLiabilitiesDetails": { "order": 3.0, "parentTag": "us-gaap_DeferredTaxAssetsGross", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from loss reserves other than estimated credit losses.", "label": "Allowance for obsolete inventory" } } }, "localname": "DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsLossReserves", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/ComponentsOfDeferredTaxAssetsAndLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves": { "auth_ref": [ "r241", "r242" ], "calculation": { "http://taylordevices.com/role/ComponentsOfDeferredTaxAssetsAndLiabilitiesDetails": { "order": 6.0, "parentTag": "us-gaap_DeferredTaxAssetsGross", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from warranty reserves.", "label": "Warranty reserve" } } }, "localname": "DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/ComponentsOfDeferredTaxAssetsAndLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxLiabilitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Deferred tax liabilities:" } } }, "localname": "DeferredTaxLiabilitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/ComponentsOfDeferredTaxAssetsAndLiabilitiesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment": { "auth_ref": [ "r241", "r242" ], "calculation": { "http://taylordevices.com/role/ComponentsOfDeferredTaxAssetsAndLiabilitiesDetails": { "order": 2.0, "parentTag": "us-gaap_DeferredTaxAssetsNet", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from property, plant, and equipment.", "label": "Deferred Tax Liabilities, Property, Plant and Equipment", "negatedLabel": "Excess tax depreciation" } } }, "localname": "DeferredTaxLiabilitiesPropertyPlantAndEquipment", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/ComponentsOfDeferredTaxAssetsAndLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_Depreciation": { "auth_ref": [ "r73", "r174" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation.", "label": "Depreciation [Default Label]", "verboseLabel": "Depreciation" } } }, "localname": "Depreciation", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/PropertyAndEquipmentDetailsNarrative" ], "xbrltype": "monetaryItemType" }, "us-gaap_DepreciationDepletionAndAmortization": { "auth_ref": [ "r73", "r131" ], "calculation": { "http://taylordevices.com/role/StatementsOfCashFlows": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate expense recognized in the current period that allocates the cost of tangible assets, intangible assets, or depleting assets to periods that benefit from use of the assets.", "label": "Depreciation" } } }, "localname": "DepreciationDepletionAndAmortization", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/StatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Share-Based Payment Arrangement [Abstract]", "verboseLabel": "14. Stock Option Plans:" } } }, "localname": "DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/StockOptionPlans" ], "xbrltype": "stringItemType" }, "us-gaap_EarningsPerShareAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Earnings Per Share [Abstract]" } } }, "localname": "EarningsPerShareAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_EarningsPerShareBasic": { "auth_ref": [ "r57", "r94", "r95", "r96", "r97", "r98", "r102", "r104", "r109", "r110", "r111", "r115", "r116", "r264", "r265", "r314", "r326" ], "lang": { "en-us": { "role": { "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.", "label": "Basic and diluted earnings per common share" } } }, "localname": "EarningsPerShareBasic", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/StatementsOfIncome" ], "xbrltype": "perShareItemType" }, "us-gaap_EarningsPerShareTextBlock": { "auth_ref": [ "r112", "r113", "r114", "r117" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for earnings per share.", "label": "11. Earnings Per Common Share:" } } }, "localname": "EarningsPerShareTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/EarningsPerCommonShare" ], "xbrltype": "textBlockItemType" }, "us-gaap_EffectiveIncomeTaxRateContinuingOperations": { "auth_ref": [ "r234" ], "lang": { "en-us": { "role": { "documentation": "Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.", "label": "Effective income tax rate" } } }, "localname": "EffectiveIncomeTaxRateContinuingOperations", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/ReconciliationOfIncomeTaxStatutoryRateToEffectiveRateDetails" ], "xbrltype": "percentItemType" }, "us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Tax effect of permanent differences:" } } }, "localname": "EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/ReconciliationOfIncomeTaxStatutoryRateToEffectiveRateDetails" ], "xbrltype": "stringItemType" }, "us-gaap_EffectiveIncomeTaxRateReconciliationFdiiAmount": { "auth_ref": [ "r234" ], "calculation": { "http://taylordevices.com/role/ReconciliationOfIncomeTaxStatutoryRateToEffectiveRateDetails": { "order": 4.0, "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of reported income tax benefit from difference to expected income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operations, attributable to foreign-derived intangible income (FDII).", "label": "Effective Income Tax Rate Reconciliation, FDII, Amount", "negatedLabel": "Foreign-derived intangible income deduction" } } }, "localname": "EffectiveIncomeTaxRateReconciliationFdiiAmount", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/ReconciliationOfIncomeTaxStatutoryRateToEffectiveRateDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_EquityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Equity [Abstract]" } } }, "localname": "EquityAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_FairValueOfFinancialInstrumentsPolicy": { "auth_ref": [ "r266", "r267" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for determining the fair value of financial instruments.", "label": "18. Fair Value of Financial Instruments:" } } }, "localname": "FairValueOfFinancialInstrumentsPolicy", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/FairValueOfFinancialInstruments" ], "xbrltype": "textBlockItemType" }, "us-gaap_FurnitureAndFixturesGross": { "auth_ref": [ "r175" ], "calculation": { "http://taylordevices.com/role/PropertyAndEquipmentTableDetails": { "order": 4.0, "parentTag": "us-gaap_PropertyPlantAndEquipmentGross", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Office furniture and equipment" } } }, "localname": "FurnitureAndFixturesGross", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/PropertyAndEquipmentTableDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_GainLossOnDispositionOfAssets": { "auth_ref": [ "r73", "r173", "r178" ], "calculation": { "http://taylordevices.com/role/StatementsOfCashFlows": { "order": 5.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of gain (loss) on sale or disposal of property, plant and equipment assets, excluding oil and gas property and timber property.", "label": "Gain (Loss) on Disposition of Property Plant Equipment, Excluding Oil and Gas Property and Timber Property", "negatedLabel": "Gain on disposal of property and equipment" } } }, "localname": "GainLossOnDispositionOfAssets", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/StatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_GrossProfit": { "auth_ref": [ "r59", "r84", "r133", "r135", "r137", "r140", "r142", "r158", "r181", "r182", "r183", "r185", "r186", "r187", "r188", "r189", "r190", "r191", "r269" ], "calculation": { "http://taylordevices.com/role/StatementsOfIncome": { "order": 1.0, "parentTag": "us-gaap_OperatingIncomeLoss", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.", "label": "Gross Profit", "totalLabel": "Gross profit" } } }, "localname": "GrossProfit", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/StatementsOfIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": { "auth_ref": [ "r55", "r133", "r135", "r137", "r140", "r142", "r305", "r312", "r316", "r327" ], "calculation": { "http://taylordevices.com/role/StatementsOfIncome": { "order": 1.0, "parentTag": "us-gaap_NetIncomeLoss", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest.", "label": "Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest", "totalLabel": "Income before provision for income taxes" } } }, "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/StatementsOfIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeStatementAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Income Statement [Abstract]" } } }, "localname": "IncomeStatementAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_IncomeTaxCreditsAndAdjustments": { "auth_ref": [ "r74" ], "calculation": { "http://taylordevices.com/role/IncomeTaxesTableDetails": { "order": 2.0, "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "A credit or adjustment for government or taxing authority authorized decrease in taxes owed as a result of meeting certain tax policy conditions.", "label": "Total deferred tax provision" } } }, "localname": "IncomeTaxCreditsAndAdjustments", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/IncomeTaxesTableDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeTaxDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Income Tax Disclosure [Abstract]" } } }, "localname": "IncomeTaxDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_IncomeTaxDisclosureTextBlock": { "auth_ref": [ "r86", "r235", "r236", "r239", "r248", "r253", "r255", "r256", "r257" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information.", "label": "10. Income Taxes:" } } }, "localname": "IncomeTaxDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/IncomeTaxes" ], "xbrltype": "textBlockItemType" }, "us-gaap_IncomeTaxExpenseBenefit": { "auth_ref": [ "r87", "r100", "r101", "r132", "r233", "r249", "r254", "r328" ], "calculation": { "http://taylordevices.com/role/IncomeTaxesTableDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://taylordevices.com/role/ReconciliationOfIncomeTaxStatutoryRateToEffectiveRateDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://taylordevices.com/role/StatementsOfIncome": { "order": 2.0, "parentTag": "us-gaap_NetIncomeLoss", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.", "label": "Provision for income taxes (benefit)", "totalLabel": "Total tax provision" } } }, "localname": "IncomeTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/IncomeTaxesTableDetails", "http://taylordevices.com/role/ReconciliationOfIncomeTaxStatutoryRateToEffectiveRateDetails", "http://taylordevices.com/role/StatementsOfIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Current tax provision (benefit):" } } }, "localname": "IncomeTaxExpenseBenefitContinuingOperationsAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/IncomeTaxesTableDetails" ], "xbrltype": "stringItemType" }, "us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate": { "auth_ref": [ "r234" ], "calculation": { "http://taylordevices.com/role/ReconciliationOfIncomeTaxStatutoryRateToEffectiveRateDetails": { "order": 1.0, "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Computed tax provision at the expected statutory rate" } } }, "localname": "IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/ReconciliationOfIncomeTaxStatutoryRateToEffectiveRateDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeTaxReconciliationNondeductibleExpense": { "auth_ref": [ "r234" ], "calculation": { "http://taylordevices.com/role/ReconciliationOfIncomeTaxStatutoryRateToEffectiveRateDetails": { "order": 5.0, "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to nondeductible expenses.", "label": "PPP loan forgiveness" } } }, "localname": "IncomeTaxReconciliationNondeductibleExpense", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/ReconciliationOfIncomeTaxStatutoryRateToEffectiveRateDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeTaxReconciliationNondeductibleExpenseOther": { "auth_ref": [ "r234" ], "calculation": { "http://taylordevices.com/role/ReconciliationOfIncomeTaxStatutoryRateToEffectiveRateDetails": { "order": 7.0, "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to other nondeductible expenses.", "label": "Effective Income Tax Rate Reconciliation, Nondeductible Expense, Other, Amount", "verboseLabel": "Other" } } }, "localname": "IncomeTaxReconciliationNondeductibleExpenseOther", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/ReconciliationOfIncomeTaxStatutoryRateToEffectiveRateDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeTaxReconciliationOtherAdjustments": { "auth_ref": [ "r234" ], "calculation": { "http://taylordevices.com/role/ReconciliationOfIncomeTaxStatutoryRateToEffectiveRateDetails": { "order": 6.0, "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to other adjustments.", "label": "Other permanent differences" } } }, "localname": "IncomeTaxReconciliationOtherAdjustments", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/ReconciliationOfIncomeTaxStatutoryRateToEffectiveRateDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes": { "auth_ref": [ "r234" ], "calculation": { "http://taylordevices.com/role/ReconciliationOfIncomeTaxStatutoryRateToEffectiveRateDetails": { "order": 2.0, "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to state and local income tax expense (benefit).", "label": "State income tax - net of Federal tax benefit" } } }, "localname": "IncomeTaxReconciliationStateAndLocalIncomeTaxes", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/ReconciliationOfIncomeTaxStatutoryRateToEffectiveRateDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeTaxReconciliationTaxCreditsResearch": { "auth_ref": [ "r234" ], "calculation": { "http://taylordevices.com/role/ReconciliationOfIncomeTaxStatutoryRateToEffectiveRateDetails": { "order": 3.0, "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to research tax credit.", "label": "Effective Income Tax Rate Reconciliation, Tax Credit, Research, Amount", "negatedLabel": "Research tax credits" } } }, "localname": "IncomeTaxReconciliationTaxCreditsResearch", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/ReconciliationOfIncomeTaxStatutoryRateToEffectiveRateDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeTaxesPaid": { "auth_ref": [ "r70", "r77" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income.", "label": "Income taxes paid" } } }, "localname": "IncomeTaxesPaid", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/SupplementalCashFlowInformationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccountsAndOtherReceivables": { "auth_ref": [ "r72" ], "calculation": { "http://taylordevices.com/role/StatementsOfCashFlows": { "order": 9.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period in the amount due from customers for the credit sale of goods and services; includes accounts receivable and other types of receivables.", "label": "Increase (Decrease) in Accounts and Other Receivables", "negatedLabel": "Accounts and other receivables" } } }, "localname": "IncreaseDecreaseInAccountsAndOtherReceivables", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/StatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccountsPayableTrade": { "auth_ref": [ "r72" ], "calculation": { "http://taylordevices.com/role/StatementsOfCashFlows": { "order": 14.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Change in recurring obligations of a business that arise from the acquisition of merchandise, materials, supplies and services used in the production and sale of goods and services.", "label": "Increase (Decrease) in Accounts Payable, Trade", "verboseLabel": "Accounts payable" } } }, "localname": "IncreaseDecreaseInAccountsPayableTrade", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/StatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInBillingInExcessOfCostOfEarnings": { "auth_ref": [ "r72" ], "calculation": { "http://taylordevices.com/role/StatementsOfCashFlows": { "order": 17.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period in the liability reflecting cash payments received before the related costs have been incurred.", "label": "Increase (Decrease) in Billing in Excess of Cost of Earnings", "verboseLabel": "Billings in excess of costs and estimated earnings" } } }, "localname": "IncreaseDecreaseInBillingInExcessOfCostOfEarnings", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/StatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInInventories": { "auth_ref": [ "r72" ], "calculation": { "http://taylordevices.com/role/StatementsOfCashFlows": { "order": 10.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities.", "label": "Increase (Decrease) in Inventories", "negatedLabel": "Inventory" } } }, "localname": "IncreaseDecreaseInInventories", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/StatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInOtherAccruedLiabilities": { "auth_ref": [ "r72" ], "calculation": { "http://taylordevices.com/role/StatementsOfCashFlows": { "order": 16.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period in other expenses incurred but not yet paid.", "label": "Increase (Decrease) in Other Accrued Liabilities", "verboseLabel": "Other accrued expenses" } } }, "localname": "IncreaseDecreaseInOtherAccruedLiabilities", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/StatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInOtherOperatingLiabilities": { "auth_ref": [ "r72" ], "calculation": { "http://taylordevices.com/role/StatementsOfCashFlows": { "order": 15.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in operating liabilities classified as other.", "label": "Increase (Decrease) in Other Operating Liabilities", "verboseLabel": "Accrued commissions" } } }, "localname": "IncreaseDecreaseInOtherOperatingLiabilities", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/StatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInPrepaidExpense": { "auth_ref": [ "r72" ], "calculation": { "http://taylordevices.com/role/StatementsOfCashFlows": { "order": 11.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "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.", "label": "Increase (Decrease) in Prepaid Expense", "negatedLabel": "Prepaid expenses" } } }, "localname": "IncreaseDecreaseInPrepaidExpense", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/StatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInPrepaidTaxes": { "auth_ref": [ "r72" ], "calculation": { "http://taylordevices.com/role/StatementsOfCashFlows": { "order": 12.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) of consideration paid in advance for income and other taxes that provide economic benefits in future periods.", "label": "Increase (Decrease) in Prepaid Taxes", "negatedLabel": "Prepaid income taxes" } } }, "localname": "IncreaseDecreaseInPrepaidTaxes", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/StatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInUnbilledReceivables": { "auth_ref": [ "r72" ], "calculation": { "http://taylordevices.com/role/StatementsOfCashFlows": { "order": 13.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period of the amount of revenue for work performed for which billing has not occurred, net of uncollectible accounts.", "label": "Increase (Decrease) in Unbilled Receivables", "negatedLabel": "Costs and estimated earnings in excess of billings" } } }, "localname": "IncreaseDecreaseInUnbilledReceivables", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/StatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements": { "auth_ref": [ "r105", "r106", "r107", "r111", "r202" ], "lang": { "en-us": { "role": { "documentation": "Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of share based payment arrangements using the treasury stock method.", "label": "Common shares issuable under stock option plans" } } }, "localname": "IncrementalCommonSharesAttributableToShareBasedPaymentArrangements", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/EarningsPerCommonShareTableDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_InterestIncomeExpenseNet": { "auth_ref": [ "r315" ], "calculation": { "http://taylordevices.com/role/StatementsOfIncome": { "order": 1.0, "parentTag": "us-gaap_NonoperatingIncomeExpense", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The net amount of operating interest income (expense).", "label": "Interest, net" } } }, "localname": "InterestIncomeExpenseNet", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/StatementsOfIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_InterestPaid": { "auth_ref": [ "r77" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash paid for interest, including, but not limited to, capitalized interest and payment to settle zero-coupon bond attributable to 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; classified as operating and investing activities.", "label": "Interest paid" } } }, "localname": "InterestPaid", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/SupplementalCashFlowInformationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Inventory Disclosure [Abstract]" } } }, "localname": "InventoryDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_InventoryDisclosureTextBlock": { "auth_ref": [ "r169" ], "lang": { "en-us": { "role": { "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.", "label": "3. Inventory:" } } }, "localname": "InventoryDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/Inventory" ], "xbrltype": "textBlockItemType" }, "us-gaap_InventoryFinishedGoods": { "auth_ref": [ "r28" ], "calculation": { "http://taylordevices.com/role/InventoryTableDetails": { "order": 3.0, "parentTag": "us-gaap_InventoryGross", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before valuation and LIFO reserves of completed merchandise or goods expected to be sold within one year or operating cycle, if longer.", "label": "Finished goods" } } }, "localname": "InventoryFinishedGoods", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/InventoryTableDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryForLongTermContractsOrPrograms": { "auth_ref": [ "r29" ], "calculation": { "http://taylordevices.com/role/CostsAndEstimatedEarningsOnUncompletedContractsComponentsTableDetails": { "order": 1.0, "parentTag": "tayd_CostsAndEstimatedEarningsOnUncompletedContractsOrPrograms", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before valuation and LIFO reserves, and progress payments, of inventory associated with long-term contracts, expected to be sold, or consumed within one year or operating cycle, if longer.", "label": "Costs incurred on uncompleted contracts" } } }, "localname": "InventoryForLongTermContractsOrPrograms", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/CostsAndEstimatedEarningsOnUncompletedContractsComponentsTableDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryGross": { "auth_ref": [ "r36" ], "calculation": { "http://taylordevices.com/role/InventoryTableDetails": { "order": 1.0, "parentTag": "us-gaap_InventoryNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Gross amount, as of the balance sheet date, of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process.", "label": "Inventory, Gross", "totalLabel": "Gross inventory" } } }, "localname": "InventoryGross", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/InventoryTableDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryNet": { "auth_ref": [ "r3", "r36", "r285" ], "calculation": { "http://taylordevices.com/role/InventoryTableDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.", "label": "Inventory, Net", "totalLabel": "Net inventory" } } }, "localname": "InventoryNet", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/InventoryTableDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryNoncurrent": { "auth_ref": [ "r14" ], "calculation": { "http://taylordevices.com/role/BalanceSheets": { "order": 2.0, "parentTag": "us-gaap_Assets", "weight": 1.0 }, "http://taylordevices.com/role/MaintenanceAndOtherInventoryTableDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Inventories not expected to be converted to cash, sold or exchanged within the normal operating cycle.", "label": "Maintenance and other inventory, net", "totalLabel": "Maintenance and other inventory, net" } } }, "localname": "InventoryNoncurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/BalanceSheets", "http://taylordevices.com/role/MaintenanceAndOtherInventoryTableDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryPartsAndComponentsNetOfReserves": { "auth_ref": [ "r32", "r168" ], "calculation": { "http://taylordevices.com/role/BalanceSheets": { "order": 4.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date for elements of machinery or equipment held for the purpose of replacing similar parts in the course of repair or maintenance.", "label": "Inventory" } } }, "localname": "InventoryPartsAndComponentsNetOfReserves", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/BalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryPolicyTextBlock": { "auth_ref": [ "r10", "r33", "r81", "r118", "r165", "r167", "r169", "r298" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of inventory accounting policy for inventory classes, including, but not limited to, basis for determining inventory amounts, methods by which amounts are added and removed from inventory classes, loss recognition on impairment of inventories, and situations in which inventories are stated above cost.", "label": "Inventory:" } } }, "localname": "InventoryPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_InventoryRawMaterials": { "auth_ref": [ "r31" ], "calculation": { "http://taylordevices.com/role/InventoryTableDetails": { "order": 1.0, "parentTag": "us-gaap_InventoryGross", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before valuation and LIFO reserves of raw materials expected to be sold, or consumed within one year or operating cycle, if longer.", "label": "Raw materials" } } }, "localname": "InventoryRawMaterials", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/InventoryTableDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryValuationReserves": { "auth_ref": [ "r36", "r168" ], "calculation": { "http://taylordevices.com/role/InventoryTableDetails": { "order": 2.0, "parentTag": "us-gaap_InventoryNet", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of valuation reserve for inventory.", "label": "Less allowance for obsolescence" } } }, "localname": "InventoryValuationReserves", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/InventoryTableDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryWorkInProcess": { "auth_ref": [ "r30" ], "calculation": { "http://taylordevices.com/role/InventoryTableDetails": { "order": 2.0, "parentTag": "us-gaap_InventoryGross", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before valuation and LIFO reserves of merchandise or goods in the production process expected to be completed within one year or operating cycle, if longer.", "label": "Work-in-process" } } }, "localname": "InventoryWorkInProcess", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/InventoryTableDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryWriteDown": { "auth_ref": [ "r166" ], "calculation": { "http://taylordevices.com/role/StatementsOfCashFlows": { "order": 6.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of loss from reductions in inventory due to subsequent measurement adjustments, including, but not limited to, physical deterioration, obsolescence, or changes in price levels.", "label": "Provision for inventory obsolescence", "verboseLabel": "Inventory Write-down" } } }, "localname": "InventoryWriteDown", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/MaintenanceAndOtherInventoryDetailsNarrative", "http://taylordevices.com/role/StatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_Land": { "auth_ref": [ "r12" ], "calculation": { "http://taylordevices.com/role/PropertyAndEquipmentTableDetails": { "order": 1.0, "parentTag": "us-gaap_PropertyPlantAndEquipmentGross", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before accumulated depletion of real estate held for productive use, excluding land held for sale.", "label": "Land" } } }, "localname": "Land", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/PropertyAndEquipmentTableDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LandImprovements": { "auth_ref": [], "calculation": { "http://taylordevices.com/role/PropertyAndEquipmentTableDetails": { "order": 6.0, "parentTag": "us-gaap_PropertyPlantAndEquipmentGross", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before accumulated depreciation and depletion of additions or improvements to real estate held for productive use. Examples include, but are not limited to, walkways, driveways, fences, and parking lots.", "label": "Land improvements" } } }, "localname": "LandImprovements", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/PropertyAndEquipmentTableDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LegalMattersAndContingenciesTextBlock": { "auth_ref": [ "r180" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for legal proceedings, legal contingencies, litigation, regulatory and environmental matters and other contingencies.", "label": "21. Legal Proceedings:" } } }, "localname": "LegalMattersAndContingenciesTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/LegalProceedings" ], "xbrltype": "textBlockItemType" }, "us-gaap_LiabilitiesAndStockholdersEquity": { "auth_ref": [ "r26", "r84", "r158", "r269", "r285", "r308", "r322" ], "calculation": { "http://taylordevices.com/role/BalanceSheets": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.", "label": "Liabilities and Equity", "totalLabel": "Total liabilities and stockholders\u2019 equity" } } }, "localname": "LiabilitiesAndStockholdersEquity", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/BalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesAndStockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Liabilities and Stockholders' Equity" } } }, "localname": "LiabilitiesAndStockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/BalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_LiabilitiesCurrent": { "auth_ref": [ "r8", "r44", "r84", "r158", "r181", "r182", "r183", "r185", "r186", "r187", "r188", "r189", "r190", "r191", "r259", "r261", "r262", "r269", "r283", "r284", "r285" ], "calculation": { "http://taylordevices.com/role/BalanceSheets": { "order": 1.0, "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer.", "label": "Liabilities, Current", "totalLabel": "Total current liabilities" } } }, "localname": "LiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/BalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesCurrentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Current liabilities:" } } }, "localname": "LiabilitiesCurrentAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/BalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_LifeInsuranceCorporateOrBankOwnedTextBlock": { "auth_ref": [ "r159" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for corporate (COLI) or bank (BOLI) owned life insurance including the amount of cash surrender value that could be received as of the date of the statement of financial position, any restrictions on the company's ability to obtain the value of the life insurance policy on surrender, or any other additional information desired to be disclosed.", "label": "Cash Value of Life Insurance:" } } }, "localname": "LifeInsuranceCorporateOrBankOwnedTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity": { "auth_ref": [ "r41" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of current borrowing capacity under the credit facility considering any current restrictions on the amount that could be borrowed (for example, borrowings may be limited by the amount of current assets), but without considering any amounts currently outstanding under the facility.", "label": "Line of Credit Facility, Current Borrowing Capacity" } } }, "localname": "LineOfCreditFacilityCurrentBorrowingCapacity", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/Short-termBorrowingsDetailsNarrative" ], "xbrltype": "monetaryItemType" }, "us-gaap_LineOfCreditFacilityFairValueOfAmountOutstanding": { "auth_ref": [ "r268" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Fair value of the amount outstanding under the credit facility.", "label": "Line of Credit Facility, Fair Value of Amount Outstanding" } } }, "localname": "LineOfCreditFacilityFairValueOfAmountOutstanding", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/Short-termBorrowingsDetailsNarrative" ], "xbrltype": "monetaryItemType" }, "us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock": { "auth_ref": [ "r155" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for claims held for amounts due a entity, excluding financing receivables. Examples include, but are not limited to, trade accounts receivables, notes receivables, loans receivables. Includes disclosure for allowance for credit losses.", "label": "2. Accounts and Other Receivables:" } } }, "localname": "LoansNotesTradeAndOtherReceivablesDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/AccountsAndOtherReceivables" ], "xbrltype": "textBlockItemType" }, "us-gaap_LongTermContractsOrProgramsDisclosureTextBlock": { "auth_ref": [ "r19", "r20", "r35", "r198", "r286", "r287", "r289", "r290", "r291", "r292", "r293", "r294", "r296", "r297", "r299", "r300", "r301", "r303" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for long-term contracts or programs.", "label": "Costs and estimated earnings on uncompleted contracts components table" } } }, "localname": "LongTermContractsOrProgramsDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/CostsAndEstimatedEarningsOnUncompletedContractsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_MachineryAndEquipmentGross": { "auth_ref": [ "r175" ], "calculation": { "http://taylordevices.com/role/PropertyAndEquipmentTableDetails": { "order": 3.0, "parentTag": "us-gaap_PropertyPlantAndEquipmentGross", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before accumulated depreciation of tangible personal property used to produce goods and services, including, but is not limited to, tools, dies and molds, computer and office equipment.", "label": "Machinery and equipment" } } }, "localname": "MachineryAndEquipmentGross", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/PropertyAndEquipmentTableDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_MarketableSecuritiesPolicy": { "auth_ref": [ "r317" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for investment classified as marketable security.", "label": "Short-term Investments:" } } }, "localname": "MarketableSecuritiesPolicy", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_NatureOfOperations": { "auth_ref": [ "r120", "r128" ], "lang": { "en-us": { "role": { "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.", "label": "Nature of Operations:" } } }, "localname": "NatureOfOperations", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_NetCashProvidedByUsedInContinuingOperationsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Changes in other current assets and liabilities:" } } }, "localname": "NetCashProvidedByUsedInContinuingOperationsAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/StatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_NetCashProvidedByUsedInInvestingActivities": { "auth_ref": [ "r69" ], "calculation": { "http://taylordevices.com/role/StatementsOfCashFlows": { "order": 2.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets.", "label": "Net Cash Provided by (Used in) Investing Activities", "totalLabel": "Net investing activities" } } }, "localname": "NetCashProvidedByUsedInInvestingActivities", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/StatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInOperatingActivities": { "auth_ref": [ "r69", "r71", "r74" ], "calculation": { "http://taylordevices.com/role/StatementsOfCashFlows": { "order": 1.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities.", "label": "Net Cash Provided by (Used in) Operating Activities", "totalLabel": "Net operating activities" } } }, "localname": "NetCashProvidedByUsedInOperatingActivities", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/StatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Operating activities:" } } }, "localname": "NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/StatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_NetIncomeLoss": { "auth_ref": [ "r1", "r49", "r50", "r53", "r56", "r74", "r84", "r92", "r94", "r95", "r96", "r97", "r100", "r101", "r108", "r133", "r135", "r137", "r140", "r142", "r158", "r181", "r182", "r183", "r185", "r186", "r187", "r188", "r189", "r190", "r191", "r265", "r269", "r313", "r325" ], "calculation": { "http://taylordevices.com/role/StatementsOfCashFlows": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 }, "http://taylordevices.com/role/StatementsOfIncome": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.", "label": "Net Income (Loss) Attributable to Parent", "totalLabel": "Net income", "verboseLabel": "Net income" } } }, "localname": "NetIncomeLoss", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/StatementsOfCashFlows", "http://taylordevices.com/role/StatementsOfIncome", "http://taylordevices.com/role/StatementsOfShareholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact.", "label": "New Accounting Standards:" } } }, "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_NonoperatingIncomeExpense": { "auth_ref": [ "r62" ], "calculation": { "http://taylordevices.com/role/StatementsOfIncome": { "order": 2.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The aggregate amount of income or expense from ancillary business-related activities (that is to say, excluding major activities considered part of the normal operations of the business).", "label": "Nonoperating Income (Expense)", "totalLabel": "Total other income" } } }, "localname": "NonoperatingIncomeExpense", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/StatementsOfIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingIncomeLoss": { "auth_ref": [ "r133", "r135", "r137", "r140", "r142" ], "calculation": { "http://taylordevices.com/role/StatementsOfIncome": { "order": 1.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The net result for the period of deducting operating expenses from operating revenues.", "label": "Operating Income (Loss)", "totalLabel": "Operating income (loss)" } } }, "localname": "OperatingIncomeLoss", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/StatementsOfIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherAccountsPayableAndAccruedLiabilities": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liabilities incurred and payable to vendors for goods and services received classified as other, and expenses incurred but not yet paid, payable within one year or the operating cycle, if longer.", "label": "Other" } } }, "localname": "OtherAccountsPayableAndAccruedLiabilities", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/OtherAccruedExpensesTableDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherAssetsDisclosureTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for other assets. This disclosure includes other current assets and other noncurrent assets.", "label": "5. Maintenance and Other Inventory:" } } }, "localname": "OtherAssetsDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/MaintenanceAndOtherInventory" ], "xbrltype": "textBlockItemType" }, "us-gaap_OtherEmployeeRelatedLiabilitiesCurrentAndNoncurrent": { "auth_ref": [ "r311", "r324" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of obligations incurred for employer-related costs classified as other.", "label": "Personnel costs" } } }, "localname": "OtherEmployeeRelatedLiabilitiesCurrentAndNoncurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/OtherAccruedExpensesTableDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherInventoryNoncurrent": { "auth_ref": [ "r14" ], "calculation": { "http://taylordevices.com/role/MaintenanceAndOtherInventoryTableDetails": { "order": 1.0, "parentTag": "us-gaap_InventoryNoncurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Carrying amount as of the balance sheet date of inventories not expected to be converted to cash, sold or exchanged within the normal operating cycle (such as inventory related to long-term contracts or program rights).", "label": "Maintenance and other inventory" } } }, "localname": "OtherInventoryNoncurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/MaintenanceAndOtherInventoryTableDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherLiabilitiesDisclosureTextBlock": { "auth_ref": [ "r43" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for other liabilities.", "label": "Sales Taxes:" } } }, "localname": "OtherLiabilitiesDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_OtherNonoperatingIncomeExpense": { "auth_ref": [ "r63" ], "calculation": { "http://taylordevices.com/role/StatementsOfIncome": { "order": 4.0, "parentTag": "us-gaap_NonoperatingIncomeExpense", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of income (expense) related to nonoperating activities, classified as other.", "label": "Miscellaneous" } } }, "localname": "OtherNonoperatingIncomeExpense", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/StatementsOfIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherSellingGeneralAndAdministrativeExpense": { "auth_ref": [ "r61" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of selling, general and administrative expense classified as other.", "label": "Shipping and handling costs" } } }, "localname": "OtherSellingGeneralAndAdministrativeExpense", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative" ], "xbrltype": "monetaryItemType" }, "us-gaap_PayablesAndAccrualsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Payables and Accruals [Abstract]" } } }, "localname": "PayablesAndAccrualsAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_PaymentsForProceedsFromLifeInsurancePolicies": { "auth_ref": [], "calculation": { "http://taylordevices.com/role/StatementsOfCashFlows": { "order": 4.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The net cash outflow or inflow for net proceeds and payments derived from carrying life insurance policies for which the entity is the beneficiary.", "label": "Payments for (Proceeds from) Life Insurance Policies", "negatedLabel": "Increase in cash value of life insurance" } } }, "localname": "PaymentsForProceedsFromLifeInsurancePolicies", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/StatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt": { "auth_ref": [ "r64", "r66", "r157" ], "calculation": { "http://taylordevices.com/role/StatementsOfCashFlows": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash outflow to acquire investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).", "label": "Payments to Acquire Debt Securities, Available-for-Sale", "negatedLabel": "Increase in short-term investments" } } }, "localname": "PaymentsToAcquireAvailableForSaleSecuritiesDebt", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/StatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": { "auth_ref": [ "r67" ], "calculation": { "http://taylordevices.com/role/StatementsOfCashFlows": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets.", "label": "Payments to Acquire Property, Plant, and Equipment", "negatedLabel": "Acquisition of property and equipment" } } }, "localname": "PaymentsToAcquirePropertyPlantAndEquipment", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/StatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PensionExpense": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cost (reversal of cost) for pension benefits. Excludes other postretirement benefits.", "label": "Retirement plan expense" } } }, "localname": "PensionExpense", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/RetirementPlanDetailsNarrative" ], "xbrltype": "monetaryItemType" }, "us-gaap_PreferredStockSharesAuthorized": { "auth_ref": [ "r16" ], "lang": { "en-us": { "role": { "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.", "label": "Preferred shares authorized" } } }, "localname": "PreferredStockSharesAuthorized", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/PreferredStockDetailsNarrative" ], "xbrltype": "sharesItemType" }, "us-gaap_PreferredStockTextBlock": { "auth_ref": [ "r197" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for terms, amounts, nature of changes, rights and privileges, dividends, and other matters related to preferred stock.", "label": "15. Preferred Stock:" } } }, "localname": "PreferredStockTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/PreferredStock" ], "xbrltype": "textBlockItemType" }, "us-gaap_PrepaidExpenseCurrent": { "auth_ref": [ "r5", "r37", "r171", "r172" ], "calculation": { "http://taylordevices.com/role/BalanceSheets": { "order": 5.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits within a future period of one year or the normal operating cycle, if longer.", "label": "Prepaid expenses" } } }, "localname": "PrepaidExpenseCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/BalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_PrepaidTaxes": { "auth_ref": [ "r6", "r170", "r172" ], "calculation": { "http://taylordevices.com/role/BalanceSheets": { "order": 6.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of asset related to consideration paid in advance for income and other taxes that provide economic benefits within a future period of one year or the normal operating cycle, if longer.", "label": "Prepaid income taxes" } } }, "localname": "PrepaidTaxes", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/BalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromIssuanceOfCommonStock": { "auth_ref": [ "r68" ], "calculation": { "http://taylordevices.com/role/StatementsOfCashFlows": { "order": 3.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The cash inflow from the additional capital contribution to the entity.", "label": "Proceeds from issuance of common stock" } } }, "localname": "ProceedsFromIssuanceOfCommonStock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/StatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlans": { "auth_ref": [ "r68", "r224" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow from issuance of shares under share-based payment arrangement. Excludes option exercised.", "label": "Proceeds, Issuance of Shares, Share-Based Payment Arrangement, Excluding Option Exercised" } } }, "localname": "ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlans", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/StockOptionPlansDetailsNarrative" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromSaleOfProductiveAssets": { "auth_ref": [ "r65" ], "calculation": { "http://taylordevices.com/role/StatementsOfCashFlows": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The cash inflow from the sale of property, plant and equipment (capital expenditures), software, and other intangible assets.", "label": "Proceeds from disposal of property and equipment" } } }, "localname": "ProceedsFromSaleOfProductiveAssets", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/StatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PropertyPlantAndEquipmentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Property, Plant and Equipment [Abstract]" } } }, "localname": "PropertyPlantAndEquipmentAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock": { "auth_ref": [ "r179", "r335", "r336", "r337" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections.", "label": "6. Property and Equipment:" } } }, "localname": "PropertyPlantAndEquipmentDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/PropertyAndEquipment" ], "xbrltype": "textBlockItemType" }, "us-gaap_PropertyPlantAndEquipmentGross": { "auth_ref": [ "r12", "r175" ], "calculation": { "http://taylordevices.com/role/PropertyAndEquipmentTableDetails": { "order": 1.0, "parentTag": "us-gaap_PropertyPlantAndEquipmentNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.", "label": "Property, Plant and Equipment, Gross", "totalLabel": "Gross property and equipment" } } }, "localname": "PropertyPlantAndEquipmentGross", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/PropertyAndEquipmentTableDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_PropertyPlantAndEquipmentNet": { "auth_ref": [ "r177", "r285", "r318", "r323" ], "calculation": { "http://taylordevices.com/role/BalanceSheets": { "order": 3.0, "parentTag": "us-gaap_Assets", "weight": 1.0 }, "http://taylordevices.com/role/PropertyAndEquipmentTableDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.", "label": "Property and equipment, net", "totalLabel": "Property and equipment, net" } } }, "localname": "PropertyPlantAndEquipmentNet", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/BalanceSheets", "http://taylordevices.com/role/PropertyAndEquipmentTableDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_PropertyPlantAndEquipmentOther": { "auth_ref": [ "r177" ], "calculation": { "http://taylordevices.com/role/PropertyAndEquipmentTableDetails": { "order": 5.0, "parentTag": "us-gaap_PropertyPlantAndEquipmentGross", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before accumulated depreciation, depletion and amortization of other physical assets used in the normal conduct of business to produce goods and services and not intended for resale.", "label": "Autos and trucks" } } }, "localname": "PropertyPlantAndEquipmentOther", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/PropertyAndEquipmentTableDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_PropertyPlantAndEquipmentPolicyTextBlock": { "auth_ref": [ "r177", "r335", "r336" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections.", "label": "Property and Equipment:" } } }, "localname": "PropertyPlantAndEquipmentPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_PropertyPlantAndEquipmentTextBlock": { "auth_ref": [ "r177" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation.", "label": "Property and equipment table" } } }, "localname": "PropertyPlantAndEquipmentTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/PropertyAndEquipmentTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ProvisionForDoubtfulAccounts": { "auth_ref": [ "r58", "r163" ], "calculation": { "http://taylordevices.com/role/StatementsOfCashFlows": { "order": 4.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of expense (reversal of expense) for expected credit loss on accounts receivable.", "label": "Bad debt expense" } } }, "localname": "ProvisionForDoubtfulAccounts", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/StatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ReceivablesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Receivables [Abstract]" } } }, "localname": "ReceivablesAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_ReceivablesFromCustomers": { "auth_ref": [ "r306" ], "calculation": { "http://taylordevices.com/role/AccountsReceivableTableDetails": { "order": 1.0, "parentTag": "us-gaap_AccountsReceivableGrossCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount due from customers for fees and charges arising from transactions related to the entity's brokerage activities and operations.", "label": "Customers" } } }, "localname": "ReceivablesFromCustomers", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/AccountsReceivableTableDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_RegulatoryIncomeTaxesPolicy": { "auth_ref": [ "r338", "r339" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for income taxes, including investment tax credits, and the related regulatory treatment (for example, whether deferred income tax accounting - normalization - is allowed in rate making).", "label": "Income Taxes:" } } }, "localname": "RegulatoryIncomeTaxesPolicy", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_RelatedPartyTransactionsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Related Party Transactions [Abstract]" } } }, "localname": "RelatedPartyTransactionsAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_RelatedPartyTransactionsDisclosureTextBlock": { "auth_ref": [ "r278", "r279", "r280", "r281", "r282" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for related party transactions. Examples of related party transactions include transactions between (a) a parent company and its subsidiary; (b) subsidiaries of a common parent; (c) and entity and its principal owners; and (d) affiliates.", "label": "12. Related Party Transactions:" } } }, "localname": "RelatedPartyTransactionsDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/RelatedPartyTransactions" ], "xbrltype": "textBlockItemType" }, "us-gaap_ResearchAndDevelopmentExpense": { "auth_ref": [ "r230", "r302", "r340" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility, and costs allocated in accounting for a business combination to in-process projects deemed to have no alternative future use.", "label": "Research and development costs" } } }, "localname": "ResearchAndDevelopmentExpense", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative" ], "xbrltype": "monetaryItemType" }, "us-gaap_ResearchAndDevelopmentExpensePolicy": { "auth_ref": [ "r230" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for costs it has incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process.", "label": "Research and Development Costs:" } } }, "localname": "ResearchAndDevelopmentExpensePolicy", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_RetainedEarningsAccumulatedDeficit": { "auth_ref": [ "r23", "r193", "r285", "r321", "r333", "r334" ], "calculation": { "http://taylordevices.com/role/BalanceSheets": { "order": 3.0, "parentTag": "us-gaap_StockholdersEquityBeforeTreasuryStock", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.", "label": "Retained earnings" } } }, "localname": "RetainedEarningsAccumulatedDeficit", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/BalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_RetainedEarningsMember": { "auth_ref": [ "r0", "r89", "r90", "r91", "r93", "r99", "r101", "r160", "r225", "r226", "r227", "r246", "r247", "r263", "r330", "r332" ], "lang": { "en-us": { "role": { "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.", "label": "Retained Earnings [Member]" } } }, "localname": "RetainedEarningsMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/StatementsOfShareholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_RevenueRecognitionPolicyTextBlock": { "auth_ref": [ "r82", "r83" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for revenue. Includes revenue from contract with customer and from other sources.", "label": "Revenue Recognition:" } } }, "localname": "RevenueRecognitionPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_Revenues": { "auth_ref": [ "r54", "r84", "r129", "r130", "r134", "r138", "r139", "r143", "r144", "r145", "r158", "r181", "r182", "r183", "r185", "r186", "r187", "r188", "r189", "r190", "r191", "r269", "r316" ], "calculation": { "http://taylordevices.com/role/StatementsOfIncome": { "order": 1.0, "parentTag": "us-gaap_GrossProfit", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "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).", "label": "Sales, net" } } }, "localname": "Revenues", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/SalesByMajorCustomerTypeDetails", "http://taylordevices.com/role/StatementsOfIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_RisksAndUncertaintiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Risks and Uncertainties [Abstract]" } } }, "localname": "RisksAndUncertaintiesAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock": { "auth_ref": [ "r48" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the various types of trade accounts and notes receivable and for each the gross carrying value, allowance, and net carrying value as of the balance sheet date. Presentation is categorized by current, noncurrent and unclassified receivables.", "label": "Accounts receivable table" } } }, "localname": "ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/AccountsAndOtherReceivablesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the components of accrued liabilities.", "label": "Other accrued expenses table" } } }, "localname": "ScheduleOfAccruedLiabilitiesTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/OtherAccruedExpensesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of supplemental cash flow information for the periods presented.", "label": "Supplemental cash flow information" } } }, "localname": "ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/CashFlowsInformationTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock": { "auth_ref": [ "r245" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the components of income tax expense attributable to continuing operations for each year presented including, but not limited to: current tax expense (benefit), deferred tax expense (benefit), investment tax credits, government grants, the benefits of operating loss carryforwards, tax expense that results from allocating certain tax benefits either directly to contributed capital or to reduce goodwill or other noncurrent intangible assets of an acquired entity, adjustments of a deferred tax liability or asset for enacted changes in tax laws or rates or a change in the tax status of the entity, and adjustments of the beginning-of-the-year balances of a valuation allowance because of a change in circumstances that causes a change in judgment about the realizability of the related deferred tax asset in future years.", "label": "Income Taxes Table" } } }, "localname": "ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/IncomeTaxesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfCostsOfRetirementPlansTableTextBlock": { "auth_ref": [ "r201" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the costs related to the various types of retirement plans including defined benefit pension plan cost, defined contribution plan cost, other postretirement benefit plan cost, and net periodic benefit cost.", "label": "17. Retirement Plan:" } } }, "localname": "ScheduleOfCostsOfRetirementPlansTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/RetirementPlan" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock": { "auth_ref": [ "r238" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the components of net deferred tax asset or liability recognized in an entity's statement of financial position, including the following: the total of all deferred tax liabilities, the total of all deferred tax assets, the total valuation allowance recognized for deferred tax assets.", "label": "Components of Deferred Tax Assets and Liabilities" } } }, "localname": "ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/IncomeTaxesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": { "auth_ref": [ "r111" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations.", "label": "Earnings per common share table" } } }, "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/EarningsPerCommonShareTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock": { "auth_ref": [ "r234" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the reconciliation using percentage or dollar amounts of the reported amount of income tax expense attributable to continuing operations for the year to the amount of income tax expense that would result from applying domestic federal statutory tax rates to pretax income from continuing operations.", "label": "Reconciliation of income tax statutory rate to effective rate" } } }, "localname": "ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/IncomeTaxesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": { "auth_ref": [ "r10", "r32", "r33", "r34" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process.", "label": "Inventory table" } } }, "localname": "ScheduleOfInventoryCurrentTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/InventoryTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfInventoryNoncurrentTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of inventories not expected to be converted to cash, sold or exchanged within the normal operating cycle including inventoried costs relating to long-term contracts or programs.", "label": "Maintenance and other inventory table" } } }, "localname": "ScheduleOfInventoryNoncurrentTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/MaintenanceAndOtherInventoryTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfLineOfCreditFacilitiesTextBlock": { "auth_ref": [ "r41" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of short-term or long-term contractual arrangements with lenders, including letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line.", "label": "7. Short-Term Borrowings:" } } }, "localname": "ScheduleOfLineOfCreditFacilitiesTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/Short-termBorrowings" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfOtherShareBasedCompensationActivityTableTextBlock": { "auth_ref": [ "r211" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of activity for outstanding award under share-based payment arrangement excluding share and unit options and nonvested award.", "label": "Share-Based Payment Arrangement, Outstanding Award, Activity, Excluding Option [Table Text Block]", "verboseLabel": "Stock option plans - Stock options outstanding and exercisable" } } }, "localname": "ScheduleOfOtherShareBasedCompensationActivityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/StockOptionPlansTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock": { "auth_ref": [ "r222" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of employee stock purchase plan activity.", "label": "13. Employee Stock Purchase Plan:" } } }, "localname": "ScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/EmployeeStockPurchasePlan" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable": { "auth_ref": [ "r223" ], "lang": { "en-us": { "role": { "documentation": "Details comprising a table providing supplementary information on outstanding and exercisable share awards as of the balance sheet date which stratifies outstanding options by ranges of exercise prices.", "label": "Share-Based Payment Arrangement, Option, Exercise Price Range [Table]" } } }, "localname": "ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/StockOptionPlans-StockOptionsOutstandingAndExercisableDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock": { "auth_ref": [ "r223" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of option exercise prices, by grouped ranges, including the upper and lower limits of the price range, the number of shares under option, weighted average exercise price and remaining contractual option terms.", "label": "Stock option plans - Stock options outstanding and exercisable" } } }, "localname": "ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/StockOptionPlansTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfStockOptionsRollForwardTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the change in stock options.", "label": "Stock options roll foward" } } }, "localname": "ScheduleOfStockOptionsRollForwardTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/StockOptionPlansTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_SellingGeneralAndAdministrativeExpense": { "auth_ref": [ "r61" ], "calculation": { "http://taylordevices.com/role/StatementsOfIncome": { "order": 2.0, "parentTag": "us-gaap_OperatingIncomeLoss", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate total costs related to selling a firm's product and services, as well as all other general and administrative expenses. Direct selling expenses (for example, credit, warranty, and advertising) are expenses that can be directly linked to the sale of specific products. Indirect selling expenses are expenses that cannot be directly linked to the sale of specific products, for example telephone expenses, Internet, and postal charges. General and administrative expenses include salaries of non-sales personnel, rent, utilities, communication, etc.", "label": "Selling, general and administrative expenses" } } }, "localname": "SellingGeneralAndAdministrativeExpense", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/StatementsOfIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensation": { "auth_ref": [ "r72" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of noncash expense for share-based payment arrangement.", "label": "Share based compensation expense" } } }, "localname": "ShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensationAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Share-Based Payment Arrangement, Noncash Expense [Abstract]" } } }, "localname": "ShareBasedCompensationAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate": { "auth_ref": [ "r219" ], "lang": { "en-us": { "role": { "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.", "label": "Expected dividend yield" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/StockOptionPlansTableDetails" ], "xbrltype": "percentItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate": { "auth_ref": [ "r218" ], "lang": { "en-us": { "role": { "documentation": "The estimated measure of the percentage by which a share price is expected to fluctuate during a period. Volatility also may be defined as a probability-weighted measure of the dispersion of returns about the mean. The volatility of a share price is the standard deviation of the continuously compounded rates of return on the share over a specified period. That is the same as the standard deviation of the differences in the natural logarithms of the stock prices plus dividends, if any, over the period.", "label": "Expected volatility" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/StockOptionPlansTableDetails" ], "xbrltype": "percentItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate": { "auth_ref": [ "r220" ], "lang": { "en-us": { "role": { "documentation": "The risk-free interest rate assumption that is used in valuing an option on its own shares.", "label": "Risk-free interest rate" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/StockOptionPlansTableDetails" ], "xbrltype": "percentItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized": { "auth_ref": [ "r203" ], "lang": { "en-us": { "role": { "documentation": "Number of shares authorized for issuance under share-based payment arrangement.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Authorized" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/StockOptionPlansDetailsNarrative" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant": { "auth_ref": [ "r223" ], "lang": { "en-us": { "role": { "documentation": "The difference between the maximum number of shares (or other type of equity) authorized for issuance under the plan (including the effects of amendments and adjustments), and the sum of: 1) the number of shares (or other type of equity) already issued upon exercise of options or other equity-based awards under the plan; and 2) shares (or other type of equity) reserved for issuance on granting of outstanding awards, net of cancellations and forfeitures, if applicable.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Available for Grant" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/StockOptionPlansDetailsNarrative" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod": { "auth_ref": [ "r210" ], "lang": { "en-us": { "role": { "documentation": "Number of options or other stock instruments for which the right to exercise has lapsed under the terms of the plan agreements.", "label": "Stock options expired" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/StockOptionsRollFowardDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross": { "auth_ref": [ "r208" ], "lang": { "en-us": { "role": { "documentation": "Gross number of share options (or share units) granted during the period.", "label": "Options granted" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/StockOptionsRollFowardDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": { "auth_ref": [ "r213" ], "lang": { "en-us": { "role": { "documentation": "The weighted average grant-date fair value of options granted during the reporting period as calculated by applying the disclosed option pricing methodology.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/StockOptionPlansDetailsNarrative" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValueTableTextBlock": { "auth_ref": [ "r213" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the weighted-average grant-date fair value of equity options or other equity instruments granted during the year.", "label": "Stock option plans table" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValueTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/StockOptionPlansTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue": { "auth_ref": [ "r223" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount by which the current fair value of the underlying stock exceeds the exercise price of options outstanding.", "label": "Intrinsic value of options outstanding" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/StockOptionsRollFowardDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": { "auth_ref": [ "r205", "r206" ], "lang": { "en-us": { "role": { "documentation": "Number of options outstanding, including both vested and non-vested options.", "label": "Stock options outstanding", "verboseLabel": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Number" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/StockOptionPlans-StockOptionsOutstandingAndExercisableDetails", "http://taylordevices.com/role/StockOptionsRollFowardDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice": { "auth_ref": [ "r205", "r206" ], "lang": { "en-us": { "role": { "documentation": "Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan.", "label": "Weighted average exercise price of options outstanding", "verboseLabel": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/StockOptionPlans-StockOptionsOutstandingAndExercisableDetails", "http://taylordevices.com/role/StockOptionsRollFowardDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice": { "auth_ref": [ "r209" ], "lang": { "en-us": { "role": { "documentation": "Weighted average price at which option holders acquired shares when converting their stock options into shares.", "label": "Weighted average exercise price of options exercised" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/StockOptionsRollFowardDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice": { "auth_ref": [ "r208" ], "lang": { "en-us": { "role": { "documentation": "Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options.", "label": "Weighted average exercise price of options granted" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/StockOptionsRollFowardDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy": { "auth_ref": [ "r204", "r215", "r216", "r217", "r218", "r221", "r228", "r229" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for award under share-based payment arrangement. Includes, but is not limited to, methodology and assumption used in measuring cost.", "label": "Stock-Based Compensation:" } } }, "localname": "ShareBasedCompensationOptionAndIncentivePlansPolicy", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis": { "auth_ref": [ "r214" ], "lang": { "en-us": { "role": { "documentation": "Information by range of option prices pertaining to options granted.", "label": "Exercise Price Range [Axis]" } } }, "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/StockOptionPlans-StockOptionsOutstandingAndExercisableDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain": { "auth_ref": [ "r222" ], "lang": { "en-us": { "role": { "documentation": "Supplementary information on outstanding and exercisable share awards as of the balance sheet date which stratifies outstanding options by ranges of exercise prices." } } }, "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/StockOptionPlans-StockOptionsOutstandingAndExercisableDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Share-Based Payment Arrangement, Option, Exercise Price Range [Line Items]" } } }, "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/StockOptionPlans-StockOptionsOutstandingAndExercisableDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions": { "auth_ref": [ "r212" ], "lang": { "en-us": { "role": { "documentation": "The number of shares reserved for issuance pertaining to the outstanding exercisable stock options as of the balance sheet date in the customized range of exercise prices for which the market and performance vesting condition has been satisfied.", "label": "Share-Based Payment Arrangement, Option, Exercise Price Range, Shares Exercisable" } } }, "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/StockOptionPlans-StockOptionsOutstandingAndExercisableDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_SharePrice": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Price of a single share of a number of saleable stocks of a company.", "label": "Share Price" } } }, "localname": "SharePrice", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/StockOptionPlansDetailsNarrative" ], "xbrltype": "perShareItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1": { "auth_ref": [ "r217" ], "lang": { "en-us": { "role": { "documentation": "Expected term of award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Term" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/StockOptionPlansTableDetails" ], "xbrltype": "durationItemType" }, "us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1": { "auth_ref": [ "r207" ], "lang": { "en-us": { "role": { "documentation": "Weighted average exercise price as of the balance sheet date for those equity-based payment arrangements exercisable and outstanding.", "label": "Share-Based Payment Arrangement, Option, Exercise Price Range, Exercisable, Weighted Average Exercise Price" } } }, "localname": "SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/StockOptionPlans-StockOptionsOutstandingAndExercisableDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShippingAndHandlingCostPolicyTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for the classification of shipping and handling costs, including whether the costs are included in cost of sales or included in other income statement accounts. If shipping and handling fees are significant and are not included in cost of sales, disclosure includes both the amounts of such costs and the line item on the income statement which includes such costs.", "label": "Shipping and Handling Costs:" } } }, "localname": "ShippingAndHandlingCostPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_ShortTermInvestments": { "auth_ref": [ "r38", "r309", "r310", "r319" ], "calculation": { "http://taylordevices.com/role/BalanceSheets": { "order": 2.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of investments including trading securities, available-for-sale securities, held-to-maturity securities, and short-term investments classified as other and current.", "label": "Short-term investments" } } }, "localname": "ShortTermInvestments", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/BalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_SignificantAccountingPoliciesTextBlock": { "auth_ref": [ "r79", "r88" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for all significant accounting policies of the reporting entity.", "label": "1. Summary of Significant Accounting Policies:" } } }, "localname": "SignificantAccountingPoliciesTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/SummaryOfSignificantAccountingPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_StatementEquityComponentsAxis": { "auth_ref": [ "r0", "r46", "r51", "r52", "r53", "r89", "r90", "r91", "r93", "r99", "r101", "r119", "r160", "r192", "r193", "r225", "r226", "r227", "r246", "r247", "r263", "r271", "r272", "r273", "r274", "r275", "r276", "r277", "r330", "r331", "r332" ], "lang": { "en-us": { "role": { "documentation": "Information by component of equity.", "label": "Equity Components [Axis]" } } }, "localname": "StatementEquityComponentsAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/StatementsOfShareholdersEquity" ], "xbrltype": "stringItemType" }, "us-gaap_StatementLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Statement [Line Items]" } } }, "localname": "StatementLineItems", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/SalesByMajorCustomerTypeDetails", "http://taylordevices.com/role/StatementsOfShareholdersEquity" ], "xbrltype": "stringItemType" }, "us-gaap_StatementOfCashFlowsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Statement of Cash Flows [Abstract]" } } }, "localname": "StatementOfCashFlowsAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_StatementOfFinancialPositionAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Statement of Financial Position [Abstract]" } } }, "localname": "StatementOfFinancialPositionAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_StatementOfStockholdersEquityAbstract": { "auth_ref": [], "localname": "StatementOfStockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_StatementTable": { "auth_ref": [ "r89", "r90", "r91", "r119", "r304" ], "lang": { "en-us": { "role": { "documentation": "Schedule reflecting a Statement of Income, Statement of Cash Flows, Statement of Financial Position, Statement of Shareholders' Equity and Other Comprehensive Income, or other statement as needed.", "label": "Statement [Table]" } } }, "localname": "StatementTable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/SalesByMajorCustomerTypeDetails", "http://taylordevices.com/role/StatementsOfShareholdersEquity" ], "xbrltype": "stringItemType" }, "us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans": { "auth_ref": [ "r16", "r17", "r192", "r193" ], "lang": { "en-us": { "role": { "documentation": "Number of shares issued during the period as a result of an employee stock purchase plan.", "label": "Stock Issued During Period, Shares, Employee Stock Purchase Plans" } } }, "localname": "StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/EmployeeStockPurchasePlanDetailsNarrative" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": { "auth_ref": [ "r16", "r17", "r192", "r193", "r209" ], "lang": { "en-us": { "role": { "documentation": "Number of share options (or share units) exercised during the current period.", "label": "Stock options exercised" } } }, "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/StockOptionsRollFowardDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodValueEmployeeBenefitPlan": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Value of shares issued during the period to an employee benefit plan, such as a defined contribution or defined benefit plan.", "label": "Stock Issued During Period, Value, Employee Benefit Plan", "negatedLabel": "Stock Issued During Period, Value, Employee Benefit Plan" } } }, "localname": "StockIssuedDuringPeriodValueEmployeeBenefitPlan", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/StatementsOfShareholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan": { "auth_ref": [ "r16", "r17", "r192", "r193" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Aggregate change in value for stock issued during the period as a result of employee stock purchase plan.", "label": "Stock Issued During Period, Value, Employee Stock Purchase Plan" } } }, "localname": "StockIssuedDuringPeriodValueEmployeeStockPurchasePlan", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/StatementsOfShareholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockOptionPlanExpense": { "auth_ref": [ "r73" ], "calculation": { "http://taylordevices.com/role/StatementsOfCashFlows": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of noncash expense for option under share-based payment arrangement.", "label": "Stock options issued for services" } } }, "localname": "StockOptionPlanExpense", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/StatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockholdersEquity": { "auth_ref": [ "r17", "r24", "r25", "r84", "r154", "r158", "r269", "r285" ], "calculation": { "http://taylordevices.com/role/BalanceSheets": { "order": 2.0, "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.", "label": "Stockholders' Equity Attributable to Parent", "periodEndLabel": "Stockholders' Equity Attributable to Parent, Ending Balance", "periodStartLabel": "Stockholders' Equity Attributable to Parent, Beginning Balance", "totalLabel": "Total stockholders' equity" } } }, "localname": "StockholdersEquity", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/BalanceSheets", "http://taylordevices.com/role/StatementsOfShareholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Stockholders' Equity:" } } }, "localname": "StockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/BalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_StockholdersEquityBeforeTreasuryStock": { "auth_ref": [], "calculation": { "http://taylordevices.com/role/BalanceSheets": { "order": 1.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Total amount of stockholders' equity (deficit) items including stock value, paid in capital, retained earnings and including equity attributable to noncontrolling interests and before deducting the carrying value of treasury stock.", "label": "Stockholders' Equity before Treasury Stock", "totalLabel": "Stockholders\u2019 equity before treasury stock" } } }, "localname": "StockholdersEquityBeforeTreasuryStock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/BalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_SubsequentEventsPolicyPolicyTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for reporting subsequent events.", "label": "Subsequent Events:" } } }, "localname": "SubsequentEventsPolicyPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_SupplementalCashFlowElementsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Supplemental Cash Flow Elements [Abstract]" } } }, "localname": "SupplementalCashFlowElementsAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_TaxCreditCarryforwardExpirationDate": { "auth_ref": [ "r240" ], "lang": { "en-us": { "role": { "documentation": "Expiration date of the tax credit carryforward, in YYYY-MM-DD format.", "label": "Tax Credit Carryforward, Expiration Date" } } }, "localname": "TaxCreditCarryforwardExpirationDate", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/IncomeTaxesDetailsNarrative" ], "xbrltype": "dateItemType" }, "us-gaap_TradeAndOtherAccountsReceivablePolicy": { "auth_ref": [ "r148", "r149", "r150", "r151", "r153", "r156" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for accounts receivable.", "label": "Accounts and Other Receivables:" } } }, "localname": "TradeAndOtherAccountsReceivablePolicy", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_TreasuryStockMember": { "auth_ref": [ "r45", "r194" ], "lang": { "en-us": { "role": { "documentation": "Shares of an entity that have been repurchased by the entity. This stock has no voting rights and receives no dividends. Note that treasury stock may be recorded at its total cost or separately as par (or stated) value and additional paid in capital. Classified within stockholders' equity if nonredeemable or redeemable solely at the option of the issuer. Classified within temporary equity if redemption is outside the control of the issuer.", "label": "Treasury Stock [Member]" } } }, "localname": "TreasuryStockMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/StatementsOfShareholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_TreasuryStockShares": { "auth_ref": [ "r45", "r194" ], "lang": { "en-us": { "role": { "documentation": "Number of common and preferred shares that were previously issued and that were repurchased by the issuing entity and held in treasury on the financial statement date. This stock has no voting rights and receives no dividends.", "label": "Treasury Stock, Shares", "verboseLabel": "Treasury Stock" } } }, "localname": "TreasuryStockShares", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/BalanceSheetsParenthetical", "http://taylordevices.com/role/TreasuryStockDetailsNarrative" ], "xbrltype": "sharesItemType" }, "us-gaap_TreasuryStockTextBlock": { "auth_ref": [ "r196" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for treasury stock, including, but not limited to, average cost per share, description of share repurchase program, shares repurchased, shares held for each class of treasury stock.", "label": "16. Treasury Stock:" } } }, "localname": "TreasuryStockTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/TreasuryStock" ], "xbrltype": "textBlockItemType" }, "us-gaap_TreasuryStockValue": { "auth_ref": [ "r45", "r194", "r195" ], "calculation": { "http://taylordevices.com/role/BalanceSheets": { "order": 2.0, "parentTag": "us-gaap_StockholdersEquity", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The amount allocated to treasury stock. Treasury stock is common and preferred shares of an entity that were issued, repurchased by the entity, and are held in its treasury.", "label": "Treasury Stock, Value", "negatedLabel": "Treasury stock \u2013 558,834 shares at cost", "negatedPeriodEndLabel": "Treasury Stock, Value", "negatedPeriodStartLabel": "Treasury Stock, Value" } } }, "localname": "TreasuryStockValue", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/BalanceSheets", "http://taylordevices.com/role/StatementsOfShareholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_UnusualRisksAndUncertaintiesTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the nature of the unusual risk or uncertainty, if estimable, such as the threat of expropriation of its assets by a foreign government, rapid technological obsolescence in the industry, risk of natural disaster from earthquake or weather events, and availability of or continuation of a labor force at a reasonable cost.", "label": "20. Risks and Uncertainties:" } } }, "localname": "UnusualRisksAndUncertaintiesTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/RisksAndUncertainties" ], "xbrltype": "textBlockItemType" }, "us-gaap_UseOfEstimates": { "auth_ref": [ "r121", "r122", "r123", "r124", "r125", "r126", "r127" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles.", "label": "Use of Estimates:" } } }, "localname": "UseOfEstimates", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": { "auth_ref": [ "r103", "r111" ], "lang": { "en-us": { "role": { "documentation": "The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.", "label": "Average common shares outstanding assuming dilution" } } }, "localname": "WeightedAverageNumberOfDilutedSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/EarningsPerCommonShareTableDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": { "auth_ref": [ "r102", "r111" ], "lang": { "en-us": { "role": { "documentation": "Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.", "label": "Average common shares outstanding" } } }, "localname": "WeightedAverageNumberOfSharesOutstandingBasic", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://taylordevices.com/role/EarningsPerCommonShareTableDetails" ], "xbrltype": "sharesItemType" } }, "unitCount": 4 } }, "std_ref": { "r0": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "105", "URI": "https://asc.fasb.org/extlink&oid=126987489&loc=SL124442142-165695" }, "r1": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "205", "URI": "https://asc.fasb.org/extlink&oid=109222650&loc=SL51721683-107760" }, "r10": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=6361739&loc=d3e7789-107766" }, "r100": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22658-107794" }, "r101": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22663-107794" }, "r102": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1448-109256" }, "r103": { "Name": "Accounting Standards Codification", "Paragraph": "16", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1505-109256" }, "r104": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1252-109256" }, "r105": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1707-109256" }, "r106": { "Name": "Accounting Standards Codification", "Paragraph": "23", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1757-109256" }, "r107": { "Name": "Accounting Standards Codification", "Paragraph": "28A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1500-109256" }, "r108": { "Name": "Accounting Standards Codification", "Paragraph": "60B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=SL5780133-109256" }, "r109": { "Name": "Accounting Standards Codification", "Paragraph": "60B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=SL5780133-109256" }, "r11": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(1))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r110": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1337-109256" }, "r111": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257" }, "r112": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257" }, "r113": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3630-109257" }, "r114": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=109243012&loc=SL65017193-207537" }, "r115": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=128363288&loc=d3e3842-109258" }, "r116": { "Name": "Accounting Standards Codification", "Paragraph": "52", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=128363288&loc=d3e4984-109258" }, "r117": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "260", "URI": "https://asc.fasb.org/topic&trid=2144383" }, "r118": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "270", "URI": "https://asc.fasb.org/extlink&oid=126900757&loc=d3e543-108305" }, "r119": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "272", "URI": "https://asc.fasb.org/extlink&oid=125520817&loc=d3e70191-108054" }, "r12": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(13))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r120": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "275", "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592" }, "r121": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "275", "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592" }, "r122": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "275", "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592" }, "r123": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6161-108592" }, "r124": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6191-108592" }, "r125": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6061-108592" }, "r126": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6132-108592" }, "r127": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6143-108592" }, "r128": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "275", "URI": "https://asc.fasb.org/topic&trid=2134479" }, "r129": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599" }, "r13": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(14))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r130": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599" }, "r131": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599" }, "r132": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599" }, "r133": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599" }, "r134": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599" }, "r135": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599" }, "r136": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599" }, "r137": { "Name": "Accounting Standards Codification", "Paragraph": "31", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8924-108599" }, "r138": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599" }, "r139": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599" }, "r14": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(17))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r140": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599" }, "r141": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599" }, "r142": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599" }, "r143": { "Name": "Accounting Standards Codification", "Paragraph": "40", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9031-108599" }, "r144": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9038-108599" }, "r145": { "Name": "Accounting Standards Codification", "Paragraph": "42", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9054-108599" }, "r146": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "310", "URI": "https://asc.fasb.org/extlink&oid=124259787&loc=d3e4428-111522" }, "r147": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "310", "URI": "https://asc.fasb.org/extlink&oid=124259787&loc=d3e4531-111522" }, "r148": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "310", "URI": "https://asc.fasb.org/extlink&oid=123577603&loc=d3e4975-111524" }, "r149": { "Name": "Accounting Standards Codification", "Paragraph": "11B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "310", "URI": "https://asc.fasb.org/extlink&oid=123577603&loc=SL6953423-111524" }, "r15": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(18))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r150": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "310", "URI": "https://asc.fasb.org/extlink&oid=123577603&loc=d3e5212-111524" }, "r151": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "310", "URI": "https://asc.fasb.org/extlink&oid=123577603&loc=d3e5033-111524" }, "r152": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "310", "URI": "https://asc.fasb.org/extlink&oid=123577603&loc=d3e5074-111524" }, "r153": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "310", "URI": "https://asc.fasb.org/extlink&oid=123577603&loc=d3e5093-111524" }, "r154": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 4.E)", "Topic": "310", "URI": "https://asc.fasb.org/extlink&oid=122038336&loc=d3e74512-122707" }, "r155": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "SubTopic": "10", "Topic": "310", "URI": "https://asc.fasb.org/subtopic&trid=2196772" }, "r156": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "310", "URI": "https://asc.fasb.org/extlink&oid=84159169&loc=d3e10133-111534" }, "r157": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "320", "URI": "https://asc.fasb.org/extlink&oid=124260329&loc=d3e26853-111562" }, "r158": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "323", "URI": "https://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571" }, "r159": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "325", "URI": "https://asc.fasb.org/topic&trid=2197064" }, "r16": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(28))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r160": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "326", "URI": "https://asc.fasb.org/extlink&oid=122640432&loc=SL121648383-210437" }, "r161": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "326", "URI": "https://asc.fasb.org/extlink&oid=124255206&loc=SL82895884-210446" }, "r162": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "326", "URI": "https://asc.fasb.org/extlink&oid=124255953&loc=SL82919249-210447" }, "r163": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "326", "URI": "https://asc.fasb.org/extlink&oid=124255953&loc=SL82919249-210447" }, "r164": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(f)", "Topic": "326", "URI": "https://asc.fasb.org/extlink&oid=124255953&loc=SL82919249-210447" }, "r165": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "330", "URI": "https://asc.fasb.org/extlink&oid=116847112&loc=d3e4492-108314" }, "r166": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "330", "URI": "https://asc.fasb.org/extlink&oid=116847112&loc=d3e4542-108314" }, "r167": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "330", "URI": "https://asc.fasb.org/extlink&oid=116847112&loc=d3e4556-108314" }, "r168": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB TOPIC 5.BB)", "Topic": "330", "URI": "https://asc.fasb.org/extlink&oid=27011343&loc=d3e100047-122729" }, "r169": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "330", "URI": "https://asc.fasb.org/topic&trid=2126998" }, "r17": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(29))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r170": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "05", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "340", "URI": "https://asc.fasb.org/extlink&oid=126905020&loc=d3e5879-108316" }, "r171": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "05", "SubTopic": "10", "Topic": "340", "URI": "https://asc.fasb.org/extlink&oid=126905020&loc=d3e5879-108316" }, "r172": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "340", "URI": "https://asc.fasb.org/extlink&oid=6387103&loc=d3e6435-108320" }, "r173": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "360", "URI": "https://asc.fasb.org/extlink&oid=126905981&loc=d3e2443-110228" }, "r174": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "360", "URI": "https://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229" }, "r175": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "360", "URI": "https://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229" }, "r176": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "360", "URI": "https://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229" }, "r177": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "360", "URI": "https://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229" }, "r178": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "360", "URI": "https://asc.fasb.org/extlink&oid=109226691&loc=d3e2941-110230" }, "r179": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "360", "URI": "https://asc.fasb.org/topic&trid=2155823" }, "r18": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(3)(a)(1))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r180": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "450", "URI": "https://asc.fasb.org/topic&trid=2127136" }, "r181": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(i))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756" }, "r182": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(ii))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756" }, "r183": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(iii)(A))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756" }, "r184": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(iii))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756" }, "r185": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(iv))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756" }, "r186": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(5))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756" }, "r187": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(i))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756" }, "r188": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756" }, "r189": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756" }, "r19": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(3)(c)(2))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r190": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(iv))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756" }, "r191": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(5))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756" }, "r192": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21463-112644" }, "r193": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.3-04)", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=120397183&loc=d3e187085-122770" }, "r194": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=6405813&loc=d3e23239-112655" }, "r195": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=6405834&loc=d3e23315-112656" }, "r196": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "SubTopic": "30", "Topic": "505", "URI": "https://asc.fasb.org/subtopic&trid=2208821" }, "r197": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "505", "URI": "https://asc.fasb.org/topic&trid=2208762" }, "r198": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "SubTopic": "35", "Topic": "605", "URI": "https://asc.fasb.org/subtopic&trid=2197326" }, "r199": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130545-203045" }, "r2": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765" }, "r20": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(3)(c)(3))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r200": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046" }, "r201": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r202": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=126962052&loc=d3e4991-113900" }, "r203": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(3)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901" }, "r204": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901" }, "r205": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(i)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901" }, "r206": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(ii)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901" }, "r207": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iii)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901" }, "r208": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(01)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901" }, "r209": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(02)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901" }, "r21": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(3)(c)(4))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r210": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(04)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901" }, "r211": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901" }, "r212": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(iii)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901" }, "r213": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)(1)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901" }, "r214": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901" }, "r215": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(1)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901" }, "r216": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901" }, "r217": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(i)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901" }, "r218": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(ii)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901" }, "r219": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(iii)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901" }, "r22": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30)(a)(1))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r220": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(iv)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901" }, "r221": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(v)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901" }, "r222": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(g)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901" }, "r223": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901" }, "r224": { "Name": "Accounting Standards Codification", "Paragraph": "2A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=SL79508275-113901" }, "r225": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128097895&loc=SL121327923-165333" }, "r226": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(f)(1)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128097895&loc=SL121327923-165333" }, "r227": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(f)(2)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128097895&loc=SL121327923-165333" }, "r228": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 14.D.2.Q6)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=122041274&loc=d3e301413-122809" }, "r229": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "718", "URI": "https://asc.fasb.org/topic&trid=2228938" }, "r23": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30)(a)(3))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r230": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "730", "URI": "https://asc.fasb.org/extlink&oid=6420194&loc=d3e21568-108373" }, "r231": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=123427490&loc=d3e31917-109318" }, "r232": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=123427490&loc=d3e31931-109318" }, "r233": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32672-109319" }, "r234": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32687-109319" }, "r235": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32705-109319" }, "r236": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32809-109319" }, "r237": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32537-109319" }, "r238": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32537-109319" }, "r239": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32857-109319" }, "r24": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r240": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32559-109319" }, "r241": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32621-109319" }, "r242": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32632-109319" }, "r243": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32639-109319" }, "r244": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32639-109319" }, "r245": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32639-109319" }, "r246": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)(2)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=126983759&loc=SL121830611-158277" }, "r247": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)(3)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=126983759&loc=SL121830611-158277" }, "r248": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB TOPIC 6.I.5.Q1)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817" }, "r249": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB TOPIC 6.I.7)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817" }, "r25": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(31))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r250": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 6.I.7)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817" }, "r251": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 6.I.Fact.1)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817" }, "r252": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 6.I.Fact.2)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817" }, "r253": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 11.C)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330215-122817" }, "r254": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=123586238&loc=d3e38679-109324" }, "r255": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "270", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=6424409&loc=d3e44925-109338" }, "r256": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=6424122&loc=d3e41874-109331" }, "r257": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "740", "URI": "https://asc.fasb.org/topic&trid=2144680" }, "r258": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "810", "URI": "https://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988" }, "r259": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "810", "URI": "https://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988" }, "r26": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(32))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r260": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "810", "URI": "https://asc.fasb.org/extlink&oid=109239629&loc=d3e5614-111684" }, "r261": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(bb)", "Topic": "810", "URI": "https://asc.fasb.org/extlink&oid=123419778&loc=d3e5710-111685" }, "r262": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "810", "URI": "https://asc.fasb.org/extlink&oid=123419778&loc=d3e5710-111685" }, "r263": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(e)(3)", "Topic": "815", "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011" }, "r264": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(e)(4)", "Topic": "815", "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011" }, "r265": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(f)", "Topic": "815", "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011" }, "r266": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "60", "SubTopic": "10", "Topic": "820", "URI": "https://asc.fasb.org/extlink&oid=7493716&loc=d3e21868-110260" }, "r267": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "825", "URI": "https://asc.fasb.org/extlink&oid=123594938&loc=d3e13279-108611" }, "r268": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "825", "URI": "https://asc.fasb.org/extlink&oid=123594938&loc=d3e13433-108611" }, "r269": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "825", "URI": "https://asc.fasb.org/extlink&oid=123596393&loc=d3e14064-108612" }, "r27": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(4))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r270": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "230", "Topic": "830", "URI": "https://asc.fasb.org/extlink&oid=123444420&loc=d3e33268-110906" }, "r271": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "830", "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32136-110900" }, "r272": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "830", "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900" }, "r273": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(b)", "Topic": "830", "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900" }, "r274": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(c)", "Topic": "830", "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900" }, "r275": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(d)", "Topic": "830", "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900" }, "r276": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "830", "URI": "https://asc.fasb.org/extlink&oid=6450520&loc=d3e32583-110901" }, "r277": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(a)(3)(iii)(03)", "Topic": "848", "URI": "https://asc.fasb.org/extlink&oid=125980421&loc=SL125981372-237846" }, "r278": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "850", "URI": "https://asc.fasb.org/extlink&oid=6457730&loc=d3e39549-107864" }, "r279": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "850", "URI": "https://asc.fasb.org/extlink&oid=6457730&loc=d3e39549-107864" }, "r28": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(a)(1))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r280": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "850", "URI": "https://asc.fasb.org/extlink&oid=6457730&loc=d3e39549-107864" }, "r281": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "850", "URI": "https://asc.fasb.org/extlink&oid=6457730&loc=d3e39691-107864" }, "r282": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "850", "URI": "https://asc.fasb.org/topic&trid=2122745" }, "r283": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "852", "URI": "https://asc.fasb.org/extlink&oid=124433192&loc=SL2890621-112765" }, "r284": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "852", "URI": "https://asc.fasb.org/extlink&oid=124433192&loc=SL2890621-112765" }, "r285": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "852", "URI": "https://asc.fasb.org/extlink&oid=84165509&loc=d3e56426-112766" }, "r286": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "910", "URI": "https://asc.fasb.org/extlink&oid=126937589&loc=SL119991585-234733" }, "r287": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "910", "URI": "https://asc.fasb.org/extlink&oid=126937589&loc=SL119991590-234733" }, "r288": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "910", "URI": "https://asc.fasb.org/extlink&oid=126937589&loc=SL119991598-234733" }, "r289": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "910", "URI": "https://asc.fasb.org/extlink&oid=6471471&loc=d3e48698-109348" }, "r29": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(a)(2))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r290": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "275", "Topic": "912", "URI": "https://asc.fasb.org/extlink&oid=126938061&loc=d3e54658-109401" }, "r291": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "275", "Topic": "912", "URI": "https://asc.fasb.org/extlink&oid=126938061&loc=d3e54672-109401" }, "r292": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "275", "Topic": "912", "URI": "https://asc.fasb.org/extlink&oid=126938061&loc=d3e54681-109401" }, "r293": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "275", "Topic": "912", "URI": "https://asc.fasb.org/extlink&oid=126938061&loc=d3e54708-109401" }, "r294": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "275", "Topic": "912", "URI": "https://asc.fasb.org/extlink&oid=126938061&loc=d3e54711-109401" }, "r295": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "310", "Topic": "912", "URI": "https://asc.fasb.org/extlink&oid=126938201&loc=d3e55302-109406" }, "r296": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "310", "Topic": "912", "URI": "https://asc.fasb.org/extlink&oid=84167097&loc=d3e55538-109407" }, "r297": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "310", "Topic": "912", "URI": "https://asc.fasb.org/extlink&oid=84167097&loc=d3e55562-109407" }, "r298": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "330", "Topic": "912", "URI": "https://asc.fasb.org/extlink&oid=6471895&loc=d3e55923-109411" }, "r299": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "405", "Topic": "912", "URI": "https://asc.fasb.org/extlink&oid=126938292&loc=d3e56288-109415" }, "r3": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765" }, "r30": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(a)(3))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r300": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "405", "Topic": "912", "URI": "https://asc.fasb.org/extlink&oid=126938335&loc=d3e56414-109416" }, "r301": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "405", "Topic": "912", "URI": "https://asc.fasb.org/extlink&oid=126938335&loc=d3e56417-109416" }, "r302": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "25", "SubTopic": "730", "Topic": "912", "URI": "https://asc.fasb.org/extlink&oid=6472174&loc=d3e58812-109433" }, "r303": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "912", "URI": "https://asc.fasb.org/topic&trid=2145070" }, "r304": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 11.L)", "Topic": "924", "URI": "https://asc.fasb.org/extlink&oid=6472922&loc=d3e499488-122856" }, "r305": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "25", "SubTopic": "20", "Topic": "940", "URI": "https://asc.fasb.org/extlink&oid=126941158&loc=d3e41242-110953" }, "r306": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "SubTopic": "310", "Topic": "940", "URI": "https://asc.fasb.org/subtopic&trid=2176284" }, "r307": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(11))", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878" }, "r308": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(23))", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878" }, "r309": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(4))", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878" }, "r31": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(a)(4))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r310": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(5))", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878" }, "r311": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03.15(5))", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878" }, "r312": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(15))", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260" }, "r313": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(22))", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260" }, "r314": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(27))", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260" }, "r315": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04.10)", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260" }, "r316": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.9-05(b)(2))", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=120399901&loc=d3e537907-122884" }, "r317": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "320", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=126980459&loc=d3e62652-112803" }, "r318": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "360", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=124429447&loc=SL124453093-239630" }, "r319": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(1)(g))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910" }, "r32": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(a))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r320": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(12))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910" }, "r321": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910" }, "r322": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(25))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910" }, "r323": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(8))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910" }, "r324": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03.15(a))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910" }, "r325": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(18))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263" }, "r326": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(23))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263" }, "r327": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(8))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263" }, "r328": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(9))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263" }, "r329": { "Name": "Accounting Standards Codification", "Paragraph": "13H", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Subparagraph": "(c)", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126561865&loc=SL117783719-158441" }, "r33": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(b))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r330": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(e)", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641" }, "r331": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(f)(1)", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641" }, "r332": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(f)(2)", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641" }, "r333": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(g)(2)(i)", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641" }, "r334": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(h)(2)", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641" }, "r335": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "360", "Subparagraph": "(d)", "Topic": "958", "URI": "https://asc.fasb.org/extlink&oid=126982197&loc=d3e99779-112916" }, "r336": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "360", "Topic": "958", "URI": "https://asc.fasb.org/extlink&oid=126982197&loc=d3e99893-112916" }, "r337": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "360", "Topic": "958", "URI": "https://asc.fasb.org/extlink&oid=126982197&loc=SL120174063-112916" }, "r338": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "25", "SubTopic": "740", "Topic": "980", "URI": "https://asc.fasb.org/extlink&oid=6501382&loc=d3e54053-110423" }, "r339": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "25", "SubTopic": "740", "Topic": "980", "URI": "https://asc.fasb.org/extlink&oid=6501382&loc=d3e54136-110423" }, "r34": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(c))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r340": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "985", "URI": "https://asc.fasb.org/extlink&oid=6501960&loc=d3e128462-111756" }, "r341": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12" }, "r342": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "b" }, "r343": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "b-2" }, "r344": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "b-23" }, "r345": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "d1-1" }, "r346": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "g" }, "r347": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12, 13, 15d" }, "r348": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "13e", "Subsection": "4c" }, "r349": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "14d", "Subsection": "2b" }, "r35": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(d)(ii))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r350": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "15", "Subsection": "d" }, "r351": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "14a", "Subsection": "12" }, "r352": { "Name": "Form 10-K", "Number": "249", "Publisher": "SEC", "Section": "310" }, "r353": { "Name": "Form 10-Q", "Number": "240", "Publisher": "SEC", "Section": "308", "Subsection": "a" }, "r354": { "Name": "Form 20-F", "Number": "249", "Publisher": "SEC", "Section": "220", "Subsection": "f" }, "r355": { "Name": "Form 40-F", "Number": "249", "Publisher": "SEC", "Section": "240", "Subsection": "f" }, "r356": { "Name": "Forms 10-K, 10-Q, 20-F", "Number": "240", "Publisher": "SEC", "Section": "13", "Subsection": "a-1" }, "r357": { "Name": "Regulation S-T", "Number": "232", "Publisher": "SEC", "Section": "405" }, "r358": { "Name": "Securities Act", "Number": "230", "Publisher": "SEC", "Section": "405" }, "r359": { "Name": "Securities Act", "Number": "230", "Publisher": "SEC", "Section": "425" }, "r36": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r360": { "Name": "Securities Act", "Number": "7A", "Publisher": "SEC", "Section": "B", "Subsection": "2" }, "r37": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(7))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r38": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(8))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r39": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(9))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r4": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765" }, "r40": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.19(a))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r41": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.19(b),22(b))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r42": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.20)", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r43": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.20,24)", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r44": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.21)", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r45": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.29,30)", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r46": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.29-31)", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r47": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.3(c)(3))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r48": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.3,4)", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r49": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669619-108580" }, "r5": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(g)", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765" }, "r50": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669625-108580" }, "r51": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124442407-227067" }, "r52": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124442411-227067" }, "r53": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124452729-227067" }, "r54": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(1))", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227" }, "r55": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(10))", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227" }, "r56": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(20))", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227" }, "r57": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(25))", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227" }, "r58": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(5))", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227" }, "r59": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.1,2)", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227" }, "r6": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(g)(4)", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765" }, "r60": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.2(a),(d))", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227" }, "r61": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.4)", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227" }, "r62": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.7)", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227" }, "r63": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.9)", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227" }, "r64": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3151-108585" }, "r65": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3179-108585" }, "r66": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3213-108585" }, "r67": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3213-108585" }, "r68": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3255-108585" }, "r69": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3521-108585" }, "r7": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765" }, "r70": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3536-108585" }, "r71": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3536-108585" }, "r72": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585" }, "r73": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585" }, "r74": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585" }, "r75": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3044-108585" }, "r76": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126999549&loc=d3e4273-108586" }, "r77": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126999549&loc=d3e4297-108586" }, "r78": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "230", "URI": "https://asc.fasb.org/topic&trid=2134446" }, "r79": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=126899994&loc=d3e18726-107790" }, "r8": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6904-107765" }, "r80": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=126899994&loc=d3e18823-107790" }, "r81": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=126899994&loc=d3e18823-107790" }, "r82": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=126899994&loc=d3e18823-107790" }, "r83": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=126899994&loc=d3e18823-107790" }, "r84": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(g)(1)(ii))", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690" }, "r85": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(h)(1)(Note 1))", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690" }, "r86": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(h)(2))", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690" }, "r87": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(h))", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690" }, "r88": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "235", "URI": "https://asc.fasb.org/topic&trid=2122369" }, "r89": { "Name": "Accounting Standards Codification", "Paragraph": "23", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21914-107793" }, "r9": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6935-107765" }, "r90": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21930-107793" }, "r91": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21711-107793" }, "r92": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(2)", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794" }, "r93": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(3)", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794" }, "r94": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22694-107794" }, "r95": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22694-107794" }, "r96": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22583-107794" }, "r97": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22595-107794" }, "r98": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22644-107794" }, "r99": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22644-107794" } }, "version": "2.1" } ZIP 86 0000096536-22-000019-xbrl.zip IDEA: XBRL DOCUMENT begin 644 0000096536-22-000019-xbrl.zip M4$L#!!0 ( +E"$U5KR7U?=0< %@? ? 8V5O,S R8V5R=&EF:6-A M=&EO;C(P,C(P-3,Q+FAT;=U986_B2!+]CL1_:"'=*I%,$LCDM)NP2 2<#7NY M$('GM/.QL=O0%^/VN&T(]^OO5;<="($;9I9$>TFD$+JKJZNK7KVJMENWWC_O MVM5*Z];M]/#)Z*?E];T[M]TZM9^8/2VF6]>#WAQVH>K1(I];@;WWKK6>LAG,EI>?BNH,+#K#KW^3;_; M\?J#>VLG::.I:F5PP[JW??>&N7^XW<]>_U\N&]Q V!V^]8FNVP^?AZ//'9S+ M&[#AYSN7-C3?^.7\ MD_/V9G9&K-,;/'ANCZU;#,O(H>S\K/EL;&=XW;EW1_7!'W?NEV<[FV=GS8.9 M>5 [Y.G19KVC1*539?L]Q,V4LFC" 4C,>QSF/,)BH-&,JKE9N5#K#[O5_,!4RCR\CE;(>UOBT M<3_V3][+Y'?U3_.$77,-KZB8S9;L,5:+2 03X5@W%?X)E-#52JPRYL,(+F/X M;\GR.$MSP73&,S$#OLAQ')LCV21\&W(?0RE3,Y2#3%FY5P*Q@(,U3Y+GNB \)@?/_ 0'!0AG# MQ0A7M;+RJ8/X0Q[SZ4H ,0J10SR34"1C/\H#*$7@UASH(.@RC98L@=L),@2E M*%IAHHB&?KDWP2Z0I-BI5B"21Y VA2B9?;3QB"?ZRD+([4PDZ0A%1.ILY1C M)TZ#UG"8Z:P%6Y?6O#+W0\;[TPGS7KCFIU1_S=65+@):% (D2+6BPA $F!JO M]1E/A0D0_"W'D2 _,@%4C".IIY10)#8#/1!%T/= :C]2.L3P1K(.4'.81)-!)U!L71^*X6J&UC8O ?CTVJB35 M]MA"A#9@E+AKR+&!)&/VWBFTFHN-0FQ$!WT))VL+%9;#U,IWQLC.QK[6IH:M M)S0&X2?#I=^.(K(2'O)YKO=?0X0[%HA(L96E<)6G4("\G$M-Z4Y2(C9ZJ#%9 M$<4ZV:0BXB;$F;+%814GIV BFI4@#1BC520#GAE+QUH&DJ>2O"1MK3$$&-.^ MN2;Z-TFA3:TPY*"T@$49V(@6)1S@\O.($ZGA7,:*J:A6BCJ");8JK9=3_#<6 M) G>@0(1O$-8WPT^XTWX?"-#B="+%'78!HKV3^Z]P00 SF5 $.%:Q9QHC&O@ MB_H(,F7"TZ ((N%*\K&,9+:D@K)M7\*TJ20FDA:.+T37&A%#ET_%B9(\30 E M;2J@[ZLT( L,S*J5B8A1V") "E,B(:R2#!HNBQI@6B9@K(^$&_^8N7,>Y28S MR:4B#-$)R#E\H;<4]+)J52M[<(W]NKW(&YA@(6A"VU9BK/)LMPD[MD/*K_C0 M=AM6!W5*X;=[2S8NFS #?6%] 8.N2/L'"G0 @K N?!T*NE849=G,V)3<[%.^ M@Q:H9BC?SU-R^(J?MW4_,Z4SC-/3 NC2/A1]S4'O4'VTRY(0V,$=8D/30@9H&SZSA[ M.^G0^/I+-;L7/]SLFH<&00E49Y6>1!?K6%EE*@5[;[<[Y8US&Z5Q="R92O5S M?3$#T#G#93H3!E9;SC16J%XT%T@89Q0< 4W@'4W$AD]JFLH<$%]S"=L-WO/8 M-_>HXX_8SG9PPZ3&0"*^=!6D6X O!0)2E(8RK:J5A>"/1/:V,!NZ-SV%>9!1 MWC:_*\Y%_V?O3EM2F@=8J,4S ^QDO;(3P1H$%PV#8RN*ZBN2#NC?FD M>'"5%G0@9DFDE@*SBZFR%,!?0 >1+DO3GR+=DYUN:1[XF6_3/O/="(;7N;YS M6=>]NQL]=+K]^]]^K9W5S/>'3J]7?B\L6\@@FU+$SOYV!8Y)T5O7?15%/-'B MDI7_U+:^WH?SB9^A.>$#-=QV2E^SO2;8: M&:LL4S,ZS<\7-+ZOLW[X=8O=HJZ14Q:KM78/2+IDY1N75VK713OY!,%@C5\< MUCQK-LLUIUYOIP,^-5?.+4]['7'_D35P2'-IW?_8^[ORD XZU:>O7BRL'QU_ MAC\&DK_7A_3;O3J4( MF?LD_)SN0FQ@^R2R82.LIX96VF_!:J\8[)3>C-M7Y?1&_;]02P,$% @ MN4(35-^FMGO*X'@J@_M5J3 95L:PSF]AJ78$E[+!VK@ M4,F""AJBZ>+?V@U@2^2:\3ZT!J#HC:J3D*WQZY])K%B05H9O^"J.!D9S\6(1 MC-'0OMFP%5/0[539B=$<#1^+MQ*A_S5!/R#89'[N[KNN M!V3+PK3_3WZSN3'[B^;%D<&V[*4[G4PMTYW.SW/TVCTF,)^ =3:U)V!_M*T+ M=_J'#?,)SK27+U!Q>6Z[,<9]JOVU&CW&,Y2+BZ5S86+6[AS:IW#1PS[\W>SX%WK+3RU/"^''IETSVQPS.7(/+>=^OSC MS/X$IN4BH>52I]7JO!"N5^N4#Z<^Y> )SJFGX)JI#:@-A)4 -M9(EM1'B:#YR X# 1Z#?>-M M"%]GP;8LCAE&T?\2R$HD*HOA$T5A0R5%S%4<,$9+)#2'MA9CR ME=1:WEDY1*X(IW%]?A-29-7T,DJUJFI8*_G\HF!R'Y#7B]H0U7]4$YTC:Z*3 M:^+;*+':/@$7RDEPF3=(NVL6;Q"]+;W2HYT8)H M]ZK^R2W_MSJZD]!N#=KONC\/ ,7U_95VM9,3RCC6WY9DJL):5X1QZI=+C&?< M%'03A@4/D:2Q)K:&5D#"$ -C)V!8M'@C0J;CVJZ2.>&>'D>//LM\ZPK%64F8 MKXN(J,R"Q@?% ^1V1!?KKK:+'H%63/@Q^KW"(O9AE>[!;+PVA]^H*2M@,7"! M%]RTLD:I&P&^X7"LD#2M_G()NZ5/\;/_1>O43&)7BD1,XV=6P/?#ZU/;_/&# M/AW -4 M"$,2Q7@6+#Y5LA^ AKLLS*[T/H2;:I&_$E%E]R/1<,<'SGL]]!T1WV=\7<>9 M?7@;J;N1E5!*;/4V<-K3X\_=98YYW!VCN/NP.^#>=[L_U4S6*#'4;WY\*&R: M[OA1 D[_]_F/TOYS$NG^2 O8H)-YG:"/:6(3,?S[^YW-RS$SS8FG&S7N' ML'T"\&WYWS3_$MD7!?[0RKQVO,)&LO5&'?@):9 /W?)RO ZK?1^V/]W\[J_B MXO6"/W)L/Q(&?!VNR.)0GLVLVP^_.\_/F>?@SX-U!+ P04 M" "Y0A-5\[G;B6L' #W'@ 'P &-F;S,P,F-EU2:00=F=G9V?>O)FU6]?^^WZ[6FE=>VX7GXQ^ M6G[/[WOMUK']Q.QQ,=VZ''0_LCO_8]_[I1:I)#MGC9-9QGPY%9K=B 4;JBE/ M'#O@L#N1RJB&A5AZ^Z7K+MB4IV.9G+,3^WMT)I,+EHE/69W'-+G.KVZ^W9:D6M_7TRTK.+O>Q@ MK"_U?1.K _A*I-CG:G#CKVNM1WPJX^7YYZ(* SO>T.]=]3JNWQO<6#M)&TU5 M*X,KUKGN>5?LJG?CWG1Z;I\-KB#L#;_UB2[;MQ^&=Q]/= 3^$%M6PS+R*'L]*3Y8*P[O'1OO+OZX(^^]_'!SN;)27-O9NX5P+LD:I&G M/8>]Y^D]^_V(O0^Z*E'Y>.+ 32DMJ5:R"<_._R=I6Q!5\SFFJK4;1ZS')GPN M6"KF4BQ$R+*)U(PG2E8"%246BA$TRE MC@4/93)F"YE-<$0]$X&QD/3.8)L*<T$&8)2'*\P M441#;^Y-L LE*7:J%8CD,22 -H5HF?VT,2C@>L*B6"W,)&E(Q5CJ+.78B=.@ M-1QF.FO!UJ4U3\Q]D_%^=\3\#=?\H(M0%C6 4D-%$9@OK5;(7SW&4V%" T_+ M42S(@TP #Z-8Z@G)D]@4Q$#D0-]#J8-8Z1SKB#)2%=L0S5(5B!##FAT@(J% MC*W;O4_!A"=CP5PDXS"/(8$NHMXX.Q"'UHS&66B_'AI5DNIZ8L%!&S!*V37, MV!"2,3OO%%G-Q481-J*#;@+)VD(E93]5\I71\6Q77VM3L]85&H/PDV'1ST<1 M^0@/!3S7NZ\AJAT)1*38RI*WRE,H0$;.I:9$)RF1&#W4DJPH8IUF4A%S$^), MV;*PBI-3DK;*&.I+:-]<$_&;I-"F2AA: M4%K H@P\1(MF'. *\I@3G>%$1X+64&HXA;GU))L7RD-K MRH3KA[)%&6V0)4)#=N;\!1$M<;>Y%W%Q!7HD[WR-2_:-H_]4(WOV@D;6/ H( M2R@ZJP0D0EA'QBH7*< [.]PI[Y$;5G&T(9E*"\Z@:3,";5-,C<+8E;]A201EA1^AU;L32+5:D6+:083:A6)U\=P%>2=$?UP,5QWRFQ3DK_ZN9UU$M?U@NFQ.'HN:5 M]F5J5BM>6;7\[B/E9V?0/>,A-=!U2)ZS'V?9:B2E1W>/QF(1E4.[^N[%;T_L M%G6-Y+*@K;6[@-0Y*U^@/%&[+NKF8\2&-7YV6/.DV2S7'/O=9_WQ[FSEZY'* M,C4]9Y/?CHC M<\N$V1:C'7U7K/L*RH,:HKU:>XOC;O>@'YH[$RDB=O5 40/;[I#^1U$Y-J31 M_A:<]82?CNG%M7V332^\_P%02P,$% @ N4(356I2_7N[:[I]66 MBA#',_/,XV?&AOZ9M!0.26\2X8 M/5#T5M6)S[9X^V<<*;9)*H,/?!V%O7YS^6X1^L.!=;MC:Z:@TZXR=M1O#@=/ M!5P+WWM-5)=R164:M,CL9["?P1X)-EG,G7W7]0T)F)]T_\EO.C=B?]&L.E+8 M(VOE3"?3D>E,%_,,O7:/"2PF,#J;6A.83.?F?#0U9["8X$QK]0XEE^66CS'N M4>W/:!PSGJ)<7JSL"Q.S=A;0.H&+AMT8-<"V1AIUN=3J'!LU,&TPQXNE8XUA M?WX^"TZ-C_#<\KP?>F32.;/ -E=#LU<'7/*W094 M]?0/5[%0O9$(0L*3[.8(!(>)D 'BKO^&HI:IXPV+7.)#0HD$BC@\."<)=%HU M:!OM-B@!:SW)QP*LTD1P=HJ]A:/D%?F_ N3L67,3;70U&.T8W,&&<<)=F-I%KPFE47]SZ- '3 M3?G4DJIAH633BVK)7$!6+&I'5/=)0;3?6!#M3!#?1X;5UA$XR%6V3+")?3]! M80:AGR[^G30EO8J9I ':1IK%KSAO=:KD2*NA=5SUCN[HOQ/1O7[R-6B==G[M M 2KKQZOK:CLCE'$LOH"DJL)"5X1QZI5+C*?<%'03AM4.H:21)K:&5D!\'P-C M&]"%@ ]"9#JJY65<% AZ]%CJ6Y%%Z/<:*]B#=;('L_&M.?Q.'5D!BX +O.".E79)W0CP#8K\TQ^/B/@=QPSRUTRB,7WIX!I4>E757^#X)(SP(%I\JZ=>_OK,JS*[U-H0[ M:I&_$F$E_XK8=\8'SH\[Z#LDGL?XMHXSN_ Q5/,XNY"?KI]Z'9_JAEO46*HW^SL4-@TG?&3!)S^[_,?)MV7)-(YN5=) 7OH M$_<+M!!M)'SFO1S_RSEYRTR;4?/A 6P_=WQ;_3>YOT?B16T_MBC?.EYA(]EV MIP[\^'23#=WQ\HH^AV[ *,R>'A2SKK<:P,<=&\-_K"UZL;ZQ*G\C3#@ZY#U MY:$$FVDS'[QRVWBP133U;W79CW?Z-[Z_ 5!+ P04 " "Y0A-5B#KM320/ M J@ $0 '1A>60M,C R,C U,S$N>'-D[5UM<]LV$OY\-W/_ >=/O>E( MLN0X:=RD'=NQ,[YS(M56^O:E Y&0C(8"5 "TI?[Z6X O(@D*(F6K42WV0RH3 MBP7V>0 0NTL2;[Z?3P-T3X2DG+T]Z+8/#Q!A'O"?H'?<:UVQ,?\6?<13$T8$5EQ\BW[$0:BO\$L: M$('.^706$$6@(&KI!!VWN\ M/W#Q6;8]/JVF\%9A%#6_H3]/^NR;\!RS M"WF+IU>A-U#S7W_\^N4OP9GL^9W1#\$?;/&+.#M]27Y=_'?T,!SU3F\N/D9- MOI'>'9EB!&0P^?9 VQ>;]W#4YF+2Z1T>=CL_?[B^-7('D>#)/*#LC+ M2)0FHCXIR$GBM2?\O@,%(-_K)8*A;$TPGJ7"8RQ'1FE>P==AM];I)3847?EH)_@BX\,D]]8@9TJ:1 MP^,C$".BGUH5 M*#;*?#*FC)H6X\G712T]U4)M(OPT5=YTBL(9%:$D?I]]9W[/!)%0SYAP#1?B MBK'(BDH>#KPPJ%=GV972*O&%!*K-P3O#@9Y?MW>$*!F!F+_D!K,'".IECJ1H M,LD#ZL,5'\6*4*2IP=C ,, "C+LCBD*72P#/E[O1/ZJ./OHJI_@_^\M&"ICL MCZ]@"S(E$0LEU]WHOW"AO]2&^!A%^AK,-;:W=S 0[WC@PQ;MXH^0JH6-?XF, MFXOCZEQD=:-(>4.,!OT:7W/N!6!%R&@L ?W3:*%9NIL52- MEKI1HOQD?YF*T9"GS._#/53<$(_0>SP*$GI< FY.OBERTFLGX$N$F8^,/I11 MN,<\7+%[L(>+^)ZQ_-.-\>LBQD=ME-;=8SC/N31#]D(J.M6+] 46#*:\[+-/ M>LMBHBD^K.)*8"_Q#^I6T7H7[91HB::'HFB/4;\]H[K0!D1TS,N!'_0BT2\92HK<2-^5$3\%6R0 MC)HAJ$%+/7L,N)GLL$,1(2S]\QEA,MD$E9:X 7]1!/R;=KR:Q'I0HFB/$;_% MZ3XS^NG&]+B(Z6L8Q'C?-XXZ C/$\P3([ 4WG"\MI^FP'4=TD*F_Q[ FN[(! M$>=\.N7,1%4N<&V/51P4=.]WR!*\H&N*(RSQ\C?D$#OBP<8]@)#@9F$ M/3 T&H_NE:5N]"U?M O.:*P+&64HJVV/X;\ _X,O"+E5W/L\"(5WAR49!)C% M8W]EL9L RU'M@J>:*$-&&TK4(:UOCRDP:/1GNB&-1!JV+%QU MZSW,\N^)\1 MSI$2@_(^C_2!(&,B!/$-*HDOD[OFAMAR(+O'VHV)-41@[S&^0T$P +/(P)N_ MY$;7\A&[X"0F"O8>W!NBJ#!)A^7:7+CFAM=R"+NO]!TQT;#O:_ EIL(\H=0? M7U(=#Z(XN&)2"?-X1;PDKQ-R,V!YB%UP$;7*Z-$HG;=(M:*,VCUF)4W7Z\R2ZXD\OL'8G#1S MEJ6B>-$)_)'ER.92W W&=7/=628VJ^KFR_**-\Y[-]PZ$^!9(BO(N5FSO.T* MR?"&G]*L>)871[F;#\L]7YTA;V@HS=QF:7"4NVFHD<5M:(C2N5G[R MO%B#?6FT-><]K"YW1JV$JDZI,R_"3%[3$?> M;0;!K#TQS XTYE0FZ*G4>6FU'+-E]$MDD:W2":Z%6:B M6U[2-/+2MIN1\)A0YF/XK\&Z%0G8C/6&Z@VI?N"/9[N@PTVX%9'8D/ 'WI!> M.9R=H[>RM)M(*^Q1C&MS$]"CS8WYD7.TW -YK!(WN59$Y1'9IL8KJ393RWFN M5<--JA6CJ92,:NBKD)?*+;!KI=PT66&<7(**)!J;]=3%2OEDJB3I9.?8"M*X M,HC-W'&_=[LBN%9%TLV2%9Q9^5YN0U*EC&]N@5LKY2;'"MY$-QTA5'Q*A*Z?(V6=D)L3*_IBU*'1 DVU0N3%&I'^6&3#235*(\SCP;4="_Y MYB& 9#Y;K)V%&W )A_QB/":>'J7ZSQP]C]+@YM *1N3;TNDS&K&J\!S)I#T$ M\PDN<422)J,K#=V=90R_/WX7OWL)5)U*24S3< MQ%B!A#1:!]ZJ3I3I1Z*D5MILM==^IZ%\UE07=U+UTG[T8]UW')HYM?9YMKQ[ MY))PDV,%$R(^>/1%2NG3?U5+C)M(,.]L0J,LR734;Q\&6C M#>,VXRLB%.NDW+S9GUA8];!O6,-3K1%)O@TZL M.%BQK'VY2ES_,(.I:J,K#FAT-EI:IT,")9,K&W=!3Q/Y^#X8-;4ZL?Z,R%7= M65?3_"TW&@3F]2JQJ#,0LE62/S9C8WD09S4B$OF(!'TVYZ;-;C *[,97#H'X M\$ZS>=-K[V^W2H2>"@4.;@F54^K]1)G_@4Q'^M!,W5,=/G")T"#0T1A0)T*] M;NHC6T]@/:7<'YIEWP^%Z?T!BFX#Z1&E)SZ?8LJN%)EJ2; V'$E8<4,M_5[P MOF!]*)2@.\ITNN;X+W35)J3-8 MXGV=EP4T38/FJCP-U1T7]$_B?V(^$<6HT]DBCAB2@0"/XP:S"1D^\,)8VY[^ MYP@?;*+(=@',M? ,(;SDH=@J@KD&GB. ]'Z[0S#7P#,$\);.MXI?5O]SA(_< M$[9= ',M/$,(+^CD3FT5PGP+SQ#"CY1M=Q7,-? , 1QN>1(/=VP*OP!X(J8DW/@UT3@Z37'[!+\.[C_,2)E LQ&-6N8')6-HO/AWQYX M@OA4)4A$A5/.B,)B\00XQ*\XZL<'DP>@;H@"$5!T'C<=V5U)\1,58F:)[#WFK.)?I-L^7YU2I9YL,RRM$Z%OX&-\2IG%P9P M*]4YO,G2V$O!IQ=S103#03IY3Q4L+Z-0$7_((\7R/ K!]L?O^)1Z5"=_(OB^ M1,./P'P6]627$8?;/:$3%AENSEG8,M(E#>X$PG'_]1M!DRAGU[^'^4BG)+:R M/QYRA8,$H!KR.VK?+=S4 ]U;\W@$;&;ZHX!.3$>JFEQ'Q4Z@4#A]HLK6L8KT M6MNB-*NR=H\^&6UQ\UCQJR]]$>__E[-_@XH[BD'-+^#86#Q&P8YB<@;]J@-! M#?F-+=ZR'V58O&(7N6^=D7,>!.:/GZBZHZS/R"\$BX]$ MY4;*]MK8T<'T0XC-7J$_SI@)MOU.14&&3$!BDXK5,;!J1J '4+?4"Z8?\6\(/0)_#^Y3RWO7"NW/-8, M_?+]V3QRN^U]YW1*E3DS%ES>:"4[QS,*SI#Y&!)L=N!*)O*UW$74K[BKNZYU MX:YNU;A8=U<=0MUG1DU]#\-)O]%6B6-K,[:(Z>R,S,J]3QJ]8_$?W$!/%/[XG $[@O MZ[0SW"D3MS/$@4Z\%''?D0Y]4>_NKP4B5Z7W9C+ MSY MW?"*>&^UF=T9YUNZX6T+S=)F_F(TWW2BMUO@Y_\!4$L#!!0 ( +E" M$U4YCX4"71< $4V 0 5 =&%Y9"TR,#(R,#4S,5]C86PN>&UL[5W=<]LX MDG^_JOL?>+Z7W0?;D3-.)MG);?DCGG*5$[ELS\[=TQ1,038F%.$%*=NZO_X M\$.D (-B23@JYV'2>R@F]W] ]#=0 /XY>^OBR1ZQBPC-/VR-SEXMQ?A-*8S MDCY\V?OM=O_D]NSR(__?+?^SO1Q<$)[// MT3F-]R_3.?U;]!TM\.?H5YQBAG+*_A;] R5+\1MZ01+,HC.Z>$IPCOD_%!_^ M'!T?3([OH_U] -]_X'1&V6\WES7?QSQ_RCX?'KZ\O!RD]!F]4/8C.XCI L;P M-D?Y,JNYO7M]5_Y7D/^2D/3'9_&_>Y3AB-LKS3Z_9N3+GOAN^=F7]P>4/1P> MO7LW.?SO;U>W\2->H'V2"KO%>*^B$EQT=)-/GSX=RG^MFBHM7^]94GWC_6$E M3LV9_RLQM&](DI'/F13OBL8HE[!;/Q-UMA _[5?-]L6O]B='^^\G!Z_9;*\R MOK0@HPF^P?-(_,G1J[^:HU5"V0P_DQA+U Y%B\,SRGLE%U?2/C(\_[+'6\[X M)XZ.WAT7'_C/5J-\]<1[9T9$Y]J+#G?Y^"E*A+5N'S'.,YL0VL9#"7.-&$[S M1YR3&"5.DFDI>Q13#".\X)_(IO-+/H4LL$V\;HJ!Q+I]Y#9XI,F,3SM?_[DD M^2L,> MA3BCF=3W:Y:3!>]?LZ^(I1R@;)K^)@:K=.&S,YKF#,7V67)+=CTJ] V1-,>I MF!$K&,&&AM#V*.HUHT^8Y2MA+S[3/(FQ;1/11-/G'/!(6;Z?8[8XI8S1%P&A M=<0;:'H43<+"1RI;\M[U^H33S#ZP331]6@T!)IE6HUZG$^%;[]"K701-TQX% MJ8;\-68\!UC05+I4FTQFJA[%N\&)F)AXH)2O[AA*,SX1\?C8:C0;79\6Y#SH M"N/;G,8_KI :)(KK:CY[@])OH^$EX[G9->^X&3WY@(G8T]Y<(P<3> MB>E(21%,$SB'@1,DF+AVRH$S$IB8=LJ^LQ.87)JFPV0JT-'?03!XU@*3#T([ M8.0-Q-1(-7"D!)PNK92C1P'GF,=&2?8=,<;%>;:O=N_$=8"H8.W,I27++T-# M C/U8/$ 4$HCD;_80.Q\TE3D(2[*]/H1SX'1,"H'IN@+'5)7/?(R170$["I2^ M[TSK=/4-_4G9V3++>?+"[CA[H,1 \KX%=NX/)J(!TT5P<&@DZW5I/:9I3!(B M$Y:JRH5_6=:Q,)+X$:A%'[Q[];A5U#F=GY?;)UR8DRS# MTE5>$73/AP"G=(! MM,.(FMW0)+F@+XC-W&7M)A[0KOM- :;+7%8E\RXK0J97S&*2[6#XK9@/J*RS MTP72#[:K[A[P0JB'VG5WE19$/-BNO*NT,.I>UTR?.!/Q0914B[6-M5KHF'3B M8A(_1DF\3"35%?^Y18%?>78[P[.*CU# J1P])[F@*(\)3*)]<:9 UA?POY8M MAQ5'7W/>$NN(RU(7!DNYTHPF9":6*Z*2/BH9E+)6TB8T;DF8B),"=*,:OSIU M(<\#S%%V+P\%++/]!X2>#@6LASC)L^HW$F@)$7.R1$@0UJO"HO15B+].V;G@T_D-SC![QH9A!N< _(GKT"ZVB,D M+'DT_H1(M0YJ'7X=S6$H'7M%R:AI@)"TJO$[D2A;P0#X$ ( FE,&8=A=[NY= MIE]?>>G)$FZ]_:F[)K1!X86!HBV9@A#\Z/?@' W:X4$?*&N+14))4[O MBB:TF 5DY=I+?J=I;/,SVL9AA.&V($!5+R04JNUFL3Z4-_><>:1B$E[5 M%F6][5>H:!Q.)IHP0ND.A.S*A@1-8Z?8FMCHVOI=(+E&*[$6 %X1V6SO.UKI MMG['.HA>X9 Z5%DT).M !ZAIZ(*!=8BVZ8 MU &TOKWP+OC!;1,2HC>BK"-='Z+@;FNY6,H[57B>06)BF/XAM+[]]2Z(PFT3 M$J*JQBZ.(,0YM&NSW0G:@!!J"6CQ<;JVX%6'^OMD6R6([^$EB-%?6OS^ M.G0!I>'NV98*/YE46#.)Z#PJV7B9/GYE-,NN&9V;8J56(U^AWC-.EZ9RAG4+ MW].6QJ9*<-;6)B0'+U8/IO-?*9W)V0@S.0!N^3QCKE/HHO$]N]K1L&L? M/HGK\7E,7\P;5UR];F2TC7T/$(,&&]#HP MHK-QBN?96O%B0\,YS,EN0E&1Y M<5RBK!0SI#! >M]C" Z8FT6"&E??:4K;>EKQ,Y#X*I'),<-9WA+&N)/<3>%[ MEK#BH=3/F'7O<>)0#R")W_SQ*R*I&!O3]!JMXD<<_^!35X[EI;YE^=H51>D% MMP@?"RG63MR"TS:,?,\18+BV57 L%,M[2Z0&Y=G@&\P3!2';&<,S;:0L*"&$ MOI<4G5""6R(DIRREWF(RM]'YWA%TG0]A=@@)N75T<<&5%[6_)%URP&8U)>:B+.R G;IK.3!64Y^5_4? Y$=VH 0AW ]+X;BBY&"@GV]KS'L"J#9$"%!)G44->P7E)W3Y7T^7R;5:81NX,Q4WM<9=H4/8I200%PO M1IZ3[(EFI+@7TW:HUT+F^QC6SC""S!+4#DY]@O9WQDUS3E\,OE#7UO<="#M# MUFV D,:;<@80FI%:"7U?>]!#Z (RS;^VLCB,/P<(8^][6SXGTUA4P.)S7/QY MF0+>LM:N(KFP@4'_*4#HM]/W30!?N17CHH:%#+@V\.XM(:NQ2^!(MJ^P<@%S MDQ*(9\"+/5#KO U(+9=]V>B < :\Z@.S3.!@_I;>DR3!LRU=JY8<"&W ZT%. M=@HJ-XSTN0!N8 -$.>&UI M"YN] Q ,(=]+J4H[W"!KN\AE2RTN*,G\3^7A.'.NP\-FUL./ (M&#"@NKG5 MY6RPH,)3+FV,\4P6P(E+N:9S_IO94K[Z9MO^@M &6DK@@"_80"%-5DJO/'E& M)!%!] 5E0HU;'"]9^0#>O/+[3_D6CY35FA,XV(S4>GB5+ M\90=_\LC2A_D2Z#%LZ#=_69L.7S'$'[LKA8NN@;I01[&"-F8IKDD).??F+TN MLVPI)BZ180%NN0.0^G;P0700L(F#NXCG5EB9K:;S6_*0DCF)1992K+-R RC^ MK56D_U$\5TBR.*'<'6+^P^0@*OG)$P9KCM&:953Q_#ST<0/(-GM+GY\W]3DZ MJ 3/(I3.(LDF:O 97(>Z?DLO\:=-B=\?1#7)X,+)]UI$2LLGP84XF5&MU^A? M;-&J,'FWJ<)/!Y%D+"U>LXXJWA%-HP;WJ&8_N+K?$$DYE1C;59L1VJ6(EO1'F])_.(@JZ@*5+A/LY9HM3RAA]:2T* MMH1^ORGT1SXG26KQD&&T)A];4G[BED7C3(+U>4N]:!\41_3NH+Q$+9)D@XNH?_%>+ZWJ-KG?K*(K#G/"/6;%(Y),HHI+)-@,/^(V'EO7RGVD>,D)=Y.%N 6M M%'9X<[=?6M?+JGB]R;%P'"5A(?7@@NJOS6W)J?BW"7=P%=U(8K9?5]?+J;BT MR4/&D_!Z%12O-^%N;WWD.&HP&+ZSD.R'B+=Y^,MC,!%'=J5F1XI' M/.(>4=++R*W%87"YK_ #2LH4N3-R.U+3(=]V9\I'B1NV99 MFIJ$[LYG1YRJZL36)*D]O1U-8GV>:Q+>,=L=KW]LY%TF'51_KL^^QO,;FOC5 MI(":]G9'L>,A (JTSL6S-4GV';'BPF"M@C^I^;%CQ%5^)JJ_,UKHM0Z2I-U+ M0?1J*DZ^#KI8S27*Y?\KC?[JYU8D53MY)S ;(*3][BJ27? XA]5Q"Y .6B%V3H>:CX:2^Q&,-- M9:&EI@TCR*S%D7->]Y2QV<[S950WZ.4;RC$C*($(W6[NVT?I;=YU[91.U9"< MT?I^+,I^B L":&P,"[O:^W8V;JAHE0T2E@OQ5- CGLFWN "P;+3W[5K<8-$J M&R0LE@>$FJV"F:^:#_]T -!&*43#BWUSJ?0-SC![-I\G[Z8)9KH"@-*IWNXL;>W;.SMQ=47H[C^9"\17$?:X&B' M*2MOP>NZ,G '?K[]%V57-'T0M:+)P29;?A++_OJP#UT MW-&FZ%Z!W5+YL?"5>JYOG2BOH; **':SQ6FB.WJ*SVB2R!]^)_DC22P?O8% ;='06.+G_Z6)$X%VM^N8C17M\J)3@;!2JFYW-)+O5#%4_FN53;JK51P;I8K4UDM2P+=7A-O M6MH&O;:QGVFKC0Y$^&X*W][+H(;N=6=3\\&3GE@,1&Y\?/77$+=\M<_*MO_P6S^(8K:RH65#ZT)(D\A2;@68U00AX=6IH8QNMO"N)9WOAU.W0@YFC)#@$UZW M.96;0XMV2]\/I6X=9N@4#@F43L6,)7AFJF!CPNYJ,""^ 0%W$L?+Q5+>BP5Y M?GZ+=Q7Z^T*P$6AWA^C;O.&MO^O2<=""P[%R&-ITI<3XZPRZRQQABBG'GSLO M=_2A5^>M&:;UDV/EC$VQ%(3*BS-PR6CL_0YY$\;IZAOZD[+JM.\=YV;412E2 ME5RB^U6T$'RBN&04";E&U@76PY0RBL:E(./WJ,W[08S&5_;6FC>$1'Y[.S[S;Z#R56!1276#N'5'BKDXWH>\ #8;39MT#S!PAQ6BER+UB0WB(V#]%YM!?7.V/*VN1NC-^H#W.ST!J!>^S51Q,A%?70& M6SDI! M =W13;]3$1N*%ZK%966%+9P'L9Z)[\*,7H:QR3YO8(8N=IV<5KAL#'P7<_0" M:Y==W@"DNAYI*:%RYP0#^6/8(%LM%5S>O;[S9SJO%K>X6B=9AN7:P15!]UR[ M?'WSN3[;5@Y5K!F+3+MB+7;_HH*YW/EOL/>=82O:6TH[N]K[7<&MI>%_J7Y7 M=L3JOBJQ(B1V\U&2F2YX=="\AV_YSK3-Z'>L O=O[)"\@:*E\KHLH<:'SG MT+M!K#ZM&S)4H YYQ=6WW]O7!V_?^?4(HUMGS#?6183+YG^BLEZQC("R^M=X M=G*?83Z![=9;7#[C.VGON^.XF_C_1Q^RI L[,_:=^8_43X(]J['=G/F[J%Q, M\]503DCE[WLI801'U&74T+M+L79]QJ5?S2E[06P&6.-W9N1[F6'G#@ P4^A( MP^8Z^?[>*U2]?'8\4^V&-Z1-2Y[ M*[?-U)<&<2#%[?;B)=E,\!K[P%3U#)1\%O9ZR<,#/K.+C@6"Z8/Z@.G[@ZCB M6;XU6W&5K\WZ.;JG>S37!-@'YH0HMGLU]$DQ&/]JV5B*[H4ER04549]1" M.:37U"*+.-LDFDLV7M206.PW]9HN\RQ'J;BA1VSFG;QJ8A"PT%*&"I"_]]05 M4B($@@0E J0]SD,2R]C%MQ=B=P%B]=OOS_, /"(:81)^VAD/=W< "CWBX_#A MT\Z/V\'I[?GEY0Z(8ACZ," A^K03DIW?__G7OP#VY[>_#0;@ J/ /P&?B3>X M#*?D5_ =SM$)^!<*$84QH;^"/V"0\$_(!0X0!>=DO@A0C-@OTHE/P.%P?'@/ M!@,#OG^@T"?TQ\WEDN\LCA?1R6CT]/0T#,DC?"+T9S3TR-R,X6T,XR1:<+_NH<1 DQ?873R'.%/.WS>;-JG_2&A#Z.]W=WQZ-_?OMYZ M,S2' QQRO7EH)Z?B7,KHQL?'QR/QVWRH,O+YG@;Y'/NC',Z2,_NM'R\)BH,/ M1^DOBT-Q!>L"Z B?1$*2K\2#L?"06D1 .X+_-,B'#?A'@_'>8'\\?([\G=Q. M0MF4!.@&30'_EQEZ.6L,7P)"??2(/20,/.(C1N>$.3"#*VAG%$T_[;"1/IMB M;V_W,)W@[]*@^&7!'#G"W ]WP&B;R<]@P+5U.T,HCNI E ZV!>8:4A3&,Q1C M#P:-D)52M@B3/W%HSJ:(KJ:7;+69HSIX>@I+L&YG3 PB($^U'EA)U":X9#Z'](6I C^$>,H<*8Q//8\D8AH_,F(36NJ2)F[#VB:^@ M:1&:, M[4FG"O.MY@<*H_L&NHFE3:]!@D9$&M;J<\-AZ!Y_K(90,;1%(_LA? M(\K*A3D)14BMPU1-U2*\&Q3PA8DE2O'+'85AQ!8BEA_7*JV.KDT-,A[D!:'; MF'@_KQ/JS5C:?.(A@E],4(3>G@5MT^QE2DCR:.5#ZZ13@7$%-1M5]-+S"/N!@&EZQ\ MI8G(<.OP&9*WF2CE&3???Z!S45/79D,5-&V:%D<_>=+%,BR6&O O%C!E$SO+M"R SV5DP= M%45FDIASL%P@F<&MI[1 MAC:MI+*<*1DNE[64SK. SXCE1D'T'5+*X#S6[W9OQ=5"5K *YD*3V:$AH(UY=.= MQ9JNY2VQ=V2SIM)MPLM%;F_H=J;TEB$WU7H3'I;/,?:&B W)VP;MI?#V]8='CCGR93I''E<1_-)2B#=ZM1MP\Z[R:?LZ.3QB8TRA" M(E1^Q?">@8U7-4Y]D-V4HQT7:_H4&)"ZV:4PU+8+4;XY53VQ1KX,B@*LD%B\P,Y?E*=,SHAZ.ME#\1LPM"MLX MZ!K26SM5;Y[PFE#;.G5OBM:(V-JI?%.T9M2M[IDN&!,^(0SRS=K"7JWI,]F( M2Q5\2+U<@K+!11B:=]OS5^SY2^V' MV,L:!>-K^Q'"3=ZCE'H(S]'SADV MNHT2XYA39!>*QF# ;Q^)UXO8?[.15M&4WSB14.TQ*,MK 0)6&)$ ^WRS$F3T M(&?@#FSY)10)^;XY.*'_HIS"Z%T]^$@T>(%R,>)XP0D$(\",>TD&UPV=M0M:E'Y&2#.QJVC73G-*^NL 0D0CY+%6E2(K)C Z6^O=J6.GW&)AY63M:J^4H3RSISR5;0F*I*YA++ M=66C-9B?LTQ59QO-\%9MHN;-=0:IU#4Q$4!GE[W=UVR8R;@$?ENVR=/';1>_ M;8TGA-39;[\S^V4[P7S3XUM64NELIPR=M&XVN;;3F*3ZV2#UF'NWNIWZOE 9 M#*XA]B_#<[C ,0SJ#%))9N&A:MTZ]0)H3=69K6[X'E6X>B.DSDCEXR=E*W;/ MK%.!7!N'.C.+M'U;9Y.2P9.R);AG!M'!UD:5SJPA$)96H65Y]/K8R6$WMFA0 MZ)1"[EUF)M+I5W^^FSO,Q0RY%T>G74/NDO6_Y-$L=@=O2.: M#%9LF9XQ)_5Y9&>EJ#C>E%ZO0"QN1#A&MXCR[=Q4$_R=KX?46E5IOQ, O?>%A5U[X'<7IV<)7$E5L4DK#>F]1%:U.[T>%(Y71FAQLEI^NCEO4;ES2 M*(EB?-Q79R]88X[ C#T@6 #"GQLBZ VG9( 'Z\#WA^")8EM;)MV^"I* M,-Y=E^!@" 1CH>\E:Y#S!B0$!>Y@R=ZVM$8=P231QNNB'0Y!@4O!H9R9K+)G MF 1^;QW\T1#DU*EI9(0I:-LXR_NF23"5J#9F82VGK&.;)(D:&AO5P."7_+^V M7VPD[ TK6V?.4=WG3A)!C>+EM9:S>%'? $_"KY:X^KS5 MF?ZWZX!7E.] K84;9EG9-& YCZMTJZ9QGB2E$MJ7B19=<@&Q^#L7R&V.58E> M"==+6L>8VVV@)\FHA/%5YH66F1+"LQY7-JH MVY\DOI(K&95ES@4U[@LH":"X"J*\WR-_OT=>\IIP?^Z11S0N&(?]M#(,^V$B/26Z"^-L8-FXGMX0UZ#5 M&L&ENOEW/U]-)7C:&\=L?,5PQU?!JY5*3!#K#-#RW6]'%NCEG>^MK63GDK?: M1XU_P@("3;PXH3"X13B:8^]/'/K:JX^KY;E9I7:+A_L_.9O4TU7P-8N02VK^3+T&4R**Z[ \W'KPR8'/5=M*6"= M4@\ZO.+.JO@$563%^8C)<<]OE$A =9HNR.#^,DEE*W6IQE)V7@M'F\XKWKH> MZQ)R9:NT>,X)[IR6MZVT59>D4W9$Y2GX<15.Y8WA,XCR:0 S%/N( )3/E'[B M;J=TX_;KDOC*YNB*,1<]9\V-#5+F8ANJP-[AV59]QW9)-O646#VD=_[H->CC M+@FC['0NMZM9ZV=Q<;GR9MX"6QE W/ M5!*2OIVPX$Q<[PP:M8>7A%"V.(M"1+SY= "F@DT74FS1%UZ24MW]5$VU+CI9 MS92>-*SFZGQ_M/S2-/\T.DWB&:'X?\C_P11/UY69:0Q=4Z;T&Q@^("5#*]FQ MM#1?1_NTW@SY28"R7JR;R77VHDI6M^]K>=[^["-;=<_UO6@GUNQ_C]1VA:_I MK&ICLNYVV]UX$+&O0C=' %T%JKK6I58FZZ@CK47O:,T/ZRS4IRZXK]T1>WD: M\Q:V!4,OQY8E4GR99FJZCML(VERKB1FN.3L':%H%-5GV29F_"KKHDOU)G M6U.GJ]MJOJYZ6K]2;Y/U MIDW:^NUMM_C9I;,MIW/^[L6K]C59;:V_ >+(U?B[%4Z=;35A9ZU,7Z>[K2E. MYW"'_7:X+_AA%KMTN,*$DZ-WA]M<<3J'.^JWPWW'H=/4;37?Y,.[NVVL-YVW M?>BWM]VYC:;+Z28?WWUM4[7I7.UC?URMY,R;/"&:G7[/<7SW1-KW.)-9)WMO M8?=-^P:!,PWJG+ _QPNJ+#\6BPY\4)WUW0?;T>#;?C?@>\)M>34MO!"8O3#H MZ)A6#^"-.W 7RM1N-%M83^];DDF5Y4_$BS#DGSXB"A_0#>)&Q>%#WHPD@0'O MG%"S\O8!WQMW\1[J6KOY_9J? (EDKQ=.+T-Z]W,'ZM5NMOUD-N88O_*-3?F-"O;*0!K:F*9'6AY2HLN[K0G]#' M\+UQ9^ZAKK7' F]@+:X*14Y6Z"H ;]S5NU"F]M"AQYMP:QN*-6NTO5G?N#LZ MTZ#V-*+'/KBVH>C(!]59WWVP'0WJ?/"XTYC>3&PUKST0Z M;3BT)JM9CPWUB]YT7Y?10=OGXM<5FHFC?NM;R=<7=B"+])6&9J*HWR.C?L5A M!Y+(7WMH)HKZM3(E7X/81>^69+%(;RO"(/^>EL+WJU2V!E$Z"!69 8]_8&ULY7U[<^0VDN?_%W'? >>YF+4CI'8_ MQC-C>V8W]/0IMKNEE=3CVW-L."@2)6&:199!EEKE3W](\%$D\2!8#R"EG8BQ MY6)F(A/X 4@D@,3?_NUIGI)'R@N69W__ZLVKUU\1FL5YPK+[OW_UZ>;PZ.;D MXN(K4I11ED1IGM&_?Y7E7_W;O_[/_T'$__[VOPX/R3FC:?(#.[5F^_NR.&A M@]Q_T"S)^:?KBU;N0UDNBA^^_?;+ER^OLOPQ^I+SS\6K.)^[";PIHW)9M-)> M/[VN_U>Q_RUEV>'+(-ZB^E7#1=(T?&]^?[[[[^57QM2A?+ICJ=-&>^^;=1I)8NO MS$+?T:1@/Q12O?=Y')6RV4>+(48*^*_#ANP0?CI\\_;PW9M73T7R55/YL@9Y MGM)K.B/2S!_*U4) J6" A*_JWQXXG>F523G_%OB_S>A]5-($"OH>"GKS9RCH M#_7/[Z,[FGY%@%+@PVC7]SU9-=.WOI6]HISER5FVF=9#[D#JB[[#RRT,Z/)[ M-^$V+Z-T(^6[G-[5_D@WJ_$UG_^:%N,\W:RF.YQ[4;M459Y'']^*O MGHKTJ103&$T:)4&$9026)%H?W M4;00!;Q]^RU-RZ+YY1!^D950__ KS(UT3K/R[+M>64U6Z4,5@4(^,TR)?\IA.:O.N55-JN-9RG@HN<.)H=OCIYJM_K4C)FI;\ M M3_];=OUR4$@9C0:)YG-V4>?_Y YW>4&XS6T/F$DE'-+GP4(C20,6DVA$E% M1R0A^:4B#8^1HR1AX*I&Z57$DHOL)%HP,0-;\3+"XQ,[3NIW<61E0(,I%RV' M^%KS$& 22R12L^%!VS4M(Y;1Y"SBF5@'%U:8F8A]XLNNDHTB+*J-X12 M0TP::CP(NN4T*I9\-3ZK:2E]8L>B:AJU+3\DP-'F!JV&K;TFP^-4WCQ$G!Y' M!4T@B",@*'=OY*_%T;)\R#G[G2:?LH1RZ=Y<+N#[E;"K.%Z=/5$>LX)><1;3 M:V$JM47P]E&2U[C?_JJJ%RW\G^;5,BDS4QD=1$DN_9(]NM;;=?R_/F">ZZNM2.YIX*"=RH?UBDN+ @FLCS2+9!4)9)UD4266:^)JU*)+)8< MKXBV=XJR]^W^[+JV1&$6=WJ?I3W;?JI6V=YZZKJHE]E7%?N\]E8H_9GUUW/1 MEMZZ:[>PY]I;U0K;5V==E_0B^ZIBGL^N"H4_MY[*'OU-K-W"GFU/52IL;SVU M+>EE]M2A>5Y[JBC\F?74&_;DK:-VRGJN_52IKGUUT[:@%]E+A];Y[*2B[.?6 M1^DCS?SUTFYIS[:?JE6VMYZZ+NIE]E7%/J^]%4I_9OWUC-T_E-[Z:Z^TY]I? M-56VK_[:*>I%]E?5/I_]59;^S/KK1Y;Y6ZUV"WNNO56ML'UUUG5)+[*O*N;Y M[*I0^#/KJ;<>_>#;Y^\%*]6UM[V:%^T!#ZWSND^S0^^W=]JHH/&K^_SQVX2R MZJ"1^&-]ODC\QZ\G^2/E1W=%R:.X'%2SYKN/3F)4"X"M? P.1I-&Z@6K1WG@ MN*;RW="G>;R$FX.W0J+&@OYG7\VL4ZIIY>XW%(VL46C8Q@T) 1K/#7PD"DZ@ M\/,TNM>H/_CNJXFU:C5MW/N(HI%U&BDG@AL: D2AFOF4%C%G4IZN1D&A4/K&A4'5(30&9*C0H=?-")"6/"Q&;KE8X,H+_J,@44F] M+S<,RBI+CP$=*IP8E#,O25KZL$BY>:!I"A&4*!L?4'3$OM%B5GB(%Y42%6*, MZADQ(SE(S8('-F>/X)T+-\G1V Y]2/ H:MOPTQ*CA=!00T<4238"?(&0U$E M.((AA=(W>@RJ#G$S($.%&+UN1JQ4Y$32AP?)698X0:2E"P.0@9IZ>-1$",'1 MUVP,&H(Z)##.61%'::7+N?AM>)5ZA-8W0(SJ#D&B$*("BDD[(U@JA@8SDB4H M8/Z31MP-+AW*,&!15-5#I25#")2A;F,P ?H@(#E9'R"RHG$_K0LK(@ IB+G@:8]5@/JC,I)(<7O*0 A*"(.XH241%%?6_WK., MOC':KZ7UBRZ+NGU,:0@1(5!\PNH'F+ M&C1O-P'-[9<<"6C>33#U77C0O',%S3O4H'FW$6@@\UE(V)R(/R_Y;?Y%=SC; M2!D$,JJJ6L"LR?#!1=%M#"S /X,L(2$B72L+OD5SQ]9%IM=9A-Y$, 8E-:B M9D"+#SIZ!"A55@+DAXE/JCHU!L#3,5#!%.(A74-5]C0T%XE&WSW M=P58H];Z"G#G(PH0Z#12KP!7T9.*R'<;CB96 M%5):6/9K01.B(\.[[NG50YZ9#PBH)+Y:VJ1Q#==J)O/F HG6'VJCOD]3?/;?FSYR5HF1XD7>9U;L\NG.# M!CI?K6Q5LVEQ+1&*UK=I-D1"34OZQ)YA<9.G+&8ER^X_B,4G/%&EL4I'Y L0 M9@4;-*@4**!@5$M) M02DH;2,PBN. 404M$0\A(@A5Q#E[.9=K:W$?L"Q;C" M#3C,E"A ,JK>$"R"X3#N<)"*A4B>L+"Y*(HEY9/ HV$)!"&C\@8@*?08X612 M"GFQ]6;MW>WK$QUBTN5Q-N<9%"NG9$&WU%@PZ"4\J@U?"/Y MC+QY^_7=-Z3A\MS\'_-;'B5B2KQ9S>_RU)!]2DOE"P06%1L<:$A00,&LUQ - M'W-2DY**-D1VJIZR&G,&WWT!0*M6T_2]CR@:7:>1^J)]MZT##?EG3_'&K MOY"@)_,]].N4' [_71H4$+ HIBQ*:E+2T(:XD+">LN['G8#[8$[ _8@3<(_1 M";AW=0+N@SD!3;%5BA Q+EW>I>P^,B0GM%+[!H5%Y2$^-*2HH&+6SSAFM"QD MS>,[HZ5,<7:1S7(^E^6?BS\T5AKHO.6TM*G9)K74$:' B$TS):UEE72N0TR MVC9>:"=I4]HG6R8,#3IH"QDWN^KFU5>G!K6TN+"#-6!4UWN.N<'VO? MN.(*=,6RI/!>!'NDIU$9U;H9[361^[Y4:5-Z>)M21XL(0E8%C?<$A]0^4\7)8,,)PUM$"S2(:4/G%@E;%/A9Z)(BPH-/+@ 5)2AK:(%@XFU-^+Z:WGWC^I7RH\[,: M;3-0^\6&5>4^1K2DB+!BT\^ F8:%5#Q-2MTPX'E:)Q2OLBR:+=60>H:-4=D! M9A0Z3( Q*:>@):4QQ%L^YB6YST2A1 &D4?7,[Y"T'*1A\8R:2X%AWEW'224N2CHW MWG889_&%(%?E&QR-T:- DZ.20TQ)MO[B6C(2X R9S:B;W-[LXO6(/'O&&@4' MCG&' @5&C&J9W.+N6P%AJ*YS&E<,JJ:$>KL?B;([=?S$PRJ8\F)U9$.)NB MKP&!:Q&D(^.@,V.%#.;!H7'(YI;'GZN7IR^790$SJ%#,' 6W,GG>7G P8+#) M8.% !#T'-4T;#I*S>C'\H'E0O,,=:'U6K+, TN1X=4UGE,.]@UOZ5!Z+@CY; M5A@.O+Y7;\[F#!=SHXPH0#A56]-2KR!= >0.SHC5(L@O((1(*;[?+Y>'2')^ MSOC\0ALYGJ%;O4$_S$05(=!IIC^ODG 1N3@-T\Z&$^6]KY[;6'=^ MO/,)4_M:3HLWK1O@C'A=-&1+,+U:/J3PW,1#U0;-W'S&U-0#G4S-W9#MM,EG M47$GM5T6A_=1M*C:G:9ET?RR!D#]PZ_MF;_+67L0\"JOPM%'=_"B0CQ<74UC M]0&938P!+$WA"PZR#915CIDWK'!!87WNL^$FOS3\N_4F-L'E45'0LAA!X)#( M)];T"G91U:= @Q^M6LHX)8F0H*!>WSN!0:'UCPF#NBHT!H3($*+7SO0@5R1Y M?@B.F).H>#C*$OC7V6]+]ABEL(8Z*D\BSE=B[?Z/*%T./=F)O#X1-SXVI /1=2HN/M-1O=TSD]3HC M3C&G-T.Z,*+!W11M%5>KYI5C6"XWX_F:_8!D=+<[&YN@$KI3)L2NKB(NK80= MX3R#'B/LNYQ=TX)RT8D,U>/.[A.;4XWJPM.5%PU")RH\!&G+'AR*5YPN(I:< M/2UH5E#[@&B@]0DRJ[I=1&D)T<#'IITF)Q;0$EH1AY]3:X5NHR?C"-4G"0"0 MGG(:7,COV.#05\A7R%XIY'5FHM"@=CO]U>SQ1>VTB<4# MF\O=61KQ#$0*U(OA#XJ!2.M=75!P^/<".R[!GX#AL]&PF5=8E7D9I>]=8V:F MW$ @A,2]B%EP3+2>W4?10%9D:"F#..RJJEK??$V&9@@RZS8$RX>(926%+1K: M61FRAA_'NE ,D0O*R]654+T4BPH(WBT@D"+6%$;7P<;BU_,:5[[OB9GIT0#, M04G54ZM8JKFLH<G"34L$A!KB:!0?^3N&L':?)A5S%B/5.-<^;AS<;@T_$ MC2O>A9J9&@W&1E54#E#6#+A6H)765B16+=QTI& M(=HJSY(_Y*D8'PN8DLO5R&D&=W:?8)EJ5!=.KKQH1IR)"BNO4*W9I6?5%? O MI!*!":5NIVQL#(&0Z'#>QDR-$6W33MZD:\;PQV^:SH5U.])]2C3XL:IGW'->5-08<,.7-+F)4@'_?#YG!3ST-@H?&X]G%(VK/P"3 MF0$3ID:UU$ +>$C./@"JS&IK$*428T.344-]8HJHQA.: MW>1FVVB]D00[079 C?#X!)63^EU@61G0@,M%RR' &I[^;EULV=<+#C[G(2ST MV.4V: 4>K4;##KUV^_$>HY7&RH')%J6 M#SEGOXOIZZ\'KU^_AO^30B:S./CC'][\^?6/ZC\9Y.Q/R)\.7G_WYX.__.6- MG ;AO[X[>/N7[VKNX @\2A)Y7S%*KR*67&0GT8*)X;=3;28/U('1JX/O;$C/ MTQ_E0H-D9U65/6E!?BCT(BK7,R=R&+>QCE#6X4?16HQ3=_K5VCW[#K7U4/=@$ATMU*:!- M;SBRPVFD]GN9T:IR_T*CEA0-?.SZJ:E$Y'6,=2Y*1%DGK^DCS9;&L6;]V6_( MOJ]4/S!??4.#A8%"2FPS0I/3",X'7-&HU@5( MYS.NH)&JF"T^I/Y3\I.%%! <'S=4GC7\B6:41ZF ^5$R9QF#B0]>I:X3*YDB MM8[,7F/@DPSJQ<6=.-&,3I/45>:[BOF W%?L,F@9]03@.=E\N:"@4G9?N6CO M<^5):BNE3_195.U"34.&:XPS*SAMK&OE-+>=OTZ%J&^"0^HB*ZFHN+(RK^XK MYMOS9G*_2S.[TOVUF9X6S? UHN XS!H!._':RVB52)2\_N[=&XD4^.77GR*6 M ?8OLZMH%3_0^+.8]TL:R[>5JS1<[_,H.Q=FBQ&S^Q!];>W&4GS@:DL3 6X; MB@B.PNWT'@=G(Y"L)9):)$F%3#);"]T3=N4UI;IWS1=IOJ+TFI8T UU..$V4 M!8$SES=LNIO08G&Q-HYYPG+(KZ"9^H+ M2*<(F5MSN=QN7%;K?L6>2O2_A[37JE/WH?92'*Y>M7]#IZWNZRVS^O3W@N>/ M#!(K@'.+*[M96R'U*'0L'&]S1-Q([;\/&556\:^0HG$V[/IITGX:8$2^OJLX MP\>//M)R-!@YH/'J4NC4Z[D170)<@YQ.M6G#DI" Q8EH;GLU9S6/HX+%!L,- MM#YQ8U6WBQ\M(9H!QZ:=DFP#OLGMCX2ERUZR?#&KRG1!<)D9Q3'9]FS*+23' M,NT+#8B"/'3;4U#[I*VD0(,8K5KF9VI_D63ASP6U&KUG&97>W9A]'<(@P% 4 MU8*CI<('D*%J%I *9&T5J3LM=HWO!#VUFO%BX&6Y8FH.5[:/ .+GBXI2LA1 M67)VMRRA[Y(RASL1,J'\,;UG&0SYY#A*(<=WH-;:^!JHI];J7P2]J_NYXB*?(@*"D\.QC5-QA()8U4XFJ,'Y!V#Z>B;802D/HL>D"]IM\2^STIV%"O M,7$JWCLBGA725;VWP7@M#0>XCY)_+NM'EF]S0UZ@9A%)Y>ND-"MDL%6:?+F0 M<==KN-Q;L)+6IX0KTZ]IG-]G4J*A\KV5[C=]E->@\E(TFL[KUUXEI_+5 MQ4E]U^I0%B!&15#(]:G?:3?(6FET5;N! 3YF8(RAB79O# MXCZ+64I[)MWFCC@<&:WV7VR@D-E>*]$0*]M+F6C&/D^&*M&Q=;'@JO*F,+BO MV)YKS.5_@4YD)KT-P 7)IPZHGAZ=7@@CF)P2Q-\IA3_@XOD\YR7[/;+$N=U8 M_3Y$[6Y,_TGJ<3XTR)^@K/I,]9HU./(ZP6H(68UDI3 0>]]/-"JL+-<52C0( MLJJG#T'FU:8"J1]M@6!_4>?."0ZD]G#Y>"<3^MZ[E05;,,A-7=5UK[B<[V#NH8T"YI9!L\._ MK0'JXW/^DLKL:ZMB=_L2Z# 9>C>1GDE#EQS2.A6F.9K)H3X;1Q=-@&O/9ZP^-2H;\=CAP$__E1EU43V M]8(#(;2N.%U$++$'<,?9P@),;X0=8WT>_##3ZJLN="41GDS!1CMD+IRIQM=, M*,#6,\ ):I+CV0"MJZT)9MA2"@TL^90)IS2ER2;NGI8W+/ LYMCQIV'$#T.S MTKI''BI?CA8EFT>]E"%BU4*?8K'^AH@Q2$3Q8+?9B[V*5F#K+8\2]]E8SXQC M4:(SR&TUTN7$%@>O#(B$L,$=-LZ/3R(X? MHF.J:W#*X< I%QB!>R?8!PYI56UJAL#5<>/ *9FLQQ JC(_$X@:%5>..LFK2HCE7SZB:VSQ;8/CW/T*P[1-"JT !/M'%L,VNZB"+L_G-+UU=R!T!Z6# W6=AZ&Y M>G:6RHME!81FBXG7'#:2Y??NPA;F]B\D;" (S1;H-MKK0O@%NO/_=7(/R#02 M_[9DG%[51^+@9'!YE"5GS:DX0Q5-$>#U8.UDPWK';)VYL87!)FNN+MFJQ#%P M$@7O$4EA54QI(I/FPT._ES/Q2[*$GD6M9W1=&#T? '\IR7AR7EB ;-PJQN%W[/9F*!6BPYI*^Y MRE,6FQ=GTT2$P/$4XW0@=N''BN )NMO@*^^Y/D(*'1B:4R%%_%J+"0YBPX)4 MX[U/6]%J!2"(+U@,I.T3EFU?D9CF?1Y"C8T8ZHH@&K^'7R9T["B,#GY;2 M)_XLJG;!IB%#@RRS;D,8=2@Q#6J07J+XF)>B'\ M +#D=&^,V ME.43A.Z+"CXGMI>>U52-CHY4C2&(L ML^K:#%DJ.1KPC>MHO+1.UBR8!E&-16-CI9TE,,*L(Y^-'C/&QL:Q=Z](RQ5^ MR&K2=,D+I?5;;>QWFM37G9L1NSKWY#RL;2TU1 :W+:M E^%M0Y%HX+T;.XRI MX:38 ](1?$!JT0>=.;X2CW1,WK"*QL;M[<4^@RYD'?^WE?G<.]'8//*G5V2= M!>"LO2G57+F"S+&?(%<%)%R7?2V3/0:!F[Q1A\ $]^E@?B90W0B(W[TB'R*6 ME323>^GK<1N1FV.\4S#BR#CP>3[5X6;&X%2'G0D-_%PUU9SJD'P'\BW1LAH1 M&UY,SH+10/=Q<)H(%.!T'".G\..'K/OX^>=7Y*I[/Z05$7[8A L!$Q9]>F*_ MCJA-X;Y[J:-$@RNK>NJ"ZJY$NCRZB1]HLH1+5.]9!D?TA"/,RO,HKK-6GH%BX-'>>\;%1%!#B/M.,*TIQAVE$):#K+7LP:]J^_OFJ"L'7&J3H9 M[_9#-SQ,(;O+Z^_>O9%=1CY5L=;P^U=P.]4T'(\1^X"PF\+M,R)&RN"06@OVD'F> ,*U@['-7VDV9(>KSY$_\SYR;(H\SGEQ:T0:70>-Q/A#3$;&M?B M:"(_#G1MIO00<]\+1S)":_<$KRF\>HM%! MRTSN$TYC2G>A9*)% Z,1!8<0:C=T!3V1#)A&J:$Q8T.4A3XDH*R#DY$8+:1& MAZ4WKT@/5]7-Z0I>X<>H:YK"68:KB)>K6QYE112[O-$WSN;WUH&;$?TK"'8> M-(!S5%2]G"#9B.0C749,8YK).'=';)($#*!T=-,FL*.'Z@0G[NTK8D9N^.%R M;8E,@0'Q.?G*9:VS/"4F1_:[J("*J+)IC>WF;BG4ZZ[O3BJ@MSN\E40TV-^) M&4K<#Q@.CX&#U"SDB'/(I(#MO,TZZ"25ECIWZ^%LODCS%:4R9HD1JM;^:Z-\Q[UCDH)LY.]TRK2[W?OI @TO6L_=BFSSSOAJ]>2B!1%&EGR MN%OX^4=O_IK2KW3TYK2=& QJZ?,JA\!P>B MFSN"DB7\B'(+6>:6?.6$'Q.Q3_C8%>ZB1T^)!CQ6]13L_/D5:1BP0*?G>D%B MPY)QVK\B,#)339+@-8WF=--ZV>W+(ZQ.AD\SI M.)$0T>IVBKP/"OKPCPDW\T M#WFT(DA'1GAHWBP7BRI%OIHS?RQ$YL3J=>B<8$QOP'3@0P/+".[OOM.Y3C!JF6G;A18/3B0HK(^CWK]80+<2@ M.SNMQ81H)/V7+8AFE6NO&AD%'7I_@FV1.%X1.C&C .$5;)97H:[&&T0,S M_-@'1S%9]:0B)-#/9>)GFL6]VWOC :,I,CR'C*:;-P@:N0M ]=-M%9>15C+ MD,#M24%ZB^4]O8_2#U%94JX8/IKGV8W7:U[G*>;T\CB[,*)!ZQ1ME<'US2LB M^4G]V!:.1 \?HU+N?E\N*)=>KO$!30VAUX#: (3=+.\*^MM2S.-GC^M IQO4''G]!@4GF-./"CHPHD'A%&W5N&##2RKF M\"#\5(@ANDD;:YH+AT1>U[%:!7L+UAX%&J!HU1HB0A#!R-22A0>$_L4VQPG0 MC==W*-C9G/$G][".2E.T-;ZR)__HL(<'XX>(?Z8E[$??T'C)9>XBZRZNC<$G M[,85[V+-3(T&8*,JJL?'(=%?"8G^JF?ND6S$WG9?(&IR9ZV?#[*BRY'7[_F^ M">;TC_LY,**!WQ1M#>\\XG\NRFV2-9,'><;'82HUT:)!UXB"QO>APF/'F'?: M#4ON["@RB#M@S947#?8F*FS*>8\M9?A[-J,76;'D\!C$2KK%U?M.?S0!QIY84':IV&4'@$^7W& MW(.]#GQ^,WHXFM'/XS'"A :$KIJJA^PE'^DPAH?8E#_ K4+)QH83E)771%7S'*J;MBKQ[O"8_*:%E14*@21 M3D6?27/I1]17NZV+8B=.OT.ALRG]P7"4#0T.W755!\2*4X*PPXL'A_?+%.2N MVC2;(R$_*X=?W(VJWL>;D1P1SL9T-.?3Q1!:,>>]=WIG<(S3^V.#;J8H+P[: MV="@S5U7;0YZ+*#39UNI,F.( 5OT$#'>LD>9 L@^M&TD*7S&'"=3Q]/H6,6@ M >WFNBL@AGOJ=<*=KJSPB/Y(O]1!=.&Q7O$\$W_&M',[SVWI,EV,UP-W&QK9 M.XXW408:%&^HN'*4CWXA:SGDIA1>9L03#(-R>^FYV0[ZF)>T>)^+7BFZ:7UK M-+M?[PRYWVW?0&*8B^X;FZZ_]3Y9'!JX;V^#<9.1MRQ$;IP'9>A&AU4MBX78D$D._S[!X>@&R?HK_D8L:YY]%\POILJA"O M6T0;&=C;)IHD 0U0-U);O=Y4U&&ZD[FY@&0J+7_+MX*CR MHT"DR2PG4 Z9\>/2H/&.H/DE1^(0:/P;R"V\G9-JEA#83QTS;<15-;$'1_/F M.@_Q_ $NX5-8@E&)ZER>V63(W%CCP:V-#]UA.VZWV4$[?(AT5M5ZN(XV7$CP MUXMA#)Y\GCAHC@L(%J]R,LP8GK)RH\'G9)6'.*T.M4?UT]RT?II[K\[GV#N^ MMZON,[[CSNAV\M"\V>QBMO,#SC9AP<&[*POT6[EW*S('022N)1'0'M&8>]+& M&\#/J<]&U =PZG2^DS/D3I88*EWNAJ:;4T1,IRJA@?TEN_ MBG>\6I/4SZ<=?8EX4IT'+'X2A&5QD8DZ8GGR,V7W#Z)JCAXIC^ZI_'@J)K0V M(;Y;CPFK4_CCIIZKW^']1S\*X1D#$-2"]C MR:OG"!=P]A;+$+)^+194K*O@ M.D_3\YQ#I4Q]:]A-2J"WA*>8:'@KV$4$GJZPD=XV\!9$%)J260[^N M(J<\P;U]J1A[XGY-=9AY#DF_1^?+LH"C\X.'LJ*<^BM-GI+8[*DK,[&>G)*\'%"=R(X:O+V6D^9S%+Z: Z M0RGA[;1 L INCQAXUR!X'PUJMG* K"T"HOEE#CV\D <P*Y6 M(DHK2A:W9QZ*5\^MXXM%+F7W654]3,DG[KOPY]_1316Z_PX^+/F%=VR#N5MU M:/JTR'FY[LY[ZLUJ;K1+X=+?LCFMM;VY[CCE:C?:4*^L/*AQF7WBEP&S]M5*"W$OU(*8)5>)ARUS^]2=K]/ M?U,U^49J<;56XK+581/L3A 7$,Z3C;8@W%D6EHC"CNQX5MUA-VFL;F@J9-[_ M1#/*H_0H2XZ2N5 ?7OB#HU#U:4/#BG62!.]IK::9IJ2W)^K 0-F*SJJ6,5'-^ZDUG-X@YY"-4.I-K ZXI^)31/3U=TLN,_J<80"_Y>UJ8T#1) M@N<71*>:-GA0U)4=#0RGZVQ$)OGC'_[Z]LV;'\4BI(3TCPC6$.JC23_QO"CJ M1%*&*AEC\HE(-P.Z(+1S>,6=C!3:=MB==!WB39+ O=]AZKGP:$O3_ LLH\]S M?IHO[\K9,E5---6%([-7]$TRJ(=")TXTH^ D=8> A+&11(T$,LLY26H9+4SW M%%R4J^JU@F?S19JO* SAU0!\PFG"AN/<)$YO(<-IIK3103>VX$";KJN2:S-I M>?+[(KGL?F ME:B). ABM IK(=.CQ(<9G7I#T #-(DGQ^=<$>XP[@S3B;I_1LK M*[YAR4E??=YK5N463HR9KO=UB+[)M=TD+;G,/JV+'\?@ID+\'6K?U,#UX?2I M$H(#C&DG#,VSNQ88A;>="V M.N5E>%5@3S@^9O)0Y$:P=>?UAM*IYK2@=&7$,5Q.U%:[TKBK9RO,[W.ZYVOHC M\IX*PS9H[]?,2>_$9'DI>R$-GV1H;U5C//BUM_+\'MG;<[7U#_CMJ;#@ M2FTE[K> MF>#K=7F86_/8IV%A92;WGGC HK2294!#&QR=C@I.?&!U3^.W\0R*$3'N;-[& MU E&M*.C X\?)'U?(2F30UAB#$VZZ[O#4T->CN-8>[FN_[S%$3%V47%B)S\@ M&2WWO:3I)_J9YG8>E5>1QC;:CI8)2\6BPC]2C49#V$$7^Q#@]6I0-=N\'+(/,': "N MK>V, 8E*0F'V>R0C/#XQX*1^%QQ6!C2H<=%R"*>61X[HK,,5'&0?HOB!992O M8,+[;& MG+,G^,LZ9EGH?0)J5.TNGHS$:. TIN$039>S&8/(1,.&#%3"C1>>=+F"UZ?* M;@^1$3Y#'8PQ^827FP%=C-DYT #-24UECVQ9YM5L6/)E_#G\/ @>7W+9 2X;5(;8T(Q]!BG-SL'KM"ODZ[Z"^&+ MFA797'<4Q\OY,H6@SRE=>%,%&"IL=^(] M)V+:::4,DC;M1#::L7;'!NEWL]9ED*132*!(I-$&PU5S&SVVW2TG796S$MK! M;2>[6UN/<%U0&FSND_@<:73*=9'3_8XMBJW1;8B+4\>^NM5MLOF[WUM:&#G,M=$"<'GEJW45N]TM'+D MUMA,2B)Q):I*@5_+"CY8O6<9/&@J$V^>1S%+6;FJ\R0>YYSG7UAV+^I ?"E7 MIK7/)!%>EY0;&-=;;D[@#P[A+9167" A G9@*R&DD7) :CFD%40:22B!?!XQ M7A_6/)*GE2_7CTM/J#V[F-" =C%R#-0V&:B![:"X,[A!%I'"X',ECG3D!8=X MD]3V*EI!9EH9@G1+-:SE")%IV**Z+M&PAAP-',=U5.+"37;AFN6 2*9V6 T. ML.: NO"B\X*5(\]$&*F]7G^VJ]R[O*PG10,HNWZF5T<@/"')@Z-'@GF=TUT& M3]ZSZ Z&5T8;<\0*W^VNP%1)WJ\1;&:J6). M6C88W2&F&,=\V;/15C-N_-XQ.\4L!:DNS+CP.4%CY<@ \ ?'HJJNL$&J-HY# M1U[/;J"[.0.'<)P1#?:F:*M/PU9=VX@J.5X'C SC57;P"S48/9VDPIXBPAE M;R>CS.^&[\8H,^[U;C.8O0WNPEW %2YZ&SW5[VX?TXS.6 E)Q%BV9-G]Y8)R MN6%9'-T5,K&8P:W82)+?'.8;F]J_43593'"$;Z^[&N"I]EK*Z G.* 5!GQDST:%7F$1@Q_V(WEJ/$!(="CJ) M[D.X> J[DW4_D3_6:^S@B#Z;S41/8X^TUVEUP83Z4[]N1N)-.Y/NLP?LN$JZ M/6-'HM'TF-W:HWA_R0*%LT MS\.T04?'CV :,)OE, &HS%ARG&^JN)H0M_HLA_BX8@F.4'TG[5MXGC!676J; MU-/-0L(/V&,&CH_+)@G84+N1]DJP->>4W6>'PD41DB!!1.V->8^S'/:AV%UO4B95I'UTM ,.[:3',8>77L:)R(Z3HKAP"OKDB:1QDD M5+@7Z,UV\/K@OD!:73UQ#\Z.<2, I\DD!V .6;&#TJ"O]GZ0WF/%BDM==[-E M&)TN!@%21XW<<"SUGY?4*:__1OKCO.OFOM+<>JF*P7FU&;990 '-R#I9Y2$@ M6P'=(!N*\'"SGRQL.BH*6J?&=SR396(*<1C ;H!N^U_/@09T3FI:ST=%DBU\ MO$FQ1/S1_%:/YO73;$5SHSE*BZ/F 3:QS#O-EW?E;)DV]Y]=JVP'!07%\LXJ MRHK_K4O!VV=V99J2^J;W.F!2,\&K4I0]PM7\\$ZS4A?M2TBNE==A"-H+%,6M M:&ZI\:)RJ*)N%Z%]XI!$[=H-'Z:<^M=[,6\U/^^TX_8%XQ^I=16Q_;UCI[]]=%'X"2)^'=49_>N3Z44[<\T$6Z>#+UL7KM3RD#6 MHW@G":<#=B5;&'!KJ<^CNQB#A%N*Q!8S MW(TYIKX00^[K @[Z(?3HG>;4GR/.HZQ<[<4#4X4CZQP3*F1[3VPH^3G-'N[F M#+M*0R96OY(.93^I#L.<"%57PF_\$O%D[)339"FAD>]@XAC$+2)08WE<;^78 MTQ^C^>+'T\ZI)Y2P=9O(;AXB3H^C@B9= G@:?>=SIJVHT!U@5Y6U&V?)7,[+ M\:!&;51/FN?Q9Y(OY&89$8X5^%BPD(>9@V$X:Z#?=IFT1X-A \Q]XPO7%3>K MC@Z7#JL]+TPHZF9-==Y6U3(%0I7% .Z-!P8W0>SFM9MU73-AFIOM6/.U% H2(.SZ!&28&;?S".38["!)@\ZVAA#%H55?)UC"W_639#T9P9&J-4TL8TD6G QL: M9+KKJCM$HP'@ 5ESDU,,1W!_INS^ 79G'RF/[NG'Y?R.\LN9C*T4G??ZCJ." MQ89JFBC#)T@W,J\+UTD"T !W$ZV53= T+*((LLLX1R4G3BS60A^,+['X:!X92ED%Q(&1^F#2]F*0B& M_#$3'09]DP@T,-],[\D#/ZS EW/X(P')&,(XS@0MY&R1Q#ANPTIC[\;KX\ZE M/L[JC)"WE,^'3T[Z*-![/]UKQ2D=="^EX>J9^S11F7)!VJ'LZ*1;).F42>Y6 MI$M7ETN.JL :%$UDV:13N RX5:E1H7P;2GZV ML[.]*O+%5/2Y0]]K'EOIE]MU3>&239HGOGMLO]]GW6UTU[KW7 M=@M]V7U68ZFQQR8U+5DQFB;/M]=>5E70B9=5\;1=U[NYG&?1*\>J:2>]T%3( M\^]U(Y;9C[!CVHS;80T,PMAG3Y3'K*!7G,4[GR.GEOY,^Z1+E>ZII]J*?HG] MU\%>Y1)CS4*B>NN%UDQD 5R0S?V%=_F+K.0L*U@L/9#]-]*PO&?:K?75MJ>. MW"_L)79=K87#SMH2D4<9;7JAG?,GN%9=7&35SI?M'MI>2GI.'=)25;OLBIIB M7DPG--NFI->M^]H]<-!GL+XL)IF^#]]WEQJ@ZI>[K]I)_75WQ3^??KQSF[?P MA=$, ;;C)_+C91-.JTQ)-CG'8A"$YLB1U5#GTT9:*7BZQZ:JV^,X#<010'G; M_M\8'G1"FZC$LYK3-JK@G4YKDS3 TW5#F+W%Y/:,QH31BFNN/+55MZ=5A+8D M5+U[\ZK:Y4I24\SSZ:<;VS8V!PL^#+TM?J#),J7U;2VE)BI?XVA9/N2<_4Z3 M3W#5I.-ZR!/(QZO>:'0-=7<+-U-,E;[G0KWV02\5V.N.>RT13\_T8:;M9&![ MXF\]&!R02C:<\ZMG4BF72,'D%RGZO\)WZLTK3*VN]RRC%R6=3XO';E]8^(ET M5Q4V/I=N6Q*>3KM/\W;<64$\D?*W[K%EM$ID-WS]W;LWLBO"+SNNC?P+Y76] MS%EY^R4?M(&?(GUT2Y^5!YW31WG!NZA'(Y4K,++#B=5F?_U9') /+&/SY=8' MY7WTOT^+A>_^IROR>?8_<^7MI_^IY;W _F:S-1?3Z"_CD M]6K=A]=B*_W9^K3C5;HW)]=<=/ N'<;>G;K!S1USTBENG[.Q*'9?\GVQ2E/8#:,]ATVJP16>;./=9Y//[3UO\/>L8]NJ"OR>79#<^5YV3M^T=W0:.LSW4(.$_B9EO'4 METKAJ^XHL7?W/-Q%IO[[.>N6VO7ZRUQ.^',J M.ZBFG2S.387@ZN1[L&P/J^R/;6"I/G.R+O3Y=E:71 3R([R_UB:]W%,H9;(6 MSZ*C;U?%^\N),ZK"\Q\DMK)[GX&Z2B/"LO:M%,4=D"3RV<-.MG8< \UH.H)0 MJ0+LT6V$5^QMU]\EP0MS!A\CEH+[>YYSB>\]>P5J<<]BQG"LM'UXB,.R<'67 M_1GHQ5]LRB:SG%?C>_".?<7SF-*D.!?(A50]D4!U4U=R:7TA?LA*]DB/LD3? M!K:WX78GWF?'W76E=#OJKF2CZ9@[-FC8$1OQ!Z01ONY1!_KNUPW(G#W%Z5+N M]U>^5QME";]FN^+U8^PR>N48+1EC\MM-7 SH@]_&@0C2#FJJ0*V9FC= (Z?P MP![;YY;3J%CR5<<*7:-HR/"=TK IJ3PG7]-6STV&[^=BF!,C#SSYD16F9=.0 MR&L_UBK8Z[<]"CS]5*>6>C*L9-5SUO)5:4A=!-3!8=&\O7@5,=-@WR?Q^T:Z MJES_M?/U=S1PT"@U!,,?__#FSZ]_K/[9D).%H$< ASB?T]OHB1961 RH_()" MJV(?%ST21-#0Z65'!W"0$EA&$;*O@RA']_>#E^3]I7!:77/QUSZ,Y1#OA+UH41^459SG_3QKQLRP1=@F'F(I_ M'[-4E'*L6!*#CI7!:87*4@6@9FEC4ZHG/5>E =U>7#W]3 MJ0$LQ&+0H3I+W6A!:*T&B4H"3YL)L@68) ]DA^A&+^U8)2K0^S%VB&5)2%(@ MZA_K$K_*]5>=(U:& B2HG<_^OWKV$$5PY/#E0M1H[!"BDO"E013#%2 ]F#%H MAA#VB*I%G]^;K_-[#Z]N\?92UT:7N'SWDF:Q<504M"Q.*K]*MTKJ$7B.M=E6 M27J]ALU641V0FBYH)9MK%UVUCM0G^>64SJ)E6A(9!@UU$_\]B^[@ 7%&;0!6 MJ1!5MT4YQ8M\/+FAHR1'5MTTY]W;*F)76T_FL@_R90]7_,L[ROO&5'U4B, MJ"G&=1PV2)>C;9.:*52SK'$$07A8G+)L*?2KP2/6B97_T=DB.GL2"]BMWO!U>BJI6DZK&C:Z8I3.)EC<;/'>%"WED%5QP:KN9L1%5NC M2;=L4I-)CN?08'U%)S:79$;36)\R./9#D\F3G881==/9]'5LP48$RBFMF7FO MHA4H=LNCQ'' U'&B;DJKPE,=E5K( 9%BT#2G])W:\%YSIZV!&%JX4%#/F2)INUK\J,OW4M.D]JVUH.RI:M#_+VS_%>SG1GK3<6 M@KJE775W;/%:'/QYUIY+!I'P[T9HJ#T!6IY$Q<,5SQ]90I/CU:<"XB3MT',4 ME^S1V+'=N1&U]P9**]L(M"0@@S1"X*;]UR!'-/(WG8%[+2M0^]9WCHO;_"C^ M;WKSHVH?3=06KDJ6XN 8WVUD#9 >U!%>0_:K6HI M"DOS=M-'W$0IO:'QDDL GM([MS:VB\#'(#UP MDPL;NYD-WK.9F+F*)8<,!%=YRF+#F#V%'V%C3U+;V-)PF/WK1H[0.F)$W,K*OS$#%K"_V$&>12CB4#EM="-L[BD M"7P0$U7_APYEE9-MZ+BVFXWBCPC[HSEV5.BU84X0F-]$OLE@"Y1)9 ML.]; /+:4/_RLKPR)'1,J>@&8EZ?R_Q.=RF[KU(W40[9G2YGMWD9I5WT;"L+ M 71V9H+A)O8F,D-=MZD#XNN]#7G@U7;)R5__,S*!Y9=9A1RYPSZ[=X+0X6G?=NHA=R>"@V!RG:$A/N,T@F_I@7ECQ1N M$:C>DBL/%HQ,4=4X>9AY0T7N3?M01E_)SH&@M28JJLF=W-U3ZV^IA?6O3NF" MTYCU9^;6K^'G"6*6DKM&G M24#4\ALJOGGSGY]>7 1N;@/:Q:HGHTJ9TD].15&;&PI$A%4=F6)T1D MQ#1)".'O]D.+D=Z+7> U-"74\'EVL-&?5H"PVVZQ9"[G10#,P;S]H,[XG!R4 M'1Z-G6LRDPZP3Q2!$T.3-+?"HY=.TAI\"]_D%90-NYLZ.IR-IZKGU('A(&L^ M(VT,>[WC_^R3OR-XG^!=<*1X-5,YW26/@?92OH,8 ;L/+&/SY3QP4/A%/CCP M$C%G,7,"YJ(G1\QU?WHO_A(_-S^)?T B>?'+_P=02P,$% @ N4(35ERF:@FQ.*$(')&UK/OT%0%(B M10)H4*0:U.14[8YC TWTKQM =P/H_ON_O\PC[XFP)*3Q;Z^.#M^\\D@'1NWOOX ! ]Q\DGE+V]>9J1?'+W^[\^?;H-',OJNOIOXRHFQ*GL* 2*F]%BU>GU&NE7RXLN\C M([/?7O&64_Z)X^,W[_(/_)]:HW2YX-J9A$*Y7GFOM_GXJ1\)M&X?"4D3TR!: M&P\UF&N?D3A])&D8^)'5R%I[]CA,,8W(G'\BF+:QJ%04C,H[6BTN/PBX\D)_%TPB<"NR$!"9_\^\@\9D#7'@=Z M%3]Q85)F5,]&PQX'<483R>]%DH9SKE_3"Y_%7$#))/XJ)JOF3HLQ_&*8G%BEB*$0PTI&^/0[UF=$%8NA1X\95F(>:V:8BZ/GVN 8^4 MI0VKD^?J/F 1:;6J-?E M1.RM=_Z+>0@M37L<2#GEKPGC/L"PR%#MNZ$=7W'UEF;1P3>,#=N_34"HM;A%48'/I4QNM(4V?/D4; M)M^%T<4M+&X:"!L&8)]K._4XN$_DP8^XU1(0,H58$:KV.W=P^G5TNVW= MGKO!G1_8$!7-\1PAV+"W(KHCIPC&"9S"P X2;+CFG@-[)+!AFGOV[9W QM72 M=!A/!3K[%1T&]UI@XX/T'=#R!LI4VVM@2PFX7!I[[MP*."?<-HJ2+SYC?#A/ MYFCW5E0'L K6F[E$LO@RU"30]Q[,'@".4ML)SS80)Y\T%GZ(#3.]?@39,!J& M9<<8?:9#\MI.?9@VM!S0.PBB4#DMYRX5_6=XY$^OI#=\][NC%;$8" 9+X)Y"+ M/FCWNN.65N=D=EX9/M2G$8%;.=!8"NNXE2 M /&&4]C%@:8MVM:$A@Z[0)=T0-]AAIKT3_T6M"WGA[NV43$M"@@.K M^^AIF(H>Q3N!(^] /"J0%PSXCWG+8C3E>"(:U(80B_F005ZQ3TAP M^$"?7D])^%J )'Z0:$FD^#]^EQ\ZN4]DD*&D%/GW))+T?^=M-IJ\WL&H2B2$ M7](^J'J+S3%5)7?" D_(@G&L2UH^"VKR:KY)*%J\7L@;[P?!8QBM1#UC=*Y" MIT""*@9:!8I_8C=HGO#O3\48+B/_H1W.C29 /(\P &WE!@O19 M']V0!64&X.LM@7C_A(EW&V](,/]7YK.4L&@)0;K1& CV.TRP%1PBX2UO6H<" M'PC@S=9 Q-^C&AX*'I$@OWTD423"@91T+[S7ZZFG"OY%$& 9 9=V06* M/8I;"6(7103BAA!;T$JX^$R\K6#+,SK5+NF&CE!QH/B;%JRC".5D.N5P)<5_ M/H4Q.=*)HK4Y^(P(3P :-AV!_=@.]F,X["A^J)%-1V!_:P?[6SCL*+ZHD4U, MV,_XCQ-V1Y\5)]#*QE#(47Q1 XN8@,N=9L*N&7T*\W28)M0;/:#0([JH>F91 M%3[?Y"':7K:$XHWHKK8SAXGS-4U2/_I_X<)D2;:WAV*.Z+CJ&-UU@#&7NPA: MJ*X2;32!XHOBJ[:RLVM(A809\=7J6V\!!13% 6UC9L=X?J+B[..1QMIX;+,5 M%%<43U+%U*X77G&;.%%._%/=/R]Z.H;Z5R49$VI'/W$)DX3H?>!WGMG90D%&MUA@09 M7_:61\?W=^+%C&*5:;2"8HWB\JF8VC&V7^@=\\7[Q-OE_)Y&ZN!K6=@QR;1SM\&XT@0*+XMFULH.T)ER\!(]^_$#4MQ?:6T(!1O'T=,RAK;T/ MH+7WP7+M1?'X5$PA89O?#>4 '@O*$$,HT2 MWO]&HN@_8_H[3UYI48=XJH>4. 1#Q'US"+=3TN)&'/X1,[]U"]& MJ,-?U0.*/^*!HIY9M/OS[(QO/ ]4?V:^T1"*-N)5V%;64$"^G?M1=)HE84P2 M[=JRT1 *,N*=UU;64$"^F!/VP!>UCXP^IX_%VTX=V(H.4- 1;[9J6<4!_V7] MCCQ__Z9%OJ4U.#L!(NQ*)K'2;JQR^]_*XME,@;JN/11WU(>5:D9WC'Q1HFAM M/\G!7'&_37?IP=P+*@44=Q7*-,[>6GG)K]U::^V@>",ZIFV,X;R9RNZC,+B, MJ*^URVO-H/@B>J$M;*' >^K'WUFV2(-EI?#<:K8!'"(@ :A($/U3*RAPP@5Y MUF*1H%.F+JYF<=4&#;3]H*+!?,0)8!S)"DK6#[W(]'1Y(U*^BFL*=^0E/8TJ M!4W;C2) =ZA\4#,*@6' B/!3=AFR^97"/MUH H4;Q>UM90<'4O6Y=JT!%$X4 MA[:%%1PP/]% <[K:: 1.[88(ZB9++<#^_75C])_X+X;-6L MJY;O^-@[\%;G83+A<9S0*)R*M&]#D2RZZPWIOK_U=."N*7QAYV&R'E639"M+Z5%%P M,L RU%T0A=4+E4>C.5JN9CVX;1)0L(HN")$F_B2>BO^(LEE/?B3,K9/TS&=L MR>U?60M>+1A@=[2DSR 9T"XL.2(_63OLCG"#+7XB2:JZ5U(N)*VMT3)#=Y". MCE]T86CJO7\AJ3K<4>( ZXZ66+J#N*P009??JDSCM<_DF- EK&Z@Q1M<4$7Y#4C"S\LJQ(:)YZB.5J*ZPXBTG+LBCQD,3>C&(I6 M:)FNNZ-?XP\==%EE]RJ^>.$.:C*9G891I*ZQ*_- MLN[M(Q,:[M$G45E,6E1_2ZL5I;FYH]N_=+WPLGQO+RL('NA"$Q[[K50D#J3T MTB>S3^&,7,5)QOSV=%45G]_0%2]C^/;B R.#+L.R4/&J^&^^YFNGG:X/7M+Q M[:5FQ@)=7/F(3%8&9E[ROB+H>V!N5 I^\R5<7G=XI!$'/A'+>;HTA^'A%/"2 MI&\O<%N@O M]RVEI.8?74)E_&P=41,!-J.4#-WP$L1WE10(!W1IV4RD+6;0 !GDA[(<]L#N M[V+I]V#;#Y"OOA\AC\"BK]Q(-UW :;3$RVW?CWA4O*,+Y60ZE>XC=R3]<'H5 MG_F+D,_MRG@U5@>@+UYF_'X$!\<'790W)/7#F$PO?!:+79G;4=D\B\0-W',R M$SE0U:*$],5+NM^/*.'XH(NRR=LIF5%&[ACQDXPM#1,3V!TOH_]0>YX&I1'; M.C5^#%MG6UN\R@+]R%G-O[U0/^1"C.F; V,QJSOL%0TWL+D6*=RU[DF3#ZE!CFNZL[C?7=E@0VZ"=UX_WZ2I8^4A7^N9[)6?LU.V ^S M^A&<"@SW!";S>MH(J^R _3"K3T'504 74LT4ST<(]$7*QMCOLK80CH9Y5UYJ MKU,23V;Y%:MV@^,GG<&Q)N+1F5>00;I,++Z]&H_9LE!VP K)/9$XT\V1=0MD ML\ =2.65F<,?6$2!X^3V4=*I]*W($Q.C%L::3<0=1_LS=Y.'&;NT07TD=$D MN69TI@M#UQIA;^-V(FCA;\1AC%LB3_8_DI@P/^(Z=3*=AW$H$!#)D(L7>1H/ M#]@?VQJPD[$=*NA3;K(@8F#Q0\[E)]J:R[AHW=H8^U6VG7@T_(YX*LHO3V2F(O?_/[1#V.A.Y/XVE\& MCR3XSI?UE 0RBW#^,O(3]44-E@<^Z149P@6E+H2PGV<#)=25O4$%)Y,Q%,HR M7T1T2<@-X3Z4&- 9G_"MEH?H">F(_7+;0C!P'/"W*#'4+S2F]:7;:%^8^F$_ MSK;A>U4#*.OQ^0%.)9;C1#?W-NN?"W,3GBV53>?BP/ M;$_]) S4PE,T1W^";B=$+=,NGMW(4;9?CJF=X[R#G^-427H%3>R[(]U><8"Z M8]WI*P9W)]Z! I@HVIGF4T-3ASX;[7";K\Y1U<1"E@6?G42:2 !Y5-HZ)I.: M1JG KPR_^EP060"Y JWS*YZ\A!!9M'<;HUC:.:F<(:)?N?E,%-6PFA=3RJ;8 M1Z0@]5+?KZESC&Y,*QX:F>1BZ(9]AMI%1B DT.6U^9K()"A5>^P3T"X2TO.. M+IK:/2V37%H;8Y][=A&*AFMTB>SHJ7LQUP@YLXOV(> 6B-!%>S+](RO*A=Q1A=E+.39T@WA&U42IJ2X-YHS?T,"^A"'B@IK*U-]1P/ OK@$5J4=BP1=!0<] M QKLEA-8G*;3G[_6DO[[,?X]J*$6=<%;/U8>OFG7V=.R$/!@5Z>V\+6VD6'- MV[J(<:6XG:]E(<7!;E=MX6WU-Q.OG1#FEE/RK0/7F;:9DV]=/F<7100N(_JL MJ&K['GZ\+BAY.2GL4_454U:'Z2V]T$Q*,99K1I_"J:B,_C41]0)6KSM.@C1\ MRM-9MMR4,_/<%WUW\C@H!=ZT9GM$%MT,'O;^V5!RZUD(0]Y6>R+LGB8$=?>L M.-3BABM'3NX_=U1XPW$01J3&\QT%@@NHSSSXE[%#XH.JXJX$A[X,G1,NMR"4 MH/"?(R+%%T]/YI2EX9^^/H0&ZXT=*]^9,#>K!<&A1=>#2@!/!!3,;Z05[;'# MYDBRUL.'+EW)H"@7<4G9.L?:TEMJB?%M(@I_O-%. M&I#6IBV01]^H.!KB#(V]:K4Y+BTVD([?:IU0W\&[HS^M*"Y9_IRSTIAW3 M_50>Z8R7^/[,(K(M*/-T]H=JD#[%JBU0G?/]&BC MI/<=\Z=6.U=[?Z@F[5L V [?45]8:+(JO8(59I4J2#;ZI"$"5:K]"QY;([V/ MFM6LEVZM5VTDH%JU;V%J:Y3W3*>*HN[UFNZ36?G6WT:WC*2@.K8WP>WN4.V! MKL&OF_5Q>=?B>MTHK^ANK1+XN0C7[R-+>"ZB_$:]B(DE]A<*GB[%Q:_T))Z*IR,+T41SL\J"!E3" \:: MMQ$7[D+U8T!(\H]Z@88+/?6 M@),G/XQ$*."2,C'V6Q)D3#)]3NYM%@(3(:C$!PP'#[@:P& <]Y)0\,PYK"K\ MIW#&#>DD8Z):\C6-PD!K2=I1@2K-@"'@_I7&!L!1:XS"JFY!SMKS:*4!U9;A M$UQL[7EH,-I+SZ,H"MN7YZ$E!U63X9-I].%Y )##MSHJRYW(#2)6.A%K666% MA1F3BJY0>0X8,MU&.&I;4@L5NE %K^+_A./SQ$T>SNX-7[-8&/!]1_R!.T7U M7U1:YCDB-@-R%R]!E$TY7/R'1S]^(#=\HES,9D2W"NQZ'%!U&S[)!WSYP)'5 MB'>J I,-)$[X7LW8DC-MR X#[ Y^7^J8*H&1&7WZU5WH@47BH+PV?(C#61B(Z%]^J4(D.]MTWVIY;7[V#KSS, DBRKT] MPO]Q=.@5]&2IF#5%;TW2*VG^BI/AILD@@S;;*",S3K+4Q MSOP2[\*2+S3E2B.NE+4(9@T_8+IU)(<\^S3"VYAV6\'ERBQJV^OQZ8>9II.R&_>[>:5?I>R),'(!K5*_81S!5QKTAL5Q=)&LY% M8+Z\8C2)OXI[3B+)CDA,'4N&VW>QHS>;,^JG0T\2EEO8BK17TO9H[%6H>ROR M2+.O?(HNQUQDY0[_)-/B?42Y"N9'IC8S=&O"N+D.+(<-F.G;4T9>#7I2%44N MA&T!=V55^>R',>\E8L3EV/6;\M'1YA+R[M"K4*G8PMA;]8_%HHY'UZ7@+SG1 MQS6-RZMDK;?(:M/W>'/ZOC_TRMZY$5#V1YJUREMQYGD)Z(IV>MD^,*MY:$<% M>5:"Q=@\O;2&RI59>/M(67J0$C8_I8S1Y]H#@-HL?+LY"W\^]/+>=[RWM^Z. MMG7>IW8[8GM[I%!M\$BFF;A%R<4JSK[Y[A"FEWY0/ ""1&OA)-"W/YVH-H.U MMLBX,K6J3[F*U F*J?73YM3ZY;"P1XON7MD?:X/+'\X*7UZ.R(\ @5IM)Z2K M6/6'P,UW=J7E5?G56C!G&1/*#9B*?7\'>V,TBW_SYM8@0+LRL\5=9\54?K[H1V M% .W.P#1=$)[0+TY)- !B*X7^@&(433-]\Q&$%R9,>69Q#5AQ65648ZS??(T M[\D<':X/-3@%+R?A21I(,ZG"D!R&>1JI>^#,HI.%5B:!=\CVLH.%)(EY)Q1-D ML&*%JS'*5R:KNMB%I.2QC%PA[T7E[/()(R"FN"5=[-AC>[5PI1(4[WN6=S*K MFDV$LJU$C9;RS5VFXLJ)LE%YJW]*/&Y=^CGXZ+-:/O*]U'X/VZWEU1?EO2!HR^;12Z2T>-VZ4'/TLXC9E M1TP'L;;EBU?BY:!L3A"LB&"[?M(T$0=35;DE]IX=C [R1.L@7J679@.<*[/S MT@^9?*@\F17).OSH*N8,9](>;9^NC5LJ1[\<>H*2)TF)Q[PK8EZ%VH\GO%MP M89"4'.92S1"P^]@>\%JAXLJD6V48N(IGE,WK!<5K,ZUQB>3HPZ$GNGNROUJ.^&,^^^ MQEF2^5'KV "3#M@=^P 1(K"-J68%C"OS[!-Y\*,BJYOR2<%QX\K+\=&A)[MZ ME;YX+N \S,LUB'P_LCKK XF#VDU5D!-H0P8ID87 _+.?IH0U1@E)7 'KCN_T MV0MT,X6%#5"N3$98]B9M%J?CYAT;JRQ.WM_*'__UAS>X16YA/Y5'2^L*T>K1 MM[4=FY^GYA<_$2@?#&=B*H>5.YP0WT#;"UP1W17Y0$! E]1M=I^0?V:<_8NG M=70 +#)@=W !(%=D9P4+NA"_)GP9*).]:%:]S7;@9*.NB*6=473\V]->PM<] M6'>@M(:KEF&] -K @B[$SS[[3E)Q,K&NU&&*(.OZ ,4U7)T*6W&9 4"742TU M7OF,@Y(8K#6PK.2M8T(6X2B,$7B#5/8"B&J[@KJVH3,RC2T>9 MKP,L+3@%H/2&J])@*SU;<-"E6:LD=$;9@G)7D4S8J1]_GSS'9 H)8%G0 $IT MN#*RMA*U!PA=IL7S:%$8]R$.K3QL0%>PF^V,",%XH$ON]C%<+$3IEWCZ'WX\ MY:0?Q 49N+<-[ ^5H3NQ$CMDT 5YP_'DGQ?>S3G7OHC*3:#(0V.R0D&=H2)T M)V1B@8D#\GO((D%W64G;8):;IA-47N[$4@ 8H,M)G04'FN;2U!DJ-W>B*A:8 MH,NO_9E0_DB-KQ-<\3A X9-\H6>7K3AAF"\S0Y?V%/%?X933F/P:D MT7#DZU]1HU0P>BV%?,P.58>H#.E6FZ"CEJ)N7;QIOR6FD6 MY/FW+S5:UDJU&ER9S=%Z\IDHH*ZM2";)+ OQ.U8EBH,7=G#=563=!MV(T4%H';2 MCZW9J:VYQ>S\0N-@:[-<360O-^4.,+HR^=MJ+>DF?2,SA[KB$O)<_TN57MKF M9I([L[/W,DO.3KNV"C"Z:6=1!P9[VNU)09A:#'2C1(G]SFBF@3WUK NYV /D MRN23U3ATLTU=JF6[R;5?-5OJ)4E ?N)V)/>FF@L$.5EEVIZL?F"QN+ 7/@=Q4 +,^"4Q&06=G#A.A!%/VRQK1/3 X3HETW6/%S, M9D3D]R8K!F[\5%X(CD4A1"D&>SWH0A4[1KN-)G1'T2%5**,;?/1Y!(-;^-AE*5" M_ZR7:CN"V)F,[0I3;8F;*Q-TL[:%;FHV$^JT5[A GI/[5>I",2K&_/A!WDH] M7:Z;%-493IY]-LU%DGSD#=/D*N;:&=+I-Q(^/'*E/'DBS'\@\H_GW)Y892<% MSW+<86&GH>Q2:,,)23ID%%:6GN2&1M$E98+;#I698(2PO8!N2M,-+I?$W,JV M_&URDJ6/E(ESSJ]\XV*;F]'I\N*%L"!,R#7CV]:-F"@]U.SJX]O8'L6VRC2P M4!S2/WD:I8"K=!UEG*SJ*0Z&SJVM;RW:=$K MT51#ZF_[8+0=06QKM7O2]"TQ=,;+!:63/2>I'T;)%Y^)S)U/[47/?VK6>;1, M*UM\QEM]YZ^<7U9QQ'O!OY$NOX534BE/&'\DXD+YXC$,3D1%*>X(B5>WW/M9 MG6=><85#;6!9$1E= M[N$.$*%'DK09M-2"-'0;71YB$ SHPFH/4-D>8XTPV;"><5?\\&869!DW*#SB M=G^[\?Q^E96&K:AX,D'VRK7^D9"FZ[B%N;PRDT&#W^@QFE0R)J;1E[+RQ>YZ MH#="NV/NW9QGW/I-$[0SMB\&D(D-.\XNFE](VF') MK/;"=KVV63";W/>Z7#J0"4_K"S0R>ZSZNN$![$M*O-60;OSGSWY*6.A'&BM3 MT1S]_95MLCLMV^AKX6ITWRC[?A7+;Z%2)4(N#._N%D*$(MLA6U];R&("I?CM[HM$^2N'Z2;K?1&*JYU MMERRRI9+*MERLTJVW*#\HA>L/NF&\.[:'-8 VV&(WY)2_BB]>1(AD,H..2ESD">2%V%-R1J-(_N-;F#Z& M<7&\9D%P9#Q(-G3;,P\&QK0C$AUL#^U]28!\())&=?/"WH23?Z^LJ>F1J#8#2HWJR>OJZ&70Q8INT#:_=5_$2Y M%<*MI/+MBD*#!OS>'H9Q!Y>.*S:KL;J>UCIME%78++!'91&@T*W[N7MF@_;S M9+VE-)R:476/_3(_C>P.ND4H[WYI122Z@GKNH;%H@9C]R-> M)&2R;C-/QV+_Z5C]BYZ$P?+8-0HM;%'6WI64=GNVOYLF M8[-^,<;"E)S39TT.H+:V^[5R:!C=TD1R*$>WLF"X-H[1R-1=JQE.2D)NA"_V ML7+X)XZS>MCY7[%+$'>L_EUE#?V^Q&G&611;-V?@:KY@]"E/ &YX&FGHAAU) MZ"H:$!KH,OOL<^YCPFIKFD%@NC[8KG]7:9EQ0!?59<8-8W'XQ(=X&;Z(GTQ3 M2],%^UREJZ",**#+2%JJY%&9]I8Q:P_H7S/.Y^' MJ30 +RG++S@6$6&9?'\J_:U*$%AQ*M>!SNB".QWY=.LHZ_:1[_('*6'S4\H8 M?191*M@JVLB4__.AEU,3N46\-3F'%M%SUMT=R2\-8E$:4.7,O_2", MPG19/)1;H6+@0H= F7>96O_:4XUI.A+G!2Z=9.V)%U*[D!V'=E M,\R/N8. 961:U!HR)WIXUT@3G5_<\',Z'BD(.7*HFTM!G$1)1OT(4#U&VPGI M07;QSH';U30)4W-A"V4';(?"+)#-=\YZUM'7.ZG^ZU3_,LCT*?3OQ8H=DG*X MG%_P"P!;8MC[FKU,M\#,#7EOK/(EYS4N#%*&D<#>^SK*U@8?=(DVAU;> 0-) M$]@=_=C96I)6N+ABU-SZG,?3Y6?_#\K*K>..4]/:-(VDNI**=[_TYH*.%Q2$ M/#&N+6T:12AJ_?D/A_+K&CM%=-"T1ZH.R85(5O<"U=-ELYUI7C34J]_98<"R M=6)LLK#:8-^@@R_1ETF39]7_4:&M /S0[I70A#I\XR M??^XHQ".$:.8O0OAV+6E_TH\2R=W_@OD[*Z1]C3O[DIC,PE0D]@CC+(P?)@O"I!H 3B0[$4.O$&L49.,)=6?(T*W= MXLCJDG!,_:C!@^Z@UM 1^W3/7HY +%R1F;3^3^+I)_Z1#I(S=<<^P>LL/Q@N MKDA1L7@8Q:?LAWU>UUEN!B1&_%2JS-S1Z]ZZ%5'LEZGV2M(#ANA3ON2AV&&L MISZT/_;CUN[2A2&#^2*C-R6H;5.=50%&!?L1;7>%L$%IU&JQXBV_.BVONTS_ MX-Z[X6F[J1_VT]/=Q!3#24Z)5(HQN+Q@B0Y MF:T8%NM1)M*EW?!UZ8Y>S&8D$"<.XI_:$%8C-WK]$QZ=>6$>U$K]%R\I/^-Q M6X;_BGJD_%+^FQ_1KG[YJ$M#H=\G96Q@I07K_EPH ,[[^1ORZS".28"XPOI66+CJBS; M],^0)]2>THBC=I9H[4?0]D<,<(^.:^%^21]N'5CV']R1O3U"KEP[%/6":2SV MFN MI"@3[,+O3ZCZC2[("@,"W:QJ#%/P6/RNV$J**HVU)_]11)]%S:5+RLYI=I_. MLJA,UF AXQZ^-;[8ZW"(NZ=,JW)&%DI1Z3.^(*H9 ?>$!-*_3WSQ*G_=]PRO MTQY?)+4_1,>@',*TXO_UBXSGA:.1K'Y-IAPNPE>J[?3$YC/C"[(.@O.(M<<0 MLMF:\/CBK3UA.>J 3K>%]9MX=QRGRZ&VJR;]\45_^T76R84G/\4\XT->SBA[ M]MD4<.)K36A\H>&.6#DI8]B">/O(D3SU$U&L==U %&X=8L?1?6U\<>4A4=^O MO.43DI8PT4+NT)E6%V*&YF30@J M4S<#CS9@C?IF3V.MTE8V:V\-%;7+8J M[>SW0>!@]I'#<\^MZLI ]V]K%WE?CN8TV*#+LG5XW"L+\^L>Y]I74*#.XSN! ML\#$E5LP%SZ+18F@Y489G0J? MDD/ 0LT MB6UC G;""'TIY0L-D\E;_:@R!Y.3-&7A?2:GSQU=A[2N_:6LO=] MT,;>3"V5H#\XT35#H<_G893QWS;4VGK6JPEA;[[]3'P34,[LPD4AJ=N4!M^O M,Q8\U MMC1.ETT[1/B,JS*Y)UQ9YU)*R4V8?+]DA%S%*>$:E>KSC.S@T]@E#T"JLKD" M[$HBZ*;C>G'4B;V$Y(=W4;5 ANZ%E?,ZID M\1^4[_*R8/@.5SG5Q[%=(?R%3B^6_53!\_ IG'+3#$$!ZY_&?I/@COJUB<1! MFSRYH5%T204W6J.\48:^:I0G'B<;>3-)YH=5[L1R48BW$D?*XTP#+ _J3_VE MK&X3XN/=>IJ<;80P+UX("\*$7#.^T.Q$P_0#&*_]O3OQ[),Z6A7$2!G(W MWHD";G[RKV5X0T4P>B7[*-[Q)%=Q'GPU7,T:Y&-_+9/:#+O[*I58,3?05MKG M(+"?#0^C@OV+"5\U=6=&5:^O'/Y4HV$=:&&_'NZF*)U!PY?WMCI>LH2]&EF. M _L=,OR2NJ*[^$LL-:/83]=1K' -+ [&,:45PL.JHMUQ341 MC[7RJ6&\>_ 62=% T: W_7M+XT9IU#J\S T%1?_+JT?8'X:G+%ESUR ME9*Y=0QA^^\YHF0[F<*@K7![2%P7S\K)QNA4 MLLG3.9W[8;RCQ;+\F",J.=S4'G)Y+$%\-]SLT#REYF::E=PP+83W!C1VK&/T9VJFC5#[IY,.F\JC5E M-@YENZ09VZ6N5;_GYE&EZZK6E-A(-"U\VNFJ5OV>FR>2SFM:0V+CT+3;\&67 MBE;YG)L'FJ[K64->(U$S\D3BG2I:]8-NGFDZKVI-F8U#V2[$T>TNE:WV03>/ M-%U7MA:9C4/9OH3Q3DVUZO>P4SF/4]6:$AN'IMWM=@>]L]X_!\L//4X]:\C+ M/35K.8.CSX05IW'S,+U[IOUK&^RK3CYPZNMPNB>ULY'?&+3OZV*!H'UM7]VK M4X3=J9]:@(Y>ENS(9YE8K'+YK;@T M5T69=7V,XG;G@^XLSW*\>W5 M 9-#"S9 *?9I]=Z/U"_C.-G:X4IO^9;4J?5_H+BD854?\JM[=6B&%EAN7X'W M4G4W8IH[4MVVK^[5.1Q:4-H1U1THL_-.?&?KW,^[&A5ZF=O=VRC(&N!JQ@)8 MQ92?&A53?CHLAJ9==+>JV5?0 W2?TI)Z\H#)6\ MQ(3XZ!UQ;5(R^4=1N'&5F'HXA]QZ(&Y>5MAI'D.PN-Q04TA(QR[JXF#VTSU) MEK6Q\#UQ,T 829>422T;?L=I?M'-,_ =[3PJ :!KV#6C 2'3Y)+#)9(>^G%0 MIKU(I!%^Q7\1"]OQ)%9XN(8J;OU]P. M$9]/@*7%S'G?F#GO#[V2SH^)L]5H:^+(=4<]Y-;&8Y@B&BY[CBBCS*D;DH9Y MY6QXZ>&?&Y/JYT-O3K@>ZYL$\Y:R((&UD?'Q\=*)R5IQH',[- M=LBSL(-X-G>Q5L9=V;5NL\4B*FO3^\GC942?K^(997/Y#6T>W5\:>70KQ+R M4_-FG)P7KNFAY\IM8?L-\[\*DN^7ONAQBRLM\*.&EL(8V-2M7&+ M[G5SGX_.R9W_0A*3%#8:HH=-MY%$*]-6ZUOQ%_'_Q!DB_\W_!U!+ P04 M" "Y0A-51CU+..(M 0#1X L #P '1A>60R,#(R,3!K+FAT;>Q]:W?:2-+P M=\[A/^CU)KO..4"X&%^23)Y#;&?6N[EX;<_,SG[)$:@!383$2,(V\^O?NG2W M6B PV& CA[W,&)#Z4EU57?=Z]W^W \^Z%F'D!OY/.[5*=<<2?B=P7+_WT\XH M[I8/=_[O?;'PKA_#<_"L'_VTTX_CX9O7KV]N;BHWC4H0]E[7CHZ.7M_B,SO\ MT)O;S.?JU6KM]7\_?[KL],7 +KM^%-M^1^B7/-?_/GM\_%4_V@X]-_4H?J,F M:;R>&AI^=9(7S(?W7_./J4?CS$>;_&BL'G6C8*]>.YBW#GY"OW [Z]D:KAEV M*/[[X>)3\GB<_7SRZ.LXM/VH&X0#.X8SQ)&:Y6J]7-\W!BE'HI,:"#Y7>L'U MG>,E#^D1H7OPL 34>;3]$OJ<2<.R_%X**+LI<#/K_%G?*=:KM;* M=0V63C#RXW"\[_AUX&(;0L'*HL_1^[U3SO'@1\+/RY?P7YV MK Y_^FDG%K?Q:R;AU_C>:SGLN_]7+EL?7>$Y;ZQ+$;^UOM@#\<:Z=6[?6FW:OW#MU\N7]9/?FZUSN%?N#RK7%[T[<;)-]SOMZE]?E/[7&*PO5-\JU;= MK];N\WKS^)L #(5-P/].?0#C^!C@$]K>F>^(VW^+\; MB] -'![UX^]+C'GPX=OE5SI97$RM^KT"7T=+#+"/6'7RK?9-'7RUS!CU M;Y=].Q0 D6]T:? @$7VWS#@GN)9S.59C:DD/&_SHV_DH%-_VS%&&\(T/WUA^X OZT;U]@S0N0F0>],EU'.$3*\&/\. 7P(/0[3"7N(TOD%5_#(,! M4EBYN@^<, [P<,O5)MT4/FP.IA+NFTS2V7F?T,Z[UZDI5C-KBK!VWA-EK66B M&62W\QX??X09#:+<>?_Q]Q7.Z,*] TA9=Q$5X6(_RCC541C"2B[$, ACD!0O M8SO&=?PNHCD+^1C:'10MY'#RTGYSVNT*^/Y:G('<.1!7]NV%'8L+ >OMN)Y+ MTLA'QW5; [Q+=[+V4>5]\(ZR=@%WP8XU\EU^"Z@5KMGHC>]Z<.V%(Z &M6RU MQM4!9WB4[@OD! % MH".(#/P$"J)O(M(P8(,6J0UO^B1EXEU45D)!Y39R=N3/*-O]M!.Y@Z$G6/Z1 M4Z4'Y^FB8!2JV> Q8MEO)$@):'.P0\EIZC5!!*6_U=^[#O[2=45HT59$IOA^ M?/;O-$N=?#F9[G7F?'*V(7&3Z56 #A7&)T".[Y/MJ)&2WZ9> QZL7I+[3J9W M4J^H[U,+4%]*D,Z& M^\:=>_7QKAY][BW'<5%Y 'W8=ITS_]@>NK'M_5 X,!<&/Q@?V.+#YN+#4_"' M"Q';KB^<4SOT7;\7_5"(D+WY'XPC;#%@DS#@*7C 52CL:!2.?SSI,&/G/QCU M;\]^,\Y^K72?MK8G1K"M=OC4VN&&NP]FF>JVB+-1B+-YUL<[.9PG M'<^U5>B?6J%_Y!"UK3Z^X>K3$^/#5G1]_ M6PUM,0UMBSD;A3F;IY[=Q7-:(@RBH=T1)Z(+H!?/&&FRM[KE-$MQFBV^;/G+ M,OSES'?@C]#-NPE@+J9,;G++4Y;B*5LNAUQ@44_KFZ"?'/+5&F3U<'%U!+7!/%G;L1; M,][V0Y%SK2%_F)O ?(N[#X#CQV 4;E'W45$W ?D68 M^P P7KJW6\1]5,35$-_B[4.@**Z%O\7XNZCXJX! M\RWN/@".7UQ_*^D^+NHF(-]B[D.L-%MYX;'M8C^(M# 9+;;U1.0<;S? $_$8 M18;6C+=;3\0/ZHG(/^YN/1$_IB?B&6#NUA/Q0WHB\H^Y6T_$C^B)> 9XN_5$ M_*">B/SC[M83\:-Z(O*/NUM/Q(_IB<@_YFX]$3^B)V+E>(MM8 EIL0WLY((& M5!M#O)?=G=_ ,VHP]5-Z"AQMQO@,]IE32'C10_>>(VE)/36/XUX#"D_#%M^E MCJIV'(33&+P$#";7F#6J,>F)\(.!Z]\U[=UPF9PW:V#U>PH*"P 4VW#?<638 MEWO! Y,M9(V&L=R_5G7=?O<:U@?_QO^^&Z8[?+<#SUF@S?=;:V"'/==_8U7? M6HCM9=MS>_"Q R2'O/*7+V=7IR?6Y57KZO3RW>OA^ZS)5C#/N_;[R]/C7R[. MKLY.+ZW6EQ/K]+_'_VQ]^?G4.O[Z^?/9Y>79UR_O7K??KW<-O]E1W_5[<0#O MGE2.*U:]VMP[HGG;(77VU?]>ZSH^6E^M"^NS]2X:VKYJI?SMJ-KX)ASAELNJ MG??5>"B^=9#189?J;]_JLCOQM[]^/_VY&9_^XH=A$T9<5?MPG&_G?:U:_O=D M>^5WKW&I[]=\1'__6VV_^G;F!/4E)@"H$'"-$^!ZXS?6YTOKYR#NNYV2 M]4_A78O8[=@P EQT91I&O9L=K__Y=?_> M!]0-PH$=_[3CWL9OVD'@";C8CT+P#P%(0B$ 'X M) E/6U^^_-+Z9%V/UM4_3RV#T#61MXZO\.?:46./44@N9 68="?6W!\M_P!1U>V.=]Y_#$(K M[@NKZT8=V[/&P@XM 8*2,T7!)Q.(?[;'5J)4L''0FVJR-[H/PR9C*\C?I:CG+WB3+ M#^%AJL4XC[O5?O\1?.ZOD+EW;BS+9R^2J)(O9NY/%7%VTOER>$:M8 M,1?9--:1<(E8 \MBSM&J*$"[_.$ MY8](;YV%Q*>DR'V$)[_0@S-DE\;^;]YP_]>KWVLKD%TFYP1UO=S8.SI\?"ZV MMGO(D!PG(7^<@OR%Z+D1HE_\!>"3#?VJU_WME]OK_XW.&RN#?GK>G?=7K=\_ M 4&?G/YZ=@P$?/;E^&GDR=W36[L3TW*MH&N%>IF6'5G14'30A.-8+D TCJP. MJ)7PVJOU\);8;@,!=83G884FT$)^VJGNT.>A[3CJLYSPQG7B/LY8??D6KJ@0 M-,)R)_ \>QB!?*;^8EWT71RJUZY%B#>.I^ 0!T.EK[Z+G?1N?&3_GE6KW;TI MN9I]7(Q<;#E$D_L;JUG9&\;)MY[H)E]FHO!\D7,"N_=3V'WF=X(0;A^V6V%! MT^-@!!+Q^#AP9B#[_V[;XJAQ^%]Q>K@R9)^[C)WW7WZ??R>^>QT[L\YD$0U' M'L;>(QV&_)5>=T1';ON--4([H>?Z8OK4TCSIRKX]D];2#KT[[VIH#-O#ZROQ M9[UW?UEX\KQF+ #T7'CWX.C@X/#HKA-+#@[^$=Z/ZA8^*_WN&O@AH:L%<@H( MJ7"/_S$*WA>BQGLL#0E]V?N MZQC^_!I>!3=^]JZ<#[^->W_>=KYV5F&ZG#$UW,.@IO:MJ\"W;VS?L1?>4SUK M3\0WOX;G87 -?&R&L#'XYZ]?_CRZ]+IG>ZO>V,3\BT@9JQ0V&H<;2UH?LX[K M/(ABV_N?.YPM&>[]KSKV>G^-3H;>J@\K-3N(&7NU>O4Q)(S%CW6M1[DKP8 : MUS $='6'H&>(6]$9Q(ROLH]H>PM/L@I>QA)" MV_P#2"P+_XC@_#PQ[ >^LD.50'/O>",[Q_ME:N'U7LQOS51UL,&NP0>%KJQ"X^S+4F$ MPK&&HS :H5$I#N =5J9J]=WV*^2 :!!N=>(W&TC;ZG)O+$>P:U-\YM,IX(]( MCM.PY:YI-5=N[)'54-B=OM7Q["B:K:1*4-8W!90FUC_):1E<]2JTB4-?C@?M MP#..;BXH]_:VH)P"Y1=IR":4%+>=/@;B6! M,:_KW.B+-WN#2UW&/;R,BX6IVWC#]WAOM;@I!4$)I'&MWJ,++5L0_/RA6QV? MCO[=^-!=@2 X.2>[D>$<**S8VGU1J=:;@,BA=6U[(U2MYHN'ZW,/ZCN>KO?5 M./[24Q'QKE@*/?,=- X+JSVV.GT!((4?OULN"YN&D].-+-NZ W/T[=RU_^=_37ZIQ; M,Q: #'[) (C]IU.KED%H/XCAFS]'+C)[X/$4EA)24%)4+&1R_P9ZF_0G"C)* M%+,M5D\;O7\-O)$?VR%%U831C+#%F^CDNM_^1H9.W">%WX?S0"O2+J!Q@8 ^3%X6QQWXXG5W]C1]-T M26_+7;PJ6;;O6+MUWF5;",#E4?L/V (^3X_"2[@,.0X&'D:T"EJE'<764=5R M['&T-J*57[D^^F#AD4J]B3%UJZ,\%70];6-D$C@>A2%,S5&6 MT_(QF4.#H MYZ^?HL__'3:"@Y618/;\.^]_QWR;3%)\.%O2;,Y">L_+[32#BA&W :T';AP# M(0@/T#L,?-2SO7&Q($#I'EMG*'[:'?*&G-BQ;7WD2RQ%Y,D@YJ5FBF@7HC?R M.$C@LGQE[>*N#][6&_6*EN%U0V-_+;0'T 'L:TA[E M%N)@N*'K-T[E-1X+G\0F&3F>E#.3-NS!V\*R.W!(F(X*G LY%*G"?L;7\ :0 M53GSAV@ /!VF"=5="90] %H9HRP&HX'\@BOM6;TPN(G[ZM<*;$30VDCSICP! M\I7__6^-O;>T/EC,U(3T*S\S]\>9J^)GD#O37S-61[\5"\H84*NWRW4E4IIR MY&HX^G-R?._OK]+O_2D;3U?(T5<<(;2DNV;^[EN/M.^-N5?XZL/\5[CRY?3]CI3ES/6 MLV#F\@:3L"&H;0*&G6;?\BO%KW3RGYKQ9YKPF.>;8;_X]7__NCWI#$9Q;ZU) MK',6MF >:VX\I2 3=^?(GA@PMYBIO5A 0P:9+X _H]$=-/Q1Q((K' QGOV=D MNH+LBY-Y8YS]QH6Y$=]\6'F C.[:C>A.]VV_X]H>2CB8/(4/8^T>QPZ=R!IB MF+-C6#Z*A90]?]=^E2F3KE1*6$D-BI4>;6IW(-X&X1OK;_5Z[;3V<4E=B$]7 M&IKE]8-A)*@=V'$LX"@(U !U3(R$98$ZB>;8O__ML%X[> N:5!0!O\:OU$F( M;E>0<<*7L;_XIHNZK _GC/0V/N2]ZIX10'=IAVT; MQBU_O?7$F.S8N[6F]4OE$HNX'-3W,=KN%6X]V:>,!FA[P$T,+.NZX8#-64.8 MV\:'@A 4'G2;.;1F>^2XL01*!;!"H\3ZD2M?NG34![U,7RF[B2]YAOX(Q_9J ME31JK=8I-FW_:Z4E)]SNW OMUZ/ZGY\^-DY&[DH$[#LN-',]]W"5/26R70$V MV+T>(!1B'"*:B#D81.'*=4#4B@P)#3#R8X?C2-#H'(\MV#^@&N KF6BZZ#R" MX2+"R%','K)0=($1^!V!O(R=72Y\ /+GD#G\*CTJFK4]]#5%@>>4+.E]LH%O MH4FM[3K,):/OR%YH,%@RVKJ+A=1 )4I6Y1:N UUQ%L5*ER2PWI\L6LDC2,->?$$3]Z M@1U_<\\8CVNU1O7;7P>??N_&E^>?_N@GV/N1#,XPU23R&UHV]__>R=_G+] M]?;GFK-_-VK,&S<35X#W'99K1POBRMF7CP:VJ/J&C5*S6@>VMXH\R5G3[[POJ^J@CQQ>:$*62<+J2 GXFY$CO69P#U<)"K MN?V4#6'1_OW?0?7+<)]*BIE,"8UV9?>VW'<=1\!:8;:ZBX4IJ]7&D?0E9FJ^ M:X521E;'(U#H?$=F_:W%%7"C-SB?5$S>6K^BF (_S_5S*B>A]AJF'9]Z9UF. M/W.(:L809-@IFTM7BWYK80''-U8KM-MNYZV%Z0*\L2\!+K>>L+!HK76AM+TU. H6AM%* MO05KGG43@7(W9IR'P>W8HIH8B.BK1/!U(_4Y*._6V=D9W#:P^ C1MK:W1=,% MX9N)N3/=,*LJDI[(YJ#3[BBF\O'KQ6?F.F=?3D[_>[^;:_%[]C$RP6M+5E!* M83A"&X!C6_T0E;>_(::? <*W+JZLLW>O[?GIOK7F@Z>>AZ7J5GZ4698LEC,U M22;JG[=^/GVL"G1+;_R!.',GUT1>:=4J%^"*+KN\XW)K1_2WV M(/9\V!3L^<7'!C;>M7! &N]VT?2/FN?.^^0'BWZQU$];M-I8M*KG[8(UA,TP M&.(1H2LH^3N-:WF_?&5<7WUAW=,,!-QB.&)X([\8_DGT; ]0NR,H;P_PG+ZQ MC*^VZ+Y%]Q2Z[SVMF/ 9M!_KTNZ*>&R=N%''"[ =7K3:1>4?329,)MIF,L=H MLJEXN:Z1%S<&_F 4WLSOA78BHD[HDH?]:S>I5H&MR"@<$+LII:J_RB)2IS*Z M[D)XE#M$@49] )H(K<\8O!Q&%*''A7"L\U'8Z=LR:(K?-6IC/*\K$Z<"+[5XH).[_ANG(+\9I 0FDE^:'XEB%5:UZ^I8XM M=4Q1QZH$E2>X,4 \QX3LJ.4[Y$)P6+)17Q,=)#]L[XG<#MW M(7:JEX_U]<8';MIWAVC"/X;#LD'%_B!\ 6R6*CGA$ MLB64*4+)7:2>(@E"='1N :E$*=2_PF)Y7)0D*O&JV$3%T@NH*HX88EV]E'"R MI8DM34B:>.)POG/=R]LPEWX40OH41'B-;;VW8O4B&O:O2L'^=:M?;_7KNPB_ MN2$VMM/;OMMVT;6H_IIPEV@_HW79Z0MGY+'E>.-8PC./L\C?R&N@_4Z "?C^ M3SOUG56S\$N8SX[987)Y]O.7UM4O%Z>7>>/D]R2>>OV.:MCSRVHUQVQUST5!8JIO*ZH$4 M;6#2]!K7&':YP&K4IZ*I[0A6@6A5LL@W(&N4+%1%GT3"HRZ8XM:-:,7#,'#@=0NK7:'E(#; B6MV_1',#V-)"%"U?2I2 M[%RCI\.!4^GT_< +8$-RL+6TT-0'ONY*J NR"*VPGLM-KYY=K&VGF<1C8'6D M<05+L??"8$266>PO62Q$[L#U[% ?-A>\[]O76&P;QG'<+A5* ^P<#CVL^TY- MR*AY \P;#- L:\',@.A38]DA8G_'&SE,@P!NJEJ,7-*238!<$;TM%K!(JS?& MG;K1P.U8)_9@*-!-]]$;N8[; 3K\'@$$#_;>EJSCT/:95L]\!Q81HD+Q880+ M)6!YW7++(:@ 25P2!;>0@MOT^R<7" Z-:I#UC??J1C7[$BOK&@2.ZMG6'-NS)RV69(Y&&!_,@X4A>HT^)&V(0S&T1 M!H!Y'>SNAJ5U15?X,(QY 1R>,/S@AO<)5?9'PT&&*8IZT%W["&()AYW]B4B MGSS!]/+R2>=ZA@G420,;V2< @HK()RTH(JJ=+> *[?\YLK\C:_8-#DQ "\40 M_B0"P+ZE6)XZ1GP;8GDV"6E=KUU^/E;]^Z:QEY9%G?=*V!P%6Q?+"NZ !D". MR7V#V,IM48!>8?VUHU*]6D5ZZI>'P0B6A@?,MR4-D,JO5+=4AQ<(<5CYL MP&+"#GDER;:"B%FE!.-HRU@P7(3LJW&9PF O"=6Y"=6UF>IH5]20,$2^$BDR MP$DR8&#NJEHZ/*IB^?:[=D:M(@8@$".+\JW]:M8FC:6EL!W.M8/KYS.E/RV\ MP3TQABGPQ+];#H >/GBVXZE]]@+D4\@-:%[Y I-E'*(1'W[%FW\859CQV)KQ M3!QE2;81D/PP!:8L--'+S(8XG-D(^(X=JW[!/#'=[9IENX15>/.S%!&QP)*B M#(1:'QBRU1EWO!23D1CC G["1OO"OAY;"3I(-NH &XT4@PR!8XVP:X_-K16 MW\,JD%+20@^+35KNH577 ,YHO6=9XJ4Y&RKRP15_$1H,AI5%3NYY* ML= "57K@4F,[W8K%4=1#_,R+@@4WII$4EC*4M08FX*TUA2ZUP,/UXZ/ =,4S M8#L4\Q:[SX_KP,TLFTG)[2'R#6PV*64K/C6?@F4KK3"&GY"S6,;7 MX21B#DC6E1M$O)<,5*Z.MMR5 JN44'..KU"QH M8+= 8.VSZ:&*5#0 ML#XVRD'#ICDN26D,!\!YC]HZ4LQK)#5T0)I87D7:W.BNBL$]$B^[L&\P*I&E M[B15E@K%/ ?6-M06T1!V.DCM5,K4$0O/+('H6WN&(H<1 "D[F.[-?K[#6 0P*P#V#GY-'K3 M']?!N7X27&VO0=#X=+RH]V/J/(Q*!"L;>+5C=[4,?A6B5T I69%(ID4MC42YE"W9)57*LQ,M MS]**48?874B5 3K8%T2&5M*"\"F\"AM&>M#\QK7!PC.DIII&>;M?2XP1OHBXBDT9QQ N-0 MI(M'NV*F')0Y"0]:*I;CBY#0^5F;0XJ%%E[LUS8YY:>#/?!N5ED)>0S\H%(< M-FZD+6+ 5S]E$R C#T8+"(=L #T#+N@RC=&:DTA0'3F8]-8H3Q?A-5">Z[/_ MS6:]BOQDTOR3/4G%2I:'X_4P7HIPF70?!U@HED2'Y:AE$JU9D"BKDZS#@H=<7BT@%3&9LBPR:-$W2,WSNM3]Q +?$F9QB MX46M5*\U*%8$'WUQ5-_##VE]K&0%TR>E5G+5=RFF-!3H>W$C(VC X:M[)LS) MJGGCH@9GNQ2ND* :>8P\V\?+5B(=^JQ \W*'GCZ$27 L (>$J8$0%2"O--=' MH:;) H/8QNB!%XW&7@*C^EYC&D9YX4RSU8'D;L?*WR-.I,V_6H X[[GHXV26 M(0FSA,)F+%C&]P(D(L^^B1@'0KU_Y4RB>ZJ-8H#P;8I10=N#$PQC0B!^7$K+ M#M D!5ZDPDCH2N;[W;]VPX AW0=500K^ZLGDYDL%&Y>TT*&H6%^E1$=P7Q,A MIB+J.A.;)^V$S,31,PB[F+!:F5(5_ *,?S2TI 7FG@Z;[4Z*[=0$V-"@\>GAXS[4.Z!R[@ MK@U)G* =A,SSY"WB!OC"6 OX'5"QG]'TFW/E(?L56.NP,V';&.T;?_@GVC2^/&CF(=5CF])^/$ MGA>"D[!@8+F)FJ%@#@0\(YAP(:L-1Z1XY M[I3ZFW(&,4IU;1>]H61SH#@.0[11F]/BS4.1.I[>!EWJ&6A]!R9+),Z-H XW M^*EB)_F_M4]UU(^!)9GQ6#*2-8D?*@':$5JF357FS8DW;JW>,/DOQQ C6G89 M(U15J4"6,DNC)M[;:!F4=$>" N(?4H0>=4%G:#/7SM#FUAFZR<[0U9LUDD3) M5/?:5+IDJV*9W6PK*S1YK-XPNO/^$FWZ9+H>!B'=3>G +8Y^E59BOE^O502I MF]0X1=%%/D3>1;RN !R;:Q*>.,^9_6139_NA8LWL+[OI!_TET$EW0.3KD YU M(O6Z#\MLNFJ>3[UB)3^M\CP>5=Q- G=1B.W:'95T%Z!6-S:C"CQ*N;RU[$[( MV697H/'=H)9DG44>!UE;7X"N^\DO)9WHK+-WD.)#%Z.O@/53#(.+)RDMCDC2 M(]=S=-8B1BG:SA]VAXS:ZJ<*6_>RETY>.XYDMSE?3>;QH)T+=-'4GJR]TEZU M:D5_CG!Q72'B5Z DLGMJWFNU1JE9K0)$TB\2%#A+RE9K(B]:^NT#LG(9[Z;! M8I/LKM\OJ01M!"# =#@:#.E/I4;K"#8X3NFCD/(4B%-?,1%K$H*<=5E/KR, MJE6!CG84B4';DRX8 0Y[P>W&_8IW%6AFCA :74^<1([P QFX#L'@\ M7J#,T4)3D@AUR"8H)7+.*WOL@99U(B-94VG&:!W%%>% F 2&H\%IC0:HF'7( MO(H%3Z-N8H*>"E1N^1Q*.@WLW0DRJD\>_RO0945J@5"LE&I!UKQQTRS!8 M&?-*T^_"$S7*_4RMRY3P@QM48)G,.=4/MI5*&E3L *C)(.#A1/0 MB?2D/HX+3Y8(V]W;GSZ'K[XP*(_Y0T3N.,)8!.Q0T5'B!B\3>:!73^4>XB&T M@Y!R5HJ3",\T[-#*6^"VRLY28I"0OLSF"#C ;:, D_B:C&4 M'NV3RE>%;33RV*'# M)J\4'">@8D("D4WB,^?'?#88GICS7([+(AQW0&-":QQ/@YMM;]W-M;]W? MVELWV=XZKZR>+BZ75)?3M?3.UES8;[568+V=F7WDD_T1NVM65!_6[OT[R[,_ M<:'6\BLU1*ZF*.'RQCX)L507K1R9\^Z&6UK_840H%NCDT=;@L#T/I?LOK 89 M!A+A$E##I6F2@@_1>- ./.NJ]?L)*U54385#B&ZD?]+444#E0IXL MSOO33G6'/F-XI_J\]'+;E-]0[@2>9P\CN-+47UB.RXG[.$KUY IX0T8Q8UVJ^6!GP8G5G?*1$141]RDGKRU?]9/PXRNDTF0R7D:V=/,KVNNF--0JBK=MX<'PV-O?PD/#X["R?[A:<#R( M^?W6=V-QU]VZ/)<#(3[PG5EL;NFSNN\!+<'$JM6E7YZ'F9NWQ6KEJ/'LM]C< M>]Y;/*PTI[C'8[.,!>2E!W*/J[X;YHAYU)X]\SBJ'*X"[39XAW"(SYT]'E4. MI@2Q9R)N? Q&&*B3&XY1K=2?_45U,*45/J\=@LRX]\PY!@I4*Q4WS(9GFQ=G M#F/^DUQ7^2H#=[=]O36=6<7A5TDM9Q?]<]R+Q8@'LZ*^+<,CI<./W3S8D:I1 MVCLZ*!TU#G3Z;3):B/5H'(L=@1G9AN9@Q0*.MK=?JUBM5)9@,ERRBMG#4!1* M7W@4(!;%(89!8S.=>9V*8:Q('Y1;R*+JQV6)IC%AP!KE,&CJGL\ M1B;(6A VLQ@9N""+PB%ZI!HG.0(KI74"; ET39&P(Q_SI*W8_BXP_!'^Z,2J M42PIAN%55,VMBP&A;D# MR5HC3.M2?FY<<,GJ@#".V"QWP7YR/G'I)R?'M$Z^56D"BK(H6%W86+6@;X=B MBO?O8DE1&H^R=H>%1+$PA8A!2WQ!%*!TW[(P&NGU(FEZINH?;M7;= M5XB9P%X"S;PA5FJ$5YB.1K2+S.,6&SQ1S9TN MLD?XBGJ3+#2+Q9/ +/C0-'MG?CU OH ,5LI[D^(=L8"8DAMBLS'*#"D3TPNI M4!76'+5'Z<8EE!D%=X&&MMV1Y2RX/!Z5^9!9 RA1FHR<2Y!1PP @!Y8\^^XP MN^+>'?7V+ -U\))G>J1:N8(J%"FF2U=E_? )"67YIK_\WTJ]Z?HS3$3TI4M% M'-]897YTY_UD!")QT*D0Q*=?YR-(3/*2"X7F(!/9-S:7"K?:8?!=A&6'XO" MK/G2Y<)))MXG(SD&S[!T)$+>>,/].V,3\Z_B#7T?$'V^CXW/6>3Y4P8BY* M;:W\B(-HZ=Y91Q#TD\IC2:-ACDZ-!%?HHD*7F5F.@F'3,6'#AH>TH&%-ES]Z M3#:6!-N:P;63P;=+K\*(J)T3>7MGL"T0LNDTTA&#=;TD.391_ ?/ALNF5FG" M^J+ C_P6=APN? M]2JVHV=Z@F23[;S;>7,[+Y'W,4CKO2 <;\"VLYGS0]C:W_.'7],7AV*@71PZDY::UT$U;IF#SU>$%15FNV4,U5O M7LLN-2GG,!=S^5V/2P=2YQ)O-/"MA&>_V@"2ZF22U&I4J\U3G$YGVD^H#-XU MF8MY+?(4QRKNZ,U6+MU.MYUNWG3/E6O4J]5#Z;'].M3VJ,?G!_5JK;XAZVAN MR#HVXEQRSJ?7(#;*D.^]TD&SNA8A1T[0I'*UZYSA[M,_JE)5U=6B778$?6._ M5&> _O 8MKB4^\(ZK%3WUWD\:BTO:K5*8SW8F$Q1KQS4USQ%E=)MMDBV!)*5 M'P._MLM8;AGU!M\_3ZK;9OHX'Z*I^EQ24VFKH9+R1=" MW3G=I&GSN6\N'WP/=.T]2W6QD\J=BK(E]8YW-/W/W=JK36)\FVW6SR,_*F\: M*]KL(UY<3%K_&=]/\C,]Y'KMH%0_/%B/8+XJY^^C69>I<<_6:+GJZ1:^ M5^J'#38B;H[PL.QTD?N7 !2IXQ<_G(B[P GOU4K5QH%YPIL@##_K4\GQYGYH M:GJ8PK@^*-Q-Y3,5P(P"XT^RP'2K@SL576L7$WHHNU\_Q@HPY?L/,<,16XW# M.EQ,M]$]Q[.SN2?RD%.IE';,12%DLX-K3/Z#Y\-@U.L#5,9AX'F6(V1#4PX* MU)G^E-49_0/["4854R._Q-SCH>[1@4FBZB5,4:**%5@S@EHU<#(G=OF;6&MJ MR(S:0Y:4)M5.J1Z%#A:C+' 5R94::M9M,(W-JE[WRX5* ->K"S[W),/5#E=M-.Y%!PQJ-L,GMBQG6X#MU^QU%/%0M*. M$!^7WG%+.EV*UV&S%<[M4U(-*TU#;Y8Q.[^,29DVJVB_ML54[L(X_7EBX MGX.W]?I1I5;=[;Z":X9++D2+]H2W)EO"%PMGW!-^0Y!O_445YN#[YY-6&KL/ M*O-:<18+2_3BM%*M.->: ?MD':*.;;I![7 ,0H0=$]1R594-:?4\=*^Q,)#1 MKND3_*O']'.!Z?@#J]4AV:!V=-0L%B2M(4&30!3976&!!- .0OI,%S_\_\8. MG;(7!%1D+5( BBIF-BF7:0.,4JU@:81%^L%2V8^ED) 7AS\++Q+<#EQ-7ZN6 M_\UE6YQ ,'LQ&L;#$W$0HO"-[5!C%JAHN(EM%@O&/GD^C1GP5H?9G8O]W$/- M'9$Y41&C+";_0QR[DQNV8 !^AV^!<\U]B- M1[&8@Z3X/EU*> (EV1D5RWSU1C9FYPA*XI'I"H!AA- HYU+)'F,0ZF? 3%RJI6/[LE@1=J@' M; PEGF-1.Y=*+ZG*0MXX:6G.1PYX%JH^R0XU#FQS<@0AF4F?%]DKI.EEGW( MR0 [5%,3<5A[UQOABEA'@3%[P@>R\Y(*<9UQ!RN_41=Q+!7%-17@+(*!VS'* MO;T%%2ATDX'P[&1'R/*NI25+EP0IROXBJK<3>&,N$ 2_DU MP"YGTP );9*ND.H,"S9+KE%U13XA?#E-0RBAMA&_M-PSO^K/ M8:ZK_AQNJ_[DIR>N6>ZGQ=VA5[\7"J;KP MGT<1H!0C)2'TL:39F5YQS@2$1+:28JQB0<5JQ49:Z+>LG"#C$+CZ6$028&";C:MB01:$U&7 MNB&L:7#!XGP-=ID R[(='FKZ1J)G4<+J&8^8A\Q[A.-)PYQN*P5MU,=83*0R MQ_J$Z5XTQJ*P5UG!(9F-A$PIC4JD 4 [2&<)+@RP@*T+ ,&R\"RGH-#L!DYD M7N-4*Y2EWMBTXIA6";/RNUG&JZ.85P8^F8B-<\ Z$H0QT1;Q0V]_))$N7I@D M33S)-W>4-!2!(MT1[G62^YW7#7T%"@7IQ<-@;:SX"GA#]5:-*@RAWFI$6 WD M"R\I52-"F4XC&0R!/TJ*1E1+5$#6<; $?1=P$SF& F8R U$%88M#U:-]I=P8 M_%LJZE1K5JV7J,U<=-OV2!Q-D8@VT* > A_:-"7H0(_OG#0D3;R)5^+D@K9QIFQ M]@W7UP<)*'G3(:-A: C0\[N!*H:J-FO-W&O?YI+P;C"*O+&L80\!\$(6QOG,FQN!^,E;& MYY0":@8Q2":KT(3!Q;)0ZF8QQ(4HM2*NV8_W >JIU+I=PIQK/'^VX:"4VQ++ M2=@>?)OT_:A6&E0OFEO(=U4%9W,ADM#4V65C1F18%F"O+VK[E)\(0YE^TV*! MR/C%0<:/M10A:ULD\X*9,Y.HIT6)M";L SNTXAL!9 "7GX]5\Z5YHEA0$,\Z M%+GAG%]D9SX*-53:[%EL V^AY-Z@_BC!C2Q^+FL-=0(T6H?%@B_01P9#_44' M2J$%+K8T;KLPN+X+XP6P*=RC@*?;;)OZZN9K6ZNABB(=M@B MANXGC,A TB\6 ,Y*%"1:EH7;E7W1<[NB3#9-LA?==J@+1E<26ID)#3D'G1<. MJZ>)=%5Y%X3%*%4[UHU27DTLP(-/ L? ;@DBO);5HY0Y$4-KG9*L0\^#2?:? MJ)P@<_]!S".PHB%Z&'P1X"T<\BV;\],E"+LF>0RIHP>KF%-E*J\$_W(_XNCQ)?.2E)FY)+O.\!OF0NDF"LE4 M5C+O\8D"Q'@/*8&$1$M]3Y \J%PQ!M12DQ0+'Y0XI]L?S+0;D&:G'0VFYSV) M R)&A?^ @P757B3]' Q3@SH$O2@R@ROYYHQV:-H?N#J:\)@5&NN3IG<93R6- MNC2M5+I- I/]S3#XC#RYY%$!,D.!^I_:Z>>-2VC[27EE^3AJ?!GBQ@>R*JC_@U0CD8+@! MI4&F:^ E%L@6DD?S.A49(W+(Z9.MUM%0HE8G8^O8?$?-HB1*$K/'KSV0]CT5 M$^=%H%2QY(:!0\ROJ?M>TMM$\F[+M$U0F$QB<^"V5LSIN9\(V6* K1/!DLO( MDU2U%-$7"WJX1(*%U9%%AN?#2P5;"L7LLL91>6;;DWR)]O/BX*#.:-M]4>X&6/;C2+H#; 6YQ%>]<; C^.QT,/K4OE^\[V-I? MTH#*3KTHQ9Q -T9%NXMV@:1E&R+3P$5CWU;*;&I$#+@1JUI(F$1TQ0)1K,UJC"(.:G8(8_GP=2\('(,R ME$U*DZZ,&\7O5#<^:?7 =K5J]+__[;!>.W@;I6QR7+,7UP1W:H=O<#*2 FWK M^6?LA*54S9M(,F>F-<6F9L,":Y!$>.OR]4BMZAJ(;>:D3,!F6390DX8MQX^T>4^O4GOW M2AR$P0H-CJO 6;'.%5N>7H/6<=V![J-FS &8IN5-C34J@,M8.-NI^5"R(;4B M:7T^$7P,S ,D&[9IOYZ^0XH%A0\FE4SBNQ$3G5@M"'*H'OIPK7D .M\FW7B4 M#*"[V*2#C>@M@>I=AWOIB'%>\%[GI#&$_2GLL ?R4 B M>*[KQFGE(=G6'')($92F)CAP,@'# 5B[B>DCL?!BYTV4\UZ5I+\4#5NDA(S" MT%@D:93*7$ =I1,K$+^"05^\-WG)#T!:IBA N76$"<8NR?V07QFI=!:.@58A M%T$F.<-.A V*U6OH6Y!!@ $\C)8*(&-*T8#!,#\+-"5L/)GT*T0#&H"Z+VSD1ID0TMUD)X@0PP1"83RN MW48V@K2-3>.DLF,$W/*8\!U ;H2*(.L+D3L -2Y,I**T\Y;":RE @S@2((F# M\7!D1AL-A]Z8@LK05#0I[^'1*7%.'[/<27H),#6:_>#^,-S=Y*R+8F7# 20W M;1;*%\Z>!;8M% O2W&0$H/T1M$U\*=$7AN_?W*R:1[HW2RG-.B ]V264)TB@ ML]I+^&(D8A!@V&5=+'",AUH'VDL2=U8J1$^2 D574D=3N:3H'2/>(KT6 M"G^0DTPN "U-A-6T19 [; ]MB;'J5[$@4F3[M C_[/2M1"HV\2CR"1HV9[T* M"PW2QL2C2/4ME6O30@6Y'4%>"90#C#BLBF% +)FU,M7IE]T)M!ZW.[$D"9)T M8$0REUX/KI'L'N1I4[Q&&M#,?4U =,+F-AGD/&%R*Q86M;E97TD@8>\>PDW? MKQ,H2^O!;JTJ@"IUI6IVI<^/)$,9_80HE,32D ]RVJ10LO:Y,ZV6 DU;;3:ES$ML'KR< MW$7&"M=IFT!I*R->QY)W+N/N8KE\F)!R2<^]@C4S :XK<<.>NP#'[$S MSD1NS:_2S%H[]I&0_41,TF"5CF_@3K&,=)-T-V.GW3*]&02XV1L;ZHB%2L$]4H'7YCLF%45+C+Z:=I1J\6JD4,F=B 0W14+D5')N^+ M 2S8)K,U1SWB#VT1WPAYL]+$?F; *%X:G"_)*V,J-I;&=.9D[(&=6RHZF&XY MM$;BCUE!($FRV PSN/)L<2ASVW9@UG:<^IH=%3"+L4!#G)2=B<;Z';RB.R&Z M2ZYMCL)*OL'@+#>*M+C*F4+I[8)^ OLU)TLV#3CI\I:SP)X%:KJ%83P'64W' ME:&C)GI(U-$7.!5N"J.]C@^ UNYS92@FX6D+GJPAH)RC"DEAI5OBE6+1MH)!V_( M2"_6%N1MB9+!+/*B!V7A"Z)S,]?(2$'-C#J3HAML3"A+?=;J4<-!@9*\PKA? M4D%F!G?QHT:X7^KNSY@ XWQY4%&^+)+64(D_7ON=S1(D="-<["W? ;$%2?# M,)XIN"@/1&0P-#;,&7I:XC##83'3T^?$+\3T'I.\M(XISYPOA%)>DK61I$K[+VG,R/K M2C8'5<'T%%_\"N(KKLO]LF9^Y>2G(Z=G$FEJACXU!,%;#5!U4,3AG3T*1OEC,-]8=X+]GI)(?.N:R83D=2(07DL0@2P05CBP!+ MR$KH:4=$(HNAG2Z6=F/]J/SY-5UA?L0\(#4J?&U[\JZW(D'2>4FG\))"' HC. MYQ2AJ5)):5MZ\C9FZ@[D%:G"I#L@9XUE!BS+CFD.V3@\0C8$(O;MT)4>8HY6 MP3EAOH,%_<*U:JX=P[7JUC.\\LS3=VT]X7IS/&&BS#(=CS#OBC>(GNPHR49, M+,V 2"KYPS#N2R&!M3H9727]+0X95E0LB>8[AF),<50L"5%Z_XW/28AOUJ-9 MQ)P4 G>"K-#WTTYUASYC])SZG)ZP?O>$LE(P)IO8PP@(0/WUUE+5TJI8?>V. M$HA,EIF50IL3=,:%):LSZH&J7%)*!0W=*%%Z9@6'Z9"TA>LU3B\V@VG*TKEF M7;?DP45VDEDY3D.EL014LHM4GLGP0.OU1FT\J2"I6'5M&"\.C>Q2XTGIZOM" M:_=$,+A>+0DM(!%80@]N==]!,@E" %&OO5NO[I7JC<-2O=E\E0%123P'U9<9 M:YX"]XSBVY?H)RFAN7OR'#1M3@^_6 G$NY:%Z]AY_V+6O(<+;6OG_6&IT3S@ MRM+9 RVVCB4+LLX^N=_ZP.4SCNO>1W0<<&$J#H[!)) [2&;^\=SG3!8YAWKI M"/ UXQP>$_@+D,W]264)96DC3VB_?OC4Y[-RXI!^%Y;LY_@M-O) :J7#@^93 M'\DZ2>8\7^>Q?_3\".2+4%:AC01YK50[R+R][PMT71 Y5\KQ1R,])4,!P158 MNRW/L[IN#PO582D"K@2CJM.@O;<[?Q0TC;/2P_;9.9$AE5JM[+W/,R1VZ&(MQ8L'7!RZ74],PU[KQO5$N'^W>I MY?.O]*?=0+U>:M:J.=[ (G:1I=>O3"EI3\92UB#SU:578%BC9H^C4/#@3HO0 M76MYN4:)?@YA&XSN#IL0A3E/;G-Q?KD@CUSTD)89)R&S>N,H"TTS@;'H2O($ M@MI1J='(- /\,""8:3M\$ 2R:'SE4'D(4WOHV J!F@N![?%8W@(BS@+ZD)<<1=_3,^RR,^!Q7_K?<# T M2K5L6^B/!89F::_96 ,8%N&%JP'-RAGB>Y"+GDC697TX[Z$4N-:WB-K>!BSB[@?O)DG= M!'5Q^_M4?8$E9LDDEGN\^7A.J(G5;=99;E>3C]6LW#VT"7',D[TLLML/8-P@ MU:&S&@K5M^?\Q6[TBKZHO7W%*>5']9<3*?-4:&]J;C,+XS>N MVKW7M,[5-%PV@')/DP)T24%D%;2I/&.4#+97,XO51?9 %Q3P["B6%D,5 @JOBC09NK@1C@*"MPJ$Y>JG0&KY<+O1CU ML%4\JTZ\3U4"T*GSJ3VK(CR^P)DXOT_G!=LS>DSE.\6 8NFF6T8D54M411"" M6"@ !U4H$=Z&P\AL=Q:]T75H;:]D,9J,=-B1 482UI:KRFWQH\FDL,B^P:$ M1"Q H"F:3D]CKZY^17A$H^^';I.3W4&BTFCC[EAW"T5B.K->-Y&,F)B MM:UZ/SNF?F MZC(!C66-=4HL'9H#/V!/P^2AG%-*RZ*$# ONE M+!V(ZS$8EQKW)N6:KG>&=E/-MT@VF8E6$V&_&'QS%F"QD'J@W*;/(1CC(5'O M>3EI?N&WOACZ3GL,6E/0"^UA'Y3% M4/2X2-,"JA(W'=KJ2EM=::LK;76E#=254IQT8]2.@RE7>$[TI8,"K#BV!UCCC,UV!##.4:4Q.4YJ3^:* M$Y!,=(2FBNFI-@>JHBF6/;3V:B_5V";X)"D9RZ7RG1G>SL3+J,(=R-F/9>#3 MQ2V-KH]4XVY*@]0%T(UMJ164U+F0QIKIY)3]F&2ET2:6LY_HG$W:9K/Y36)O);1FQ[ :C T41AM5@2.9,_IWA9W!Y00>:\C MHF2E>$'Y_KJ6S,]&+9E6NI;,J:XE\Q0U\G)F:7D6UI.-7_K ,,.R\ZC)YWM'F;E<.4F=/ZAE9B3G9/6[]7IF+NW<25[- M7'F>4O[+TS?I\\GYY\9FES__W1X,W[8F]YFG=.]F:7\_L[3&#Y/POEB+R M++&[\([$^8R"U:934#=[7P(XU!U3;J]V.+F]=!*U;L'('7I=:@^)[GT).SC' M41<;*X8BC&1"]81/DGR='W^7[NQD:C>FE<0B]+7OM!N$'0*<30UG@Y#:TNL@ M%?;3)L"3G2S=2,&%NAKAL]CM5K45Y=.:!?\^ALTDY\V=V_&U(&5L2E"K;U\G M<3-Y;]I-'3O; >P(3S$((^DV9GR4-33\7E($HUAX42_M'5"!KKNJK9>H\@8E MRIOQ2P/L4<'M835=PJ --H<8DWKHFY^NZI!OB#.]2G@:!392!25D?[0(X7)T M4.?VAQ23HOI VX#'44SD*+L#ZT"K7RJ7%:O+O1NM'G;.];EA= 1"=A@GY1E" M((1K-QQ%5LMU2M8%]NKM$I6>=@(_P,H&EP+XD1N/K=WCUL7IY2NKU8FY'R0/ M8=1>:6'71MB%++H"#^),%-(#+[=>O;'LRBOK1:VTMR\/NIN 07-20*D>, U? MMD(G^@V &\B]70YLS[,^8"4">*)8, ,&@.9W+S^T7ED@90E&S'-[W.D+4*C. MD](,YQA89 ^LW?/S\UT\'0"\9" %"H_R^\=\S=*G=/+XY? MR85+[JO;#1O'.1D%J X4WC8JRKQHDI]B V,T%HK=F>Y+"^"YNGB%'!F$X,Y( M=FWE#N2C(4!1P<5HG\O=70EP24<&&#UA!"K$$,_JV@: LIR"U*:@)L*\L4% MTVNV9"3S,'J"-<

+-ANMYSLMK[Y-RWLN M:7DM$C+AWO!%^=I\HRP8.3T(MR&\CD G&3-GIULO)^U+*RN(*]-XV4VZQ MR*!%C"2;'RZ2RXBAI\KW8JT=*6<4R\[P4W2%>D='=<5-R'&&D_]!>50SPRQF MI% U&YEF^_L'B3SJZFM[F56&%U[]V@WC/.45( 5S5&+;(@26A *4X\*7(=[) MR%2?M9WUV6[L,3W../NDE^4(07@A(I!N.WUB/QU2\C&@W&-N-:H9L9(;""%LG$O M\Y)>-Y0RA9FG.K*]!;G#8])AILJ12MJ>^^2&!A'N+]0JX]G&4.[NU1ZP_W7R MBRE1\.[0H_P&<#5JVR@VN*<.%T+&F5!8!3HNVZT*HP:(%,?.B=!QL=74%QT8_7MY8>67"3* M_:0$1+)FOER0?M>+@F+!<4.V#^IX!Z4RL )Q$XP\A]+&VV2YMPWX2G\7#. . M79!7\^.'Q 3R. "N_)5]B$^3(;Y>!RN&IL $N,M@R!CO(3+<]-U.7V$_GC:[ M:WJA[9.W%(-C __/$0S==0$QV+^#7NQKD1J/J"'H=H$PL*#\=S&VA/1[,S)C M$P[UC<6(%B"Y2*#SE.C950[W8H&7B)4*Q*T(.V[$7C>XP+ #UY;GQN 122_2]W,7.%!2V)Z*X6$!?5$E7-V&G M&[QF TZAWUR/0S2L"O=,;2]*(\@(L=N^8[0*E0>96"1("<8&:1P90,: H")5 M3#TP=_+>=,\:7B2!0Z->W'?#>%P>P/GW=63/8" <%Z#@C>%IT1$.M6Z9Y,@4 M43@T.J.HO;JP7O+NF7P9UMP:]0!+.'Z*2J/ 4J@:49W?GSX,[6Y7 E7"/LB\ M&(?$<<;6&",;?PM$W]XLL>(IZ+U)[J&;9'5;O:C=GRW*T&ZB;S<7^IU.^[K7] MM=LWET)5?6N#>B(FKL:YD0QW'M*]3V:1TTB5FYM:UAZ+I;* W%+C+[&P'V/[ MCVG_O!_FDA(F9<-$AMQ@Y&UDQ^0MR3PW9S_UH_OO9T.YH>.B*NT[^>6!?XDP M^%$9X.KVOK'<[XHZ4Z;M!TFJF-2P4.L$Y:J<4JZ&F*!HZ%-KQ_ IA]Y"/+*R M=Q\N^3AX>Z\=U2O-A^XHE\ZEQS%) .H3QJ!! M5)MA>%C(L/";-&>6EV3T2]M\5KSN+ZJ!^N-.VV*C[[J!M0DF)^W$W/B5GBH_ MP3DRL1P9R)2OT>1\:%8WO9039?;S;3S;/R@=-.=EMSQT*6L&P]QTGD4@4*M5 M]E>X_\U2&R<\\!NL,^[O9^%AO@7K6K6R?Q\+1"[TO$\BBM[HV P.N]AD!&O6 M2LWIH,N-0;#[;VR!E(QGP<,6OY+K&XR&]M/XS$_O6EX1UG[RKC<*8HTKCH32097.ZH]9*(]^U M5AK;6BNYJ[5",<'']A"W;%V(*!B%'7SND^OSSKE<%%YHGP)@/5<8 '"QQ?" MX; W]""$PNA%Z?K7\&X0CDNJ(1Z51!3N-:)0B4(_.1@Y\3 (._1A^$C&F\I2 M86V72B!&R4#%PM >\S#P58AA=DD)0'A.O9$>9]Z,'.GHP"FJF-=4,)\!(XD/ M.* &5[% M0,QC%,5MT+YARJ0V?YW5=W-[^4\REE1!95,A(U3E/,=M0*+!0KF M>U$K-8ZX/)Q9E0N^WJ_SU]/U *UC65.,ANYD32[+KV%7OQNC9B7BZ,#N](%D M$0%C/' ,WL00YR&&5I> G[K8!C,(XGYD1>,H%H,28#KHW0YGD\2BT_=!6.F- M+?T:5]^,(C%H XJ_IH&QP"*'FAH%$"=B0?M<[7/@QO0CM1@8<72=/P 9 M$A0)DHX8X*8]R=:Y0$:Q0)4K;:+;$OMD=."=9#K3A;%D-"F,TJB6K/TJ9F8< MP0QP2I_./GR]X #>H3>*+(S]>DE'%E)(KQ^DU*2V[6'IQ^F.H3!BJE,HH5?& MF](G-;&MI--EI)*;DM6KPGL>WF84SCV4[6"!S^HFL%=J4%ATA,4C.:/#!F3J M<1G:H2><7H;_"\083^5#H7/+P_'A[W@LR[Q.K!4G&+5Q 3*/J5@812-X#=?& M7+43((8SDQT./3?)+B%^2_5H4Z, &Q$WM P?1O+&,S%[F8OZ21&;-NIRC@VS M%AGQ3WR%L\M4^@XFV4T F;. #*9D=06=;0=4I=ZJRM\^8GX53'2F1 [:W6=D M\,(GHM"_Y+D/:);6M?8ZW7NR>R!/8C):'/[?2X M\_["1M$#UNC:WJQVCO5U5(N;+-&G"IHJZ5RTHT]SAUC MKCEJA0MYS!-L5A]6[F][@D]]@KNUY3NJSFKJF1Q>VG"UU/F9KS[@"&I?[6(K)3#DB#KA'3U M8 OIQX#T469[V.4 L#AO>PA#6Y"+S0A%?@S.M9KFG"2@?\1V$WU0H:FTS.26 M\E0ZK5Y=?0/B*>I94^_9>["$!PT\EV7,Z3Q[CW7F"H6:F7?!%H6V*+1P <<' MH="4>)]UISS'_M?E::O8$S? 7D([,,RLZY96#[FBT+)BU+H6=+AW]TK6WL,5 MH-)8L/KZXT#E8*J9^Q- I7;TS.3M&6%8.9.W3?<,NFL"V3YO@H/D\>JKE6K9 MAV;GO-JM;6?<^LFYCRIV:%UEW M9M7WJP 6>->N-KS>^7[I:/]A!<\7XV3K L,22'LG+&H/@,*=3&W#\>"@M+>7 MZ1W?XL$/A0>[>X\/AC7MS#>;BRG&UMY0<$G MRZXY,S)78^N%]C5FY-Z5,&,F\+UQL1!Y"$QO;/7AWY1U8^M6[TE.8UGX3L7Z MVJ6DG-)$FM_AX4L<#Y-L,1M2QEB6K#WZNIL*4.*$57XA-&/J*\5"R_-4%E9' M9E!JOPH^GW3;"# W$'N(C ;<3R@*/(>RWC ;\T9XU]A?PX_[*@%,7 L:.QF/ M,@QU>AFUIK!B@#?E..(?EC/2#:FBV.8,,<%->1!<8Q9?DC5=+-Q0CB#E MMW4XV9GZH?DH4(!R*/OT8-,T>9 CV?U$]3^3$*Q8)YP1VW4CD$,HC:5DYNC! MNSU$5O@NX$YDH;AV8;M\-,5"5Q1G-[F-A^^YWY']#B#!H Y8+[*BBMS51*C/*JI6IFA"5L#PN$I +M# [D1!S M?7M\=OJ! M_JR]?45#?#!R[9,7YTZAQOIP=GJLQGH\,*X^PW.;1[CRXSB5O\P@? ME$>?VU>J9K,"?K M;^QE>NH?LOJ,>-X')Z#-'6OI-1(PEAY813;.@=4]%_O$GOK:*^LS+7%K)>JV2$7.0Y;G]6J;$.EA71%V;/3#X^ A(U[96"O M#PF;V9FD3[>@P_M!:(.IHC;#>I&#:V11>1K-?'F6FVJ@\_[88?VU4F.__D-# M8+?>R$PC>YCL?(?FO/X$Z?5+U\L;',JU*9/#8EG4&RU.3,1Y9K+++R*^:^<; M'BF\7]K/%J1S$C&^(C T2LU:G@/G5P:&VF+7QI)@N!?S7&4X^3HYZ /GTT6& M%H3Y$W+1Y2/09_#-'R*^:KNQ[<8V9&-/:HK134LM#%GB5J)8:9T\'0=O(Q4\ M9I1&=_VL%A36[LGE5RV8K\W6.:7>/Y7U9/F5/%/T?;8;NT=_I;U\]U?:V_97 MREU_I86B9 =MUQ?P)4MLH96>XZ*Y P8@#?5E00,D M!<\Z EM(8".$?G!C#4;4B#WJIV)A*9Y98& H-8J@[A5 @1S8'.(/(X$+0-F= M(J@=.\:PU!:O-NNBZ;H]; \?NA'W;0^%1QV"5%0T1RK%-X%\,DI'YW;PHO/A M>G6'-D6M8;8FXFBMAD>PH]&>/,UJN5]ZD,2Y2=<.L,AB8?_0GL- M,^+P,429&@%%4YUSN-PJH<] C1O;@ /4,D2%2F,4O]$ !4/BXW#4H5-2W5#2 M+7TXB#[BF&S/P[!UP)=B@6.FL1T63U>2/8I4?+&>7?]N!!_[ )"LN'M_AM#S MCSO$G6)A4MZQ;@!Z>W7"B;Z;#TU&$6'B!1X>G3J>Y.G%L=7Q;'>@F]<4"PK4JJ=6)+#3#1"Z)WS'#JT_ M1W88,R+@^7 0O:W G@3. R<(9[^6<\A><2))/(I4[HBB4(LKDZ=R10 "BBAU M-@PU(Z*<')D2P4'_U,2MT[?]GI&"8'?B -,5NET,^3>2!#"51R%YI!Z?>Q$5 M"W@3O7E$Z#^/R/1E)>;-B_S.49!Z$IS^2!'>S2: M4\5]S(K6LV/W64[6#EU9;@+XK?'X6UG'#MJ2\*[XMZDF*!HYV<(W9 MQJ ,@8(ZQ%1N-A&0#8V4UJ#G@Y3OH/G&:-2M##78QELX%> _PL?<<6L81)'+ MF?"&7<(7O2!VN;$>P;01S[D-;6BYLSPMN4J]CVCE,1/I:L: L M&US'@%"#V1)VC!Y3]V8RL#C7W&VW:T5];I8<5:Q??%#$Y5N.)=VB!T3 Q *RER5FQEXGI=<-MM829-C1\13*BV V5 MO? N:V#S\*4NRT"4I9 D@3DS-C8]V)%F:M((5+(^BG8XPE;V]4-5Q01M2$QM M;)-&YI681J5M8X))RO'H6"9J)?">0S&P78*_ HJ<0G:@UMQ10;&D3)>A0UO2 M^,%GAT47W*Z;V&94XVI-X/DQSR6FFMHT9R\P;(J)?KXG;MT756WI M0KGK6LF4=V_Y&,WG8>?#V ;3SM?.NG,G+'T9MD!I!M-)M]825C!XA(U+;L31 M=38.)(72Q%(2L_G$L),D5B:>?M:R 5+Z/EC/?22)W\'LTLJ'U MST[%!EI__UMC[VU'54B$A4P)GE8*2@J2)7H1BUX"/",%^8KUT?5MSW*$YP(G M&$N2I+J@VOP5"<,,.E$"-NAT1F&QL%@PUAWQQ,U\QQ,WM_'$SR6>^$EM>":; M>F3[W38P;&O4VQKUWB^D\3^-D>R@MN(*FH^]_NPR./6@L6QGKN-;\$*65L;W\)WU%09J*>Z+!<(&%VKB>]YJ,LZKW-HC[D/"797 MJI7VZK.R.DO% BC2]>I+ '(4<4>EF3%M*KP2K5M^$ [LI"N1#E(SU7+0V>G) MF)(]7:!YW1!IY(^BD>VE(K>*!1VZ92:23>Q)!7'Q.$/;=9YUCB/ 9N!&%&V) MT/&Q$9!O="R::.24#ODT>CGIO&IWVA+<2>9P(P9I8CR1R<_$H3@ZR6,@(FTV. WC502V%''YRM/) U5?LBU!]N(:AT,'#1D(Y M<9^Q /DWQE!*."',0*>P1R /WQC?U_N [S!>])J-BK E9F]P'X\\2D^E+23; MTAX%9'@&.8( $7S''W)^RI]M3"4GRF\+SX6SDCW(C!#O?T1<*@'@!"3LP+5" M'[O 1"*&5S $ND1 RKYZ( 2&TCQKHSTT'AN1Q&W;_VYY6$4":12N#3?6$:[1 MJ-MU.ZY@.NN.T,7D]P(<*9F#IH"!T4@/5#_ .''!V*'<1T]Z5=SAX]G/MX]G M?^OC6;&/![;1UA.VWZ\H#'FA,9=O#S># MZAM=QRG9]V_@.B'X 6>>P)7+5> M$&%)%GCB-3[R_BP6 ^N@5;'@.6#$_"!1M/&B9;Q9++3:P0B=U>%WX/47;O1] MK;3,.\GR(;!8G% [[6=%IW4)(WM4\&(8A+%R;-F^*S@E Z^Z$&C-E6(VY<8X MG%OA8MK,@'@C%BR1#U%-#+QE >!Y -@:4!$=^W['M;U+0"N^(=)X>,C.?WK& M2AXB=+P<@1Q.G^T0A-P3.[97V*SRR2[\NT\+Y>&NADJDH8(R%%ON) JCX5N\X_L/OTW"6I' M%>N82JEPOAQ 'GBBSK6*K-\PN4?:!&PI&,N/5"H(WTAP.^&GC]AP==D+:Q', MA).G,C/4&MF"@&638Q-X9HR:]4W?[?05&I." MJ&&U8AQ:![HD_ X%F/_/WI"!@ M]=[?*8$1=H5$F; $@\OD9MQEA">2/L':0QFN'$ :E6P^7'<9 WKN%F1^5XN*/EM,'H*)7CNZ>K8-_\&;%NYZ\PP.P+3PH,U>D[&D42:I+##AU= ME24O,=(Q,;73]2^$&_GA7^2>2KH!>G)A[&1_\S'31UT^5((.MX6.0+@EYI#$ MHFM385Y-]]S*8JFW'TK;V\Z[I?A?X-7Y#^UAB'#F:$T_R#M,=G5IB3.P+4# M 7SKXQ@98JIJJ.I?6YH+Q>&5811EOD/JP91,MV5H4*,_G\%R,?DKS[B$-<"X M">UO"GR%6!CL4JT>(C"^ &N_L=$C4^840&G6O#0N +E9AZ3--+#/'O6!4\;K M\4[=39@>/ZJWIB\\9RX:P?F/N88.BS\P/[GJK>0Z!]W]WYE$4IY@)Z$@R]OZ#;;P M!/;7\.[1U86XHR/ZV3VS)\Y-J4^>#/.!YYR!0C^"+^4$,7_,G5"_L,&L& "- M?Y[)._9%'1>6=&,!NADWO1"Z- 7=EW@=B:7&ZE[G ?<*]YWIR<#TJLC.0H;0 M@BORF)W'PN@+]NH6QEC5.C8\:KMCII(V68I!%HFA,FYLFQ.P,\],CK<)U=&_I"IP$FWN^"->GEHP=0 M;8+*TV@T?&@"=C5KMW<!ZWE*DR[7) S^&QYZE.[9/']*Q5-Q_N>3MQ)&30M8)P?'- MEQM,:'S;;Y*,T'K.GGMJ1YV,(8K%8\[["S<>=0EX7TON$05]=AO7@X)*Q7!E MXF3EXM(:2J@<<4[9XL)*12#6<'ZU7W57\K?D)5:;3%C3S.K(=.OQ68R"_\'L MBKPE=(/3F_K7J[/KNQ9WWK@\.^5J+8YB^QT>)NSYHWMW?O?6$4,PM] MXO@;//+\HL?B\M?OGV,KNEL#3,YG5(+. T\ [B:(Z;\?4Q2VM],I,W!?D67; MZ_O(FDN'5\0!YEOU79CDD]G<=BDIT(1JH,K;ALDT_CNWFA&NK0K5-%*(> M';FKX5<:2EO&ZFBA)(CM-MHO0C$OMD>"\NE1;VK2]T<1 PC/[W5#OW;Z<'*9 M^H#@P+>X\W/3Z./WCX32D2#:!K[A2"@>Y<4WG YJZ'_?P(KOQQ9\\T'$EN)C M[_2D_+N,AGII4!Z:=!>JO9'0%H-73;ZQ-=K)Z@KE,-*!34^ZQ=%L"EMT]&9:(K+$'Q_ M$?SQ!>YM_ M!S>#7W:3J&[]@@B_")7GF&RL.?>P42Y7X#FQ6LD?9W3\(FAGE_:R3G!@OPBY M!JJEXJ4X)DG,C^]HK!^)M\+]W[%E:JQ[%JO:,5U2_W\>>;?( !1>FAI)*;R: M4?@+H:I=VLM:,8@73>)$4_M@?=I>E9M)CA1BP:*2[:4-X]9@SS7NDZ-C$[$F M90,F=2 9\@.K#S4)^P)M)^9])2<(%?];0?D>%M#A9B9>Q/HG'@M%S-MFDZ=I MC1;+179KSEK87(YVNJ"N9"S!<^O+_%_P51AT0M'Q0E@.BV0C4?;"PE[!EE/#)!' M04[E-]M/;6"J&B<6V)\RBG\M5%9X:<[RAF[9IL.B2PKINJTL<#]TXU2=M8CL MF)B1X69HA&L(624\Z\Z4T< +H(%=VLOK<:8S6JMY3?)\\Y,&JUB_/.R=I *Q M2FZ5+I;;.M@9#U.MN#L3/>)N"2[/71_7CF?9I#EJDXK,)M6(3>MW#]M1A+5&T(>T4 M=>L>B[H>@F(\3T17CFJ3$\M^6IPVH<77P B;N4*?_S+B> MKX+/:U C5ET>X(?_V*?'LQ)#IJ_8K8AJ>YL1A4DMZ"7D6E^Y/7=8^T(<2K\CUYVTXNF+U0 (VZ(^?UCPSFREM*&M MK&\K!ZK%$CO>+HGE!*'(W4E##?3'4_*HRO!VMI^&+A^[L>@;ILTV-7A9V#BM M#; ^7GWF3E [/:7.+]JJD;W&Q#N3*-#F6^XFW+W3U>__4D MI=&4]:VUW\]>5B8 M"+&KNCA-UV";8=DFMKW^JTG&HE'B'27I2/,Z"^[N,UUM>_UU>A#L M%V%C8WBP60LN<;.M>!3.B/NL/]",(2$NE3<=$\C0(I3.^9B1WV,Q1H)'ZPA$ M\CFP .[:..;R^?R1*!:$2M'E-"LQARL)=NO&C85"QA/VER:WO7XLGO RF$+3 ML.RC,W]@E5\TQO:$Q+D6.?M)'B'&LQ3/63T!+%0O#HMGNO\>T^.VUX_'#UX& M0SAWY\!@*^F^SFJL_#8J?J[JK/Q4136!DQ@FH\RI 8P6'VTMU):S%MSTU.5, M!B\85\XXP?Y2XK;7C^/9>WX1?" 85,N=&+ICL;TT#4V5AV,YYDSM9D51HL\7 M4$[?CO.&*&X0RZ00A/P8/>!DLX)K<2TP<@_#U MRJL#%6"L+1.K@Q;+7GN&$.VK.M>5'H$ND5G\K]0?_'W'G4CZ0WSJ?W;;RJQ, M_]XF66RO?)R1__Z2W[;7CT/^+\,48)8YI?6)(K6P_/_DZ,0KBJ[,D_\U#!;< M'G.?-=#'Y=%P"0; Q'\=9QO3R38NW;/->.U87".![:>:10;VG="VO7XL0L\H M/8+2P21XX+X=;:;?:'TN%69U?VN MRJQF59D[5949GP32&16\(M_>L)A(1"J(XH+60.65&Q(DLK\@4FN2>\FDOA"9 MMA"1O&+_ 3%9%Q".2"8V K+"1]JB^(X=C/V['HUFI)J1ZBN' M0(*D^IU^$8T@@!MJ*T]M+%C%6\7N 7MLNEIIA/F/.$N4VB'<5F;YV^(;X?),\7JF4^7RAR M&9?+$'T>OM1=O$:-UN)4RW*H>X/*80_;67W10)-TBW,L%+&V223+,8?N$WUB M]PQE-TEA_K\Y/B=4,AK):"018I9BY-N%X^ZEL]T21XESBP M.3J!U'GY6]^_'17A",1R@T>6[&B4J7JI\L9C/*&?'*2?3H5\Q\%-=.D[* MHDW#C_WY;65#!OG.Q!+>BBM/NLX=YU/GPO_B0&_)5_E"+N/ VZ>$G2;"N;K+ M#A)>+C[A16M(@0:U!<+T[>ZPC9&1Z-;I9/[2*\R,21+G3R1+E3U)B>$E.623 MQS%BP_^"Y +CXU%56+K/^O2T;8OC7W%.+1R7"AF9[3B9I6&+N&B462*[#?K, M$EE9(VRG4@3M+H>L4M=,VRRE2)E%6LUIP M*&S81EF;EG;01LDLDCW)1\OXW=Z :NNI@V*6.K@?TC$+>[YBX.]+MLANYDNA M:2#P.3&?I0YFB+X3J8-+VL^;(Y7Y_XI\J9R9 !D-;3.U<,?LY$#"B'RE4LZ( M8\>)(U.C7S'P]R1F-Z/J/\L>G!.S$WFAE.,KU6+&@;=."3M-A%GVX*:C+&Y@IG=L3N4L--$F.4* M[I950MVU6:[@SE+43ELH6:Y@9I'L/Q%EL9!=D*5B?@'Y;SE%$>$E]@]U9IX=6C8TN?CC(%L711N,=,@ M8R Q"726W;XK#*3E="Q542431ZD:73938571Z.VNDE8]/I1WA4C(Q\D).#J,5VBM" M,2\>]^S^FP^WCD8X,2\=B86WTKMQ!*2S?'HJZ7)G_@QJ%U,S_K/;^+D_"-I- M!$$#&1E&T)EU,=-PRSFWDI"O.>*B6Y.G'@N MN.V8X]QRPEZ/<\L)V3BW;)S;ZQ0W^1G-F'8EJI5IUSNT7!+:]993'L+:=54H MS5%>6D2F>HJ8+PJ9;KT'RR6B6^\,>G830,]HS3I#S]AA4&&1[VG+TK&!JK$D M4PZD2+9$AT=;W, Q+0>'5=L&1VVP@E!$K+@E]X[&<*1U=/=^+ %$?3?NN3R1 M- F5X%:/$!L4+CJF?NR)P*/)/*:8=D*?F_]@"Y/+>BQ$^[__4\F)Y;^YLS^. M:@_QRX]SOUN7K!YWKAE/L"$TE=R<]&[K1'X+H!\/*HJ0D]TA?XDX-V4$TRY!L3Y"L7KO<'R2K2YKL M\>Y+57_H2!;)4&[?4.[T['Q_4.Z4=%5=S3!NKS'NLG:R/QAW*76(EB';WB); M\_9L?Y"M:1+,]EA2I.Y6]*D<\['BP@#/6MY^^G^BJKLP4FG>#'RNZI-Q@ 5Q M)'&_XTAB%D>*$4>*$=;Q#[(RU4_43 W6W\IV5AV_ (;#B>T$^6IRVU&5_[YI MP>>2[0!K?>.U[VTU+JYK=U]OSUII;V,BY/B"5TD<<9LACR'+A?[CJ&;(:<>\ MS8<'8IXS3$XLOE7>>7G3;MT%9E*?/4[I"=I72\ME_:]9 _PAP?PB4D<';Y& MWR@Y=L\P,/])?_55]S'8[KX\5_WW>O6"L5+':S\O;VZYT[-OC?I9B^<: MU_7CN8JKIT>):V]NQRI(X@N4M[<^!<^(H26PN:6UU)=,Q:]IU3WF6*4-,*R3 MX?LX_*FP/G]*<#S$7]9? W#[@VY3\=.GDDUB M77:^LH'+KCGW8/. 'C4].&\[XB,]IUK9J9MN\6MOF M2C(?N&_'W)5\:NB&<]_+C)O,N%GG.F8CU-YK4*\'B#,2[[F7 \M,&TYCU44! MN/% V^'!K$A;$$K#,%N'$-V+IG6(9CQY4;0NJ ?&$^ ]HFT#-W"8)L;:)MJ MAT13[56=?BI+J,/08!]\>GA@L(\QZ=Z"9Q2L07GET;?7M&JFVR:BV^9V3+?] M9/1T[L0Q[XEE+:/6YK>CUL:\YOPF8LO+7/.MT0&,Y:Z.N;IDDN'.C+W>K@H5 M1CZ>.P4I*-O&?OJ'%Q]V @6BS_L:L6".)3O3WU*[Z9H&C]X>OQ$WA 4^KBU3: M/A:=)YE2EREUNZ74+2C$RNUW(58N*\1:7(BU?*E*\L4O^_#&OU%G-4P@*.EQ M&)T^_W\OG;X%W)[[7ZD_^)N[DNM >ZH,ZA%)^7^[?,[LC;O[ MQJ#";KIUOG<&A^,*3@S)5% F>-HE M#11NVK5P)PV!.7*GY%&5\1T-7@'$KV%<^/WK.&_:)=5+C4OEL-RT M,P2%@#+APP,W6H\S%X,Q,_ Z'OP).J<-&X^=Z88][9N]/NJ1;M2G*N@YUT[ M="Z-<)0O5"NTSC:*RO!SPS'=>/_A 6M\-V%\4/-3TL,[HC6SL'$WHC\]1PW' M1;H-^F+.4$N4XG>HYG\=5)$TRQA#%,N1>PLPQ:NQ9"T:O<:%W+5A'7/Y?/Y( M% M"I+$Z78ES>#] MB5L)O7?*B1++;Y'?;[]%/O-;)-Q )E$R3[U51[9 MD"V0+9 MD"V0+; JUE@ M87PA>:?E#B\:U9V)JUV?WUPV3FMW9Z?< M>>.Z=EUOU"ZYUAU\<'5V?3>S>=Y^'C?L/(IIVA7VV[0K9*9=&B'IW0S.[D1/ MQY?BKW]-J\YR.'="$6 W\,L<]G[X]_:L>7.[5/3W\("%?Q,3I7.;EF4FI;B$RD+O/EYK^"D"7-P-5IT/76#0M:N[4_I,81CZE1\))R'IH MRU[X69:-/G">(581R^'96QTV.NSPP**SPV;&+REV.QU+553)'')O\:UU]LYW MG$2_%]83Z?/P@\CB6:Q&6:,KCBUOC8T,4]E<,MA,B([^PQ%WXAB^2<:I8EV< M*N:'.S'.:>%/.HMV3B^I>V/':%5T>/VNCP*AG;S%N@=")[5IP\,#&O4S\28- M/&FL=[P[AFNC,3F#X1P?<^T!FW3 =275U.#,JLY)F@9 !ZT$'L7=6 /8F\6[ MH5[O'?!J1?5&"H:@$Q/"-%(1I[E.AQ_XG7 M'1XL)DZ<.D);G2-A4_YJ'7.8/@#[EKB!TP%C*XSP7=7LN[T9"#(02A"X=I,] MZI%H+?C*S2/MF-ZS#P^8CO%VC"#><6^;]=K-R3N6*V+ZS2<4MQT[MC8;$-K? MC"WG\@N/^WE+1E JI;[CUC'7)0H2)V>%>EAHTI/E:$;<6SDZX6W9D5]\I&2F.3&DHP,)9X 3< MU17 (A\B[C7?]0PK_%<7B> 1"="&< ,LDD'0@!SH8I()A3HNA7AD=&P)%C2) M9!DZ8L'A@619CDG7ECJ& ^_H$4Q=BBGT$(^[)J$>"D_2<8@AWB.\_T+%(92L M31/X*/Q_UX1M'=,<2Q>U#P^ \D'BCU$&:D0\VH)P.E@,CDCT>^ >](_N(5$: MNH=TQ:"*O@"="5?;-#3. .H,'8'EVP"(CKD:B&[)M+U,' :6PX,G,D6D[NW! M6FP\ @(!*9_J/S'7XSIPQWA&3P<:..8 00HO<3D>/A4P/;_Y"^EVF6:C(U>< MP5F7.3?%.O@1E16\5I??ZFX.E;O^#E'V=C+/9F[G)DS$LN8H2-DN1C*ER9") M@E-:F/YIX>U2(:E:#]9,BO% NY#X%I 6*.,A/C"Y(6073.PJ3, @#M*-'8.U M . //>R=#E!$@A?!JW@4I1)*=D&H)[SS3;+]C.HZ0YDNTO%:FOTN$GN#@V:*+3NS%1$#:N]JF> MVI<4@AF"@4["H^+]1$!WA_].K('DA%I]Q$X] X *4JI<=(BFDD>7-X=8/EPM M7A8GH4W@<6)VCY0MA(R/C:=\[@#Q=3[44?7 1%CJA ,+"/>4NH&?1B1NIAM* M]H[(Q%:?'1'(H=]W=-;>R^TE!E+H\,#[NP0D2O53TV"B'=0TDR(?+&TH@1", M)[Y=K<$DXPL;YJ1R&OZSGX_-%L,_J; [XFJ$$MS26_&=:\)3UL<(T\+WAED M71V%K,\'8QOZM"O:V]P[8 :/AO:(>P:BH0JS2HU3T% M]X >%8T\ T"4>Y?'4)#X9W1M\1DP4@S"U!1)@]]!:=%IZO<3V.DARO6,E1AL MW)8>P X'9B,!1S MH0?M, ?TM0'R38Q2(*(]EOR83\UD># BZ%!AJ$$-9T J0C%*0XRR$:/D *,L M[MXP%.8$ 6FK.& PC3DTT/A G$L: \%Y,]CW# MCIF>I/GG9S;D,2/K22"8Z#G%6CO=!IQP0)*8U$M#[4MJY/J7V%6?T97;P^*_ M\'KT\.Y6PGJO?QS;SK5M5R# M7&*V_0.4/0%)=\%JH5N U\W#9W(.ZZRYYKBGZ^"H71?+QRB"9XJS2P=6&*-\NT0"_B$S)P15LDFWBY5^- A M(03D?^]Z4"66S]UG%LQO.,E+,)C2IZJ7M^,QSR(#*&47!O< EG/R![ (YC]0OF-) MR*=88 ''AK$,#A>]8 -!$&-,&/">A$*?[5A4DKFPPS[J$$Q15W*#(1'HZN8K MH+^8ZCX2_(L:!'4^H.B2& 9,?-77=V@49(;"PR[UD8E: VRRD"(1P;03NVKW MFJC^B6)<)3/#,G!+5%E@J."FG#$:/3Q0:"*:-@QDAA\%'(.7AYO^VU";==B[ MO(\\MQ>Q7 =-7P*)1R-',^XFI.> 1NA5U!L=BYB/+AEX+W\RS = =]@!U2#& M$'B,S8&JHE*3V.0&O:'%U!Y7M?6NR'UI8M! W IRIAA">2HG'BX<-0.TD;A) MAC)V'![=>LA@F3+,W),\ITD= [0LM TPEYEA-6B"1QZ@J'<1KC4%)#.);1HT M(P!Q'0A%)4_T1$!_L"SM&1$A2/A Z0:"EFUG0@4-:3K*V!\F4[&B0AXJO%EF M,5Y],E2",^)QOH[/[ > YJK%0IJ1O-XS*X#4/:M$Q1_AJ ;@.0\/I+UJQY0#P_* M4!]-&Z+[=$M%2[ T%UH9F,#XTN*Q.+VT'MX@/I/SGIFS%YI+@=JC0S5]SRM3 MY*/WARS6VZ!)W.@IV+.> 0\\)A0C"IB4FQ2">5O,S0 J;)<-)U'YF3,LG$4WB*OBF5#TJ3)AO)6N8'$65J>PC,JQ;07I MD&&'P !6E'2"7(MVYJ8)%V''D"?++3=;Q<>1R3NE@78,)MT;-'N$!HG=WD@J M>S-8D19\F4I9QT*?9AP)>[UBS=EK7G]F72EO[ 0/<]BK@ ,\>)S3?P M9HNO<>,_VL+G7HZ!'W;W9PNMN=""P%]IOP-_I2SPMZ' WTNDELR3&#*Q'\-V M0TA]R+R"F5L<\YP]F:#9'AG=KC6&4AR@GF?1HP&>AK]FS$5# M R,ACV $]"VY!Q1!.6_(ADAL9RXNT;31,?\G>4;OBQ2V9L=4=;1@S$<2\EAB M/MB#;CQI1+DGLW.VW1/P7.!S@E-K0]3UX4L64/%1WWBD83UJ?N E36O]?H 5 MC2^;9=ZAOR<&AV&TZ&K0J>%:>VU6AU"8*48^. MW,8%J'VW9:P5%4J"V&ZCATHHYL7VZ..#-A@TKZV2*:)B]?Q>-_1KA]9J4K-ST^CC]X^$TI$@V@:^X4@H'N7%-YP.;__O&UCO?6BY19U0QY9*M#0K MX:X?B;[,J^IV RJ2%4E]GF/ 4E&2B-5J)1G70"K]4 *DRX\CW:7!V$$TXEWD M?]RK]6ZN)/220SQOR<@>N>EAW"RO\$K]=,O[;=>7,[L^AETOIE6A$@R8# ^4 MG!PXZ=%L7CAIBR)0H_31_BI=-9_/A#)AGNA'> 5!_<*)&T=H MT983*TRMG#FH_W$.5$D^0'#F^>GN%-O*YW.$$L>&58 MX\J%1YAYBXAAO6-L$AH<#CG.?]_D@_LO5 LAEEB\_FE<"7=B^:GX9L:"8^]. MM6.$A M>0A!ES I70:SBF:3;G:W&][X_%YUNWY9B]BJ&P:?/,A\_%V58\7:TT3'PHC% MH^#!=+;Q0Z2ZR1F;$/<.O[>'R[X \6&.-;1O20-P""Q+&!SM8Y%LZ#:ZDE[ M9 HYF\29\5LO9=\NZ=3MUMGMMLN9CZ6L00[Q6^N<22^WZP:+PLA/"R+EF]FJ[@?\[^..JCI*'U5K/K MDFEB!SUJ90.>YAKMOE0?D9.S]DBOW%_WQ<$UN5S$%J+P]7M/M4D$DDZ>9'+R M,7/>XD:#YG@DV/+D3;G&4>7?B^3:?!A[-M;"UT2!XE\S-B7FEGR=-[&>>6?. MD7=@2(6Y=EQ8OH\%RC=C?J.:==,-^XIH*JO]WS?JL_U>=_J*82M$5K&G+.?^ M8%'3V-%5]H*OK5,0OSF^*)9Y(5_Q_$?>#C_,NH"5KC.:)'Q QP;DDH#:("#$ M-0$A\,6*R)>$PC* 6(6%E$(LI-4S3!MKAS$;U[)I6'>"8WS]UFWF?OSH?:_? MIR/AXC$/NE.6[:T&>UU.!Y^/94DA=>+,(0I(:? "D1>J9;Y0%!9BX+I7-1<. M<>\YO7M?D-IVV:P99J0_2HH.A;P3$^.AJI]70.=Q894&J1?Y2K' 5_/%%TKJ:]WMFM0.=YLO\L7J8C:Z M"K6?AZB]:9*!I"IGSP.B6R1:HG\WKO8,FDJYO-@%N;;''+L5 M-/0S6C-[TSW!(E_]WKK1O^I^/RB_B=Z-V<0N#E)_DI8'TK5P>7&M%K_^WHB\ M#<5B9SC66=\/3&/VZX:)9&+O:FN\1KCCGCB]V'4*\>IYJ)SD.O$,=[00DCT7%7X7.,P;$5!A0 MF:^6T=/]4BV4Q3>X)IGG"[PHBGQ56.REB4_2B:DDB>;E[$WBQ8L]6#3;ST?Y MEJ\-7?:8?R/@^ 8IWY7K5[5<(;\9*Q:3+>EE+T6Q%'Q/;$#-(O=V\'D*=!Y T*+9* SWEXDNEV*7OJEW2T-TIA6AYA<7OTR^M7*DYE]?%38E?FK/) MNAD87=IZ#F2ON[O70](+ 96*2UDH\OD72]6K7>G:298"7XR1ZKINCL:I.XJ[ M0<,L=](S,R2I1!ZCZ%*+"!^KS^K%1773KN0W'[Q=KA$-RCS# 4;/!GH:W*%< M USL=<@\_RF ;MUC8.JP(NK F]=I8.=+.S3149D5?[D![_J3>%G2K[-O_X=C&7[AW^,4>;'&290CZT56^Y.>WFZ8T4HK?=B32&53Y M:L'>LU+?/3U8C!)TMZZA*0VQF&$J#[A2SK5'#4G]U+NR/QEU=7N5/0.VPU?A M%HJ&2CI1F4*NQ%?R+[4T;XF;7#LP4ZZ4^7PNR8![M"($9S(=HK0D#<0*CHVW M25JY>GE6.,]WMYD>[&Z93;FGVWTEF3+S0)4&/5<*?%5XJ=G"R]_F MNF[=$IJEZ9?>N0>;5A%C0MB6O:(G:,I(;^JLIR9X$DI M^397Y0LOG8AC7N;Z0EDLPF6FDRU1"9&PE],;9/EBTF\T&7^^^=3\=OKI^FJT M2IY_4C[1:#+WSC&>WB_/*0380V_JC@1VYN),2CE86+%6RK]X1^N&PCO+0W!M MAI8OB7RULL$8SPP?['0./_(VY'$?AQ_;H]%W^?33S;!2W*H#-D[B?LC1]2JT MF;Y<6QI<&P'\9W\JOTI72IK!)F2"48%A6NS:)A>WJPQ6WOT*EHZ!3H M7H];+ZGRJP!VN])H=D;D5D*!GJS[3:6S\=YS1]79M?BX-_B2@9.@_C4Y0J@> M?8RF9-Z8=!")0D_4)&:K)YD$"SCD8%"%;LF?[$*]_N/7]'"BL]7>[([FN/UC MU)X".6:+_ M 91PY]WA]&R[9YB ]@HW":M<-*S8RC7_>Y/0_]TXM:Q?7SI2=QK\XG*O=,'^ MJ#^WE*NG\Y/[\A)W/OG2!%3J<3 LC06Q=K2,;I MIO]5+MR\@K.XU^!2RA:^4;Y=OM\I]R2)*\@"8S&*RCRN7(49PGC2:0,C>_5V"5' MQJ2T3L5C*HA\OK"XX>[>^"UB7=JZ3DJ\M$0[#\Q(7E)PNK>A2UI34I6&7I<& M.'LN=,10@R54X'+DZ\/5J'77,Y6M-DN#W8+&Q\ELOZ_"Z[@85NF0+Y_+E?FJ M^&+[$J]VK6L3."_ _PHQTL;6I?%;8DLX/_G,C3;69-GI.QJJY:>DJ\JJ/4'C MS^+E[8TC#YU>>3>:J'DGR *F:S.1QN],(EF..?0T%K]^#M@9LC7[QZ_VZ+8[L#O7 ME<_"\U83.<-G<*=NTU8<]I!CPX/,BV6!%XLO5;U9 M_6;7+7;+\V4QSX/AGWJ?G;&S^&[GZT9;4=M]RR7_'Z5?9N_LXRSWEN$9!$OVY+C,>Y.DO"9%8L5OI*/RFV.XV[D))LF!6:Z[&RA\78)8*)<#36DCJ(<\M/[FB7E MHOSQ^;99667<9ZHM>N>(KG#ZGS46VB>1E=@9-UM=44M%W\TCNH"^FW4F3\@2 MCPFW=;5I@2]7@=2%%3THJZC8Q25:1X2X'.5NGS_*?[[>)NC;ZD\^P# MGFL14^W^S?4E\UZ%%83@]0/Z,GC=_SDZXLY5HBGON:9T3_Z&[_QQB"X#CN0J M?W/4"0(_IK?!O[F[X0#V5C-!$P ^=0WZ 3O$M8';S57"W_K+^QK^Z2BX MAG_^@O-$'*UC$NGAB,6\WH/.C%>SY'']:Z FPU#17X:%:$_YN M#239^]TSVO+">5L4\^U1]?92;\E7WW]]QW[D3A\6&-)' +J>W.".\)B!:/'_ M0 O66;_5-\N?Q55$@4MITL""R_5^^IM[4A6[AQ:9\.\W\1A?A 1=I.B&>3#S M5M5^7M[<3W">*-%[M92"^[>RO++CA;I&P/HDN3 M_KEAT5[DH:B%M=\B3+N28\,"'G67C, MS1YCQC;%%\R.MK;!P)-;'DL'?22Z0RP:B2KUS]NCQYQ\^FDXJ'[YE%)BE"OV MBZ5_+\ (U_C%[F21$TS<%U6BWK-.7I2GERS_WEBN.>_UN77?'S,UD %XW#]W M;AI]YI\K'0FB;220U"GPE5*)+U861UF3O=]HS6DV;JP.^W5AFRSL! :[!,+C M.;XH5/E28;&7=;G;2LHC<6F&7H*;1V7['K>/2H:R035N$ZK;.J'K M]$7+;-Q)6]@ R\KEJ[Q07IQ-&AD82@TH:^C32>C0B>)+VOB0F 3JWP^7^"K MQ:2P(1-EN[>;Q:;,A6E85M,TNEC"=D>33U!\H6&CG57:(^.T*GV2OI\]##8D MQ59E*K/^I0?D!O2$:PJZ^*&R=-ECXC(IA 1I"Z$*7\J5^:(8LYA] _>Y)%17 MAEKB4$E,%.1Y$>?MQ4@8R9C^WC+]<*N5%J$-8R^(3DQ) [6CIO157<4^:+;Z M2,Y86W5JRU A4*K97_7ZZ6?!S.^6+>,>A.?NV5%H$J(T=IB93>(S*R=%B1(/ MP](6-B5,TN;+^15+;3.#)PV#9PW42$SB%?EB#ELUK9C!GXG!O16#X9K7FP%! MG-/O6=SY$M0MSP9"L8VD#^0;U9V&\U..M4C5QF M#C$.%8$7J?OF^$(Y!PQI<:/R5V 6+:A_C N>-:2%!=OY[YNC:2CEBSE>B-$( M/<;]1-1#9L)A&\)A*P:--\I*C9'RE %LEC2OA:1Y S-AB&4SKN"JD=?$IG(\ M]]AKCSI-IU.\OG NI57,V/G5"#%88?A?;[.1*1J9'&:,?A9$TQ;&!;Y86('% MOSQ!G"!XDC/=\GPI1N7U&B;:V'1$V;& 'QP=74BJCIK&C=Z4AG*/R ]-T[ ) M71Q^NC>E_J4AZ>>&>0]&K$[ E%"$@/5T&_?-'U;C)&>L4LN;C,"9YD+>4;C@ M+)Q[&$Z#TR"(O.-D3&J<"FQIJ+Q?'BM6XUTC8AJ*9/7F4@8MN,[]/44:88AG M3"P%\"47D^<+)9$O1K9?3X&]G0?LC2JC+B/O#S1C2,@MP>H='&UK$D4-J5%] M^:;TU#-_%0N=;:M1WEXY?[,-U<:44P)1M9+93)#'"_DBJF&'$55W .YN M3-C0+=::G3UW)ST3Z^S9-B4@$%67S&'#)GT+D!F1UC1H(I+GQO;D([WZ<,.6'O-F;*(>]MA M6U\W93&S_Y9G>5/XDWI3#+$\8P1Q9OZE9OXMR+EG?,G^SJ7[KF_ MU1G&J_2M+NS#$H4B;GWD2 'X"<;6A5(NECF6.31?K$"KAP2:-WRV24PZ M$^]$LE2Y/3(>?LNCQE?I]ES: ,5'A%6%V#PTR.]!]ZA,D&VY M7BZV.&(?X!]3&.RR2]>Y6[O)J&M7 +"E$2K5_1ZA4LU&J*0]0F6K\UB$MB@6 MVJ,[%%>>Q4+W%'<#'>1/XQ@\F;'$XB]^07HPY'&"EN2QAJ9M; M3E&.F%XP\;8XVGG*BZXT'"/BZE<[6=HWMV.7%'\<3)CV7-*+,1$F_"UOH.Q9 MY$#9UPV'#1\B>@C)/E[<(@:[Q/2;K0Z[26JV3:J;G+&)-2;7[ M["C>KUCX MMKP[KLZ\OW2X\6IW$(?'Q'7]94-45UDR%?=.>&11U#CY$P+V ?HN4= /0+15"OAE/3IJ=YMM=66(X87MD/?<94<]@4@H8&AH\Y3 M>U:MT'.,MN@*5Z3?(69[Y#2EC^1ID.M9A3>3Y\LM>%Q0'3M8 <344^^L5&KWCH4XJ%/I,C*!-!GY^=UO7#R1_[=^\^$GW2 M0@\A/?00^&J,=DUS@;1)"3L[YAIFC@W+?F]RO]4RD?TZ)=E4"6/?.\2&X0QTV>FO*+&Y"NBQKK.=Z3QJM4F&SS ME]/[]4/[V7NN1LZ W3#>3 5^MX(W6]! 8Z6WK,-_C0$%W/+<-X7TA 19]NF2 MI.5F@U.B4H3T^+4]^-ZP/ML_KHBWDO-L8XBZ"=&16S$9=KMJ?&Q)8R0U79TZ1@J+!ZF]6-9>B86 J3#PBFG7 MNA6E;SVM%OUX49ZW37/G./F$:P=F]L9WOZ.I;#L3GVI*JG*DZEQ=&F!^U8O' MAA=ZL%0XQHIAJ1WQK H;BD+5X)*0\4L:TE)#=RG)DX6]6TV]4AN7PG4N92_J M\K)P[M97EXN\ /\KQ"A^V!5G:;R Y?JJT@)4Z3O]Z]% $%N_NVLZ1I>/.*6" M"E6^7*SR0FEQ_"D+.FV2-19W).BT@!X&C4[N^DF[O_E8V>\ 5#I\ML3G8G2+ MWQ4>>[(C :D%.'=3-@?#$^.A\:.PV\&I='"JP%=CC _:J6#5!N-2&V/0A5T( M,2V@E,<3)U^X;_5&WXK;YSP*B(-40W:*]5.F5W; ;NR5 5!;(S!:[+H;0MT0V M[G7ZQLT(@VOE^\67DQ_VGYRRO9#3AFYT%Y3_G"#RN54;O[^$Z%9Y2Y24NIA[ MJI^2.T'768%\Z?+/Y)T$NI2R+!9@::[Y6^O?_?GS^&5![N?L@[[D0-,,+-RNT?1:$S)> MZ,%2T0:6YY.WQ)94'6QHK_7="[_V%WNP3:7H[F=V1WY#V1T>.7G4Y*5\Y S_-PB7RAO#C5<5=\V9NJ()Z%'.KI2'X\.RG*FK+Q M1(Z$@9_CB\!"BI6M>J!3J&";/41@G_W+YS.'0:3+#6LG3W?YFG@W_-'9GOLW M]I2""#,Y6:I9;M22D]]^D*(Q%2PK0U)R;L MA@;ZZEV=BY39I%R=LXBFU?IB?G<*W0')[:./,V&5I\A7"@+0U/+1M M%B])_T%]?CCYNJ 0>#M>S:W969MW9V9%9:_B8+M7GW9G$LERS&'607&?#Y:5 MI\TUU3TDISA.DQ';ZG6KK:@)Z7UC[_>$ZX-]_R!>6[?54[*.!W/!:-3IH\42 MK1$[7MT8KXI%7A 6MP)8'KK^Q.4T*M'F8\7Z6ED,*TY\E%Y>7J1;EY&@6"GF^6J,:HR8 MSM8D!$V61[JNHGV6LJ)-GCK:H]&XL)II9Y FHY4MS?+3T,43+N:,3RW]N=M3U#7=JB_(^(OM4]V0=3#E85FDHJSSW:75FY5=3FN] M>*Y+:N$DW?5<8]D5;M'5MX:IS&:L14!5" $P_$Q(Q,"W.Q_N#)N.S U"1/_A MB#MDK>,-:?/_LW=F]BH3.!I4.C$E:6042*'QC>1OKK5]Z3:ZJC0IY)%;\V*, M%AG[;JU&H<64XR42+9BJ,A*_5'5=ZSC=6G57>H"N#':!+U"<_!$+]RMJ M42$XQ*H^"NUNK>=7FM\;;;8N'O<9#!9' D#\CS-./""6W;V2O8'9TL2]Q"SM M)?$AY>':2^]F6EF(GK8]]>+-'F/&-M>8Q[TL,LY)P$GG3>%#^:Q8J([7\B"; M:)K&HPH8>C+\:A&EH=\,B"G9 )L:V,6/JJT2"S4957?@,_>/P'AJ'7@8<@-FG<6Y!56AH5G;2TOC>8 ) M#=Y- %W_-6/;='CQ6N]/M@+3-M9WQL8OLDSVCJ/I839^K [_=>&[B;K&] L7 ME[NAQ5Q(B.X<>&WH,@BV!NC#UIV!3>QT6=7(V)7<&3%E7R#G!!$DW?.)^E17 MS(^7]]*&)-T4Z*.#8Z'SHWO-]$[-Z3XCQ,_Q-[P-+;@C2+&OZ06ZV3>,:@ M0E'T*:"GKK_';&']ZAG2$N!)C@7%[)J-H3GX "@"CV%I-$*'Q.M=GO(2;I"!=QIAARQ8$O_?7.4BD!9 MA5N%TW ;^B-0L&$.OYN@S)P:3_J4DO24E[\8S_GG0;.\?27)%RC4,%.]W7-& MQS(T8LF8QO5Z^=%\?)^&=:8N[19'B@FA!!U%14'8G)I4&O-2=XEI8O@#@P1W MTK-KEKI5VN,>H]\W9-CY?'66;VXC_C&;&WF'\$,=TG/F)9KM%YT+\=3U(;&( MV)ZYBQ:JK:L :@V6-$,]RB7&F"(*;@.>=-(FLF,!YPA;;DUI*/>(_ #:ADWH MNO#3O2GU+PT)3=E[%?@TL:+,N<[H_K2>KY2U^]P.:$ON.;C@()Q[$DZ#HR", MO+-D;&N<&FQIJ+Q?'B425:G2M!Q>#5M+$I ):EZ%DKB:/%J>P2U*OIR?:2GD M3MJC\NE3IZ+>5?NEW?)2U7N2?D\L#GU5=H^8G.R Z-)M3J)6/'54::K44;4L MP22I!!/0"[#!!CDE[+\-W7/IUG3E!J%P2V2B/F+-CB\B PGY\]3)WWS[(4E- M=9L2,L\2F-R=4T1A&&0&FW^],G&!BK@4"J2MV><+)5[,;20S96]]G>L#+'D- M'^1?JM\HIUI66Q?!S,&^-+19! Q2Q=;A7E-@;$ M$O,,E'!BXN*JEG7= ODXG.@.XQG3?&CT^SQ_WOSXZ;>\*^&8<9:416/68$L4 MYAMC2CFQPE?RF;*T!E>:#;#$>%(!R+6T2C;1DDSI;"Y3^JIW5$TCRKAW:8(W M77VL%BX+7RL_?45?(EOA*C@7OF:UH%5"G8=Z#U5DO5S5AWA5A.\J8TQ!NX M,R6%VGA!FDOS1^_Q8[%Y5U0Z.Z57^4[R =MZQJ26]K*&@;XQY2I?$OA"C KY MC%FM!++DU"NQS(O%+=0J3!^>A@+\A@270>1TG%/=##O.SYO\>:V3W[Z6!0 S ML503C+Z^:F%R<*9&Q4?WF1#?&)L2*P5 _Q6B0"^*3:4,N.15*]2$O J^E5U+K\Z87Z>AGY&73\W7701W72]"?#C?.OIO/A= MU>O?I>_=[6A9))@#+3(B^)BKUT\Y%B%B\?(FHYHV]=6 M[]I]FW%OY.).H]H>?6Q^E+_DA[W;NTU%2Y>EADG>7A"\7J913?HR_71F\\N8 M:))Z0BR?%RI\,;<1S]]^*ZAK BTQCE?FA;RPFAQ)>]1][C<>OS\5/S8VYN3/30>;R\+HKU]K+[]:5H+/QX.TN588%JB]7/XL2!]_Z5OOT?_G"CD-%>C8V8><30Q MZF0:G!8^=8^;Q1XW&7MSR^4J5S^=+F0::(N32:+A3*HI\N;H"W&)QMR3UQ!V.TNS6;J+%2R56J/%< MU4'8S@XU=OY>Q1?7QY7R#$]]P[(R^F3CNNE?=T[&$53P?K D'S(S$1(W$^,[E2'1+ M/7Q9XG.%Q7E2:5F&,76/EV4>IH$2R9F$>;X@+E:0DLX\S5*SMBL#BR$9B%H2 M_@]#\H^2AHK2+6CLIBK;1,$_U'1E_(/0DTUBJH8RF4]]]BQK#B(,_$ [%M]* M-CGK=@DJ6LRDI_+T5LG_[NG-V^>[PM;EZ:35SC;N^U@QRDU_(,'A7Z\1/Y^G M;1:CTD_YJ>:+?"%?R(+G>P#XY(KH^$).Y,NK9'IE)IKSGFM(]^1N^\\?!F>_ON;SX-T=EV'LNQQT=>8!2U$=O"^S%1[8Q M>,^5D(>X'WC2IH2"/]AQ& XRL =B^M^@KQ B7D&UWZ/P-KT-_LW=#0>PMYHI M=9!778-P9H>X-G"[>3'\K;^\K^&?CH)K^./ZUTX_EKB>B1+\?VQ#?L/9JHV/W"'&8;P+'EJV06?5,7NH5P2_@U< MCRERP/$T:6#!=7@_O5G$-P%0$8)O[.5AE/SM6+;:'0*LX#!ZE)RDBNQ=[>?E MS2UW>O:M43]K\5SCNG[,U:Y/N=;7DU;CM%&[_?G/7_B&#[$9/&PTBKL_S1#= M[HU0/)S0:Y>6+3&7=N\$#>UKE/YWQKDG[EN^M(>;^O@=O/U$PZ0! MY'2>XZ4RYN:.]X+V:%2SGX>_.[VSJ"=BTRI@?%:LAV3W'2#"<3C("N$1Z=-/]P>_53[S8^YWN^O#](& MP,-V@* )]K!I(*2PPITTA,-SI^11E?%K#5T^YM[:/0+#/"V(7S85S7)Q.IX+!H&SMF3;*XG/1)\ MTY!3U&Z7L(G-@P$@,[M*=#5P,NS* RSCKF['K'(]+LD$_,1,!Y*8!\X UJG M,*&.(0[>1>[I,,&_*;)I0[P'U>H#RIY*?8 ;G/!<\6#!_98+?_-< MW93@/>B_;.B*@]%9X.LG#FZ47J76/:HI],[T>Z[5 ^[ U3J687;P[X<'E^H? M>"=WJA*N-3"Q6Q[/?5,[#$N"E:\DN:?J(#OSS]Y@PKG\?@/T+;!EAT$(M@-O!["KVI#:P-Z=HLR4>_0& M@;U1&6;W '+W/<.Q.83X5UW%3ZD\8YNS"( 4K@*U3, ;CO(AO%\*H'&PA-!$ MX23[\""$1/^Q4'"14'!(;P0[QF--K/_4 0SA)HVT6QM^C&>AZ5A]Q$3;Q M&PZM*N08KE<'19)>B6+ 2W0#CF6"X#P\@"NEHYZ?5+A8B;%3>M&6I,&3'=-X M(#I\ZTGG.D-<$!X+D.EXOTD\4(V0KU:Q9I0AQ='1&4@5>_@=KN]4M63-L)#) MZA?$N#>E :!+#1,0FL1$:PCN]J9["PBA.P1Y_MDS&$B88NXA6,T&U.@X ,8[ M@[W8JE-\&=YT3PV@054C;1E%A5 2Q'8;!850S(OM$?E4''RZ.+G^>E;Q38]@ M58H#AHV.&PHMQ3%I'C@WH.D2B.0*; !.*X: Q=.K'N,?D92* M7&(2PK)@^[ 6P2 MHWSW+C8AOM",^F@DJ5FJ=,S=DKZD8K*%^]03C7<.$]KD85 M38GGSASLLL-S-13+P-K@(\2Y%@@M_ZD7QJ"KVV;0@D]'(J.C[\;/DJH/S\_. M2WO 5U=-@(NB@U)4-',.5Q53XZKE;7'5*6SH6[?RL]*1NT^%'>:'26)!+JIM MU/:XX3P.^->8I3YF41=/VJ/>3Z?\W/TEED]ZZQG-VW$:!"XX@ 'UA0QG>'P* MX7G'\[[6'GU52U;C>^7+K\_E#3@2FJ!DR.I 8Q;=V,Y>@#]AVK7J)6WH2'S: MFP]H.*()1IDF]6DM#--Z)C_EE)(WFW"<_5*:4&VT'0T-3%^PY>!MEM,!XU"5 MT&*^DX:R 90H:6!VU@T3-#MFH+]EG[T[/CRH@\>6. MI&&%DL5<&AT"AB/1U#YL&[>/Q1)AD![[_N 8]%EOC[J56MDFG8'PH[@!7-R, MOQ9@0(-;]MDCS7*G]#>?>,,=<&-]OSTZ^U(M-+^?/5Y)R@9N+M@4QW;U FCW M+D1-/9!J!+LJL5DN](@4_IU,0R7J+$$WA 4,IMJ_+E<^[J^\]->(DW0E!?+="5SMQ! M.Y->\W!'L/$'VZ-?Y>K]=_V9_.QL0M#!ZLBC_?5?"(4,< B[*SG@>#/D%0(: MU4U0@ \/GE30U"0_BL,- A6 60@HL.#O9."*D&F+ %9R53V@,MK=SD*/J^?P M!%6R+ST0?_P2HU4)2*4_8*(+O?"'!Q(M&V)RM,_$*!P'=,Q@W<@#T;>%A#;+ ML3IF;FLD?,O1X#$XH::X'GZF%-L]PPIM*Q[9GK5'S[7[ZPNS^?!HK4FV6])3 M(W,OY\N\RL+<\"F95_G6>&H4RQ<584UM/A9!^TG>](?0OEX(97NRS]4V+1J MZ('V"M2IL1!/J&\J-<_ZADZ&^/('8G-=1U>LN>6RG*'[.JQ/2JY"R5D]0NQ] M#S;,+@2 >PE8BZK#\[;C:A%]:4B'R5$F9-$ $FK4R'?L( A&-^;Z:/$2AT0R M693*Z?SVN)H'0Y;]B9X%-U9+NW[ FU6;,U7K(1XC.FV//GTKCH2G:EG]O:9" MOAU&=$51$U- @NZGC(U,<)_P*/O97VJ/)#-W\N=+KF=_22XI@FG407?B1D!E MR;&636!_S69HRH_A(F,:ECR$1*':;#,I2Y5F379J2, M*R";O,BS8 X20N@#T;>9L:=V3OA;\IKA^G%/^@<1 <%,87)XT#%P:U3N8PR7 MZTJJR7JK\E[X># PC6=7Q\"QC\?L5I%_LF^_%4N8,\"R)8(8MD*_$2)?-\AR M2F32[X"Z0$\!9'MM/-(/#@_@D](QZ$$FF.?J"'8$ECTF[7'WDNH:XV!>6.A. MHWI'ARIG%F9NHNZ#"0I,52/8[V< K!HT)6 #P'V=OJ/10WH^MSY\LT=T2WVD M"09&'TZLXSRT[N&!0D"=,2ESPC]PMO0,F@P[]ZVWMZD]N:P>;QH7'8,=7(U" M$*0T'<"QO#NQ!D3&K!^@2S2INFYV!-LI[X MH!D,,5798GM4^-)_='+"KXMZ^A*$R1!".P:0#W.SIW/[G3V=R[*GQ[.G*1IZ MD$])F[@S)86 7>+-=*86Y"UP<)72:J1B$4[CB_7]]NC74+!.K,K%Y>?DG*!4 MQ_"6I'R:#6,/5G\)9LS8 9EL,X,#4FX<2'=)=YT J('[K@2<2D_3]@R:R8Z* M-;7D#>#"MD1K>7T?^%C2U8"U/66L&G[I4(1V=/QH, M\R9&'QY0=X/';^$O$L=);A.W?Z8#&99?5?$HRAQF3X] ML&,Q&0PTI"KHL? V/Y\FJ?(;DC%S+/@O.@W 7X6=KB@?]3!Y3&&:>BL MSL ]*.R(=.$27$G_!'(%"!HVT(T\-NXUZGB3EP#/'1X$T(PG?RKM4=VHWY7+ M%W?2W9I>O^U8,&@,Z+9A+H@8"&-3V*._TAZ5/GT2\I4+Z5M'VX##Q-_'"^ L M_EE -PKQ$$1>0%@@#E2L,5OTGE"[@#- @T<-FFGOE$"H6G;,U<*/C1D47=6T M[",5-L=^PLQ4:F3$PO5J>R3?GYU_NNH7K\5)^&+->/) 3AW[9TZ-FT\-9^,= M7F.]HCVJ?/WRZ;STM=:YWT0(K1D>G^9OZ@602C-R+MPXW5#<9P9FV!Y%8Q,L M45EEP6.PCH/?\ 6NC%6X(,<[9#W:IH2Q]B,-S$K79J3"./"[,6<_M<,9F*K'ON;&]P.*-^"I*?_1=Z+ZXPM ($"X5>TS T2Q*PZ^80+,OR7M$?GU@VY47[V?YQN*J3PS1O>@]OD_'V^ $Y0GS.; M:%J.6E1A5=#UY7^'*K*&3CNTQW0YG+='SI_:V>AS3=2_=/91Y7/S &^#=(+X MTF[A=]NCJ]^?KAX_/W=E1]T BKL;XD([VB?,AO_#DN@9"WF'4RTO^0-]H6]# M46VP'M5G)K# R'IW>/#4([ :R!9IPDU.,TNPXHHAO.'-6.VK%OV^6VN$?D!B MTG(U9AIZ.93H4O=-6F;-F:2K,6.6D1$6"C%)='@ WV4N[? >0L9OAW#H@[4U M%AHG;O--*E"]K;K.; QQ1^TO&8?M? C4T)%.$UMI:_L._-G7%B3O^NC5T$0[ MRDBH->D> 1Y25"QL@X_O#5 8@OU[QJEWP2SS7F6WB1FRKO*"]PU:O<^GZ!3/ M\M]6.%>(P9]N2G/+SR@(B 00\#=1YS38]ZIO?@>SO4 M/MI>)HO*^FL JE%'>'A-^OC$QIG;A0$E^J8V0@7G1AB U&L_EEH]1>F8B\_P M(4PF$PB/O[L:-WL(*=RK9T48 C+3-'4Y:'"L.>0P1E ^ M-0' '_'0 ( P"]=P)W!H5FR+4?=WO&MUH!43*/3^)DVBL2O!ZZ %5EX"D.)^ MA5I ]&RX'(A)-%/2.CG?R))F*>QZ:*(%4.@O'L'"9;8):5B9Q(X$8&S0? MO*\1Q8MCR@8\; UHC K1A?=@99+.$'@_O ,L,16PB6>!*9^ZZ?00)I\FT.68 MNNXII?@70T.PFM0Q@'OZ=$:=LW#5/2(!-V*5Q6XNI,'V'\KCHJ6UBAH!6L\TSEP.XL5G+@9MR%QF/61XS[WED M10L^&>+6S@ 'K?1<(WB2PGP?KL]DF*+ P &K4= &^1ZH'X\%NG/\5*5,(:B4 MF=8&;^#>D<6X=2$(H=%@6+Z1W$EP] MDC3#.C-27?*I;FXU3=RC;* XL#2['(8*C7 )%)[31)AUQUBTSY,GGYV\$WP, M..4DC,_FP;A%)7( W:[1?3I^_#A_J MU9T$\A+$G62E6R$_M]YQ Y1]DAQE3P']QUGQ[CP_4@;=XD9I+DD(%:/Z5\^F MN,.#<9+;@#+>]/0,5Z=E*H$]'##EA=/)O6&KS 1$W,&6'H@3F.(&.@KFW9\W^/*]XZ]B+Q5:R.JFFLQPM-#&,./J8+3RC-\$*,D;N*?F"DNSU6:),3 MWLOB<[5GC"OX&K47-G>]%+@Z4*JW =Y+\PNIQ"YECN'*V)?=VH## WR+9S%K M8)W2GBW^;OQ#CGUYWAZC=A/]EH@]'J^0Y93?[RRG?);EM"C+:==S(1M=K]$5 MG'R<981,<'1<(J6C7& &IXIC@)#Y ,OP+4=&6S1!,E [?-.)U1F%'*+=:.^@_4Y#8(\SU1_N&1(UJL= *_ ,:J/NGJP5V:*D !/0W>GA0G*-("GHQO M'O=BA$Q^I!!F[8X?3G<]6QZS/CX\8(W)PL 9L_5YKN,$CC):Q4#OA__*Y]R6^B7MC=%<4Y;U\<;BS1M,-5X]8I\+VQ$_>\ M$_NT3#,+6+&#FUAT> "TTG<5. VXH8K>>I;(/Y:_S]*+NJY3VS(TYM7#+.[Y M:QJ.?6_0)ARN(ACAN0I6/CR87AH['\(+>*]NDV5/*' 0U:*51H\^X_#TMWZX M6X'/:.<><'(5-R$R>AE6%?VO"">83Q+45]=B+[U@KP3JJ(V][XR]+MHC\E6_ ME-7?H_YC1?+E_ASX+II,L<1^TAYMB)WIB_F9K=/HX:;NMK[&W4[9I(^=RS/E M8^G+KVLU[7M+;#*@6"CQE?+,UD@L1NKZ=:P(GZVO#&!Y4Q0:!4/>W<)E0P99 MR;$TW#$',H94F/"DOG\_<&P'_2E=DY!%?]%?X6A=L#F8)>@OQ&)G"V-8"S(O M.K^^G'T0TL9*"]-U4TM$M,"K)E+$$^13L,,V@W-)%K<@L_].Q%(R%WVZ/ M'@;:M[N<_.O7U9HI*C&3,-B6*):%-O6B)?#8H970H0,E=T(,H:X=(6BIZCI7 MG$7+H%):?:1$#G;N)]*?HYL0\+P@S/>;1PJ:V MU"5.B9>OBJ$[Y_?]SK?*UBXQ,;E3S17F7F!\N1.W>*_RN97KUKM/%T_5==C4 M)EGW/:82@S[=H+F[=UBL&LFRRV.(-?-;[='ECU;E>_?4O'].KH6.6Q]!LXOI M8ON4$S>W.XSQJ*)YSXVG3Q-KO#Z*NH.EY\,#0CNR,(8:;C46JRV+2>XE4]%< MERDF0S$O!EL0&?Q &M)B(1!Z;A$SYG*[G;-I#H'KU:65KQ.A>V^COD^EZ]"R M;GP%ZE.N.Y)MGO0QJ]@,&KSC'SK$?L(.:>YQZ8I1_G6LVV6>9[HS-[TAV-KX M_MVS^;D#^&9->@K7^1)=HCNF7A2:ODZS*:92)3AV_^SNW%VZKY=H;QL-[-*! MI-*\N,#!M=^(.M:D3R,V]KMS!^2\YXZ$8[%(!\F$>YMB5WE$39;#![?GHPGG MMR^@:3_L;D-U \#F;3<+RW_2_?-?GA'+/''AE\+'DD;U?_C>4O8PTU-\_R) MSGS>S(=D(@ M/3SH$$T%/0E 9K/,3R_@Z?>MP3[C$NT@B8*C,^2Z1/&]2Q2F2$G4+G;LGL'Z M%%#NS Z,%6#)BL&NHY87:KSY$E[U+S.G>=OOX_Z?UY*Z0QUEUP&0B3H0CS+ MCWPRZ=B9_^WVZ-,/4S_-WYWVOFZB 5>+AA!>BKI4)R:->?P&_F0IJJOWJ'V, MK6,R#W5=.S<5F:.6VUI[A304*!O,,#4#C&%W2CDNXB?OR:!L(]7ZVG![F; M0[/;VX(=M\ZMT!XY+5GN=+[J3Y6UK))8:!>+X4V0]#CC22-(! K:":I_>/EP MM91SWM!6AV"6-FCC+U *L.0UVO@Y&8L8+?VV]N@/J=Y^N3K--]7TPT=Q0="R M@2D=T9,<'H3/\CX*+*G[N79+C C.B (A,;]B.]WIN2 M&Y9!/#EB5H>?VH3"NS_0C"$AUGC+K,DL>S^^S%1AJINQ9+@@X]K5U8)R!>_= MAP=JB!V%ZA*\6IVI$B5D5YA!?\S%UUDLBD#LA&-7XZF@?G9"7$TRYN*8N#;E M^3I=2*/1?D/QHU"0)>7'V9]N*%H56(Q1)UOD](I>/_7HE"#RN3EQEH4.PSG7 M-N4I+.G=X9G4L^N_M01O([F84[' YV>GIRZE[I;:H\KI]>FOVL\O#\Z:_#MI MWK=$AF_X V+@Z'BQW>!"< _N#ZPJ(>2L%'6\?U+H:\YHQKR^;#%MKU=]Q]XZJ4)<>+BA8CIVGW42Q>IBK_ UU+!DO-0S M=C>NVF=9^VW7/_[^O5;S@?7@,&>/8KX]^FI])W^*_6ZE^7M[>TRAE8H!]AL; M#Q[N0QCJ +C00P0:4ZBKRBKO:X\>;^V"]7S;$HQ--*G)'7-;[GJX6TC0DGM$ M<31RT_6NA4*0PA(@Z(YUU^^#&PJC@LT:_1%-&T@*M@:DBBK^[IZ(_NZC2R7< ME6Z-E=LCQ_C^N54U[ZW\/2 -FQ-.%WG/!4C&'06P#AH%F,=G.4B[_F"_MMIH]Z7:[45]5/]>;X]N MOE])1OW+X^?K(-L@&I$ +V&/.'U<5X[<:S;O.V]S0H''O,YMOM0Y=^+ #@#!N.O$1>^9OQ^-=(%X/YKQJ;$W)*OHVTF%J?U1,-G MW*JO63?=]?T: )]JCL]'9O)$'WFE"XQF&#YH8X-N2="D>_5KNE'RO%@I\-7R M4E<__VJC:?]D?/XB+6H)#GJ+P@B[Z9XZY$8G/XEDWIB7Q)IB!]=?;C^*TL?: M1?-A!7;PO:?:)(('3!YHAICP(4$K'D5:MTB'G1EZ>F(H!;DRCQR27"<6MB^! M#&GP'K$J\(5J;B'Z1P LN4M/'!N2@O;&H;DF.\L) E\M1M5OQ(#F*FSM/,36 MICO87YB&9=59%EI;O0-69ONL#+G:=7U4^/X5%+#A.7FZ=>YZ>3D=)6?Z:/]T MO+\IJC70I.%[&D-_\X'N.>C,'A@.S#!&D['[CK:]'FI M'F,%%"_?*GJM9W^K/)$4]9@W'RYI@R]_B "&@A5WDSZ-OPZBC@6F5#2,$B\* MB_%P3RE[]6M=D\)+?+DBID+=I:#ET(0']\Q-O[CUU/XZ'<>!Q*T(8Q*])_^J M%K__E+ZVM,U(]!DF14V)&/R2&2O+,L1G(2-B&HID]>:B.;4T]W;5-MB"B M[CZGJYPU<8J:F.2+A8!*1" ,3K_^76L!BHJ* @Z)=>KL3HRPUGJF]=1]E%AG B'(I29*#2ZQ<*4?Z[FI?PUPMK'/B>P ML&J,-9JSS%MN+SIDP!*D>PRH]?/:?H?67O-ZA=L;^%:S)E4$Q\2ZO IN!Y00 M?.%ED=45M1FUTUQ,E @LY0&;([+VQM#;X"=%,!B\TH1*]/<2L56.<";<"JZ MP,%\).Q3!V@RNHFC-&DS5QRLO"CY!7!6-C_B*N,(S[5G3VRVDF>JSW+V&#/O MCE+9-1]&MSMA)^8T%] Q+^=Y^-X8I$E*J1P!3)%[;#$=$#N#_B-!9MK,3VI> M5$VO:3648UK-]F7:,S8>28S&;WQQPFW-H5F,.KQFSGC).,G:,F*"9,PDGL56GQV6S0Z89)R_F9WR=:\^88;9; M5)J5'A,).FG&2:D#&YOW[KRFTOQV1%@@EE4\'HHDG&IBCI=%,W_EF!=9:0R? MWQ>1BR%>%R MJ(S>_Q39&9$C?' $_0M7NN/%.]E8ZUO$GYS!'(04B(9PB@H1L=W!$9^!Y9;C M]R9BUX_ZC0FO#!X*QZA0).8THF&OR:Y=,XX#T+(1,)A5R(F4!>N ]<$10N'""N/K_8; MXUXS:J+14#P6]81QK_*-=))O*)7(C%V9@@U(N,J,>WUNSSX5*A'+/'R$HQ^! MYMGL2*>;=S7_-DETR^@)1L])1,E0(K*;)+^YGK,9 Y[U&P#]4#3A.KG)*__G MG/@?]CQ 9;RP$ZTRX@P=1[4DP$,X7G[J2M.RW#^ICN.0B2=UP$W J0SLCQ+FC5"""2;#R@^SCV'KXK/210?=UCWVFW&!ZQ[%7X9)^%7X:RT'4O>97A! M_>@)^0%#GEG2C@E3=>QH#T:EBKM4J;Z'>#L4X_Y(MDU(]JRUQ5UJ M;3Y+LVUI/=N2%F+M6:.BODW&S./#H+<2=864Y:GQ?. ]BZQ6Y6BV2)J647NH M&DV3\"U-(MH:@ M-AHJO>/F3BPZ86^;"+U@N6MBA4L4!]2RA(J'J+!3,]9KLL5Q4.B]1#A&A(C8 M;CW8_P2,[*+$<*X968I15;2I16XDEO@BYA,5OOR8Q0.R^$W1M.%RRZZI"1=H MW)]#@>'>I!!(9#=$X'@H1G,5M-S<:OX?:L\5@1BK':=-0YI!?#GA$B6][]!E=I M4UJ,D7>VPKY\$!EQP,'8#D(JQD)DW%T(X'L%FP/ E/<2Q6@X1,2/EG1'+@14 MBD>3Z=RI<*I-!(WK^49XV(B.J$,:0'E7X5!PNF/N'A;YP0ER5RWN(+GEE@B" M"> 0,/P$IEE7NVYA MDS5+CIM2BDM;]<8M5&ULMA%58#8GZJ1!H^F0FT/7 M9SU<"?'!FO/=%D/V6I]O<^&X7J8]:Y:X?*;53>!B/(!X]35([5>0^C715[-R MKBAF^(L.4F>>PH5&BW]3XLS1:OD/O'W,$!#2>H5JJ3WK$+D8E$B KO MA9D#8])SN60=> $"")%YG\B%]Q))GWA>SPQ>(^%)ASJ)]]+:[;*"@1/["JX!!9%O>N M8^VV\)$<^NCESVW/GJ=6Q_DW/JS:MK<7'+[&DY)?@;>B)KZ:K2F(].C M9O11A@;)[8T,Q0 J_D=_*]-3+(*'8--> EW0D-6_J.-X+'GV'4?=^8Y75VK/ ME&A<^>@_#QF5#L)]/)8NW85L7GFG=R G1],70BM.DS/VHAW('9Y3WS/OY4ZB M$Z@#F5BPQ)-.BT#&3ZM=FPIB29^%!H*ZW"$A!&V6V217GC7&R6(R$?A,90>2 M6Q /U"S M^Y)"'0@D#I&.W.;],0LX7F.SN*MSDQ_/<9(TNZ-;!_LB6(E9U,L M:T!DPI&IE^HDWHVQ4V!D/T7?$2.!.X?3"YF3[(&C], ]6>,4*++2YL'WDT$O M\>=X(=J?C3_]:"GKI/IO$S;S,V"R<0C,VOG7SZOWC#^_Q H<% (V=4>LT3/I M.GE[#]C^:;WBN),2 X3Y 8)C,\PCNPN^-L)T9Y'C_/PY70.KU;D1)^H<=(C4 M.4;JB;!I!;0^]I$@C3RO?XY>\X^U@+28_86).1I&X88T#PV(TPJ3-8=80'+$ M'YP&4[5#$3& XMW7HU=1O:=,64/-^8'>H_LQ$8I$(J%8.)@1K?A"M)@2M=J= M \4$!_(INA:P17.L5E-*FT.UD) A^]7/6JG;B92#JJW>)EG,LT&_&IS0A0H# M1_!8F-,4L*^ON@2&Z^!5FD#:U)Y2I3DN+OQ5=797<>Y6=;Y<1G33-J?.F/>' M*@$5ZT9!/FXXYD[A%AK.[8UB8!VZ2FE!P"29$ZTY@BK&Z@ITE,,G;7[O2!!3 M L\H2F RP@)TK!T0\- J "1,.#>!GF/<=+:7J$E/UOBJ/NY<+L;#!L9]:-01H4)QRJF3$<*V MN^&@T?8L5GN0^T->3#0&!X2S=LG%8XV:W*N?IKVG_*YNF8_X9!HGZ#Q>Z1YA M*&CT'MP// S!HP(DR*_&3-K%J-"C3@H-O'VFP^S.BF2TP?-A2FAN^Y3032NU M9W(U^R$_%(7*.[\UDKR*+ DAB[^.#_4]8MQI<*J0Q//92?2B(\:D\)957N7X M6S/8B#&U*N,()X:N7ZF\'*(W\./@J(=W'2. >'C5@]M M0F0P6:21"!F*N^@KWI'#"52K'-\C;Q MDPK76D/IK47)PNGZ(5V']?BC'1I;"!,Y[=K6R//HGT 5/3R$AV.A2/C:0.XL)@ %JB#B2$&,1Z[-A+RN ML,OSHW"R JXX$5"))@%ZT?JT=GO#J[: C29A?7H$'H?!,U9G-$S@N]P=,V4$ M;CG_.;M#51RX37,,RC;P-R&"@F;#:%C62^C-=0VJ<>)G *4Y"FFZAWH M.X?O4V6P+UKD)%@) UD%T(U?(;Z3!49YVP1?"$"9AC>O+M */#PGJKS& ]R! MXVL,-YF/H,XBZ,6"_O@3I!OQ &PU[.4A6 /?HRT-) MU3"NV^49'J)/U\"*,Z1JHVW0(YH7D#<:NLHY4X@8^[3H#(H'<_G%48G[1? ! MDW4%$*H*MR^CF\.B+"2-X,<"-^($%1L#D@(THDH8-T(J/\<:X4=> T=1%WMG M3>&"-'<>[)X&FY#0@C:!L1:)H+.D"X \.@YJHI,)A.5ULW.<% PK[ MD>7MS?QU "\0KI"X50!+V"(.K8>:Q;'P+5T>_!&^U5B9%NZQ/V(QY&Y!(/@# M*E(X^G4)H^BXMLTZYP7G0BO..$7"-L5[UZV0E@*. MFY'&HG/H52Z%8]J,2;_7*->:S/R5P<9!\5!TXZ16% E%,-N0A3$'-DK'P-T% M3;/M6:ZKY,0'\O$QROL6%3Q>L+2F2#)0%J8U 3 ;C%P#W4"&0G]WZ-3>R6R? MU[1GSS)7317D&9GO'R&02MUCUO:,8836WOR,GYXF9+H1[%XBI3$W>+67VF;S MN3>UD.P,NUL#I$M(X*P77>.BOL5%(P4\UDV/TDJA>]%QT=0'/M2JTN-KTWU+ MR4/BHDOC- %1&C'06BV9S<_(AS"XZ@KI@C*E,\6G;M!AT!__PAU_X48@>]6_]@?R(;YSPMZJ4.<%*'A@UEUQ")5C9+*J>452 MU36&+CYI_'NUH$S8H%H5&F>8[\IPG-CV]:6K-.8]YK8A)0CN3H3BP Z/X[N+ M&(]6QU.)P@'JNWXK&R5#8Q1BE \O)YPQ_J36&-;8 M/'-0-=8!PSV@:]?#-F KF@"<##9(A*[![(>ID\O".!@.;!+\-.&Z[=/#UXSX6E^^'K(=![WUV\5 MNCXYK&MM[!LR[T:D!),?&"/)$'F$\8BG8=W]@.F1K]Z- MSAV4I[C&O:]T*AT?=QMRY!#E^:#K-ZEKDJ%#:XK.#+Z']KP=+8'P+PETY]WT M=IG,>P XO7*P.W >V/E@R65E-P;6&+;4*/$9DNHE.H>T2'%[W6[*H?5F^9Y% MWM>9--U?1700(H",1T()XL1Y7U^GR[XKE'D=]1FC0N2A*/.:L[I1JIJ:/TI? M7<@B0RY59B]TJ3VK: ,NWI<[9?$($]>-PVW,6D7;A4%UA]#4EQ^TOO.*#,YB MH$+A!+@F8T'T13EKK2,XNR$:PH$0C[OH]7\(\]MG:B091A_J LSDR<"D0X9' MR47@9X&#/X#S)H)0,Q:)?W_ + M?C[0WKCS'*.-@_LKFMC=WC2@(3\7FL!ONY90ISM1-=*DU[*C[0FN]J>>:*XY%.M MXOGH/B:#$S@1BN%.DR/1P8V:IUW9X-AR,OA%DGQSI7B'D89#7D..*:,(;,#! M(?9P I3!$2R*=JE&M8@L*]($U:D)4T="L7H]I!>OS4F*T9PX;;PV:WOK(BD8 MVG_,@H/HIEI]5I[RJ6QL:P7YWNL$4RI+[:@U6!_XY*ZF(-.>%69\42V^=T>? MO0 :L2T3'-C-MO%LU&6/9Z.NX]F6Q[-=KA0[8@.Z$B^"?],*!T1);EZPMZD0 M!G=L+;?C'>U9JM^5Q[5I*Q,CCU %$[O'&GU@>-_!&6I82E(4-,5./781S!&N MMT5]([U^7]D-<@<43<^!JU8 PG!H0 MUNS5K_\'KCS9*M>,A$,8%<: CI4(8RRX!DO%5+6.*6CNCJ"K&'%/1/\TJAKA MRK"T6@7*A(**GF]O:$R$K5MA:;4L<*S9!7]I,2"?!:.:F5-4202_6)$<7L_)Y$+:6KNJ9J %B MB'GL))I-"'F MX7O-+/$>J75K.&">+9:'AZ5,/FW&2]UB-YLMZ8E#^'3;8JYM^CM U9!?QY+" MJIRXE5F/L$4G<;+/%D7)08XX"Y:Y*FQ,QI$6.P/OA(7JE]>[L%LT7 U(#1[1!H!. .MA!G .#=J$&(6KP,9;K1W@/T*6/"**5A Y=5[S$9"UJ/F M7C0H56E%H45SLV@L">?@08@M!PQ1._N:<6N@S*OTHO&HC5^KZD/A(1-ETL6> MBU##II<&4T$6"9$QI[2N+6Z4^'Y ,.5C-8_G&R-Y6BK[#0.O324I*D0X=H?: M9/(N=R]0N?E@ ]1,P3;<@#9/8FD6[FSE,%"CD^%Z\ZFA3CL>;>5#1TCX;XBL M8!7\"K[$EGA@XQI61%)D$:IM'RV\'2;^-UDKU&:2]+A0>Y90GSL?S.O'XUOB M"+B(WYL=T/V0C>"JT2:: RWY.C- MN$!Q>/J49U=X#T0*AB)$(D2&KW+PA,,.#L>^Y_30&!X%V#^K\0?;0AWQ]FP8 M(7,CMCY[D3J!IP5>O-<U M9Z5:OU?KR\WL8_P(H9#$/=:@!>ZK97.!QW78^1ZF\QJI-S!^@3K$BSV!P^#- M+J.,I1'LT:;R0UZ@E<7P"M1/'@W6&,+7L7RWRT%[T YKR+"7//CLA>\H9K/_^P"\UQ= M2<1E.>8YK$BX%Z';5F[/(KEF1HOTGM+D]CBC06<=*#L^;'R-:>#MEQMGM(): MIPDSIMI.!4^EY$.FK/$R0;IOTWTN 4>R[53&%*8C/4DB4N7' "*/08<.+9! MU1-\=$]"D#3FHO&\PX;SC*FX/2QKR@G5L>"NK2H:;!]K5\*2$UYMM^<"9WYX M\R9N@5NCS W!U=F>Z?V&^O@VI(14;%Z)@60'*F#^L7J^0 *9UOFVU0 NA+IY MKO:68WGI@T#%0CAU2-CLS!JD+T@IMXF45AG?(RD]$#NH#;O1_#G+4G(I$U;S!C:XED%0Q?D'/%/,LX/;9[8 MHF0Q^5'\K.;H!Y[91LEG(@B=3^&A8S))AD.4BY[GIVU)M:"(N'\";A-%#!.9 M&)$56J,:OHTBCB3/?,9X&'7,BB3\[)%]I #L!FFV\"%<8"QB(YU3_DF^!8 L M"L.3SWD-A&X4>/BQPF$U?/=W@7:CP:#\4BN_,?+KTQS$:J2_LG7=>I MCGJL:V*K]1SO]+U0W9'DKH]4%0=4%0NV9C%&DDBV7^V"'D M#9)[8YNM!55E2,_AV6OM)JH,E$A&*AA,A MBMR=C7GMHF5;H6'%3^:QN+FGW=8PB%TK)(^YCP?@SGVV^EDB7<'?:;5U]XG MHZE*/ !:\Q,PCEV?3<# H.@J;-+N84,XPV:(3W%FF$G'!&]\2 0/FXV-3_X, M80JGRAP#NXP(T[]-IL26>-+]*/!"3(VENF]%YIWX*J7(19$!2&K2D]WSP,-+ MP^0W/P;DC=:*%9MLC-?]&YF^&4YX^!XS]H.!#:WFR 19I@O3'( .+VIJM3N' MB%FDG.)$KLMKG@/L,<>ZW;U7;L^2CYT9WQ35(B]L#;#;08DU+ZU\]U0A]*1C M"/VS_/ :Z4CJ(\M<7 @]XAA";_#C[E1IE.2G2*#5NVDG8;-,X+!!'B_JX(Q5 MF3,RHM1D1X7Y3%J;3[5G@CI^K8KQ""'U@BF<<:KF1?5*F$9/8.K3B%?A;?E7 MQ]CQW[]7D;2->O?+(-EF+VY]T#36#GARCR4O_6"[F[^;F,]Q+$PQ6R/6]I!. M%YO9U&P0?6O/'CZ[4J5'I,-:U$?WU.9LD03$@+FU\TX4.4Y]^594!>U% D(U MA+N8I?G=*\[_\A^+'MQ**MC:?W_R0BC-.D5A:[6^E@?_]GSB!$_^L48$!#]=A#-\J3[/K(G*# M&='FF^VAMI"-0QK]2#T\MF=,O"1$^ $]>HX$VJUC8W#0J$9EG*R*;S.]<#OZ M@M?6\%#T")//S[67ASLM;!_DG$X)\ZYYD4MC4[H<.#Q[J'N"H-X?<3%2$KK, ML=P3UI:O_HDO=K#=+? LU)OVTJ;+<$AGT/7'/4_ ]1>MAZ=/+Z^Q9Q]O/_>> MB2]YF[G#0^ J.QZ]WFJ!(,G_VXW8--O![\LM[B NELR)34(#>1=L+GD3R;FH@5=I MZE6:[E X#R"#DRF:ATO0K=IG=G?&A^&J70C+WLMX-BCC%;&0.(X'Y3"Y^17$ MY>F+/$YD*4?PF&>N^#HB,J >@FZEXVF\RW%WWF7_Y.*6:A(CHY6;H#YE_VZ= M[!N[[,F^L>MDW^7)OH@<+,Q?;F51\"LD,84#D@$.V:.M8:6+8 ?,^N>-'&<- MY3C3&AQ[QX%]T)JN2M'P:$/(.K96\'!-6C\P M:;V4^9 FTX=Q,L5^D:3U+E,E"F.*_NRX3\,_)&D]YV3"+%/Q!E4F:>4Q-BRR M7N(GRT64X?+MV>R1%:FI$&_E/DXRL H(/EU;BR&;8A&V2F?@7Y?Y\YIT["L] M!&WT1"-4*'[B%&5?FL4Y8/8,,>=;M3M.1D+$?GCSS<^]#!WGN "G&K'"A3!C MLN_EH=357R0NT P[M!^[_G"'"D&!3F&B"WUHYL%\BT2$/1$7?!*QFYJ(TW9F M<_C>T4!]JGC9(?+!7K/J;" X)<0;5&W_IW+(O>["#E?A%G*;.J1RM,/TV7VFS?'NH+FZVUTGN MLY3I#0OJ(4DPAW8]16DOUJ[0G<88._TB=YI;3_$NA 6>-AZ+NJJ*V1^4?P=] MEP4*8O\:.^%Q5U[Y/:.0R9U7U_*Q^ ]B)X"<=18#..)OJB?KR^*UP4KOO[(HDFF0. M"-\TV5>-T9<2_1)5:R\C\1#]TM.57:O5,$&B47BB!TA3Y-2OO, M4DS/U18][/YV#? NQA*I3P_RK/[!8*QH!6>UJF31J\TS3Q$!?&4Z)_PML; M;='9\/S.\F$57QLOOFI M'US'KQ\MVK81S4&+#RH2HDZ=1'C\7OL'O,=W'68S>OU79,BPJZBIRT;36Y4; M1YFV,5L:2:]P:A!CA]-)YN-([? V9DM?\Z*O>=&7(M+\:(3_==.;]Y1:B8," M@^T9]Q0;OSYJ?9SO!IHE,-^3/5/ *7_I2YI:[C$21&M]%> 2^A&)]?[>Q/WN M@3+[0_7/$SMB/(+;4P=U&[#7Q8(!]6CT_I"Y:7_N4)_ML=^ MC93]CH+]^AB!FC!ZOV]/F[=7J)[>T.K*J<9L^"! MAMP!:K+&@UT 8E)Y5;.>-E+5 <%MGGJ.G_'4\_5T>*LV'7!4$D$ YM@LSN\Y M$S[EF F_UZKM6>JA\4%R6>X-[VU-@D\O87O>P GFI207Z+4M=$U\WYTFGK6E MN[\-1:+UKA=?B_V+2WR]P3<;0D]S6:SRN2NMSE3"_DJB^O M^KCS<)HN9X8,O.9H7>C!=@_]6Z-!.)7$_,PTJ&!&BC+B4%4]PR@ZT(.2\,ZC M18;+24I&TCM:5Q? WV# 7VWS1=C/J)G,SZ*I<7N68:(<^X8G2\5# D%NNK7O MB@21]U$TR]K:-"IB8\UMPVHWCA_!^V4M)/3]ZBS\)X=E[3NI5KM^A)/<)(=] MB_**(R',:V7%O@@[1*QEMHFUHC@"-[2D3%?%D_3&MAHO3]F7Y"&S3GV(4YO2 M":JDO+5)C)X'#K^%[V0SNH(0'XF@. U"-A"QN*LHY!<1 M#O[ W&ORBLO([Q%L'>@O O\UBJ=$UHPEJ?./.1:8YRA];%6@C-]R45F2LZ7, MD2SU3;(%(@U8[R.:H;]04KIGNG:/V2#$2IP,1;ZS5/$(?8\")N[._CA$OH1] MD2]&LMR*1!'CTF=4(?7ARW&:F3J*$48:#GD5IIA\CX19CS@,0G:XRQ3Y;J)C M,[@]"HMH8!9-UK-%TZ(5A1:UZ2:K9M0OI+-"C8]G3I1T;TH/:Y]P?CC]:TXH=/XO!=_T)I7&V^681S M:BS1B:1H99:-#-LS8JSHZ2*KE%)!ZENV6J&EV3-&3M>W&8#KC)Y ]*D8]87K MG/> HV=W+1E8/,AI2A\XD2T#>"G_,O:D5OG'UQKU<*2JOY7\2UOB^34)\T(/ MMIB7-R-1 Q2'%@ MO\XZ]<7)MM-7X#L10R!A5$#K^-$DUT57W/N$,*])XXEP"#\48RY5LGW*:R^B MU#7X%>H<^&0V'RH$:V =1"$P.^V^-$5)$M]C!5[W9YAH<- MV< 3M*V7JCD'1>-A]P!N*$L*K4SM7=NP#F=ON@H>O<>:BR)>HR,*"^=282-: MT(UMTE:^[>V-)IF#5C2T>I]V%.0 "%-,E#2P&J:@\W+L/99T>B76IU7SJYR( M1F7)+T&%U2U#.2 BG5U#=;&FH"_O;$@+[*8+$&H\%9S M&:""B A=&FSBT(/5L;R(5E-5^#GX%35.X"F>2C*NCPL ME@V.-4('?7ANTHG" CD05")\U:@C9NQ< ,;1X&D@15#MDBZEC MC#WJ"5^U1-&W-VMTE=P_Q6"%T,@P4WG*R:/G%]ZG:&T@Q83QQ(8P.*(\.).+ M5PQQ!RR,7A];!92]F9CCMK/P#4@>9N T,I8U@63-68L9X!J&/WN23.;%)#L' MUY86#\2\@TG,"0"0N(;@J3Y+3Z$4XL35E@\N]OKC7T!PMS-=X]?QKLOC77T0YS8C M#X7.K-4[_P;8=R5+*U#'4FN<@D*F]LXJ-NY9[OVUZ9GV;)"--).15JLV\,AA MJ\# \7O,6A<#"\-[!X@7#&W@-[8$I8LT:U*T"E#*64>4P1$9XX@J/")4R1EK M=F,'FB3 S #?7.C/(YH7$!$#)<]Z$B:D]"4!Z=V=*;JO#<[#P M];![VT*17WH@!/08I@_'\ZKV1!M_5+.S&G>\'7# FK5!#F!['SBKJCZ$/QC MAM:#\\#CX&$9Z$CE%0F%F"LILB8%>^XA%7:>IKS/JNU9)SQ^8.*3>DF*;.TA ME=TH$XQM7SM&N1LLO#8J62FQB5$K$:6FU,7UCHHYCDI^TYXG3$;]J&EXH%VD M[-I RY0^24/X (;N<$JUBSA K2YD#^*&]FS22NFU5JHAY@,J$;%WYEF.G5#W MB 23NZ3D.;;AV=H/)IA>/'LA-HB>HG,[V5@2]=U)Q$(1&;;VG/B-@PK61EBM"Z1\ =3MQCYO8PM#_,OL'? MEQ_M:*YD#H@P,<4XKXS.J]G."X7"[0V,*!CI+#"IBUU.3('Q TA)[D+!&:"M M/,:*Y4HBV" W5U.QR($TY#I4DUW2%Z8-OP)SN))Q9P@."7W6! MV[F$='1O^[)2>U;7'L5R1VYF'_T+$6[AI,@]9FT1,PJTK4UB<)=?@)>*(N % M<"3 $"!7DK*,=O? -Y(1&&2R2*"U%V*$:)0'W(PP"B^K"OP)PW&EFC FN+= MIPX6[?(P]F?!TGA.MF )/1#W2%;Q#"\;D2PS-6[;(["(:,2]]>SJL)3[!19M1S&T>H8688+>D&8Y&/2<+P_Y#MEV2*98V30R M/54D0;B],3,Z)93L9&0Y D$#7\_1 +APY([(T@H&8*%H,!5PZ6S++T558^.+;@SUW@5@S3HS((J,K5K[F3@D>6LMOLCOZ$ <746<%XZ4U%)LV M5,"-HDA%"4]K\9_H-$^(;_FF7F-W:;L'KGL4TP8'>B^U,7WLKS\2]XDP1.T? M.'X?C]S>(")!P41$!G\CT*\"/>,3T-="5)\:76?&3^-RB3XFT/WVRY"QS1E[ M$.3$'.1D&%N#^$I> _A'-H:)"=,0-N90N@?J'@+>,>=&QQS,VQL"CX6(>,SB M:?3T7.Y#@=K5%32%'+W2G8(4:<\>^(^P&&E-.*Y_*F-EH9 LM3N8J^?5KET1 M,?5EV.+!Z/[0L?GM%E75L^@LF\1'X=RX>0PK#"?O3;6C:KCJ$8E^#:V#"./Q M97V#9B497B3T>G@"&_=YI@^D#Z<,>3-!R'H,)KK#;FC0/]B'V<$1*D1$+779]GKT1DC@:Y)X01V<21SP)XL! MT 5@*^H1.%6%)BUMZ')=FE<@QPTX#3-TOR45;JDJ:?Y60W\S=W1ORA>@37.J MAO'#(C"D^F>YW5!R,$)C5=)@/2R M0 /\PA!PLX 0='MC)<]A5O*<5;S#&EB9HP,IO^:++#+0EU".C0%9K-4QA/V0 M"29R\W!=M2@:BM"*"Q;]$6;-Y\"^47*YL]J+9_'I4ZV:'C)<8(+CL/T&JBX_ M-S*UN:OX/DQLE#&L8:W,K9*SP^B:3MUO9)E9^.VAGV8N :/^Z.++^"2Z"IGJ",H!&A*42"G%\5]\QFK1L;E/09[CS'P"R,)*)VP=<(4 M)M(BC=,PN#D,: G@>H'13_NWUF:^(@F/]G5[H_#JX*ZK<%"- 0H(%.2H^ \I M+0C@*K*RS6TAGP,X+/02 .5F?FF80FIU0\_W#; .T': [CS%IK" 6-T!8W+ MQC@TSMB\:<#-!*\:\W7&Q8 @QUGGMI:S;B)+(**J6X5'%S"\88"J->(E736A M@-,M,;92S MN!,69:B(TI971V6[L*84DVF>-?+Y.1&6QHFH9F])OT$*B\09A;[@I(:/#>") ME5"!K+2@5 @R#N4)&26@]T%ZH8\K3#RG;6=/)[A7O> MC9'4QH@OZ!];D[\; M:VE>UZQOMSG2*<>L[_I'@QF\I"F W2^2]5V,C'+36>=Q_)P(-.O;%[UGSA') MA=-6?5)G=N!L>)U>N@LYMJ.FZHQH)"$VC8>)N=E)S]&"13_E2F M:O8]QOS+%#0?V/@\ 0_ MZ2A"F$J$?_Q+WH(VJ_1*$%II>Y+\#09!43E-F^]3(2D@#22R.^'4(9_Z16*6JPPJ M;]E(H+,"YD+)\H09'LJK8/(#C<<52T%,(/B*4FDGA@*228=,-E@522=M7+JC MMU;BLGMK):Z]M7SNK>5KZH%1O+ ("<(&.I8'?Q'>,CWVM)D$__LXM0!P:3,^ M40<;S!D]]3S'37+.]0!N5@,*Q%BH-VO1Y*2XO$FACAWB MRV&.AQ\A#Y<^?Y>!"R.H?B&;M0)OF%7AF[6BM368_!@5==-1W9,_@S[T=\B2L"LRQ,V]XEZ M"<;\X4![L6!H;R7=P))Y2.2M4&0]59#H?.'AJ9"84^1<:,YS'BVA:22JVA)[ M=I'K*=\@]XAA_Z,X99 5;J)'$3^U"4ZB77"Q?:<7H0W2 56+TG]C\ \"1$LZ! M!D XU=SN$X#^%@-'@XYHN[R&2IRJ_IX3M$7JYWH=I=T67]M=*!6(/]TJ]^93%/UO/ M GN0;;E.<,>_6?:"PI$N%^H^LKOIX_5N"=2NV>H7=GO+P)K;/>^8<^PCN27E MTX,%L9CT-.<]*&7PQ%S*F(X$3<>Y\B3SV8INO+@0H .IYCB*,>4 "B=1@R?F MHL8/=RL>#\5<&%.7W@_3CX&T> 0EDGON(KE%[/D.B8-EN:<7;Y7UCA"[!.-B M8R1LC2C.Q(+('2/F96J!D?%(S*G)T2!#[!'S.CLA["[.Y8?!05 Q5Y+W#"P. MZG3Q*Y.ZJ$RK&E-2C\E.W*_XU47%K'ST6%&')/[Y3E*98\:B3")2J4:53(9) M)<4?&HLZ\_B3QUGW1 P/D9X]FM>@TSYWM)^,L"GHM%8T)X\+TK@KEZMIXNL& MG?SNL$E1EW)?[Q7(]#GLM$9K/8G/Q_(U6AP>='5??-@IB,Y5>/B>VEVI?G4. M'LLVO/H)3^0G7!>OWL.+]QYZ#Q]M]".N=8JZ2O\=SD=3Z+_6B\WAH#$J=_=)N+\XP>_. M.>G+D,FXNW2(2Y?U3M83?CIOITG.JMIY+%.9]*#)^>7M]'WRVRF]H;Z94?@] M>> HP#.GX>0QW:LFU>K]E^H+_J$DTOBA[M5SIE(7[M?]Z'+=_0I,3O+ T;XN M%9Z3%NP'L4*+@Z.(&-V8&L>OD!MLF:SU)771+!_V"[Z]@(^LGGHA6,3^K7(K%/P=##LY-.94[F2=?&:BPF.SI- M/X+$"(@/=OU>A8\O&1 K\T]&-"] *9J3%.0:7B&KSWHBJ91[G>HTN#;\.W84 MG%D0V1 ",1"WD"76CLS14[ %N>')MW=&AY.#L+410?=K2+3WNJHI$L-QK I= M7$5S5*$%!S1ZI6B-_DF*K#-\C;%DK.3L/^R6&)IZ?E3?FMU=Z/-K+P=NNL3^N[WSX4PS=4.6:=OU5:H];# M1VJ2[I\43XWL"+3N$8;C%68>E^ASUGX-;G&&47XQ:WHA'W M9]K/L>8%KTSA,'O)\#/P7EXT( \I@.X W6Z 3-S4+KGM?$A0.CE_L/,7#AQ89 RBZ =-E!&]_C--?C?[_C!Q)BLH6Y M$JM;L)I((;$(M8'E%EC.G;SF[W*=\[&VKLL Y=IS3IV^5_=DF#GP,*8[;D.+ M;W_V=YXP6&MM5N>&-"]"J?N&9CB:'16M$6 EOLM=P;3> '5 M=MN',SGJC6.IS*% \HPN$:/I&TG4![%-AJ1&3]D-SAK?H+K-9V-"H1T4$#S[ M\V+W8:V:Y#]:+)-GZ_>;A?J^1AL=D4J?$)?)4_+GT"/'%6))Y[M>C]5I.IBZ.(Y?Q M CZ29U[@U<.PB^J?$M2GU.Q5Y&?" M[W+T+^%7\,@:<\]"PE5[;Y_[*&SCG*O'(&C6ZC5J11%7'O$BN3]K7?T$'CG/ M\!3@][LG3QRA>>SD?LZN) M*\M_]5Z\6O[;7IZ3=,7BQ&21*47)Q^=,!O]FAO\""GX83UOL_F,1Z]>T]>W$ M&L[4TE1M+-6HC7467]34]Y%8\? 13?W=TP:OIOX.HA?+78%CY?1[HW^U]'WG M#(LKHE%7*03',O3QJZ$?.&-UDE$Z/GV9)2*1B[!"SLO.]\AWAID/%*=S,/.O M@?Y@; N\3S\]I0NUR0%-J[^CF>^K24+%SKUW]MRTOP;R/5$-/YH[UKI5+3V3 MY#3=H[^;.3^'@B\6TA[V?/1JSQ](K924T8NZ^%GB-[8G^:KVO(_4BA_1GM\] MMOUJS^\@^GJ#KI-LZ;-,7\UYWQG#8@J"^ECF?/9JS@?.5V])^26OD5+J M^2*,C3.SYKVQG6'-Q^YW-S ]@C5_,M_9%[3F;?SU67F,T1_-[",O7 2#G=Z: M]]4BP2\R:'^L/.>O:=DW^(G%?5RBV\JTPLUT[;LEZ,^!X(NE=+7K@Z=5]6W, M/=;K/?F#_69FO8^T2AS1JD]5KTWMK.,^MU3((Y@U*\J8U>CW@_VJD8^IN%8 M8?S"'%!%]AUM>E^-D1AQL1'ZH&RC+VK'\/B_7JP^+3V_-D..I.6NLXC69ZY6_AXOST** MMA@PTZM4V'$C47DDOYF5;P.#+U;3'E;^JO9VM?)=T^M'GBP5Y$I-*1'?S,KW ME5[):]3^HL@^7=1>AN-1FFD<8(I\?2O?*V_,^<)=@_YC6?G7QOM'8"VADRCG M/]3W>NF E)AO;^5[Y3S#RB?/P\JGKE9^("SVB),%5<>I5CEV$2QVCV@IG85EOX""=^:A]C+L@Z+6 MKVG8VZF5B$_>7V-3N5@Z8G_'L[#K_:36V+4[_B41_:#UT!(>V==>_=HRSW_. M.%.C/GDUZ@-GK)=7\7W2HOO9_&7D"Y^73>^1[\XJ<'^R1)FO9]+;&2PLL/%^ MNOG&EB^C)^7)+7I_;1+RI ;]06'[?S"99ED@XNZ,%__&<%ES,/A7?7!7@W_; MRYN+5)K40T^?REHES?2^F;W?]"\C9K\.^4'EG7Q-<]]&JZ.7>#U"SSXG\>@W ML_;]HU7"37]\2QX[RMYMVE5'4L")YM]/"> 6@$]AJB3P[%[CPZ-71X%'=OF( MU K1YMN@][ (4>Z#H&_N1_#&<_.[ 7=5U._ :>XGA)^234_67/R+^R5L?)S0 ME5@E6NQ\BOZS\;?W6GCCI\[DSN),7)'?U@@3 SF&IF^_2>4XKQ[\$ M/Y_<2>*K(4=00;#RD3(A-GE+SG&XX.RM4W_KO+R-]5?R!Z;Q&CP2^CXF=3'. M?!\FPQ>J(:P,KHRA/CQ7'X5GTHM=Q)"]V?.3A'^\CFJ#6MP-TNC)<9&VG['^ M?8SIY$YC.JDH$&Q#($=2T\57:O04?I0UH@5ZV M.'Y/[N[ ?VSEW$54LPM@[(>2-'+#M:[O>Z9[/MCYHTM(!3^ZQY/5@ M9WJP.1_\TN#5\Z_%:T!!X@!W@[_=WOQ'MK\+!B>+&<[/UERZ?Y !H(WYW^^+?9YX"@$01I#*0 A@Z" MJ?H0/ ;@H&*\:$@A*"+ICJ0#D0JOX]L;R1!TF+20=!BM 0MFBD7P$ ;D&/X[ MR'VO0&8)\DM2-:=(0[B;NS!U%\8UR2YA.96A9:B2*#J0Q2M7 -/G6!UH%-VJ MU@=:B/.- (3JB->F30BW)E@R)0#H@-O% "3#"8(I8/_[(_P#_0YL'<;ZW;I7 MX_&(_5X]?.7V3'Q,UUIAF1QE8! +(7**%OF-97B5$205Z"?8'8:T*LS (B9# MO6KEPQ74BJQEKJ*3_97A-)H7U+]_[(]:\[8&%X) RRI@-NNG?[ QSVI]^);P MGS\"O6/,;XKT:/H/AOA^C.YI^%IA16/8ZBNJK@#)IHN>WN@X7#URK72>E<9Z M/?Z9'3\0/Z[MFDZL;L&J<)O[V"Q]&T,*M[KERD_LH9&LK>M2(5E[SK)&D+]R MPYX,APL\C&E=;'"8^;._\X2!945AIAF%S4UZ[(VC%15"QV;<8R6^RUW!Q*V0 MOR\0"=K\,W4 DOK3F;6W1F=6G6L!13=L+C/\DJ.L8VD^A[0DJ$R&?.?'\9/% MC#:YX_!@PZ$6$ *.26TCV]6)H '%=[X>V>:XWE.&GD[5]],5M%XZV<;W",J9 MPCGZY_;[S[+C_G1Q]2V@^P&_NA\. MI=R7PD#0'O.1MR3WW1P0/I)NXH@=M19.R;6?\+*/AA0>U1#QN[&OP'$JN49I\*_%!]R9QN_O7% M$RONI@[8+ZLE?K7WO1)]+%8FB%>\D:$&5W/?=\ZPN")R7AVT5]LNGH-%^=48 M:UI]&;\G:"(A?5R-_6/SG6'KQUQD!AS!UL]=;?U .*Q?*CW7<^]OS^K5U#^) M61+?W0CA7(+[UV("3U3#C^8.MF=2>J\6U6:YT?EN)OT<"KY827O8]$&EGWQ1 MF]Y&K2H5F\W>U1?Y6?AN-KV/U(H?T:;?W8;F:M/O(/J/?JI>X;7>XX"^VO2^ M<\;D(W=?G W)CKC:]-[ZS;/K=#::O-OW% MN\3P_8E:.7^1.Z[!3RP&I)I"/%E.?[2> M(M_,O)\#P1=[Z1JQ#YY6IS$*?WU367;(?S/CWD=:):ZV_061?'H@)Q[#RC0Q MH:ZFO=]\,8]LN!M4=2S+/GRU[(-FJY3V(%>B;+A?.("MOKUA[XWK++M^=]'P M$>SZM8RRJUWO!W_AHPQ=:$JOY7+B:M:?PAXY;5*^IU#]D>99?Y5+C1LMYJM) ML42K-IV,%'7PW8SY!1A\,9'V,.=7&S!=S7G7]-HLY*>1E/Q>GIQNJO47H-?( M$4WZ[-6D]TSV^1+1JI9+ZON O!KU_O/&/& ?"<7.R*P_YV%A7X:UQ,]D]*6E MO-2RS-6P/SKG63.A=\^J.H)I'[V:]L'P6&Q4ZKU7HMWWM-=TLV]DW/MKGT2\ M%KJ<1=#^FI2_S\NSD*+G[2\GN7*^&ZUE]<0WL_1M8/#%@U\IC+%J5 M&&G6I[^9I>\KO9)'M/0C5TO?,]GSCXW:*/'RVB*\QD&^I*7OE3?F?.&N=?^Q M+/W5_D'G8$U^.=9Z*C'],"EFH\G^U=(_.N=9EOY9).'=7?Q]+WV3Z)>[W63A?(#\I<^IKF?847YU4QI>($S[WTIM/9=YO@MX"" M=^:A]C+N@TH[^9K&O9U:R8[6>GBLQW"9^F:VO9_4&KN:]I=$]'4A]1C^)#^D M]ZME[S]GG*EAG[X:]H$SEE+HAN.ML9RM7IOF'YWO#+,^XWL_F;_F7&[-'QH%AOQF M%K]_M$JX:9QOR6-'V;M-P^I("CC1_/LI =P"\"E,E02>W6O .'YU%GADEP_] M*5_7RHU"$O]Q"(*^N2_!&\_-[P9W1?X.G.9^AO@IV?3JFPB0 ['RDE8I/+9-OHP5/E3,S8A/[$=:=B)4__P#1>@T="W\>D+L:9[\-D M^$(UA)7!M3'4A^?JJ/!,>K&]_ B1$_D19G0\_91^?IL5NY0;I-&3XR)M/XO] M^UC4X9T6=5)1(-B&0(ZDIHNOU.@I_"@YIA76%/]575,U6H1G,8RV%1))ZR6& MC88++VSBV+:GAT/X3B=S&J%BKHK"SUU)O.#<\]ECNBHG!]-RXBD =\CEF%&> MS)S=39O/G8*=S)R !.,V%7F%-F?I8@&?A6GF\^,BQ.6VHP5ZV>+X/16(& TZ MM-D%,+E3 ?^#W1#R1@[8]K5=[W3/9UL?-&GI@"?W6/)ZL#,]V)P/?FGPZOG7 MXC6@('& N\'?X/_^\__N[K =Q.%I' MX>C!78<#8@Z\54:@V?.XQE_-(_R'QOH*%(+_ Q2&N;'5A*B!QA:\^@%$U!_+ MV(8__\9X#0"-^?'OVK?_\XO^=\-1[$>',#$0"! NVU< I 1VAS7Y(:=B%6Z, MU:4A+8:,#T( U K?M8X)#K),E!/ #0O3\G.&,3?/8\$1[)L]ZY."M\OHT8+Q!PKRM1'H$(/"?SK]X M]!Z;KXJA97__YU?G7QM*@D>Z[RLT^QP&%1Q:G&)]6L44-,)0 MTG E$2WAM:=9)3'GQ 7X5/0P1L^?WJ6.;5_;48LB_#!%86KSAO1FY+*P'0'K MZ!I\@ZKJ''M[8QX12!)Y<6RX>6S,$O0.?$!.C*00JK>GM#6P^"U;K\ M!&YTBFE@D90$U%6X1H97.$:3%/5^3FHK%]FJO,E3X0=I/"D^1RE_N!M? M^2]NFN#>475ENE7:V#-;G1]HSX;%!#LY4IQ(CWYE.\G%;CD(8L M=6() [ODEL,:@?G-_-F)'V(S&HV'XA&GYO&;'+^F,-6@W=C'RD V1O 0!K<# M!=KM#021.^D4;L_>7Z.9QR8P.PN#"Y1.#:;/L;K 5;MI2=4 4NJ"L_\X.>< QI%KO'%AO"X(Z^@CBSZ5/0XZB! M_P.AABF+D\K@I)"Y !&HX'<>7,U3<$N#"YH;RH(TY<#ZLJZH.@V^K$E@98.= MR3#^U^!O>%_#R[L(33N1%@ ,1YRHPU59SE >%NMK@ +@ZC*G0%N0-H-.YC+8 M2!)T\"D4OK0 _\,B104P-E!?],X'6!ANP*9-K"XPQ<"7)?##@,-87F7@,241 MO@IR@L(#E0@^A@$=A.7 AH>\"/0/6A1U>&I+$3'?]W^JDTIR>P.7I(<2V"K& M3: K#KQ"AWYA]# "YQ@LX#3#:Z&[@L? 3K+&\^9U087Q=GLA[0N#!LW6NV4> MTK\5J5O!F[F!G>KJTG(_7,L%5S(WO.SN^_%O!(^$""JQ64<%*N&^T G/H6-> MJVH_D0I_ZD/RD3D"=,(&=/:^&==@0\3C(3*V67^'C C):,K1BHIQ@*S8M>L' M01ZI:C?'B[3( %5%%7P58AGM28)/#/= M8IF[>KX]:\1'LY$PE,DF?HS+)GZ/P8T9OC8H8.9[PVR;"_P"/00N((8QO@>$+T<^!QH!\"6"JQE#5Y- MNL)K4_-3\&=^@87[RU'OH/W'SCGB%,U=$YL#(QVV[V(3'46\":X M-PV70$4"L'0I>1+M637\SO"%05(2/5KEIY$\:4"2.4$:-W19%M"M0@L9H%0( M$K!;.'63RFL?#^7V%>U971Z^97IE75+\\Q-ND3^)>PSN#8.;4X'(,2XSMVIX-RF)JHA>9 M21KVI-.' 'Y3M,!O;/$4=H?97V=(RRY8!'#E''787QD.Z/>"^OD.J[1PN:@%PH/+9$T^NL8A;#A M<@*[(672,9('W@35K/_^B"SP2":R;2?UNR?S+W4R+&=5]V']O;?NU!0+;F$G M3'PY\YI2_<&6,SJAIUN/W.%GWG F?,]8_6%$M!L&FZO7@WF3_1 M[0QNX1K-LVU6;,_RZC 7>\=G66IQY)8KL\ M+#M):KM_Q0>"\H>83EPCLM>=Y[95E=O[\#B-L_S=C?/=&UZZ>QEIR#7I":?. MK]_^6V62'+[&E7P\F.O7MRL7[AW3X.8=K]W3W[4GNV#/[U)=HK.SNU>/>YD& M?X.Z$-U_>*:IO;.XW5"!;Z$&,A*B(@?F6Q]Z\VU)/-T5)<\)15Z;-$=AK]Y" M5QZPX[B] W=V/8NZJM-"G5<':E)DGT4&W%,PSLMO=E#:E8;<>[;S MV*V]$T? #1&^Q]".D&]_:4]?("1?%;$'6M1A4-H,ZH5#*!3Q#+@7I7+2&GA_ M@X/1:_@MJ7M[4^!H03,B)04=+ H7&\$23>RO0J'Q-Q0# @U3^FA,UCL"H*Z^ M\00':*W'B M,*,K0#R++#?DF=N;,8H)F(N9\?*6I A@7\:"5:5'B_S,\$CR(I;C.@HZ+#SH M/9;M F&FJ7 772@QT0N 'LZ9&V%YE:-1_(41=)8S?&/PX BL*L'/ M86(. +J1M NV"/??@07;',O#,UQXM#)I9"=!5K8HS1(^ME@DW9%&)E6:A'![ M VA9X,'? +)#ID" 86..#=F(@595'M;! 7KK@BO7D+OWC7NLRP'5#WRA!UZL MB"B%A(9&E3+?1CI9SS:P)$ 4?+FQM(@T0R06DC#<+"N\E>:<-)@#\B/V5SJ9 M_'M!&K\Q^OYO[ \\1%)X*!H.P^_QABW'ZIPEH,$Y>F#[4,)96ZC5:I@@ >EO M"MY&*HG]!0EBB:SQOXWS=^[_OKT!JT0IJ @FX$NR5JI5G8.\#"DS#0E'L];_ MZX]H!&PIOLJ-*&4'O H/A_ (OKH>8E"5FP?V8=+L7("#[U8AHT#F0VO,.=@& M/73I&5%HL$U#37:=X1*+RH48]5B MHL/E;#J7%"<%5PG!@$:A>*$#" P7E]@8FI/0LA8@!ER^*X9IL;FDQ[J@] MVYY-E1CY]J&1:H\.GMJ#1]&OCL1._X4_]+6A\.]R>6*#TZPB/W#^?[!B!OW0 M#L=3;:2.J$BM075NZ#GN859I5?$I^?'VW'U[C/?(3G?8F#V]:Z.'6B15[//# MA^=INI/XY)X4,DQH>J/^7BQ%/KJ?K=$+0[PFM,HX-: K&?Q,]!8_"6$-A?M?Q#2LIV>[+^/9KP\^7\?[ M0UVL_21;_;[TFJR2T=$CS\S$3+*9P(L-//M"S1(_*;8:Q:N1:>*SJT1BT8]F MA-&8J%2K)#^%?E9ZB(B/>E%YZR7RT0&7)A\;>O;Q)?$I=VJ-_B\I/1E\:HKP M(4I"N/(K7J5BS]1KA%-SW41A2'1*]<<\SXI=O:LF:"W\_%)]>U(4MOR6?VP] MO4WQ]U(E]A/U=+,8C+Q]- M^N&UF$PW")[M]%E9*R02N>9+F)FE,@^O3_ED?-HH]0KY85K.?1;SJ49)SCPG MW\A(]*4V+*44^KGUV6EE>R\E-JG4'J.Y3#@3R5#)[--'.3ON?S0S/Z7DD"K/ M>N^E5+@ST;)2+JH41/$A/QL/LF&\WAIG7AM],2UF?N9D\5E/][.? V+ *9%: ME'R6^_V!Q,N-K#[NO^<5M?S$LX]9\3U39WORQV-F.,B^-6.O'U17'S\(1>&Q M4<@1PR>F7B]4GV5A_#KYK)"O^$,Q\U%,O?\4.M&7G!RKBJ7':3/_)N%Y,?TQ M2)=:,;[Z,A38CW[J(:,\R>(37GM59N%LI9)I$>_4XZ]^=SP:S)I/L3S5GR39 M3S77D%(=L.>,-&X^% :V$2C\$1STJ]:=A 1IO)S/,..F7&\\/[Z<_#2+.8& M%/[1R3^-Y;?(Y)<^(W,4]]:9OF2>9ZF71/]A MHJ2GFJ:4"3%6$/%X+M9X)G.,]E.FAR_Q)E.+2V]Q?)#3TQ(74^(O11E_+L7[ M6O8]G:T\Z61LVFGE\5A!^6 2"2(] MJ B-1'+RVN^^EUM9+M,5&CVB+ HO$;57_*3)QLM[I?^N$OD&\Y)]ZR1%)CTN M?*3>)FRVVL*IR5A/RH]QXAUO%:1\(?HA#Y.#QU@C$6LE7\3G+"M&,H5D]GW: M"H>C;WRC_"O[]FO4'$=J>6"R/N./#S^+6B^3ZI23.H5_:@/V77E_?Y CHV8W MT_J<2C_)DIC]).OQAI[+]2H)=?B49\,2.>GP!;)6?N)ZY. Q5> 23UTA]2LY M(*I"OM[A8V)7% LCXG,V AK^^Q-%#+HUM9>8Y#K5J)HEF,=>=]2GGAJ#R6M' M:-"*E%$>WDM-EHX,]5^E#V9,Z._,./-,Z&4E33;TPJ-:+/3&$85LC8BHW*TR M%-LG,O7R2[%:'?: P? DM<2HF-,&'_GGSW3D+2P4&#[_D52[N9P@-U,R\5$> MIED6ST@%F4TGPLQS5)LD17STF>Y2*LW*]7WRC MH[&?>$-14MVG#" :J9Q_)#+EEZ?BQZ^W8D4L_&Q\9B)J?C3.C\KQPL_J1Z'U M+'_44XG/9*&HO/.#0>M-2S:GY6()E]EJ=?0TJ*13C\+/3T%.$L/T\\]F04LG MI*(:;OSJ)!MO)!>/Z?+#P_N@CD=^_8I,1Q,Q*7PV4BF)9#B"ZO5:G[5"#<_G M?KZ'Q]U"+DXT4P^1AZBN?0SR4ZY4DS/@U[#Z4\&?Y=DH3#UQ0I?^]2#IU3"N MXN%X)OM<&-7BS?=?$7+:G7 =,CY2?XTBKS^;Q6@/F#X/O0&5^A3%2O_*"0>Q"[H\])7>@D7S]KD0]2_15^[RC-$]E+ZE6I, MHM,L^5_C^OG_4$L! A0#% @ N4(356O)?5]U!P 6!\ !\ M ( ! &-E;S,P,F-E ? " 48, !C9F\S,#)C97)T:69I8V%T M:6]N,C R,C U,S$N:'1M4$L! A0#% @ N4(35&UL4$L! M A0#% @ N4(3550,YZCH#P = !4 ( !:S\ '1A M>60M,C R,C U,S%?9&5F+GAM;%!+ 0(4 Q0 ( +E"$U4+]W3XYTH !5# M! 5 " 89/ !T87ED+3(P,C(P-3,Q7VQA8BYX;6Q02P$" M% ,4 " "Y0A-5P'ILEH,S "T3 , %0 @ &@F@ =&%Y M9"TR,#(R,#4S,5]P&UL4$L! A0#% @ N4(3548]2SCB+0$ T> + M \ ( !5LX '1A>60R,#(R,3!K+FAT;5!+!08 "@ * + +P" !E_ $ ! end