0000096536-19-000026.txt : 20190802 0000096536-19-000026.hdr.sgml : 20190802 20190802154731 ACCESSION NUMBER: 0000096536-19-000026 CONFORMED SUBMISSION TYPE: 10-K PUBLIC DOCUMENT COUNT: 87 CONFORMED PERIOD OF REPORT: 20190531 FILED AS OF DATE: 20190802 DATE AS OF CHANGE: 20190802 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: 19995871 BUSINESS ADDRESS: STREET 1: 90 TAYLOR DR STREET 2: P O BOX 748 CITY: NORTH TONAWANDA STATE: NY ZIP: 14120 BUSINESS PHONE: 7166940800 MAIL ADDRESS: STREET 1: 90 TAYLOR DR CITY: N TONAWANDA STATE: NY ZIP: 14120-0748 10-K 1 tayd201910k.htm TAYD 10K FY19
0000096536 false --05-31 2019 FY true 0000096536 2018-06-01 2019-05-31 0000096536 2018-11-30 0000096536 2019-08-02 0000096536 2019-05-31 0000096536 2018-05-31 0000096536 us-gaap:CommonStockMember 2019-05-31 0000096536 us-gaap:CommonStockMember 2018-05-31 0000096536 2017-06-01 2018-05-31 0000096536 us-gaap:CommonStockMember 2017-05-31 0000096536 us-gaap:AdditionalPaidInCapitalMember 2017-05-31 0000096536 us-gaap:RetainedEarningsMember 2017-05-31 0000096536 us-gaap:TreasuryStockMember 2017-05-31 0000096536 us-gaap:CommonStockMember 2017-06-01 2018-05-31 0000096536 us-gaap:AdditionalPaidInCapitalMember 2017-06-01 2018-05-31 0000096536 us-gaap:RetainedEarningsMember 2017-06-01 2018-05-31 0000096536 us-gaap:TreasuryStockMember 2017-06-01 2018-05-31 0000096536 us-gaap:AdditionalPaidInCapitalMember 2018-05-31 0000096536 us-gaap:RetainedEarningsMember 2018-05-31 0000096536 us-gaap:TreasuryStockMember 2018-05-31 0000096536 us-gaap:CommonStockMember 2018-06-01 2019-05-31 0000096536 us-gaap:AdditionalPaidInCapitalMember 2018-06-01 2019-05-31 0000096536 us-gaap:RetainedEarningsMember 2018-06-01 2019-05-31 0000096536 us-gaap:TreasuryStockMember 2018-06-01 2019-05-31 0000096536 us-gaap:AdditionalPaidInCapitalMember 2019-05-31 0000096536 us-gaap:RetainedEarningsMember 2019-05-31 0000096536 us-gaap:TreasuryStockMember 2019-05-31 0000096536 2017-05-31 0000096536 us-gaap:CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member 2018-05-31 0000096536 us-gaap:DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member 2018-06-01 0000096536 us-gaap:CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member 2018-06-01 0000096536 us-gaap:AccountingStandardsUpdate201409Member 2019-05-31 0000096536 us-gaap:AccountingStandardsUpdate201409Member 2018-06-01 2019-05-31 0000096536 us-gaap:CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member 2018-06-01 2019-05-31 0000096536 tayd:ConstructionSeismicWindMember 2018-06-01 2019-05-31 0000096536 tayd:ConstructionSeismicWindMember 2017-06-01 2018-05-31 0000096536 tayd:AerospaceDefenseMember 2018-06-01 2019-05-31 0000096536 tayd:AerospaceDefenseMember 2017-06-01 2018-05-31 0000096536 tayd:IndustrialMember 2018-06-01 2019-05-31 0000096536 tayd:IndustrialMember 2017-06-01 2018-05-31 0000096536 2018-06-01 2018-12-31 0000096536 2019-01-01 2019-05-31 0000096536 2019-06-01 2025-05-31 0000096536 tayd:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTwoMember 2019-05-31 0000096536 tayd:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeThreeMember 2019-05-31 0000096536 tayd:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeFourMember 2019-05-31 0000096536 tayd:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeFiveMember 2019-05-31 0000096536 tayd:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeSixMember 2019-05-31 0000096536 tayd:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeSevenMember 2019-05-31 0000096536 tayd:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeEightMember 2019-05-31 0000096536 tayd:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeNineMember 2019-05-31 0000096536 tayd:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTenMember 2019-05-31 0000096536 tayd:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeElevenMember 2019-05-31 0000096536 tayd:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeOneMember 2018-05-31 0000096536 tayd:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTwoMember 2018-05-31 0000096536 tayd:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeThreeMember 2018-05-31 0000096536 tayd:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeFourMember 2018-05-31 0000096536 tayd:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeFiveMember 2018-05-31 0000096536 tayd:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeSixMember 2018-05-31 0000096536 tayd:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeSevenMember 2018-05-31 0000096536 tayd:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeEightMember 2018-05-31 0000096536 tayd:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeNineMember 2018-05-31 0000096536 tayd:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTenMember 2018-05-31 0000096536 tayd:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeElevenMember 2018-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

 

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

 

For the fiscal year ended May 31, 2019

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)

 

New York 16-0797789

(State or other jurisdiction of

incorporation or organization)

(I.R.S. Employer

Identification No.)

 

90 Taylor Drive, North Tonawanda, New York 14120-0748
(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 [X] 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 [X] 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.

[X] Yes [ ] No

 

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

 

[X] Yes [ ] No

 
 

 

 

Indicate by check mark if disclosure of delinquent filers pursuant to Item 405 of Regulation S-K (§229.405 of this chapter) is not contained herein, and will not be contained, to the best of registrant's knowledge, in definitive proxy or information statements incorporated by reference in Part III of this Form 10-K or any amendment to this Form 10-K. [X]

 

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 is a shell company (as defined in Rule 12b-2 of the Act). [ ] Yes [X] 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, 2018 is $43,262,000.

 

The number of shares outstanding of each of the registrant's classes of common stock as of August 2, 2019: 3,478,866.

Entity Public Float (as of August 2, 2019): 37,900,000

 

 

 - 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 Analysisof Financial Condition and Results of Operations. 

8
  Item 7A. Quantitativeand Qualitative Disclosures About Market Risk. 18
  Item 8.

Financial Statements and Supplementary Data. 

18
  Item 9.

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

18
  Item 9A.

Controls and Procedures. 

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

Executive Compensation. 

18
  Item 12.

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

18
  Item 13.

Certain Relationships and Related Transactions, and Director Independence. 

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

 - 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 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. The following is a summary of the capabilities and applications for these products.

 

Seismic Dampers are designed to mitigate the effects of earthquake tremors 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 15 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 60,000,000 inch-pound capacities, produced in more than 60 standard sizes for industrial application on cranes, ships, container ships, railroad cars, truck docks, ladle and ingot cars, ore trolleys and 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 military and aerospace applications.

 

Distribution

 

The Company uses the services of more than 15 sales representatives and distributors in the United States and Canada along with more than 30 representatives and distributors throughout the rest of the world. Specialized technical sales in aerospace and custom marketing activities are serviced by several sales agents, under the direction and with the assistance of the Company's President. Sales representatives typically have non-exclusive, yearly agreements with the Company, which, in most instances, provide for payment of commissions on sales at 10% of the product's net aggregate selling price. Distributors also have non-exclusive, yearly 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 are the Company's 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.

 - 4-

 

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.

 

Dependence Upon Major Customers

 

The Company is not dependent on any one or a few major customers. Sales to four customers approximated 36% (17%, 8%, 6% and 5%, respectively) of net sales for 2019. 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 12 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, 2019 and 2018. No extended payment terms are offered. During the year ended May 31, 2019, delivery time after receipt of orders averaged 8 to 10 weeks for the Company's standard products. Due to the volatility of construction 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

 

The Company does not generally engage in major product research and development activities in connection with the design of its products, except when funded by aerospace customers or the federal government. The Company, however, engages in research testing of its products. For the fiscal years ended May 31, 2019 and 2018, the Company expended $319,000 and $263,000, respectively, on manufacturing research. This increase is primarily due to research and development required to meet new types of specifications on certain domestic seismic protection contracts in the current year. For the years ended May 31, 2019 and 2018, defense sponsored research and development totaled $26,000 and $22,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.

 

 - 5-

Employees

 

Exclusive of Company sales representatives and distributors, as of May 31, 2019, the Company had 119 employees, including three executive officers, and one part time employee. The Company has good relations with its employees.

 

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 three 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 three 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 leases a separate warehouse for storage from an unrelated third party, consisting of approximately 3,600 square feet at $975 per month. The warehouse is located approximately one-quarter mile from the Company’s headquarters. The total rental expense incurred by the Company for this facility in fiscal 2019 was $11,700.

 

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 2019 and fiscal year 2018 were obtained from NASDAQ.

 

 

   Fiscal 2019  Fiscal 2018
   High  Low  High  Low
First Quarter  $12.62   $9.99   $14.12   $10.62 
Second Quarter  $12.70   $10.80   $14.00   $10.84 
Third Quarter  $13.29   $11.50   $15.14   $11.01 
Fourth Quarter  $12.75   $10.42   $12.23   $9.70 

 

Holders

 

As of August 2, 2019, the number of issued and outstanding shares of Common Stock was 3,478,866 and the approximate number of record holders of the Company's Common Stock was 509. Due to a substantial number of shares of the Company's Common Stock held in street name, the Company believes that the total number of beneficial owners of its Common Stock exceeds 1,500.

 

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

 

The 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, 2019.

 

    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

 

 

39,750

73,750

110,500

 

 

$ 7.80

$11.51

$13.26

 

-

-

21,500

160,000

Equity compensation plans not approved by security holders:  

 

 

 

       
2004 Employee Stock Purchase Plan    (1)  

 

-

 

 

-

 

 

221,627

Total

 

  224,500       403,127
             
(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, 2019, 221,627 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, 2019 equaled less than 0.1% of sales for that period. The balance of the valuation allowance has remained at slightly less than $110,000 since May 31, 2017. 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.

 

The provision for potential inventory obsolescence was $175,000 and $60,000 for the years ended May 31, 2019 and 2018.

 

Revenue Recognition

 

Accounting Standard Update (ASU) 2014-09 was adopted on June 1, 2018 using the modified retrospective method, which required the recognition of the cumulative effect of the transition as an adjustment to retained earnings.

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. In the year ended May 31, 2019, 45% of revenue was recorded for contracts with a single performance obligation that was satisfied within the period. In the year ended May 31, 2018, 40% of revenue was recorded for contracts with a single performance obligation that was satisfied within the period.

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, 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. In the year ended May 31, 2019, 55% of revenue was recorded for contracts in which revenue was recognized over time. In the year ended May 31, 2018, 60% of revenue was recorded for contracts in which revenue was recognized over time.

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.

 

We recognized the cumulative effect of initially applying the new revenue standard as an adjustment to the opening balance of retained earnings. The comparative information has not been restated and continues to be reported under the accounting standards in effect for those periods.

The cumulative effect of the changes made to our consolidated June 1, 2018 balance sheet for the adoption of ASU 2014-09, were as follows:

          
Balance Sheet  Balance at May 31, 2018  Adjustments Due to ASU 2014-09  Balance at June 1, 2018
Assets               
Inventory  $11,317,775   $1,101,116   $12,418,891 
Costs and estimated earnings in excess of billings  $6,356,963    (326,509)  $6,030,454 
Liabilities               
Billings in excess of costs and estimated earnings  $2,043,002    (25,105)  $2,017,897 
Other accrued expenses (customer advances)  $1,412,502   $794,713   $2,207,215 
Equity               
Retained earnings  $26,959,080   $4,999   $26,964,079 
                

 

 - 10-

 

In accordance with the new revenue standard requirements, the disclosure of the impact of adoption of ASU 2014-09 on our consolidated balance sheet and income statement was as follows:

   May 31, 2019
Balance Sheet  As Reported  Effect of Change Higher/(Lower)  Balances Without Adoption of ASU 2014-09
Assets         
Inventory  $11,239,331   $—     $11,239,331 
Costs and estimated earnings in excess of billings  $7,572,490   $—     $7,572,490 
Liabilities               
Other accrued expenses (customer advances)  $1,532,271   $—     $1,532,271 
Equity               
Retained earnings  $29,508,604   $—     $29,508,604 

 

   For the year ended May 31, 2019
Income Statement  As Reported  Effect of Change Higher/(Lower)  Balances Without Adoption of ASU 2014-09
Revenues         
Sales, net  $33,619,031   $1,096,117   $32,522,914 
Costs and Expenses               
Cost of goods sold  $24,571,255   $1,101,116   $23,470,139 
Provision for income taxes  $515,000   $—     $515,000 
                
Net income (loss)  $2,544,525   $(4,999)  $2,549,524 

 

 

 

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.

 

 - 11-

 

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 $3.6 million of taxable income in order to realize our deferred tax assets recorded as of May 31, 2019 of $761,000. This deferred tax asset balance is 15% ($98,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. In December 2017, the Tax Cuts and Jobs Act (the 2017 Act) became law. It includes a broad range of tax reform proposals affecting businesses, including corporate tax rates, business deductions, and international tax provisions. Among the changes, the 2017 Act reduces the corporate rate from 34% to 21% for periods beginning after December 31, 2017. Because of the rate change, the Company recorded a non-cash write down of deferred tax assets and recognized incremental deferred tax expense of $164,000 during the year ended May 31, 2018.

 

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, 2019, the Company had State investment tax credit carryforwards of approximately $370,000 expiring through May 2025.

 

 

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, 2019 and 2018
   Increase /
   (Decrease)
Sales, net  $9,255,000 
Cost of goods sold  $6,131,000 
Selling, general and administrative expenses  $769,000 
Income before provision for income taxes  $2,383,000 
Provision for income taxes  $282,000 
Net income  $2,101,000 

 

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

   Year ended May 31  Change
   2019  2018  Amount  Percent
Net Revenue  $33,619,000   $24,364,000   $9,255,000    38%
Cost of sales   24,571,000    18,440,000    6,131,000    33%
Gross profit  $9,048,000   $5,924,000   $3,124,000    53%
… as a percentage of net revenues   27%   24%          
                     

 

The Company's consolidated results of operations showed a 38% increase in net revenues and an increase in net income of 474%. Revenues recorded in the current period for long-term construction projects (“Project(s)”) were 26% more than the level recorded in the prior year. We had 48 Projects in process during the current period compared with 50 during the same period last year. Revenues recorded in the current period for other-than long-term construction projects (non-projects) were 56% more than the level recorded in the prior year. The impact of adoption of accounting regulation ASU 2014-09 increased non-project revenue for the period by $1,096,000 or about 11% of the prior period’s level of non-project revenue. 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.

 - 12-


The mix of customers buying our products changed slightly from last year. Sales of the Company's products are made to three general groups of customers: industrial, construction and aerospace / defense. The Company saw a 65% increase from last year’s level in sales to construction customers who were seeking seismic / wind protection for either construction of new buildings and bridges or retrofitting existing buildings and bridges along with a 5% increase in sales to customers using our products in industrial applications and a 12% increase in sales to customers in aerospace / defense. The significant increase in sales to construction customers was the result of several factors including 1.) an increase in domestic spending on infrastructure for seismic protection, and 2.) an increase in domestic buildings and bridges being retrofitted for seismic protection. The impact of adoption of accounting regulation ASU 2014-09 increased revenue for the period by $1,096,000 or about 4.5% of the prior period’s level of revenue. A breakdown of sales to these three general groups of customers, as a percentage of total net revenue for fiscal years ended May 31, 2019 and 2018 is as follows:

 

   Year ended May 31
   2019  2018
Industrial   6%   8%
Construction   60%   50%
Aerospace / Defense   34%   42%

 

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

 

   Year ended May 31
   2019  2018
North America   79%   74%
Asia   17%   21%
Other   4%   5%

 

The gross profit as a percentage of net revenue of 27% in the current is slightly higher than the 24% recorded in the same period of the prior year.

 

At May 31, 2018, we had 121 open sales orders in our backlog with a total sales value of $23.1 million. At May 31, 2019, we had 153 open sales orders in our backlog with a total sales value is $13.3 million. $6.7 million of the current backlog is on Projects already in progress. $8.8 million of the $23.1 million sales order backlog at May 31, 2018 was in progress at that date. 43% of the sales value in the backlog is for aerospace / defense customers compared to 33% at the end of fiscal 2018. As a percentage of the total sales order backlog, orders from customers in construction accounted for 52% at May 31, 2019 and 65% at May 31, 2018.

 

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
   2019  2018  Amount  Percent
Outside Commissions  $1,815,000   $1,254,000   $561,000    45%
Other SG&A   4,231,000    4,023,000    208,000    5%
Total SG&A  $6,046,000   $5,277,000   $769,000    15%
… as a percentage of net revenues   18%   22%          
                     

 

Selling, general and administrative expenses increased by 15% from the prior year. Outside commission expense increased 45% from last year's level due to the significant increase in the level of commissionable sales recorded in the current period as compared to the prior period. Other selling, general and administrative expenses increased by 5% from last year.

 

The above factors resulted in operating income of $3,002,000 for the year ended May 31, 2019, up 364% from the $648,000 in the prior year.

 - 13-

 

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, 2019 is 17%, half of the ETR for the prior year of 34%. In December 2017, the Tax Cuts and Jobs Act (the 2017 Act) became law. It includes a broad range of tax reform proposals affecting businesses, including corporate tax rates, business deductions, and international tax provisions. Among the changes, the 2017 Act reduces the corporate rate from 34% to 21% for periods beginning after December 31, 2017. Because of the rate change, the Company recorded a non-cash write down of deferred tax assets and recognized incremental deferred tax expense of $164,000 during the year ended May 31, 2018.

 

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

 

   2019  2018
Computed tax provision at the expected statutory rate  $643,000   $194,000 
Tax effect of permanent differences:          
Research tax credits   (166,000)   (110,000)
Tax rate change on deferred taxes   —      164,000 
Other permanent differences   29,000    (3,000)
Other   9,000    (12,000)
   $515,000   $233,000 
           

 

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 $138,000 and $125,000 of compensation cost for the years ended May 31, 2019 and 2018.

 

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 2018 and April 2019. 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 2018  April 2019
Risk-free interest rate:   2.625%   2.375%
Expected life of the options:   3.7 years    3.8 years 
Expected share price volatility:   31%   30%
Expected dividends:   zero    zero 
These assumptions resulted in estimated fair-market value per stock option:  $3.18   $3.21 

 

 - 14-

 

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, 2019 is presented below.

      Weighted-
   Number of  Average
   Options  Exercise Price
Options outstanding and exercisable at May 31, 2018:   271,750   $11.33 
Options granted:   43,000   $11.90 
Less: Options exercised:   10,750   $3.05 
Less: Options expired:   80,000   $11.68 
Options outstanding and exercisable at May 31, 2019:   224,000   $11.71 
Closing value per share on NASDAQ at May 31, 2019:       $11.08 

 

 

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, 2019 were $473,000 compared to $937,000 in the prior year. The Company has commitments to make capital expenditures of approximately $50,000 as of May 31, 2019.

 

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, 2019. There was no outstanding balance as of May 31, 2018. 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, 2019  May 31, 2018  Increase /(Decrease)
Raw materials  $679,000        $727,000        $(48,000)   -7%
Work in process   9,905,000         9,990,000         (85,000)   -1%
Finished goods   655,000         601,000         54,000    9%
Inventory   11,239,000    94%   11,318,000    93%   (79,000)   -1%
Maintenance and other inventory   732,000    6%   886,000    7%   (154,000)   -17%
Total  $11,971,000    100%  $12,204,000    100%  $(233,000)   -2%
                               
Inventory turnover   2.0         1.5                

 

 

Inventory, at $11,239,000 as of May 31, 2019, is 1% less than the prior year-end. Of this, approximately 88% is work in process, 6% is finished goods, and 6% 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. There was approximately $148,000 of slow-moving inventory used during the year ended May 31, 2019. The Company disposed of approximately $111,000 and $41,000 of obsolete inventory during the years ended May 31, 2019 and 2018, respectively.

 - 15-

 

 

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

 

   May 31, 2019  May 31, 2018  Increase /(Decrease)
Accounts receivable  $5,279,000   $6,266,000   $(987,000)   -16%
CIEB   7,572,000    6,357,000    1,215,000    19%
Less: BIEC   634,000    2,043,000    (1,409,000)   -69%
Net  $12,217,000   $10,580,000   $1,637,000    15%
                     
Number of an average day’s sales outstanding in accounts receivable (DSO)   53    88           

 

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 $5,279,000 as of May 31, 2019 includes approximately $951,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) decreased to 53 days at May 31, 2019 from 88 days as of May 31, 2018. The DSO is a function of 1.) the level of sales for an average day (for example, total sales for the past three months divided by 90 days) and 2.) the level of accounts receivable at the balance sheet date. The level of sales for an average day in the fourth quarter of the current fiscal year is 41% more than in the fourth quarter of the prior year. The level of accounts receivable at the end of the current fiscal quarter is 16% less than the level at the end of the prior year. The significant increase in the level of an average day’s sales caused the DSO to decrease from last year end to this year-end. The Company expects to collect the net accounts receivable balance, including the retainage, during the next twelve months.

 

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:

 

   2019  2018
Number of projects in progress at year-end   22    26 
Aggregate percent complete at year-end   77%   72%
Average total value of projects in progress at year-end  $1,358,000   $942,000 
Percentage of total value invoiced to customer   54%   55%

 

There are four fewer 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 increased by 44% 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 $7,572,000 balance in this account at May 31, 2019 is a 19% increase from 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. 40% of the CIEB balance as of the end of the last fiscal quarter, February 28, 2019, was billed to those customers in the current fiscal quarter ended May 31, 2019. The remainder will be billed as the projects progress, in accordance with the terms specified in the various contracts.

 

As of May 31, 2019, there are sales orders for four projects that are not yet in progress. These projects average $248,000 each in value upon completion. This compares to four such projects as of the prior year end with an average value of $2,198,000.

 

 - 16-

 

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

 

   May 31, 2019  May 31, 2018
Costs  $15,035,000   $9,939,000 
Estimated earnings   4,815,000    3,529,000 
Less: Billings to customers   12,278,000    7,111,000 
CIEB  $7,572,000   $6,357,000 
Number of projects in progress   18    19 

 

As noted above, BIEC represents billings to customers in excess of revenues recognized. The $634,000 balance in this account at May 31, 2019 is in comparison to a $2,043,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.

 

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

 

   May 31, 2019  May 31, 2018
Billings to customers  $3,910,000   $6,246,000 
Less:  Costs   1,565,000    2,574,000 
Less: Estimated earnings   1,711,000    1,629,000 
BIEC  $634,000   $2,043,000 
Number of projects in progress   4    7 

 

 

Accounts payable, at $1,403,000 as of May 31, 2019, is 4% less than the prior year-end. 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, 2019 are $1,309,000. This is 33% more than the $983,000 accrued at the prior year-end. This increase is due to the increase in the CIEB, discussed above. The Company expects the current accrued amount to be paid during the next twelve months.

 

Other accrued expenses of $1,532,000 increased by 8% from the prior year level of $1,413,000.

 

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, capital improvements and share repurchases (if any) for the next twelve months.

 

 - 17-

 

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 23 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, 2019 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, 2019. 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, 2019, 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, 2019 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 November 2, 2019, 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.

 

 

 

 - 18-

 

 

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

 

    (ii)

Consolidated Balance Sheets as of May 31, 2019 and 2018

 

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

Consolidated Statements of Stockholders' Equity for the years ended May 31, 2019 and 2018

 

    (v)

Consolidated Statements of Cash Flows for the years ended May 31, 2019 and 2018

 

    (vi) Notes to Consolidated Financial Statements - May 31, 2019 and 2018
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.

 

    (vi)

Description of registrant’s securities

 

           

 - 19-

 

 

 

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, 2018 by the Registrant in favor of M&T Bank, filed with this report.

 

    (xi)

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

 

    (xii)

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

 

 - 20-

 

  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, 2019
       
      Weighted average common stock outstanding  3,470,595
      Common shares issuable under stock option plans using treasury stock method       17,043
      Weighted average common stock outstanding assuming dilution  3,487,638
       
      Net income fiscal year ended May 31, 2019 (1) $   2,544,525
      Weighted average common stock (2) 3,470,595 
      Basic income per common share        (1) divided by (2) $      0.73
       
      Net income fiscal year ended May 31, 2019 (3) $  2,544,525
      Weighted average common stock outstanding assuming dilution (4) 3,487,638    
      Diluted income per common share     (3) divided by (4) $      0.73
     
    Weighted average of common stock/equivalents outstanding - fiscal year ended May 31, 2018
       
      Weighted average common stock outstanding  3,458,049
      Common shares issuable under stock option plans using treasury stock method       30,876
      Weighted average common stock outstanding assuming dilution  3,488,925
       
      Net income fiscal year ended May 31, 2018 (1) $ 443,370
      Weighted average common stock (2) 3,458,049  
      Basic income per common share        (1) divided by (2) $     0.13
       
      Net income fiscal year ended May 31, 2018 (3) $  443,370
      Weighted average common stock outstanding assuming dilution (4) 3,488,925    
      Diluted income per common share     (3) divided by (4) $     0.13
       
  13 The Annual Report to Security Holders for the fiscal year ended May 31, 2019, attached to this Annual Report on Form 10-K.
       
  14 Code of Ethics, incorporated by reference to Exhibit 14 to Annual Report on Form 10-KSB for the period ending May 31, 2005.
  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.
                   

 - 21-

 

  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
         

 

 - 22-

 

 

 

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 2, 2019
  Timothy J. Sopko    
  Chief Executive Officer    
  (Principal Executive Officer)    

 

 

 

 

and

 

 

 

 

By: /s/Mark V. McDonough Date: August 2, 2019
  Mark V. McDonough    
  Chief Financial Officer and Director    

 

 

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/Randall L. Clark
  John Burgess, Director   Randall L. Clark, Director
  August 2, 2019   August 2, 2019

 

 

 

 

 

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

 

 - 23-

 

 

 

[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 2, 2019 and any reference thereto in the Annual Report to Shareholders for the fiscal year ended May 31, 2019.

 

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

 

 

/s/Lumsden & McCormick, LLP

Lumsden & McCormick, LLP

Buffalo, New York

August 2, 2019

 

 - 24-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

TAYLOR DEVICES, INC. AND SUBSIDIARY

 

CONSOLIDATED FINANCIAL STATEMENTS

 

May 31, 2019

 

 

 - 25

 

 

 

 

 

 

[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, 2019 and 2018, 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, 2019 and 2018, 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.

 

Adoption of ASU No. 2014-09

 

As discussed in Note 1 to the consolidated financial statements, the Company changed its method for recognizing revenue as a result of the adoption of Accounting Standards Update (ASU) No. 2014-09, Revenue from Contracts with Customers (Topic 606), and the amendments in ASUs 2015-14, 2016-08, 2016-10, and 2016-12, effective June 1, 2018.

 

Basis for Opinion

 

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

 

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

 

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

 

 

 

/s/Lumsden & McCormick, LLP

Lumsden & McCormick, LLP

 

 

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

 

Buffalo, New York

August 2, 2019

 

 

 

 

 

 - 26-

 

 

TAYLOR DEVICES, INC. AND SUBSIDIARY          
           
Consolidated Balance Sheets          
           
May 31,  2019  2018
           
Assets          
Current assets:          
Cash and cash equivalents  $5,071,822   $2,858,323 
Short-term investments   1,055,591    1,039,082 
Accounts receivable, net   5,279,302    6,265,864 
Inventory   11,239,331    11,317,775 
Prepaid expenses   312,160    244,643 
Prepaid income taxes   237,017    202,519 
Costs and estimated earnings in excess of billings   7,572,490    6,356,963 
Total current assets   30,767,713    28,285,169 
           
Maintenance and other inventory, net   731,877    885,651 
Property and equipment, net   9,317,442    9,935,625 
Cash value of life insurance, net   190,749    185,730 
Deferred income taxes   189,115    219,115 
Assets  $41,196,896   $39,511,290 
Liabilities and Stockholders' Equity          
Current liabilities:          
Accounts payable  $1,402,692   $1,460,175 
Accrued commissions   1,309,358    983,260 
Other accrued expenses   1,532,271    1,412,502 
Billings in excess of costs and estimated earnings   633,703    2,043,002 
Total current liabilities   4,878,024    5,898,939 
           
Stockholders' Equity:          
Common stock, $ .025 par value, authorized 8,000,000 shares,    issued 4,029,431 and 4,017,139 shares   100,735    100,428 
Paid-in capital   9,538,892    9,382,202 
Retained earnings   29,508,604    26,959,080 
Stockholders’ equity before treasury stock   39,148,231    36,441,710 
Treasury stock - 550,872 shares at cost   (2,829,359)   (2,829,359)
Total stockholders' equity   36,318,872    33,612,351 
 Total liabilities and stockholders’ equity  $41,196,896   $39,511,290 
           
See notes to consolidated financial statements.          
           

 

 - 27-

 

TAYLOR DEVICES, INC. AND SUBSIDIARY      
       
Consolidated Statements of Income      
       
For the years ended May 31,  2019  2018
       
       
Sales, net  $33,619,031   $24,363,967 
           
Cost of goods sold   24,571,255    18,439,760 
           
     Gross profit   9,047,776    5,924,207 
           
Selling, general and administrative expenses   6,045,984    5,276,574 
           
     Operating income   3,001,792    647,633 
           
Other income          
   Interest, net   69,006    26,861 
   Miscellaneous   (11,273)   1,876 
Total other income   57,733    28,737 
           
     Income before provision for income taxes   3,059,525    676,370 
           
Provision for income taxes   515,000    233,000 
           
     Net income  $2,544,525   $443,370 
           
Basic and diluted earnings per common share  $0.73   $0.13 
           
See notes to consolidated financial statements.          
           

 

 - 28-

 

 

TAYLOR DEVICES, INC. AND SUBSIDIARY            
             
Consolidated Statements of Stockholders' Equity         
             
For the years ended May 31, 2019 and 2018            
   Common  Paid-In  Retained  Treasury
   Stock  Capital  Earnings  Stock
             
Balance, May 31, 2017  $99,763   $9,070,278   $26,515,710   $(2,829,359)
                     
Net income for the year ended May 31, 2018               443,370       
                     
Common stock issued for employee stock option plan   619    164,364             
                     
Common stock issued for employee stock purchase plan   46    22,629             
                     
Stock options issued for services         124,931             
                     
Balance, May 31, 2018   100,428    9,382,202    26,959,080    (2,829,359)
                     
Net income for the year ended May 31, 2019               2,544,525       
                     
Common stock issued for employee stock option plan   269    32,561             
                     
Common stock issued for employee stock purchase plan   38    17,473             
                     
Adjustments Due to ASU 2014-09               4,999       
                     
Stock options issued for services         106,656             
                     
Balance, May 31, 2019  $100,735   $9,538,892   $29,508,604   $(2,829,359)
                     
                     
See notes to consolidated financial statements.                    
                     

 

 - 29-

 

 

TAYLOR DEVICES, INC. AND SUBSIDIARY      
       
Consolidated Statements of Cash Flows      
       
For the years ended May 31,  2019  2018
       
Operating activities:          
Net income  $2,544,525   $443,370 
Adjustments to reconcile net income to net cash flows from          
  operating activities:          
Depreciation   1,072,959    995,924 
Stock options issued for services   106,656    124,931 
Loss on disposal of property and equipment   18,061       
Provision for inventory obsolescence   175,000    60,000 
Deferred income taxes   30,000    210,000
Changes in other current assets and liabilities:          
Accounts receivable   986,562   (3,720,091)
Inventory   1,158,334    103,963 
Prepaid expenses   (67,517)   18,931 
Prepaid income taxes   (34,498)   (38,615)
Costs and estimated earnings in excess of billings   (1,542,036)   511,430
Accounts payable   (57,483)   130,854 
Accrued commissions   326,098    136,319 
Other accrued expenses   (674,944)   580,442
Billings in excess of costs and estimated earnings   (1,384,194)   747,013 
Net operating activities   2,657,523    304,471 
           
Investing activities:          
Acquisition of property and equipment   (472,837)   (936,833)
Increase in short-term investments   (16,509)   (16,756)
Increase in cash value of life insurance   (5,019)   (5,151)
Net investing activities   (494,365)   (958,740)
           
Financing activities:          
Proceeds from issuance of common stock   50,341    187,658 
Net financing activities   50,341    187,658 
           
Net change in cash and cash equivalents   2,213,499   (466,611)
           
Cash and cash equivalents - beginning   2,858,323    3,324,934 
Cash and cash equivalents - ending  $5,071,822   $2,858,323 
           
See notes to consolidated financial statements.          
           

 

 

 

 - 30-

 

 

 

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.

 

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

 

74% of the Company's 2018 revenue was generated from sales to customers in the United States and 21% was from sales to customers in Asia. Remaining sales were to customers in other countries in North America, Europe, Australia 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, 2019 include “available for sale” corporate bonds stated at fair value, which approximates cost. The bonds (7) mature on various dates during the period May 2020 to December 2021. 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.

 

 - 31-

 

 

 

Accounts Receivable:

 

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

 

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

 

As noted below, ASU 2014-09 was adopted on June 1, 2018 using the modified retrospective method, which required the recognition of the cumulative effect of the transition as an adjustment to retained earnings.

 

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. In the year ended May 31, 2019, 45% of revenue was recorded for contracts with a single performance obligation that was satisfied within the period. In the year ended May 31, 2018, 40% of revenue was recorded for contracts with a single performance obligation that was satisfied within the period.

 

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. In the year ended May 31, 2019, 55% of revenue was recorded for contracts in which revenue was recognized over time. In the year ended May 31, 2018, 60% of revenue was recorded for contracts in which revenue was recognized over 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.

 - 32-

 

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

We recognized the cumulative effect of initially applying the new revenue standard as an adjustment to the opening balance of retained earnings primarily because certain longer term contracts accounted for on the percentage of completion method did not contain “enforceable right to payment” terms, as defined. The comparative information has not been restated and continues to be reported under the accounting standards in effect for those periods.

The cumulative effect of the changes made to our consolidated June 1, 2018 balance sheet for the adoption of ASU 2014-09, were as follows:

          
Balance Sheet  Balance at May 31, 2018  Adjustments Due to ASU 2014-09  Balance at June 1, 2018
Assets               
Inventory  $11,317,775   $1,101,116   $12,418,891 
Costs and estimated earnings in excess of billings  $6,356,963   $(326,509)  $6,030,454 
Liabilities               
Billings in excess of costs and estimated earnings  $2,043,002   $(25,105)  $2,017,897 
Other accrued expenses  $1,412,502   $794,713   $2,207,215 
Equity               
Retained earnings  $26,959,080   $4,999   $26,964,079 
                

 

In accordance with the new revenue standard requirements, the disclosure of the impact of adoption of ASU 2014-09 on our consolidated balance sheet and income statement was as follows:

                        
   May 31, 2019
Balance Sheet  As Reported  Effect of Change Higher/(Lower)  Balances Without Adoption of ASU 2014-09
Assets         
Inventory  $11,239,331   $     $11,239,331 
Costs and estimated earnings in excess of billings  $7,572,490   $     $7,572,490 
Liabilities               
Other accrued expenses  $1,532,271   $     $1,532,271 
Equity               
Retained earnings  $29,508,604   $     $29,508,604 

 

 

 - 33-

                        
   For the year ended May 31, 2019
Income Statement  As Reported  Effect of Change Higher/(Lower)  Balances Without Adoption of ASU 2014-09
Revenues         
Sales, net  $33,619,031   $1,096,117   $32,522,914 
Costs and Expenses               
Cost of goods sold  $24,571,255   $1,101,116   $23,470,139 
Provision for income taxes  $515,000   $     $515,000 
                
Net income (loss)  $2,544,525   $(4,999)  $2,549,524 

 

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 $268,847 and $264,696 for the years ended May 31, 2019 and 2018.

 

Research and Development Costs:

 

Research and development costs are classified as a component of cost of sales. The amounts of these costs were $319,000 and $263,000 for the years ended May 31, 2019 and 2018.

 

 

 

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, 2019 or 2018. The Company recorded no interest expense or penalties in its consolidated statements of income during the years ended May 31, 2019 and 2018.

 

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

 

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, 2019 and 2018 was $106,656 and $124,931.

 

 - 34-

New Accounting Standards:

 

In May 2014, the Financial Accounting Standards Board (FASB) issued Accounting Standards Update (ASU) No. 2014-09, Revenue from Contracts with Customers. ASU 2014-09 is a comprehensive new revenue recognition model that requires a company to recognize revenue to depict the transfer of goods or services to a customer at an amount that reflects the consideration it expects to receive in exchange for those goods or services. ASU 2014-09 also requires additional disclosure about the nature, amount, timing and uncertainty of revenue and cash flows arising from customer contracts, including significant judgments and changes in judgments and assets recognized from costs incurred to obtain or fulfill a contract. ASU 2014-09, as amended, is effective for annual reporting periods, and interim periods within that period, beginning after December 15, 2018 (fiscal year 2019 for the Company). Companies may use either a full retrospective or a modified retrospective approach to adopt ASU 2014-09. The Company adopted ASU 2014-09 on June 1, 2018 using the modified retrospective method, which required the recognition of the cumulative effect of the transition as an adjustment to retained earnings. The effect of the adoption is detailed above.

 

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

 

 

 

2. Accounts Receivable:

 

   2019  2018
Customers  $4,438,373   $5,515,848 
Customers - retention   950,684    859,771 
Gross accounts receivable   5,389,057    6,375,619 
Less allowance for doubtful accounts   109,755    109,755 
Net accounts receivable  $5,279,302   $6,265,864 

 

3. Inventory:

 

   2019  2018
Raw materials  $679,018   $726,852 
Work-in-process   9,905,495    9,990,225 
Finished goods   754,818    700,698 
Gross inventory   11,339,331    11,417,775 
Less allowance for obsolescence   100,000    100,000 
Net inventory  $11,239,331   $11,317,775 

 

4. Costs and Estimated Earnings on Uncompleted Contracts:

 

   2019  2018
Costs incurred on uncompleted contracts  $16,599,307   $12,512,350 
Estimated earnings   6,526,707    5,157,890 
Total costs and estimated earnings   23,126,014    17,670,240 
Less billings to date   16,187,227    13,356,279 
Costs and estimated earnings not billed  $6,938,787   $4,313,961 

 

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

 

   2019  2018
Costs and estimated earnings in excess of billings  $7,572,490   $6,356,963 
Billings in excess of costs and estimated earnings   633,703    2,043,002 
Costs and estimated earnings not billed  $6,938,787   $4,313,961 

 

 - 35-

 

 

The following summarizes the status of Projects in progress as of May 31, 2019 and 2018:

 

   2019  2018
Number of Projects in progress   22    26 
Aggregate percent complete   77%   72%
Aggregate amount remaining  $6,748,520   $6,816,089 
Percentage of total value invoiced to customer   54%   55%

 

Additionally, as of May 31, 2019, there are sales orders for four Projects that are not yet in progress. These projects total $990,971 in value upon completion. This compares to four such Projects as of May 31, 2018 with a total value of $8,793,737. The Company expects to recognize the entire remaining revenue on all open projects during the May 31, 2020 fiscal year.

 

Revenue recognized during the years ended May 31, 2019 and 2018 for amounts included in billings in excess of costs and estimated earnings as of the beginning of the year amounted to $4,187,015 and $2,005,000.

 

5. Maintenance and Other Inventory:

 

   2019  2018
Maintenance and other inventory  $2,197,958   $2,287,897 
Less allowance for obsolescence   1,466,081    1,402,246 
Maintenance and other inventory, net  $731,877   $885,651 

 

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.

 

The provision for potential inventory obsolescence was $175,000 and $60,000 for the years ended May 31, 2019 and 2018.

 

 

6. Property and Equipment:

 

   2019  2018
Land  $195,220   $195,220 
Buildings and improvements   9,342,431    9,342,431 
Machinery and equipment   10,390,610    10,302,681 
Office furniture and equipment   1,975,392    1,652,711 
Autos and trucks   24,818    84,256 
Land improvements   455,429    455,429 
Gross property and equipment   22,383,900    22,032,728 
Less accumulated depreciation   13,066,458    12,097,103 
Property and equipment, net  $9,317,442   $9,935,625 

 

Depreciation expense was $1,072,959 and $995,924 for the years ended May 31, 2019 and 2018.

 

The Company has commitments to make capital expenditures of approximately $50,000 as of May 31, 2019.

 

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.

 

 - 36-

 

 

 

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

 

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 $292,000 and $57,042 as of May 31, 2019 and 2018. These amounts are included in accounts payable.

 

8. Legal Proceedings:

 

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

 

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, construction and aerospace / defense. A breakdown of sales to these three general groups of customers is as follows:

 

   2019  2018
Construction  $20,168,587   $12,192,836 
Aerospace / Defense   11,383,374    10,205,945 
Industrial   2,067,070    1,965,186 
Sales, net  $33,619,031   $24,363,967 

 

Sales to four customers approximated 36% (17%, 8%, 6% and 5% respectively) of net sales for 2019. Sales to five customers approximated 49% (14%, 13%, 9%, 7% and 6% respectively) of net sales for 2018.

 

 

10. Income Taxes:

   2019  2018
Current tax provision:          
Federal  $521,000   $23,000 
State            
Total current tax provision   521,000    23,000 
Deferred tax provision:          
Federal   (6,000)   210,000
State           
Total deferred tax provision   (6,000)   210,000
Total tax provision  $515,000   $233,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:

   2019  2018
Computed tax provision at the expected statutory rate  $642,500   $193,500 
State income tax - net of Federal tax benefit   500   (1,200)
Tax effect of permanent differences:          
Research tax credits   (166,000)   (110,000)
Tax rate change on deferred taxes         164,000 
Other permanent differences   28,700   (3,700)
Other   9,300   (9,600)
Total tax provision  $515,000   $233,000 
Effective income tax rate   16.8%   34.4%

 

 - 37-

 

 

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

 

   2019  2018
Deferred tax assets:          
Allowance for doubtful receivables  $23,000   $23,000 
Tax inventory adjustment   99,700    18,800 
Allowance for obsolete inventory   328,900    315,500 
Accrued vacation   50,200    40,900 
Accrued commissions   19,800    14,000 
Warranty reserve   30,300    27,600 
Stock options issued for services   208,600    223,100 
Total deferred tax assets   760,500    662,900 
Deferred tax liabilities:          
Excess tax depreciation   571,385   443,785
Net deferred tax assets  $189,115   $219,115 

 

In December 2017, the Tax Cuts and Jobs Act (the 2017 Act) became law. It includes a broad range of tax reform proposals affecting businesses, including corporate tax rates, business deductions, and international tax provisions. Among the changes, the 2017 Act reduces the corporate rate from 34% to 21% for periods beginning after December 31, 2017. Because of the rate change, the Company recorded a non-cash write down of deferred tax assets and recognized incremental deferred tax expense of $164,000 during the year ended May 31, 2018.

 

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 $3.6 million in taxable income in future years in order to realize the deferred tax assets recorded as of May 31, 2019 of $760,500.

 

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

 

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:

 

   2019  2018
Average common shares outstanding   3,470,595    3,458,049 
Common shares issuable under stock option plans   17,043    30,876 
Average common shares outstanding assuming dilution   3,487,638    3,488,925 

 

12. Related Party Transactions:

 

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

 

 - 38-

 

 

 

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, 2019 and 2018, 1,542 ($10.235 to $12.28 price per share) and 1,835 ($11.025 to $13.415 price per share) common shares, respectively, were issued to employees. As of May 31, 2019, 221,627 shares were reserved for further issue.

 

14. Stock Option Plans:

 

In 2015, 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 138,500 shares have been granted as of May 31, 2019. 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.20 during 2019 and $2.86 during 2018. 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.

   2019  2018
Risk-free interest rate   2.179%   2.179%
Expected life in years   3.7    3.7 
Expected volatility   30%   30%
Expected dividend yield   0%   0%

 

The following is a summary of stock option activity:

   Shares  Weighted Average Exercise Price  Intrinsic Value
Outstanding - May 31, 2017   253,500   $10.93   $817,629 
     Options granted   43,750   $11.15      
     Less: options exercised   24,750   $6.67      
     Less: options expired   750   $19.26      
Outstanding - May 31, 2018   271,750   $11.33   $304,252 
     Options granted   43,000   $11.90      
     Less: options exercised   10,750   $3.05      
     Less: options expired   80,000   $11.68      
Outstanding - May 31, 2019   224,000   $11.71   $228,132 

 

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 (77,250 at May 31, 2019 and 93,000 at May 31, 2018.) The Company's closing stock price was $11.08 and $10.26 as of May 31, 2019 and 2018. As of May 31, 2019, there are 21,500 options available for future grants under the 2015 stock option plan. $32,830 and $164,983 was received from the exercise of share options during the fiscal years ended May 31, 2019 and 2018.

 

 - 39-

 

 

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 no shares have been granted as of May 31, 2019. 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.

 

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

 

Outstanding and Exercisable               
Range of Exercise Prices   Number of Options    Weighted Average Remaining Years of Contractual Life    Weighted Average Exercise Price 
$5.01-$6.00   10,000    1.9   $5.69 
$6.01-$7.00   10,000    0.9   $6.35 
$7.01-$8.00   15,000    3.9   $7.74 
$8.01-$9.00   27,250    4.6   $8.69 
$10.01-$11.00   15,000    8.9   $10.30 
$11.01-$12.00   53,000    8.4   $11.79 
$12.01-$13.00   45,000    6.9   $12.38 
$13.01-$14.00   15,000    7.9   $13.80 
$16.01-$17.00   15,000    6.9   $16.40 
$19.01-$20.00   18,750    7.2   $19.26 
$5.00-$20.00   224,000    6.5   $11.71 
                

 

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

 

Outstanding and Exercisable               
Range of Exercise Prices   Number of Options    Weighted Average Remaining years of Contractual Life    Weighted Average Exercise Price 
$2.00-$3.00   10,000    0.9   $2.83 
$5.01-$6.00   15,000    2.9   $5.69 
$6.01-$7.00   15,750    1.8   $6.34 
$7.01-$8.00   20,000    4.9   $7.74 
$8.01-$9.00   32,250    5.7   $8.74 
$10.01-$11.00   25,000    9.9   $10.30 
$11.01-$12.00   20,000    3.9   $11.29 
$12.01-$13.00   55,000    7.7   $12.35 
$13.01-$14.00   30,000    8.9   $13.80 
$16.01-$17.00   30,000    7.9   $16.40 
$19.01-$20.00   18,750    8.2   $19.26 
$2.00-$20.00   271,750    6.5   $11.33 
                

 

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 550,872 at May 31, 2019 and 2018.

 

 

 - 40-

 

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 $71,222 and $74,279 for the years ended May 31, 2019 and 2018.

 

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:

 

   2019  2018
       
  Interest paid   none    none 
           
  Income taxes paid  $550,498   $61,615 

 

 

 

EX-13 2 annualreport2019.htm TAYLOR DEVICES, INC. 2019 ANNUAL REPORT

Exhibit 13

 

Taylor Devices, Inc. 2019 Annual Report

 

 

LETTERS FROM THE PRESIDENT AND THE CEO

 

2019 LETTER FROM PRESIDENT

Alan Klembczyk | President

 

Dear Shareholders,

 

Significant changes have occurred at Taylor Devices over the last year. There have been substantial improvement efforts initiated at every level of the Company. These changes included aggressive sales strategies, accelerated efforts to implement Lean Manufacturing principles throughout our facilities, along with key changes in management positions.

 

At the Annual Shareholder’s Meeting last fall, we reported on some key initiatives and strategies that would accommodate our corporate goals of increasing revenue and profitability. While working through this climate of change, we are happy to report that we have been able to record very good results for Fiscal Year 2019. We continue to stay focused on both maintaining and improving our long-term goals.

 

Sales for the fiscal year ending May 31, 2019 were $33,619,031 compared to last year’s sales of $24,363,967; an increase of 38%. Operating income was $3,013,792 compared to $647,633 in 2018. Net income was $2,544,525 compared to $443,370 in 2018; an increase of 474%. Taylor Devices’ firm order backlog at the end of the 2019 fiscal year was $13.3 million compared to $23.1 million at the close of the 2018 fiscal year. The backlog product mix consists of approximately 43% aerospace and defense, 52% seismic products, and 5% commercial/industrial products. Despite this decline in backlog from the previous year, management is forecasting a solid year in FY2020 as many major projects are continuing to materialize into firm orders.

 

Featured within our 2019 Annual Report are three major bridge projects involving seismic dampers that we have been involved with. These are the Vincent Thomas Bridge, the Gerald Desmond Bridge and the San Francisco Oakland Bay Bridge (SFOBB) all located within the state of California. As reported last year, the SFOBB damper project was the largest order ever received at Taylor Devices. Production of these large devices will continue through early 2020. We successfully completed the work on the Vincent Thomas Bridge project in 2018 and the Gerald Desmond Bridge project finishes within the current calendar year.

 

Also featured in this Annual Report is the Phalanx Close-in Weapons System currently used by several navies around the world on their surface vessels. Taylor Devices first started working on specialized energy absorbing devices for this system with General Electric and the U.S. Navy back in the late 1970s. Now, forty years later, we are still proudly providing the same components for that system. Recently, we received a large order for these devices that have assuredly stood the test of time.

 

Our management team and all our employees remain diligent in meeting and exceeding our projected plans for growth and profitability. We are confident in all our efforts moving forward and continue to build a successful future for Taylor Devices, Inc.

 

Sincerely,

TAYLOR DEVICES, INC.

/s/Alan R. Kembczyk

Alan Klembczyk

President

2019 LETTER FROM CEO

Timothy J. Sopko | Chief Executive Officer

 

To our Shareholders,

 

It is with great honor that I write this, my first Shareholders letter, as the new CEO for Taylor Devices Inc. After only a short time with the company, I am happy to report that the key prerequisites for successful growth and prosperity: great people, differentiating technologies and capabilities that are valued by customers in multiple markets, are alive and well here at Taylor.

 

Before I highlight some of the priorities that we are focusing on to drive continued profitable growth, I must congratulate the Team on an outstanding 2019 fiscal year. Sales of $33.6m, second highest in the company’s history exceeded only in 2016 when sales finished at $35.7m, were significantly greater than last year’s $24.4m. While sales from our Construction, Aerospace/Defense and Industrial customers all experienced year on year growth, sales from our Construction customers dominated with an increase of almost $8m this year vs. last year. Costs were well managed by the Team as indicated by Gross Profit which, as a percentage of sales, improved 2.6% year on year; $9.0m (26.9% of sales) this year vs. $5.9m (24.3% of sales) last year. Operating Income finished at $3.0m (8.9% of sales) this year vs. $0.65m (2.7% of sales) last year. Net Income landed at $2.5m (7.6% of sales) vs. $0.44m (1.8% of sales) last year. Backlog finished at $13.3m vs. $23.1m at the end of FY2018. This decrease in backlog is due partly to improved execution of orders (higher volume with less past due orders) but also the timing of larger orders that we receive from our Construction customers. The strong overall US economy coupled with an unprecedented U.S. Defense budget are driving a favorable outlook for FY2020, particularly for products provided to our Construction (seismic and wind protection for buildings and bridges, both new and retrofit) as well as Aerospace/Defense (dampers, actuators and springs for various components and subsystems on Space and Military Platforms) customers. We expect the United States to dominate our sales by geographic region in FY2020 as it did in FY2019 (just under 80% of total annual sales).

 

Priorities for FY2020 are execution with an emphasis on quality and delivery. Continuous improvement of our key business processes, driven by our on-going Lean efforts and variation reduction, as well as improved cross-functional teaming and empowered ownership of our plan by all employees will be primary areas of focus to help drive our success. Accordingly, I am very much looking forward to working with the Team to build upon the strong foundation and rich heritage that has been established over the past sixty-four years to achieve our primary goal of continued profitable growth.

 

Sincerely,

TAYLOR DEVICES, INC.

/s/Timothy J. Sopko

Timothy J. Sopko

Chief Executive Officer

 

 

STATUS REPORTS

 

2019 STATUS REPORT – FROM THE VICE PRESIDENT, OPERATIONS

Todd Avery | Vice President, Operations

 

Having just joined the Company in June 2019, it has been my pleasure meeting the great people of Taylor Devices as well as some of our key customers. The work we do is of great importance to the health and well-being of others, and I am excited to be a part of the Team, making a difference to those who utilize our products.

 

The fiscal Year 2019 had brought in many new and positive changes and we are looking to continue on that path and incorporate even more improvements for the Fiscal Year 2020 and beyond in many areas of the Company. Specifically, in Operations, steps to improve our on-time delivery to our customers are being undertaken.

 

To that end, we will be making the following changes:

-Prioritize our initiatives and track actions via Strategy Deployment.
-Bring accountability to everything that we do through consistent leadership.
-Manage our performance through daily stand-up meetings, identify gaps between plan and actual.
-Identify and eliminate waste through Kaizen events.
-

The Fiscal Year 2020 will also see us implement a more efficient method to plan our production, thereby removing the waste within the current state methods and ensuring we are effective at meeting our customer due dates that we have committed to. This will help ensure that our overall corporate goals are met in terms of increasing revenue and profitability.

 

Lastly, we will judiciously spend capital to provide our people with the safest and most productive manufacturing processes and equipment for our industry so that we may continue to maintain and improve upon our reputation and competitiveness long-term.

 

Todd Avery

Vice President, Operations

 

2019 STATUS REPORT – FROM THE CHIEF FINANCIAL OFFICER

Mark V. McDonough | Chief Financial Officer

 

While beating fiscal 2018 results is nothing to overemphasize, bouncing back from last year’s disappointing results with a sales level that is better than all past years but one and with a profit level that beats all past years but two is encouraging after the first change in Taylor Devices’ leadership in over twenty-five years. The 38% increase in revenue over fiscal 2018 was dominated by domestic sales of Seismic/Wind protection units. While sales volume to customers for Seismic/Wind protection increased by 65% over last year, we also enjoyed sales increases to Aerospace/Defense customers (12%) and industrial customers (5%). As sales in the United States increased by 40% over last year’s very low level, they also beat the average level of domestic sales for the prior four years by 19%. Sales to customers in Asia increased for the second straight year but remain below the average level for the prior four years. We improved our gross margin by a bit and gross profit jumped 53% from last year. Selling expenses rose with sales while our operating income improved more than fourfold over last year’s level. The net income for fiscal 2019 is the third best in the history of the Company and 9% better than the average of the prior four years. Earnings per share were 72 cents for fiscal 2019 compared to 13 cents for the prior year and 66 cents average for the prior four years.

 

The strong fiscal 2019 sales ate into our sales order backlog, which stands at $13.3 million on May 31, 2019. This is down from $23.1 million at the end of fiscal 2018. The sales order backlog is weighted slightly more towards customers in Aerospace/Defense with 84% to domestic customers. We are encouraged by continued new sales order activity in the early months of the 2020 fiscal year. While there is much work to be done to close on many of the sizable opportunities currently being planned around the world, based on our sales order backlog at year-end and new order activity in the early stages of the new fiscal year, we are optimistic that our profitable growth will continue through fiscal 2020. As we continue to grow our business in 2020, we are working to become more efficient in our operations as we strive to increase customer interest in our products.

 

We will continue to work with our advisors to keep abreast of changes in the regulations and to remain in compliance with them in order to ensure that accurate, reliable financial and business information is provided to investors and other users of this annual report and our interim reports.

Mark V. McDonough

Chief Financial Officer

 

2019 STATUS REPORT – FROM AEROSPACE / DEFENSE PRODUCTS

John C. Metzger | Vice President, Engineering

 

Sales in the Aerospace/Defense sector for Fiscal Year 2019 represented 34% of the total sales and 43% of our year-end backlog. Sales were up 12% at $11,383,329 compared to $10,205,900 in FY18. Revenue has been stable based on the steady recurring orders of our mature products on healthy U.S. Government programs.

 

Taylor Devices continues to work on new programs that will help sustain and improve sales for many years to come. Likewise, there are significant efforts in Research and Development being conducted to help ensure corporate goals are met and surpassed.

 

A full development and qualification program, driven by new customer specifications for landing gear shock absorbers on drone aircraft, is currently underway. This work is complemented by the development of similar products for an overseas customer.

 

The Aerospace/Defense team effectively overcame many technical challenges in Fiscal Year 2019. This was highlighted by successful qualification testing of our Abort Springs Assemblies for the Orion Space Capsule. Each launch of the Space Launch System Vehicle will require a complete shipset of assemblies, returning us to the Moon and beyond, while ensuring sustained sales for the Company.

 

A contract for Ground Wind Damper (GWD) System to be used on a new rocket will bolster our continuing manufacture of many distinct energy absorbers located on the launch pad. An additional order was received to perform system-level testing of the GWD which accommodates the release of the system from the rocket at liftoff. Completion of testing and the qualification of this system is scheduled for December 2019.

 

The Company continues their work on a substantial U.S. Government contract involving the testing of various shock isolation components utilized in Naval applications. Taylor Devices’ world-class testing facility proves to be an industry-wide standout. We continue to explore new business opportunities for our unique testing capabilities.

 

John C. Metzger

Vice President, Engineering

 

2019 STATUS REPORT – FROM INDUSTRIAL PRODUCTS

Robert H. Schneider | Industrial Products Division

Craig W. Winters | Industrial Products Division

 

Fiscal Year 2019 was another solid year for Taylor Devices’ Industrial Product Lines. Sales increased 65% to $20,168,586 for our construction-related products with a modest 5% to $2,067,071 for our crane buffers and other catalog items. The total for both product lines represents 66% of the Company’s sales for the year.

 

FY19 represented a breakthrough year under our new president, Alan Klembczyk. Expansion of a much-needed, separate marketing division within the sales department has allowed us to refocus our efforts into a more direct approach. We have consolidated our reach by bringing more of our marketing in-house, where it was previously outsourced.

 

During the summer of 2018, Taylor Devices hired Sebastian Habermehl as a Marketing Specialist to handle and oversee marketing initiatives. As a result, our social media presence has increased with relevant and current content being spread to a broader-reaching audience. We have also amped-up our conference attendance with the primary goal of meeting more clients face-to-face, as well as introducing an expanded consumer base to our technology.

 

Another change for the sales department is the transformative evolution of the Taylor Devices website. We modified the website with a refreshed, inviting look into our three market segments which include industrial, seismic/wind, and aerospace/military. This revised website displays a clarified approach reaching the relevant product lines and information. Although this is the first major improvement to our website in many years, we are already undergoing another revision with plans to roll-out an even better user experience. It will allow us to bring all updating in-house, with the implementation of changes upon immediate demand.

 

During October 2018, Taylor Devices held its first annual international sales representative meeting in downtown Buffalo. This meeting provided a hands-on forum for collaboration and direct learning about our industry. It opened communication for helping both the seasoned as well as the new representatives better understand our product lines and markets while gaining valuable insight about marketing and selling these products.

 

During FY19, orders for our seismic and wind damping technology yielded several projects. Along with the completion of forty replacement seismic dampers for the featured Vincent Thomas Bridge, and the continued supply of thirty-four huge Gerald Desmond Bridge dampers, Taylor Devices received another contract from Caltrans. It consisted of one hundred replacement dampers, utilizing our new technology called “LMD” (Lost-Motion Device), for the San Francisco-Oakland Bay Bridge’s west-span. We will also be continuing with the supply of Loma Linda Hospital vertical isolation components throughout FY20.

 

Some other projects include the seismic retrofit of the National Air and Space Museum in Washington, D.C., the 888 North Main Street Project in Santa Ana, CA, the TMD dampers for the One Vanderbilt skyscraper in NYC, and the supply of seismic dampers for UCLA’s Franz Hall retrofit. Taylor Devices was also awarded contracts to supply fluid viscous dampers for a base-isolated, high-speed internet data center in California, a semiconductor chip manufacturing facility in Taiwan, along with a number of residential projects in Taiwan, and several building projects in Japan.

 

A solid backlog of existing orders at the end of FY19 as well as new and retrofit construction projects in the pipeline provide a great outlook for FY20 expectations. We have upgraded our CRM software, which is helping us to improve focus on the relevant and critical items.

 

On the technical side, our recognized ability to suit our customer’s needs with special products and innovative technologies allow us to maintain our reputation as a world industry leader while keeping our brand recognition at the forefront of our clients’ attention.

 

Robert H. Schneider | Craig W. Winters

Industrial Products Division

 

CORPORATE DATA

 

OFFICERS AND DIRECTORS
F. ERIC ARMENAT | Secretary and Director
JOHN BURGESS | Chairman of the Board of Directors
RANDALL L. CLARK | Director
ALAN R. KLEMBCZYK | President and Director
MARK V. MCDONOUGH | Chief Financial Officer and Director
TIMOTHY J. SOPKO | Chief Executive Officer

 

 

 

 

INDEPENDENT REGISTERED PUBLIC ACCOUNTING FIRM
Lumsden & McCormick, LLP
Cyclorama Building
369 Franklin Street
Buffalo, NY 14202-1702

 

GENERAL COUNSEL
Barclay Damon, LLP
Barclay Damon Tower
125 East Jefferson Street
Syracuse, NY 13202

 

MANAGERS

TODD AVERY | Vice President, Operations

SUSAN EWING | Human Resources Manager
DONALD HORNE | Chief Engineer
CHARLES KETCHUM III | Quality Assurance/Quality Control Manager
NICHOLAS MARSOLAIS |Production Control Manager
JOHN METZGER | Vice President, Engineering
PETER MILICIA | Accounting Supervisor / Shareholder Relations Manager
MICHAEL ROGOWSKI | Supply Chain Manager
ERIC ROTH | Scholl Operations Manager
ROBERT SCHNEIDER | Industrial/Seismic Products Sales Manager
THOMAS STRUZIK JR. | Large Machine Shop Supervisor
KEVIN SUPLICKI | Information Systems Manager
DENNIS WARMUS | Manufacturing Engineering Manager
CRAIG WINTERS | Industrial/Seismic Products Sales Manager

 

TRANSFER AGENT AND REGISTRAR

Computershare Investor Services

150 Royall Street

Canton, MA 02021

800-522-6645

www.computershare.com

 

FINANCIAL REPORT – BY WRITTEN REQUEST

A copy of the financial report on form 10-K can be obtained by written request to the attention of Peter Milicia at Taylor Devices, Inc., 90 Taylor Drive, North Tonawanda, NY 14120-0748.

 

 

 

 

 

 

 

 

 

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 2019 and Fiscal Year 2018 were obtained from NASDAQ.

    Fiscal Year 2019   Fiscal Year 2018
    High   Low   High   Low
  First Quarter $12.62   $  9.99   $14.12   $10.62
  Second Quarter $12.70   $10.80   $14.00   $10.84
  Third Quarter $13.29   $11.50   $15.14   $11.01
  Fourth Quarter $12.75   $10.42   $12.23   $  9.70

 

As of May 31, 2019, the number of issued and outstanding shares of Common Stock was 3,478,559 and the approximate number of record holders of the Company's Common Stock was 509. Due to a substantial number of shares of the Company's Common Stock held in street name, the Company believes that the total number of beneficial owners of its Common Stock is less than 2,000. No cash or stock dividends have been declared during the fiscal year ended May 31, 2019.

 

NOTICE OF ANNUAL MEETING

Taylor Devices’ Annual Shareholders Meeting will take place on Friday, November 1, 2019, at 11:00 a.m. This year's meeting will be held at the Millennium Buffalo, 2040 Walden Avenue, Buffalo, New York 14225. Shareholders desiring accommodations may call the Millennium Buffalo at 716-681-2400.

 

 

BOARD OF DIRECTORS AND EXECUTIVE OFFICERS

 

John Burgess

Chairman of the Board of Directors

 

Mr. Burgess gained his international strategy, manufacturing operations and organizational development expertise from his more than 40 years experience with middle market public and privately-owned companies. Mr. Burgess served as President and CEO of Reichert, Inc. a leading provider of ophthalmic instruments, and spearheaded the acquisition of the company from Leica Microsystems in 2002, leading the company until its sale in January 2007. Prior to the acquisition, Mr. Burgess served as President of Leica’s Ophthalmic and Educational Divisions before leading the buyout of the Ophthalmic Division and formation of Reichert, Inc.


From 1996 to 1999, Mr. Burgess was COO of International Motion Controls (IMC), a $200 million diversified manufacturing firm. During his tenure there, he led a significant acquisition strategy that resulted in seven completed acquisitions and sixteen worldwide businesses in the motion control market. Previously, Mr. Burgess operated a number of companies for Moog, Inc. and Carleton Technologies, including six years as President of Moog’s Japanese subsidiary, Nihon Moog K.K. located in Hiratsuka, Japan. Moog, Inc. is the global leader in electro-hydraulic servo control technology with focus on the aerospace and defense sectors and was recognized as one of The 100 Best Companies to Work for in America by Fortune Magazine.


Mr. Burgess earned a Bachelor of Science in Engineering from Bath University in England, and a Master of Business Administration from Canisius College.

 

Currently Mr. Burgess is an Operating Partner of Summer Street Capital LLC and Director of Bird Technologies Corporation of Solon, Ohio.

 

 

 

ALAN R. KLEMBCZYK

Board Member and President

 

After graduating from the University of Buffalo in 1987 with a degree in Mechanical Engineering, Mr. Klembczyk has held key positions in Sales and Engineering at Taylor Devices over the last 30 years including Design Engineer, Assistant Chief Engineer, Chief Engineer, Vice President of Sales and Engineering and was appointed President of the Company and Member of the Board of Directors in June 2018.

 

Mr. Klembczyk has spent most of his career managing the Taylor Devices Engineering Department along with designing and developing shock and vibration mitigating products for a diverse customer base. These include hundreds of applications to improve performance under wind, seismic, shock and vibration for many aerospace, industrial and structural applications.

 

Mr. Klembczyk has been responsible for establishing new Sales & Marketing policies and has been directly involved with defining internal Company policy and strategic direction in cooperation with all levels of Taylor Devices’ Management. He has been an integral part of the team that managed upgrades to the Quality System and obtaining 3rd party certification to International Standards ISO 9001, ISO 14000 and Aerospace Standard AS9100.

 

Mr. Klembczyk has served for many years on the Technical Advisory Group for the US Shock and Vibration Information & Analysis Center (SAVIAC) and the Shock and Vibration Exchange (SAVE). Additionally, he has been a tutorial and course instructor for various organizations internationally and has participated in technical conferences and symposia.

 

Mr. Klembczyk has participated in many research projects for products for military & aerospace, industrial, and structural applications. He has served as Program Manager for many of these projects and has worked with academia including the University at Buffalo’s MCEER: Earthquake Engineering to Extreme Events, among others.

 

He has published several papers describing unique applications for structural dampers, tuned mass dampers, vibration isolators, shock absorbers, and shock isolators and holds US Patents for some of these components. These papers have been published by SAVE, SAVIAC, the Society for Experimental Mechanics (SEM) and the Applied Technology Council (ATC).

 

F. Eric Armenat

Board Member and Secretary

 

Mr. Armenat has more than 37 years of business experience across a myriad of industries both private and public. He is currently the President and Chief Executive Officer of Multisorb Filtration Group which he successfully spearheaded the sale of in early 2018 from a private equity owner. Multisorb is the world leader in the active packaging industry solving complex technical challenges in the pharmaceutical, food, and industrial markets.

 

From 2012 to 2016, Mr. Armenat served and President and Chief Executive Officer for several companies owned by private equity. These companies included healthcare delivery, medical waste collection and disposal as well as active packaging. He was responsible for the successful business improvement and eventual divestiture of the companies.

 

From 2009 to 2012, Mr. Armenat served as Chief Operating Officer of Avox Systems (Zodiac Aerospace), a leading supplier of aircraft oxygen systems. From 1994 to 2009, he served as Vice President of Operations and then President and General Manager of Carleton Technologies (Cobham Mission Systems), a global leader of technology for the military and commercial aviation markets. Mr. Armenat also worked as an Operations Management Consultant with Ernst and Young beginning in 1984.

 

Mr. Armenat earned his Bachelor of Science Degree in Industrial Engineering from Southern Illinois University and his MBA in Finance and Accounting from St. Bonaventure University. He also proudly served in the United States Airforce.

 

 

 

RANDALL L. CLARK

Board Member

 

Mr. Clark holds a B.A. degree from the University of Pennsylvania, and earned his M.B.A. from the Wharton School of Finance and Commerce. He is and has been the Chairman of Dunn Tire LLC since 1996. From 1992 to 1996, Mr. Clark was Executive Vice President and Chief Operating Officer of Pratt & Lambert, until it was purchased by Sherwin-Williams.

 

Mr. Clark has been employed in the tire industry for many years. He was named President of the Dunlop Tire Corporation in 1980, was appointed to the Board of Directors in 1983, and named President and Chief Executive Officer in 1984. He was one of seven chief executives of operating companies appointed to the Group Management Board of Dunlop Holdings, PLC., and was Chairman of the Board and Chief Executive Officer of Dunlop Tire Corporation in North America from 1985 to 1991. In 2012 he was inducted into the Tire Industry Association Hall of Fame.

 

From 1977 to 1980, Mr. Clark was Vice President of Marketing for the Dunlop Tire Division. From 1973 to 1977, he was employed by Dunlop as Director of Marketing at the company’s Buffalo, NY headquarters. From 1968 to 1973, Mr. Clark was employed by the B.F. Goodrich Company.

 

Mr. Clark is currently a Director of Merchants Mutual Insurance Company. He recently retired as a Director of Computer Task Group, a publicly traded company, and The Ten Eleven Group. He is a past President of the International Trade Council of Western New York, past Chairman of the Buffalo Chamber of Commerce, and past Chairman of Invest Buffalo Niagara. He is also a past Chairman of AAA of Western and Central New York. Mr. Clark was appointed by Governor George Pataki and served on the Council for the State University of New York at Buffalo. Recently he retired from the Board of Trustees of the University at Buffalo Foundation.

 

MARK V. MCDONOUGH

Board Member and Chief Financial Officer

 

Mr. McDonough, who joined Taylor Devices in June 2003, is a Certified Public Accountant in New York State and holds a BBA degree from Niagara University, awarded in 1982. He has been involved in financial management of various Western New York manufacturing organizations for over twenty-five years. He has extensive experience in international operations coupled with a long history of implementing systems of internal controls. From 1986 to 1989 he was an auditor with the Buffalo office of Ernst & Young, LLP.

 

Mr. McDonough is a member of the New York State Society of Certified Public Accountants and the American Institute of Certified Public Accountants.

 

TIMOTHY J. SOPKO

Chief Executive Officer

 

Mr. Sopko’s business experience spans more than thirty years in Aerospace (Military and Civil), Industrial as well as Commercial markets with a primary focus in the areas of Engineering, Product Development, Program Management, Operations, and Business Management.

 

Prior to joining Taylor Devices as CEO in April 2019, Mr. Sopko was Vice President and General Manager of Carleton Technologies Inc. (d.b.a. Cobham Mission Systems) in Orchard Park, New York, a Department of Defense Contractor where he also held the positions of General Manager, Director of Engineering and Programs, Director of Engineering and Director of Business Development. Under Mr. Sopko’s leadership as VP and GM, Carleton successfully grew annual sales from $110m to over $200m.

 

After nine years of Design Engineering and Program Management in industry (1988-1997), Mr. Sopko co-founded Comprehensive Technical Solutions Inc., a New York State S-corporation which provides product design engineering services to companies across the United States as well as producing and supporting a portfolio of internally funded products.

 

Mr. Sopko is a Mechanical Engineering graduate of The State University of New York at Buffalo and has been a member of The University’s Mechanical and Aerospace Dean’s Advisory Board since 2012. Mr. Sopko is also an author and/or co-author on several US Patents.

 

EX-31 3 ceo302certification2019.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 2, 2019 /s/Timothy J. Sopko      
 

Timothy J. Sopko

Chief Executive Officer

 

EX-32 4 ceo906certification2019.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 annual report of Taylor Devices, Inc. ("the Company") on Form 10-K for the fiscal year ended May 31, 2019 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 2, 2019 By: /s/Timothy J. Sopko      
   

Timothy J. Sopko,

Chief Executive Officer

 

 

EX-31 5 cfo302certification2019.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 2, 2019 /s/ Mark V. McDonough
 

Mark V. McDonough

Chief Financial Officer

 

 

EX-32 6 cfo906certification2019.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 annual report of Taylor Devices, Inc. (the "Company") on Form 10-K for the fiscal year ended May 31, 2019 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 2, 2019 By: /s/ Mark V. McDonough      
   

Mark V. McDonough,

Chief Financial Officer

 

 

EX-4 7 descriptionofsecurities.htm DESCRIPTION OF REGISTRANT'S SECURITIES

 

Exhibit 4(vi)

 

DESCRIPTION OF REGISTRANT’S SECURITIES

 

The following summary description of the securities is not complete and is qualified in its entirety by reference to our Certificate of Incorporation, our By-laws, and applicable provisions of the New York Business Corporation Law.

 

The authorized capital stock of the Company consists of 8,000,000 shares of Common Stock, par value $0.025 per share, and 2,000,000 shares of Preferred Stock, par value $0.05 per share.

 

Rights of Our Common Stock

 

All outstanding shares of Common Stock are of the same class and have equal rights and attributes. Each holder of Common Stock is entitled to one vote for each share held of record on each matter submitted to a vote of shareholders. Shareholders do not have cumulative voting rights in the election of directors. As a result, the holders of more than 50% of the outstanding shares have the power to elect all directors. The quorum required at a shareholders’ meeting for consideration of any matter is a majority of the shares entitled to vote on that matter, represented in person or by proxy. If a quorum is present, the affirmative vote of a majority of shares represented at the meeting and entitled to vote on the matter is required for shareholder approval, except in the case of certain major corporate actions, such as the merger or liquidation of the Company, or the sale of all or substantially all of the Company’s assets, with respect to which, under the provisions of the New York Business Corporation Law, approval is required by the affirmative vote of more than two-thirds of all shares entitled to vote on the matter, whether or not represented at the meeting. An amendment to the Company’s Certificate of Incorporation requires approval by the affirmative vote by a majority or all shares entitled to vote, whether or not represented at the meeting.

 

Subject to the rights of any holders of Preferred Stock, the holders of shares of Common Stock are entitled to receive dividends when, as and if declared by the Board of Directors out of funds legally available therefor and, in the event of the liquidation, dissolution or winding up of the Company, to share ratably in all assets remaining after the payment of liabilities.

 

There are no preemptive or other subscription rights, conversion rights, or redemption or sinking fund provisions with respect to shares of Common Stock.

 

 

Rights of Our Preferred Stock

 

The Board of Directors is authorized to issue Preferred Stock in one or more series from time to time and to determine, with respect to each series, its designation, relative rights (including voting, dividend, conversion, sinking fund and redemption rights), preferences (including with respect to dividends and on liquidation) and limitations. The Board of Directors, without the consent of shareholders, can issue Preferred Stock with voting and conversion rights, which could adversely affect the voting power of the holders of Common Stock. Shares of Preferred Stock issued by the Board of Directors can be utilized, under certain circumstances, as a method of making it more difficult for a party to gain control of the Company without the approval of the Board of Directors.

 

 

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.

 

 

Classification of Our Board of Directors

 

Each year one or more directors comprising one of the three Classes of the Board of Directors of the Company are proposed for election by the shareholders at the annual meeting, each to serve for a three-year term, and until the election and qualification of his or her successor. All Classes of Directors are as nearly equal in number as possible. The current term of Class 3 Directors will expire in 2019; the current term of Class 2 Directors will expire in 2020; and the current term of Class 1 Directors will expire in 2021.

 

 

Director Vacancies

 

Our By-laws provide that any vacancies on our Board of Directors, including a vacancy resulting from the removal of a director or an increase in the number of directors, may be filled by the affirmative vote of a majority of the remaining directors though less than a quorum.

 

 

Advance Notice for Shareholder Proposals and Nominations

 

Our By-laws contain provisions requiring advance notice be delivered to the Company of any business to be brought by a shareholder before an annual meeting and providing for procedures to be followed by shareholders in nominating persons for election to our Board of Directors. For both, a shareholder must give notice no later than 30 days before the meeting, except that, if less than 40 days’ notice or prior public disclosure is given to shareholders before the date of the meeting, then the notice must be presented no later than the close of business on the tenth day following the day on which the notice of meeting was mailed, or such public disclosure was made, whichever occurs first. The notice must contain the information required by our By-laws.

 

 

Special Meetings of Shareholders

 

Our By-laws state that special meetings of shareholders may be called by the President or the Board of Directors, and shall be called by the President at the written request of the holders of record of a majority of shares entitled to vote.

 

 

By-law Amendment

 

Our By-laws may be adopted, amended or repealed by the affirmative vote of the holders of a majority of all shares entitled to vote, whether or not represented at the meeting. By-laws may also be adopted, amended or repealed by the Board of Directors subject to being amended or repealed by the shareholders.

 

 

New York Business Combination Statute

 

We are subject to Section 912 of the New York Business Corporation Law, which regulates business combinations and generally prohibits an interested shareholder, defined generally as a person beneficially owning 20% or more of a corporation’s outstanding voting stock, from engaging in a business combination with the corporation for five years after first becoming an interested shareholder, unless the board of directors approves. After the five year period, the interested shareholder and the corporation may engage in a business combination if the business combination is approved by a majority of the outstanding voting stock not beneficially owned by the interested shareholder or if certain fair price requirements are met.

EX-101.SCH 8 tayd-20190531.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 Stockholders 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 Receivable: 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. Legal Proceedings: 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 - 1. Summary of Significant Accounting Policies: (Policies) link:presentationLink link:calculationLink link:definitionLink 00000027 - Disclosure - 1. Summary of Significant Accounting Policies: (Tables) link:presentationLink link:calculationLink link:definitionLink 00000028 - Disclosure - 2. Accounts Receivable: (Tables) link:presentationLink link:calculationLink link:definitionLink 00000029 - Disclosure - 3. Inventory: (Tables) link:presentationLink link:calculationLink link:definitionLink 00000030 - Disclosure - 4. Costs and Estimated Earnings on Uncompleted Contracts: (Tables) link:presentationLink link:calculationLink link:definitionLink 00000031 - Disclosure - 5. Maintenance and Other Inventory: (Tables) link:presentationLink link:calculationLink link:definitionLink 00000032 - Disclosure - 6. Property and Equipment: (Tables) link:presentationLink link:calculationLink link:definitionLink 00000033 - Disclosure - 9. Sales: (Tables) link:presentationLink link:calculationLink link:definitionLink 00000034 - Disclosure - 10. Income Taxes: (Tables) link:presentationLink link:calculationLink link:definitionLink 00000035 - Disclosure - 11. Earnings Per Common Share: (Tables) link:presentationLink link:calculationLink link:definitionLink 00000036 - Disclosure - 14. Stock Option Plans: (Tables) link:presentationLink link:calculationLink link:definitionLink 00000037 - Disclosure - 19. Cash Flows Information: (Tables) link:presentationLink link:calculationLink link:definitionLink 00000038 - Disclosure - Impact of Adoption of Standards Related to Revenue Recognition (Details) link:presentationLink link:calculationLink link:definitionLink 00000039 - Disclosure - Revenue Impact on Financial Statements Balance Sheet (Details) link:presentationLink link:calculationLink link:definitionLink 00000040 - Disclosure - Revenue Impact on Financial Statements Income Statement (Details) link:presentationLink link:calculationLink link:definitionLink 00000041 - Disclosure - 1. Summary of Significant Accounting Policies: (Details Narrative) link:presentationLink link:calculationLink link:definitionLink 00000042 - Disclosure - Accounts receivable table (Details) link:presentationLink link:calculationLink link:definitionLink 00000043 - Disclosure - Inventory table (Details) link:presentationLink link:calculationLink link:definitionLink 00000044 - Disclosure - Costs and estimated earnings on uncompleted contracts components table (Details) link:presentationLink link:calculationLink link:definitionLink 00000045 - Disclosure - Costs and estimated earnings on uncompleted contracts table (Details) link:presentationLink link:calculationLink link:definitionLink 00000046 - Disclosure - Costs and estimated earnings on uncompleted contracts two table (Details) link:presentationLink link:calculationLink link:definitionLink 00000047 - Disclosure - Maintenance and other inventory table (Details) link:presentationLink link:calculationLink link:definitionLink 00000048 - Disclosure - 4. Costs and Estimated Earnings on Uncompleted Contracts: (Details Narrative) link:presentationLink link:calculationLink link:definitionLink 00000049 - Disclosure - 5. Maintenance and Other Inventory: (Details Narrative) link:presentationLink link:calculationLink link:definitionLink 00000050 - Disclosure - Property and equipment table (Details) link:presentationLink link:calculationLink link:definitionLink 00000051 - Disclosure - 6. Property and Equipment: (Details Narrative) link:presentationLink link:calculationLink link:definitionLink 00000052 - Disclosure - 7. Short-Term Borrowings: (Details Narrative) 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 - Net deferred tax assets (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 9 tayd-20190531_cal.xml XBRL CALCULATION FILE EX-101.DEF 10 tayd-20190531_def.xml XBRL DEFINITION FILE EX-101.LAB 11 tayd-20190531_lab.xml XBRL LABEL FILE Equity Components [Axis] Common Stock [Member] Additional Paid-in Capital [Member] Retained Earnings [Member] Treasury Stock [Member] Initial Application Period Cumulative Effect Transition [Axis] Calculated under Revenue Guidance in Effect before Topic 606 [Member] Difference between Revenue Guidance in Effect before and after Topic 606 [Member] Adjustments for New Accounting Pronouncements [Axis] Accounting Standards Update 2014-09 [Member] Customer [Axis] Construction Aerospace / Defense Industrial 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] Share Based Compensation Shares Authorized Under Stock Option Plans By Exercise Price Range Eleven [Member] Share Based Compensation Shares Authorized Under Stock Option Plans By Exercise Price Range One [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 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] Document Fiscal Year Focus Document Fiscal Period Focus Statement of Financial Position [Abstract] Assets Current assets: Cash and cash equivalents Short-term investments Accounts receivable, 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 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,029,431 and 4,017,139 shares Paid-in capital Retained earnings Stockholders’ equity before treasury stock Treasury stock - 550,872 shares at cost Total stockholders' equity Total liabilities and stockholders’ equity Statement [Table] Statement [Line Items] Par value Authorized shares Issued shares Income Statement [Abstract] Sales, net Cost of goods sold Gross profit Selling, general and administrative expenses Operating income Other income Interest, net Miscellaneous Total other income Income before provision for income taxes Provision for income taxes Net income Basic and diluted earnings per common share Beginning balance, value Net income Common stock issued for employee stock option plan Common stock issued for employee stock purchase plan Stock options issued for services Adjustments Due to ASU 2014-09 Ending balance, value Statement of Cash Flows [Abstract] operating activities: Adjustments to reconcile net income to net cash flows from Depreciation Stock options issued for services Loss on disposal of property and equipment Provision for inventory obsolescence Deferred income taxes Changes in other current assets and liabilities: Accounts receivable 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 Increase in short-term investments Increase in cash value of life insurance Net investing activities Financing activities: Proceeds from issuance of common stock Net financing activities 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 Receivable: 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: Commitments and Contingencies Disclosure [Abstract] 8. Legal Proceedings: 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: 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: Nature of Operations: Principles of Consolidation: Subsequent Events: Use of Estimates: Cash and Cash Equivalents: Short-term Investments: Accounts Receivable [Policy Text Block] 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: Impact of Adoption of Standards Related to Revenue Recognition Revenue Impact on Financial Statements Balance Sheet Condensed Income Statement [Table Text Block] 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 Sales by major customer type Income Taxes Table Reconciliation of income tax statutory rate to effective rate Net deferred tax assets Earnings per common share table Stock option plans table Stock options roll foward Share-based Payment Arrangement, Option, Exercise Price Range [Table Text Block] Supplemental cash flow information Revenue, Initial Application Period Cumulative Effect Transition [Table] Revenue, Initial Application Period Cumulative Effect Transition [Line Items] Other accrued expenses Net income (loss) Domestic revenue as percentage of total Asian revenue as percentage of total Percent of revenue recognized with sales contracts containing a single performance obligation Percent of revenue recognized with sales contracts for which revenue is recognized over time Shipping and handling costs Shipping and handling costs Research and development costs Share based compensation expense Customers Customers - retention Gross accounts receivable Less allowance for doubtful accounts 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 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 Quantity of Projects not yet started Sales value of projects not yet in progress Revenue recognized in current period for projects included in billings in excess of costs and estimated earnings at end of prior year Provision for potentially obsolete inventory 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 expense Commitments for future capital expenditures Line of Credit Facility, Current Borrowing Capacity Line of credit outstanding balance Uncleared checks Percentage of total sales to significant individual customers Percentage of total sales to significant individual customer1 Percentage of total sales to significant individual customer2 Percentage of total sales to significant individual customer3 Percentage of total sales to significant individual customer4 Percentage of total sales to significant individual customer5 Current tax provision: Federal State Total current tax provision Deferred tax provision: 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 Tax rate change on deferred taxes 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 Stock options issued for services Total deferred tax assets Deferred tax liabilities: Excess tax depreciation Net deferred tax assets Corporate income tax rate Effect of change in tax rate Deferred Tax Assets, Gross Deferred tax credits carryforward Tax credit carryforward expiration date Average common shares outstanding Common shares issuable under stock option plans Average common shares outstanding assuming dilution Common shares issued from employee stock purchase plan 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 Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price 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 Weighted average exercise price of 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 Number of options Weighted Average Remaining Years of Contractual Life Weighted average exercise price Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Number Common shares reserved for stock options Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value Price per share of common Shares available Proceeds exercise of options Preferred shares authorized Treasury Stock Retirement plan expense Interest paid Income taxes paid Percentage of total sales during a period to export customers. Percentage of total sales during a period to domestic customers. Estimated earnings based on the difference between the revenue recognized and the costs recorded under the percentage of completion method of accounting component included in the asset costs and estimated earnings is excess of billings and the liability Billings in excess of costs and estimated earnings. The amount of revenue recognized under the percentage of completion method of accounting component included in the asset Costs and estimated earnings in excess of billings and the liability Billings in excess of costs and estimated earnings. Contractually invoiced amounts (billings) component included in the asset Costs and estimated earnings in excess of billings and the liability Billings in excess of costs and estimated earnings. The amount of the valuation account as of the balance sheet date which reduces the carrying amount of non-current inventory to net realizable value; takes into consideration such factors as market value, excessive quantities based on expected sales. Percentage of total sales during a period to the most significant customers. Percentage of total sales during a period to the most significant individual customer. Percentage of total sales during a period to the second most significant individual customer. Percentage of total sales during a period to the third most significant individual customer. Percentage of total sales during a period to the fourth most significant individual customer. Percentage of total sales during a period to the fifth most significant individual customer. Lower limit of exercise per share price range for outstanding and exercisable stock options. Lower and upper limits of exercise per share price range two for outstanding and exercisable stock options. Upper limit of exercise per share price range for outstanding and exercisable stock options. Average remaining contractual term, as of a balance sheet date, until the expiration of stock options within a price range. The value of contractual obligations to acquire or construct physical capital assets to be used in the normal conduct of business to produce goods. Tabular disclosure of the revenue for a period from sales to major customer types. Tabular disclosure of the asset costs and estimated earnings in excess of billings is combined with the liability Billings in excess of costs and estimated earnings. Tabular disclosure of the revenue for a period from sales to major customer types. Tabular disclosure of data related to uncompleted projects or programs in progress. Quantity of sales contracts in progress that are accounted for using the percentage of completion method of accounting. Aggregate percent complete of uncompleted sales contracts in progress that are accounted for using the percentage of completion method of accounting. Aggregate future revenue to be recognized for uncompleted sales contracts in progress that are accounted for using the percentage of completion method of accounting. Aggregate percent of total contract value already recognized on uncompleted sales contracts in progress that are accounted for using the percentage of completion method of accounting. Quantity of sales contracts not yet started that are accounted for using the percentage of completion method of accounting. Aggregate future revenue to be recognized for uncompleted sales contracts not yet started that are accounted for using the percentage of completion method of accounting. Revenue recognized in current period for projects included in billings in excess of costs and estimated earnings at end of prior year. Total revenue from sale of goods and services rendered during the reporting period to aerospace / defense type customers, in the normal course of business, reduced by sales returns and allowances, and sales discounts. Total revenue from sale of goods and services rendered during the reporting period to industrial type customers, in the normal course of business, reduced by sales returns and allowances, and sales discounts. Lower and upper limits of exercise per share price range three for outstanding and exercisable stock options. Lower and upper limits of exercise per share price range four for outstanding and exercisable stock options. Lower and upper limits of exercise per share price range five for outstanding and exercisable stock options. Lower and upper limits of exercise per share price range nine for outstanding and exercisable stock options. Lower and upper limits of exercise per share price range six for outstanding and exercisable stock options. Lower and upper limits of exercise per share price range seven for outstanding and exercisable stock options. Lower and upper limits of exercise per share price range ten for outstanding and exercisable stock options. Lower and upper limits of exercise per share price range eleven for outstanding and exercisable stock options. Lower and upper limits of exercise per share price range eight for outstanding and exercisable stock options. Total revenue from sale of goods and services rendered during the reporting period to construction seismic / wind type customers, in the normal course of business, reduced by sales returns and allowances, and sales discounts. Percent of total revenue for a period recognized with sales contracts containing a single performance obligation. Percent of total revenue for a period recognized with sales contracts for which revenue is recognized over time. Assets, Current Assets [Default Label] Liabilities, Current Stockholders' Equity before Treasury Stock Treasury Stock, Value Stockholders' Equity Attributable to Parent Liabilities and Equity Gross Profit Operating Income (Loss) Nonoperating Income (Expense) Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest Cumulative Effect of New Accounting Principle in Period of Adoption Stock or Unit Option Plan Expense Deferred Income Tax Expense (Benefit) 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 Net Cash Provided by (Used in) Financing Activities Cash and Cash Equivalents, Period Increase (Decrease) Other Liabilities, Current Other Selling, General and Administrative Expense Accounts Receivable, before Allowance for Credit Loss, Current Inventory, Gross Inventory, Net Total costs and estimated earnings Costs in Excess of Billings, Current Less allowance for obsolescence noncurrent Property, Plant and Equipment, Gross Current Income Tax Expense (Benefit) Deferred Federal Income Tax Expense (Benefit) Deferred State and Local Income Tax Expense (Benefit) Income Tax Credits and Adjustments Effective Income Tax Rate Reconciliation, Tax Credit, Research, Amount Deferred Tax Assets, Tax Deferred Expense, Reserves and Accruals, Accrued Liabilities Deferred Tax Assets, Tax Deferred Expense, Compensation and Benefits, Share-based Compensation Cost Deferred Tax Assets, Net of Valuation Allowance Weighted Average Number of Shares Outstanding, Diluted EX-101.PRE 12 tayd-20190531_pre.xml XBRL PRESENTATION FILE XML 13 tayd201910k_htm.xml IDEA: XBRL DOCUMENT 0000096536 2018-06-01 2019-05-31 0000096536 2018-11-30 0000096536 2019-08-02 0000096536 2019-05-31 0000096536 2018-05-31 0000096536 us-gaap:CommonStockMember 2019-05-31 0000096536 us-gaap:CommonStockMember 2018-05-31 0000096536 2017-06-01 2018-05-31 0000096536 us-gaap:CommonStockMember 2017-05-31 0000096536 us-gaap:AdditionalPaidInCapitalMember 2017-05-31 0000096536 us-gaap:RetainedEarningsMember 2017-05-31 0000096536 us-gaap:TreasuryStockMember 2017-05-31 0000096536 us-gaap:CommonStockMember 2017-06-01 2018-05-31 0000096536 us-gaap:AdditionalPaidInCapitalMember 2017-06-01 2018-05-31 0000096536 us-gaap:RetainedEarningsMember 2017-06-01 2018-05-31 0000096536 us-gaap:TreasuryStockMember 2017-06-01 2018-05-31 0000096536 us-gaap:AdditionalPaidInCapitalMember 2018-05-31 0000096536 us-gaap:RetainedEarningsMember 2018-05-31 0000096536 us-gaap:TreasuryStockMember 2018-05-31 0000096536 us-gaap:CommonStockMember 2018-06-01 2019-05-31 0000096536 us-gaap:AdditionalPaidInCapitalMember 2018-06-01 2019-05-31 0000096536 us-gaap:RetainedEarningsMember 2018-06-01 2019-05-31 0000096536 us-gaap:TreasuryStockMember 2018-06-01 2019-05-31 0000096536 us-gaap:AdditionalPaidInCapitalMember 2019-05-31 0000096536 us-gaap:RetainedEarningsMember 2019-05-31 0000096536 us-gaap:TreasuryStockMember 2019-05-31 0000096536 2017-05-31 0000096536 us-gaap:CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member 2018-05-31 0000096536 us-gaap:DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member 2018-06-01 0000096536 us-gaap:CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member 2018-06-01 0000096536 us-gaap:AccountingStandardsUpdate201409Member 2019-05-31 0000096536 us-gaap:AccountingStandardsUpdate201409Member 2018-06-01 2019-05-31 0000096536 us-gaap:CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member 2018-06-01 2019-05-31 0000096536 tayd:ConstructionSeismicWindMember 2018-06-01 2019-05-31 0000096536 tayd:ConstructionSeismicWindMember 2017-06-01 2018-05-31 0000096536 tayd:AerospaceDefenseMember 2018-06-01 2019-05-31 0000096536 tayd:AerospaceDefenseMember 2017-06-01 2018-05-31 0000096536 tayd:IndustrialMember 2018-06-01 2019-05-31 0000096536 tayd:IndustrialMember 2017-06-01 2018-05-31 0000096536 2018-06-01 2018-12-31 0000096536 2019-01-01 2019-05-31 0000096536 2019-06-01 2025-05-31 0000096536 tayd:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTwoMember 2019-05-31 0000096536 tayd:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeThreeMember 2019-05-31 0000096536 tayd:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeFourMember 2019-05-31 0000096536 tayd:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeFiveMember 2019-05-31 0000096536 tayd:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeSixMember 2019-05-31 0000096536 tayd:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeSevenMember 2019-05-31 0000096536 tayd:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeEightMember 2019-05-31 0000096536 tayd:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeNineMember 2019-05-31 0000096536 tayd:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTenMember 2019-05-31 0000096536 tayd:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeElevenMember 2019-05-31 0000096536 tayd:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeOneMember 2018-05-31 0000096536 tayd:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTwoMember 2018-05-31 0000096536 tayd:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeThreeMember 2018-05-31 0000096536 tayd:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeFourMember 2018-05-31 0000096536 tayd:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeFiveMember 2018-05-31 0000096536 tayd:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeSixMember 2018-05-31 0000096536 tayd:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeSevenMember 2018-05-31 0000096536 tayd:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeEightMember 2018-05-31 0000096536 tayd:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeNineMember 2018-05-31 0000096536 tayd:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTenMember 2018-05-31 0000096536 tayd:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeElevenMember 2018-05-31 iso4217:USD shares iso4217:USD shares pure 0000096536 false --05-31 2019 FY true 10-K 2019-05-31 0-3498 TAYLOR DEVICES INC NY 16-0797789 90 Taylor Drive North Tonawanda NY 14120-0748 716 694-0800 Common Stock ($.025 par value) No No Yes Yes Non-accelerated Filer true false false false 43262000 3478866 37900000 5071822 2858323 1055591 1039082 5279302 6265864 11239331 11317775 312160 244643 237017 202519 7572490 6356963 30767713 28285169 731877 885651 9317442 9935625 190749 185730 189115 219115 41196896 39511290 1402692 1460175 1309358 983260 1532271 1412502 633703 2043002 4878024 5898939 0.025 0.025 8000000 8000000 4029431 4017139 100735 100428 9538892 9382202 29508604 26959080 39148231 36441710 2829359 2829359 36318872 33612351 41196896 39511290 33619031 24363967 24571255 18439760 9047776 5924207 6045984 5276574 3001792 647633 69006 26861 -11273 1876 57733 28737 3059525 676370 515000 233000 2544525 443370 0.73 0.13 99763 9070278 26515710 -2829359 443370 619 164364 46 22629 124931 100428 9382202 26959080 -2829359 2544525 269 32561 38 17473 4999 106656 100735 9538892 29508604 -2829359 2544525 443370 1072959 995924 106656 124931 18061 175000 60000 30000 210000 986562 -3720091 1158334 103963 -67517 18931 -34498 -38615 -1542036 511430 -57483 130854 326098 136319 -674944 580442 -1384194 747013 2657523 304471 472837 936833 16509 16756 5019 5151 -494365 -958740 50341 187658 50341 187658 2213499 -466611 2858323 3324934 5071822 2858323 <p id="xdx_80E_eus-gaap--SignificantAccountingPoliciesTextBlock_zJr8RGJX0sD4" style="color: navy; font: 10pt Times New Roman, Times, Serif; margin: 0; 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_843_eus-gaap--NatureOfOperations_zrcMOSewuwP3" style="color: navy; font: 10pt Times New Roman, Times, Serif; margin: 0; 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_dp_c20180601__20190531_zOujSnezPD0e" title="Domestic revenue as percentage of total">78% </span>of the Company's 2019 revenue was generated from sales to customers in the United States and <span id="xdx_90A_ecustom--EntityWideDisclosureOnGeographicAreasPercentageOfRevenueFromExternalCustomersAttributedToForeignCountries_dp_c20180601__20190531_zBZSckErl6s5" title="Asian revenue as percentage of total">17%</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 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_908_ecustom--EntityWideDisclosureOnGeographicAreasPercentageOfRevenueFromExternalCustomersAttributedToEntitysCountryOfDomicile_dp_c20170601__20180531_zFEJ4Idr2aIi" title="Domestic revenue as percentage of total">74%</span> of the Company's 2018 revenue was generated from sales to customers in the United States and <span id="xdx_90F_ecustom--EntityWideDisclosureOnGeographicAreasPercentageOfRevenueFromExternalCustomersAttributedToForeignCountries_dp_c20170601__20180531_zoTvUkqQd7Ah" title="Asian revenue as percentage of total">21%</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 id="xdx_85F_ziTstbhONDVc" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"> </p> <p id="xdx_849_eus-gaap--ConsolidationPolicyTextBlock_zH0isK5PvULj" style="color: navy; font: 10pt Times New Roman, Times, Serif; margin: 0; 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_855_z2ZZHArw4Wq1" style="color: navy; font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b> </b></p> <p id="xdx_840_eus-gaap--SubsequentEventsPolicyPolicyTextBlock_z77qb2FbMRq2" style="color: navy; font: 10pt Times New Roman, Times, Serif; margin: 0; 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_85B_zDkfnrEuVhji" style="color: navy; font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b> </b></p> <p id="xdx_844_eus-gaap--UseOfEstimates_zrsWqjL1Imdj" style="color: navy; font: 10pt Times New Roman, Times, Serif; margin: 0; 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_859_zdcAn9uALI8e" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"> </p> <p id="xdx_847_eus-gaap--CashAndCashEquivalentsPolicyTextBlock_zmkeWwfyMcYh" style="color: navy; font: 10pt Times New Roman, Times, Serif; margin: 0; 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_852_ztmUxzev1Nc1" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"> </p> <p id="xdx_84E_eus-gaap--MarketableSecuritiesPolicy_zG6ZcJCK2hb2" style="color: navy; font: 10pt Times New Roman, Times, Serif; margin: 0"><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, 2019 include “available for sale” corporate bonds stated at fair value, which approximates cost. The bonds (7) mature on various dates during the period May 2020 to December 2021. 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_85F_z6DrrLPZNCHd" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"> </p> <p id="xdx_849_eus-gaap--TradeAndOtherAccountsReceivablePolicy_zima1rrvPYB7" style="color: navy; font: 10pt Times New Roman, Times, Serif; margin: 0"><b> </b></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; color: navy"><b> </b></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; color: navy"><b> </b></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; color: navy"><b>Accounts Receivable:</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 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. 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.</p> <p id="xdx_85B_zHgr9fuGk7d5" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"> </p> <p id="xdx_847_eus-gaap--InventoryPolicyTextBlock_zen1gMLmEvZ8" style="color: navy; font: 10pt Times New Roman, Times, Serif; margin: 0; 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_854_zyD7nIDR46Eg" style="color: navy; font: bold 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"> </p> <p id="xdx_84F_eus-gaap--PropertyPlantAndEquipmentPolicyTextBlock_zGUDwkzOwQGg" style="color: navy; font: 10pt Times New Roman, Times, Serif; margin: 0; 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. Deprecation 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_854_z3nDj4mJCYJf" style="color: navy; font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b> </b></p> <p id="xdx_840_eus-gaap--LifeInsuranceCorporateOrBankOwnedTextBlock_zbbj15W30qwi" style="color: navy; font: 10pt Times New Roman, Times, Serif; margin: 0; 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_855_zfqNCOitPpke" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"> </p> <p id="xdx_849_eus-gaap--RevenueRecognitionPolicyTextBlock_zeI132QAkTy6" style="color: navy; font: 10pt Times New Roman, Times, Serif; margin: 0; 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; text-align: justify">As noted below, ASU 2014-09 was adopted on June 1, 2018 using the modified retrospective method, which required the recognition of the cumulative effect of the transition as an adjustment to retained earnings.</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"/> <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; text-align: justify"/> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; 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. In the year ended May 31, 2019, <span id="xdx_909_ecustom--RevenueRecognitionSinglePerformanceObligationPercentOfTotal_dp_c20180601__20190531_z2QWWB3de4Q8" title="Percent of revenue recognized with sales contracts containing a single performance obligation">45%</span> of revenue was recorded for contracts with a single performance obligation that was satisfied within the period. In the year ended May 31, 2018, <span id="xdx_90F_ecustom--RevenueRecognitionSinglePerformanceObligationPercentOfTotal_dp_c20170601__20180531_zfzlQzXiw1Db" title="Percent of revenue recognized with sales contracts containing a single performance obligation">40%</span> of revenue was recorded for contracts with a single performance obligation that was satisfied within the period.</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">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. In the year ended May 31, 2019, <span id="xdx_90D_ecustom--RevenueRecognitionOverTimePercentOfTotal_dp_c20180601__20190531_zeVHM1nyFL4a" title="Percent of revenue recognized with sales contracts for which revenue is recognized over time">55%</span> of revenue was recorded for contracts in which revenue was recognized over time. In the year ended May 31, 2018, <span id="xdx_905_ecustom--RevenueRecognitionOverTimePercentOfTotal_dp_c20170601__20180531_zen5PVFMnMe8" 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.</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 0 12pt; text-align: justify"/> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-align: justify"/> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-align: justify"> </p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; 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, 2019, 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 style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-align: justify">We recognized the cumulative effect of initially applying the new revenue standard as an adjustment to the opening balance of retained earnings primarily because certain longer term contracts accounted for on the percentage of completion method did not contain “enforceable right to payment” terms, as defined. The comparative information has not been restated and continues to be reported under the accounting standards in effect for those periods.</p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-align: justify">The cumulative effect of the changes made to our consolidated June 1, 2018 balance sheet for the adoption of ASU 2014-09, were as follows:</p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-align: justify"/> <table cellpadding="0" cellspacing="0" id="xdx_888_eus-gaap--ScheduleOfNewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock_zfRIIMeKIuAh" style="font: 12pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%; margin-left: auto; margin-right: auto" summary="xdx: Disclosure - Impact of Adoption of Standards Related to Revenue Recognition (Details)"> <tr style="vertical-align: bottom"> <td> </td><td> </td> <td colspan="3" id="xdx_496_20180531__us-gaap--InitialApplicationPeriodCumulativeEffectTransitionAxis__us-gaap--CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member_zyqnLO3rCESj"> </td><td> </td> <td colspan="3" id="xdx_494_20180601__us-gaap--InitialApplicationPeriodCumulativeEffectTransitionAxis__us-gaap--DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member_zQfUwtai48S8"> </td><td> </td> <td colspan="3" id="xdx_498_20180601__us-gaap--InitialApplicationPeriodCumulativeEffectTransitionAxis__us-gaap--CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member_zsl3Efb79a1"> </td></tr> <tr style="vertical-align: bottom"> <td style="font-size: 10pt; font-weight: bold; border-bottom: Black 1pt solid">Balance Sheet</td><td style="font-size: 10pt; padding-bottom: 1pt"> </td> <td colspan="3" style="font-size: 10pt; text-align: center; border-bottom: Black 1pt solid">Balance at May 31, 2018</td><td style="font-size: 10pt; padding-bottom: 1pt"> </td> <td colspan="3" style="font-size: 10pt; text-align: center; border-bottom: Black 1pt solid">Adjustments Due to ASU 2014-09</td><td style="font-size: 10pt; padding-bottom: 1pt"> </td> <td colspan="3" style="font-size: 10pt; text-align: center; border-bottom: Black 1pt solid">Balance at June 1, 2018</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; font-weight: bold; width: 46%">Assets</td><td style="width: 5%"> </td> <td style="text-align: left; width: 1%"> </td><td style="text-align: right; width: 11%"> </td><td style="text-align: left; width: 1%"> </td><td style="width: 5%"> </td> <td style="text-align: left; width: 1%"> </td><td style="text-align: right; width: 11%"> </td><td style="text-align: left; width: 1%"> </td><td style="width: 5%"> </td> <td style="text-align: left; width: 1%"> </td><td style="text-align: right; width: 11%"> </td><td style="text-align: left; width: 1%"> </td></tr> <tr id="xdx_405_eus-gaap--InventoryPartsAndComponentsNetOfReserves_iI_zEVhHweKgFvd" style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt">Inventory</td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">11,317,775</td><td style="font-size: 10pt; text-align: left"> </td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">1,101,116</td><td style="font-size: 10pt; text-align: left"> </td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">12,418,891</td><td style="font-size: 10pt; text-align: left"> </td></tr> <tr id="xdx_400_eus-gaap--CostsInExcessOfBillingsOnUncompletedContractsOrPrograms_iI_zEtoLEJfVSL3" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left">Costs and estimated earnings in excess of billings</td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">6,356,963</td><td style="font-size: 10pt; text-align: left"> </td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">(326,509</td><td style="font-size: 10pt; text-align: left">)</td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">6,030,454</td><td style="font-size: 10pt; text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; font-weight: bold">Liabilities</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><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td></tr> <tr id="xdx_408_eus-gaap--BillingsInExcessOfCostCurrent_iI_zPt6BGLAlqX3" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left">Billings in excess of costs and estimated earnings</td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">2,043,002</td><td style="font-size: 10pt; text-align: left"> </td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">(25,105</td><td style="font-size: 10pt; text-align: left">)</td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">2,017,897</td><td style="font-size: 10pt; text-align: left"> </td></tr> <tr id="xdx_40F_eus-gaap--OtherLiabilitiesCurrent_iI_zFKt0GFTOfRb" style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left">Other accrued expenses</td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">1,412,502</td><td style="font-size: 10pt; text-align: left"> </td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">794,713</td><td style="font-size: 10pt; text-align: left"> </td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">2,207,215</td><td style="font-size: 10pt; text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; font-weight: bold">Equity</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><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--RetainedEarningsAccumulatedDeficit_iI_zG34vb06T48e" style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left">Retained earnings</td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">26,959,080</td><td style="font-size: 10pt; text-align: left"> </td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">4,999</td><td style="font-size: 10pt; text-align: left"> </td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">26,964,079</td><td style="font-size: 10pt; text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td></tr> </table> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-align: justify"> </p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-align: justify">In accordance with the new revenue standard requirements, the disclosure of the impact of adoption of ASU 2014-09 on our consolidated balance sheet and income statement was as follows:</p> <table cellpadding="0" cellspacing="0" id="xdx_883_esrt--ScheduleOfCondensedBalanceSheetTableTextBlock_zqf4P4T7UJOa" style="font: 12pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%; margin-left: auto; margin-right: auto" summary="xdx: Disclosure - Revenue Impact on Financial Statements Balance Sheet (Details)"> <tr style="vertical-align: bottom"> <td style="width: 46%"> </td><td style="font-size: 10pt; padding-bottom: 1pt; width: 5%"> </td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: center; width: 1%"> </td> <td id="xdx_496_20190531_z9gFhWJJXZ0k" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: center; width: 11%"> </td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: center; width: 1%"> </td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: center; width: 5%"> </td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: center; width: 1%"> </td> <td id="xdx_49A_20190531__us-gaap--AdjustmentsForNewAccountingPronouncementsAxis__us-gaap--AccountingStandardsUpdate201409Member_zWpC2rN0TvO6" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: center; width: 11%"> </td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: center; width: 1%"> </td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: center; width: 5%"> </td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: center; width: 1%"> </td> <td id="xdx_49B_20190531_z0tGKZtqdXQ" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: center; width: 11%"> </td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: center; width: 1%"> </td></tr> <tr style="vertical-align: bottom"> <td> </td><td style="font-size: 10pt; padding-bottom: 1pt"> </td> <td colspan="11" style="font-size: 10pt; text-align: center; border-bottom: Black 1pt solid">May 31, 2019</td></tr> <tr style="vertical-align: bottom"> <td style="font-size: 10pt; font-weight: bold; border-bottom: Black 1pt solid">Balance Sheet</td><td style="font-size: 10pt; padding-bottom: 1pt"> </td> <td colspan="3" style="font-size: 10pt; text-align: center; border-bottom: Black 1pt solid">As Reported</td><td style="font-size: 10pt; padding-bottom: 1pt"> </td> <td colspan="3" style="font-size: 10pt; text-align: center; border-bottom: Black 1pt solid">Effect of Change Higher/(Lower)</td><td style="font-size: 10pt; padding-bottom: 1pt"> </td> <td colspan="3" style="font-size: 10pt; text-align: center; border-bottom: Black 1pt solid">Balances Without Adoption of ASU 2014-09</td></tr> <tr style="vertical-align: bottom"> <td style="font-size: 10pt; font-weight: bold">Assets</td><td> </td> <td colspan="3"> </td><td> </td> <td colspan="3"> </td><td> </td> <td colspan="3"> </td></tr> <tr id="xdx_40F_eus-gaap--InventoryPartsAndComponentsNetOfReserves_iI_d0_zMbiJ1BZ11ab" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt">Inventory</td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">11,239,331</td><td style="font-size: 10pt; text-align: left"> </td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">—  </td><td style="font-size: 10pt; text-align: left"> </td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">11,239,331</td><td style="font-size: 10pt; text-align: left"> </td></tr> <tr id="xdx_40E_eus-gaap--CostsInExcessOfBillingsOnUncompletedContractsOrPrograms_iI_d0_ziqu4t1sSfQf" style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left">Costs and estimated earnings in excess of billings</td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">7,572,490</td><td style="font-size: 10pt; text-align: left"> </td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">—  </td><td style="font-size: 10pt; text-align: left"> </td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">7,572,490</td><td style="font-size: 10pt; text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; font-weight: bold">Liabilities</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><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td></tr> <tr id="xdx_402_eus-gaap--OtherLiabilitiesCurrent_iI_d0_zCH4AZeicy8" style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left">Other accrued expenses</td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">1,532,271</td><td style="font-size: 10pt; text-align: left"> </td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">—  </td><td style="font-size: 10pt; text-align: left"> </td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">1,532,271</td><td style="font-size: 10pt; text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; font-weight: bold">Equity</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><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td></tr> <tr id="xdx_401_eus-gaap--RetainedEarningsAccumulatedDeficit_iI_d0_zJIiAdnScHNf" style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left">Retained earnings</td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">29,508,604</td><td style="font-size: 10pt; text-align: left"> </td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">—  </td><td style="font-size: 10pt; text-align: left"> </td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">29,508,604</td><td style="font-size: 10pt; text-align: left"> </td></tr> </table> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-align: justify"> </p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-align: justify"/> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-align: justify"> </p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-align: justify"/> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-align: justify"/> <table cellpadding="0" cellspacing="0" id="xdx_894_esrt--ScheduleOfCondensedIncomeStatementTableTextBlock_zPvoZT4hdWXf" style="font: 12pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%; margin-left: auto; margin-right: auto" summary="xdx: Disclosure - Revenue Impact on Financial Statements Income Statement (Details)"> <tr style="vertical-align: bottom"> <td style="font-size: 10pt; width: 46%"> </td><td style="font-size: 10pt; padding-bottom: 1pt; width: 5%"> </td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: center; width: 1%"> </td> <td id="xdx_493_20180601__20190531_zLpgTvJUM5ga" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: center; width: 11%"> </td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: center; width: 1%"> </td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: center; width: 5%"> </td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: center; width: 1%"> </td> <td id="xdx_493_20180601__20190531__us-gaap--AdjustmentsForNewAccountingPronouncementsAxis__us-gaap--AccountingStandardsUpdate201409Member_zKeGb6LSce1c" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: center; width: 11%"> </td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: center; width: 1%"> </td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: center; width: 5%"> </td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: center; width: 1%"> </td> <td id="xdx_49F_20180601__20190531__us-gaap--InitialApplicationPeriodCumulativeEffectTransitionAxis__us-gaap--CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member_zqe7oWaAvQG2" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: center; width: 11%"> </td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: center; width: 1%"> </td></tr> <tr style="vertical-align: bottom"> <td style="font-size: 10pt"> </td><td style="font-size: 10pt; padding-bottom: 1pt"> </td> <td colspan="11" style="font-size: 10pt; text-align: center; border-bottom: Black 1pt solid">For the year ended May 31, 2019</td></tr> <tr style="vertical-align: bottom"> <td style="font-size: 10pt; font-weight: bold; border-bottom: Black 1pt solid">Income Statement</td><td style="font-size: 10pt; padding-bottom: 1pt"> </td> <td colspan="3" style="font-size: 10pt; text-align: center; border-bottom: Black 1pt solid">As Reported</td><td style="font-size: 10pt; padding-bottom: 1pt"> </td> <td colspan="3" style="font-size: 10pt; text-align: center; border-bottom: Black 1pt solid">Effect of Change Higher/(Lower)</td><td style="font-size: 10pt; padding-bottom: 1pt"> </td> <td colspan="3" style="font-size: 10pt; text-align: center; border-bottom: Black 1pt solid">Balances Without Adoption of ASU 2014-09</td></tr> <tr style="vertical-align: bottom"> <td style="font-size: 10pt; font-weight: bold">Revenues</td><td> </td> <td colspan="3"> </td><td> </td> <td colspan="3"> </td><td> </td> <td colspan="3"> </td></tr> <tr id="xdx_409_eus-gaap--Revenues_zaQmsOXkqsWe" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left">Sales, net</td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">33,619,031</td><td style="font-size: 10pt; text-align: left"> </td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">1,096,117</td><td style="font-size: 10pt; text-align: left"> </td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">32,522,914</td><td style="font-size: 10pt; text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; font-weight: bold; text-align: left">Costs and Expenses</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><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td></tr> <tr id="xdx_406_eus-gaap--CostOfGoodsAndServicesSold_zwP7PeO23af4" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left">Cost of goods sold</td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">24,571,255</td><td style="font-size: 10pt; text-align: left"> </td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">1,101,116</td><td style="font-size: 10pt; text-align: left"> </td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">23,470,139</td><td style="font-size: 10pt; text-align: left"> </td></tr> <tr id="xdx_40D_eus-gaap--IncomeTaxExpenseBenefit_d0_zkxIbh8sBRV" style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left">Provision for income taxes</td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">515,000</td><td style="font-size: 10pt; text-align: left"> </td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">—  </td><td style="font-size: 10pt; text-align: left"> </td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">515,000</td><td style="font-size: 10pt; text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td></tr> <tr id="xdx_40C_eus-gaap--NetIncomeLoss_zKDT52yKhHjh" style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left">Net income (loss)</td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">2,544,525</td><td style="font-size: 10pt; text-align: left"> </td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">(4,999</td><td style="font-size: 10pt; text-align: left">)</td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">2,549,524</td><td style="font-size: 10pt; text-align: left"> </td></tr> </table> <p style="margin-top: 0; margin-bottom: 0"> </p> <p id="xdx_858_z60WpXwWUMB2" style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-align: justify"/> <p id="xdx_84C_eus-gaap--ShippingAndHandlingCostPolicyTextBlock_zyAJ5UM5dsja" style="color: navy; font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>Shipping and Handling Costs:</b></p> <p style="color: navy; 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">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_90B_eus-gaap--OtherGeneralAndAdministrativeExpense_c20180601__20190531_zM0XfJmSpvc2" title="Shipping and handling costs">$268,847</span> and <span id="xdx_907_eus-gaap--OtherSellingGeneralAndAdministrativeExpense_c20170601__20180531_zbhZltDBxUec" title="Shipping and handling costs">$264,696</span> for the years ended May 31, 2019 and 2018.</p> <p id="xdx_858_zEtQb0cOyadf" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b> </b></p> <p id="xdx_84C_eus-gaap--ResearchAndDevelopmentExpensePolicy_zwg2BGfs40y" style="color: navy; font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>Research and Development Costs:</b></p> <p style="color: navy; 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">Research and development costs are classified as a component of cost of sales. The amounts of these costs were <span id="xdx_907_eus-gaap--ResearchAndDevelopmentExpense_c20180601__20190531_zUGwEApn99Oc" title="Research and development costs">$319,000</span> and <span id="xdx_90A_eus-gaap--ResearchAndDevelopmentExpense_c20170601__20180531_zcJlzj7T63K4" title="Research and development costs">$263,000</span> for the years ended May 31, 2019 and 2018.</p> <p id="xdx_854_zTPZW8cRYsd8" 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"><b> </b></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0"><b> </b></p> <p id="xdx_84A_eus-gaap--RegulatoryIncomeTaxesPolicy_zqiJKdWqJKSl" style="color: navy; font: 10pt Times New Roman, Times, Serif; margin: 0"><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, 2019 or 2018. The Company recorded no interest expense or penalties in its consolidated statements of income during the years ended May 31, 2019 and 2018.</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, 2016.</span></p> <p id="xdx_854_z0PfqzI9P6Ra" style="color: navy; font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b> </b></p> <p id="xdx_84F_eus-gaap--OtherLiabilitiesDisclosureTextBlock_zz5Jqp2twW7b" style="color: navy; font: 10pt Times New Roman, Times, Serif; margin: 0; 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_856_zuFyisDE8DRg" style="color: navy; font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span style="letter-spacing: -0.15pt"><b> </b></span></p> <p id="xdx_840_eus-gaap--ShareBasedCompensationOptionAndIncentivePlansPolicy_zCRXuHgdOLV4" style="color: navy; font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span style="letter-spacing: -0.15pt"><b>Stock-Based Compensation:</b></span></p> <p style="color: navy; 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">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, 2019 and 2018 was <span id="xdx_90C_eus-gaap--ShareBasedCompensation_c20180601__20190531_zC28uCrATVic" title="Share based compensation expense">$106,656</span> and <span id="xdx_909_eus-gaap--ShareBasedCompensation_c20170601__20180531_zsfQmtAaXuU5" title="Share based compensation expense">$124,931</span>.</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"> </p> <p id="xdx_85E_zJdRcSMTkFd5" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"/> <p id="xdx_84F_eus-gaap--NewAccountingPronouncementsPolicyPolicyTextBlock_zO16vlZONRXf" style="color: navy; font: 10pt Times New Roman, Times, Serif; margin: 0; 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">In May 2014, the Financial Accounting Standards Board (FASB) issued Accounting Standards Update (ASU) No. 2014-09, Revenue from Contracts with Customers. ASU 2014-09 is a comprehensive new revenue recognition model that requires a company to recognize revenue to depict the transfer of goods or services to a customer at an amount that reflects the consideration it expects to receive in exchange for those goods or services. ASU 2014-09 also requires additional disclosure about the nature, amount, timing and uncertainty of revenue and cash flows arising from customer contracts, including significant judgments and changes in judgments and assets recognized from costs incurred to obtain or fulfill a contract. ASU 2014-09, as amended, is effective for annual reporting periods, and interim periods within that period, beginning after December 15, 2018 (fiscal year 2019 for the Company). Companies may use either a full retrospective or a modified retrospective approach to adopt ASU 2014-09. The Company adopted ASU 2014-09 on June 1, 2018 using the modified retrospective method, which required the recognition of the cumulative effect of the transition as an adjustment to retained earnings. The effect of the adoption is detailed above.</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 recently issued Accounting Standards Codification (ASC) guidance has either been implemented or are not significant to the Company.</p> <p id="xdx_857_zAQiPd7tc5N8" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"> </p> <p id="xdx_843_eus-gaap--NatureOfOperations_zrcMOSewuwP3" style="color: navy; font: 10pt Times New Roman, Times, Serif; margin: 0; 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_dp_c20180601__20190531_zOujSnezPD0e" title="Domestic revenue as percentage of total">78% </span>of the Company's 2019 revenue was generated from sales to customers in the United States and <span id="xdx_90A_ecustom--EntityWideDisclosureOnGeographicAreasPercentageOfRevenueFromExternalCustomersAttributedToForeignCountries_dp_c20180601__20190531_zBZSckErl6s5" title="Asian revenue as percentage of total">17%</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 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_908_ecustom--EntityWideDisclosureOnGeographicAreasPercentageOfRevenueFromExternalCustomersAttributedToEntitysCountryOfDomicile_dp_c20170601__20180531_zFEJ4Idr2aIi" title="Domestic revenue as percentage of total">74%</span> of the Company's 2018 revenue was generated from sales to customers in the United States and <span id="xdx_90F_ecustom--EntityWideDisclosureOnGeographicAreasPercentageOfRevenueFromExternalCustomersAttributedToForeignCountries_dp_c20170601__20180531_zoTvUkqQd7Ah" title="Asian revenue as percentage of total">21%</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> 0.78 0.17 0.74 0.21 <p id="xdx_849_eus-gaap--ConsolidationPolicyTextBlock_zH0isK5PvULj" style="color: navy; font: 10pt Times New Roman, Times, Serif; margin: 0; 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_840_eus-gaap--SubsequentEventsPolicyPolicyTextBlock_z77qb2FbMRq2" style="color: navy; font: 10pt Times New Roman, Times, Serif; margin: 0; 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_844_eus-gaap--UseOfEstimates_zrsWqjL1Imdj" style="color: navy; font: 10pt Times New Roman, Times, Serif; margin: 0; 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_847_eus-gaap--CashAndCashEquivalentsPolicyTextBlock_zmkeWwfyMcYh" style="color: navy; font: 10pt Times New Roman, Times, Serif; margin: 0; 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_84E_eus-gaap--MarketableSecuritiesPolicy_zG6ZcJCK2hb2" style="color: navy; font: 10pt Times New Roman, Times, Serif; margin: 0"><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, 2019 include “available for sale” corporate bonds stated at fair value, which approximates cost. The bonds (7) mature on various dates during the period May 2020 to December 2021. 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_849_eus-gaap--TradeAndOtherAccountsReceivablePolicy_zima1rrvPYB7" style="color: navy; font: 10pt Times New Roman, Times, Serif; margin: 0"><b> </b></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; color: navy"><b> </b></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; color: navy"><b> </b></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; color: navy"><b>Accounts Receivable:</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 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. 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.</p> <p id="xdx_847_eus-gaap--InventoryPolicyTextBlock_zen1gMLmEvZ8" style="color: navy; font: 10pt Times New Roman, Times, Serif; margin: 0; 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_84F_eus-gaap--PropertyPlantAndEquipmentPolicyTextBlock_zGUDwkzOwQGg" style="color: navy; font: 10pt Times New Roman, Times, Serif; margin: 0; 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. Deprecation 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_840_eus-gaap--LifeInsuranceCorporateOrBankOwnedTextBlock_zbbj15W30qwi" style="color: navy; font: 10pt Times New Roman, Times, Serif; margin: 0; 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_849_eus-gaap--RevenueRecognitionPolicyTextBlock_zeI132QAkTy6" style="color: navy; font: 10pt Times New Roman, Times, Serif; margin: 0; 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; text-align: justify">As noted below, ASU 2014-09 was adopted on June 1, 2018 using the modified retrospective method, which required the recognition of the cumulative effect of the transition as an adjustment to retained earnings.</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"/> <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; text-align: justify"/> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; 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. In the year ended May 31, 2019, <span id="xdx_909_ecustom--RevenueRecognitionSinglePerformanceObligationPercentOfTotal_dp_c20180601__20190531_z2QWWB3de4Q8" title="Percent of revenue recognized with sales contracts containing a single performance obligation">45%</span> of revenue was recorded for contracts with a single performance obligation that was satisfied within the period. In the year ended May 31, 2018, <span id="xdx_90F_ecustom--RevenueRecognitionSinglePerformanceObligationPercentOfTotal_dp_c20170601__20180531_zfzlQzXiw1Db" title="Percent of revenue recognized with sales contracts containing a single performance obligation">40%</span> of revenue was recorded for contracts with a single performance obligation that was satisfied within the period.</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">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. In the year ended May 31, 2019, <span id="xdx_90D_ecustom--RevenueRecognitionOverTimePercentOfTotal_dp_c20180601__20190531_zeVHM1nyFL4a" title="Percent of revenue recognized with sales contracts for which revenue is recognized over time">55%</span> of revenue was recorded for contracts in which revenue was recognized over time. In the year ended May 31, 2018, <span id="xdx_905_ecustom--RevenueRecognitionOverTimePercentOfTotal_dp_c20170601__20180531_zen5PVFMnMe8" 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.</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 0 12pt; text-align: justify"/> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-align: justify"/> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-align: justify"> </p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; 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, 2019, 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 style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-align: justify">We recognized the cumulative effect of initially applying the new revenue standard as an adjustment to the opening balance of retained earnings primarily because certain longer term contracts accounted for on the percentage of completion method did not contain “enforceable right to payment” terms, as defined. The comparative information has not been restated and continues to be reported under the accounting standards in effect for those periods.</p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-align: justify">The cumulative effect of the changes made to our consolidated June 1, 2018 balance sheet for the adoption of ASU 2014-09, were as follows:</p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-align: justify"/> <table cellpadding="0" cellspacing="0" id="xdx_888_eus-gaap--ScheduleOfNewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock_zfRIIMeKIuAh" style="font: 12pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%; margin-left: auto; margin-right: auto" summary="xdx: Disclosure - Impact of Adoption of Standards Related to Revenue Recognition (Details)"> <tr style="vertical-align: bottom"> <td> </td><td> </td> <td colspan="3" id="xdx_496_20180531__us-gaap--InitialApplicationPeriodCumulativeEffectTransitionAxis__us-gaap--CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member_zyqnLO3rCESj"> </td><td> </td> <td colspan="3" id="xdx_494_20180601__us-gaap--InitialApplicationPeriodCumulativeEffectTransitionAxis__us-gaap--DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member_zQfUwtai48S8"> </td><td> </td> <td colspan="3" id="xdx_498_20180601__us-gaap--InitialApplicationPeriodCumulativeEffectTransitionAxis__us-gaap--CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member_zsl3Efb79a1"> </td></tr> <tr style="vertical-align: bottom"> <td style="font-size: 10pt; font-weight: bold; border-bottom: Black 1pt solid">Balance Sheet</td><td style="font-size: 10pt; padding-bottom: 1pt"> </td> <td colspan="3" style="font-size: 10pt; text-align: center; border-bottom: Black 1pt solid">Balance at May 31, 2018</td><td style="font-size: 10pt; padding-bottom: 1pt"> </td> <td colspan="3" style="font-size: 10pt; text-align: center; border-bottom: Black 1pt solid">Adjustments Due to ASU 2014-09</td><td style="font-size: 10pt; padding-bottom: 1pt"> </td> <td colspan="3" style="font-size: 10pt; text-align: center; border-bottom: Black 1pt solid">Balance at June 1, 2018</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; font-weight: bold; width: 46%">Assets</td><td style="width: 5%"> </td> <td style="text-align: left; width: 1%"> </td><td style="text-align: right; width: 11%"> </td><td style="text-align: left; width: 1%"> </td><td style="width: 5%"> </td> <td style="text-align: left; width: 1%"> </td><td style="text-align: right; width: 11%"> </td><td style="text-align: left; width: 1%"> </td><td style="width: 5%"> </td> <td style="text-align: left; width: 1%"> </td><td style="text-align: right; width: 11%"> </td><td style="text-align: left; width: 1%"> </td></tr> <tr id="xdx_405_eus-gaap--InventoryPartsAndComponentsNetOfReserves_iI_zEVhHweKgFvd" style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt">Inventory</td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">11,317,775</td><td style="font-size: 10pt; text-align: left"> </td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">1,101,116</td><td style="font-size: 10pt; text-align: left"> </td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">12,418,891</td><td style="font-size: 10pt; text-align: left"> </td></tr> <tr id="xdx_400_eus-gaap--CostsInExcessOfBillingsOnUncompletedContractsOrPrograms_iI_zEtoLEJfVSL3" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left">Costs and estimated earnings in excess of billings</td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">6,356,963</td><td style="font-size: 10pt; text-align: left"> </td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">(326,509</td><td style="font-size: 10pt; text-align: left">)</td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">6,030,454</td><td style="font-size: 10pt; text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; font-weight: bold">Liabilities</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><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td></tr> <tr id="xdx_408_eus-gaap--BillingsInExcessOfCostCurrent_iI_zPt6BGLAlqX3" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left">Billings in excess of costs and estimated earnings</td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">2,043,002</td><td style="font-size: 10pt; text-align: left"> </td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">(25,105</td><td style="font-size: 10pt; text-align: left">)</td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">2,017,897</td><td style="font-size: 10pt; text-align: left"> </td></tr> <tr id="xdx_40F_eus-gaap--OtherLiabilitiesCurrent_iI_zFKt0GFTOfRb" style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left">Other accrued expenses</td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">1,412,502</td><td style="font-size: 10pt; text-align: left"> </td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">794,713</td><td style="font-size: 10pt; text-align: left"> </td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">2,207,215</td><td style="font-size: 10pt; text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; font-weight: bold">Equity</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><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--RetainedEarningsAccumulatedDeficit_iI_zG34vb06T48e" style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left">Retained earnings</td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">26,959,080</td><td style="font-size: 10pt; text-align: left"> </td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">4,999</td><td style="font-size: 10pt; text-align: left"> </td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">26,964,079</td><td style="font-size: 10pt; text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td></tr> </table> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-align: justify"> </p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-align: justify">In accordance with the new revenue standard requirements, the disclosure of the impact of adoption of ASU 2014-09 on our consolidated balance sheet and income statement was as follows:</p> <table cellpadding="0" cellspacing="0" id="xdx_883_esrt--ScheduleOfCondensedBalanceSheetTableTextBlock_zqf4P4T7UJOa" style="font: 12pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%; margin-left: auto; margin-right: auto" summary="xdx: Disclosure - Revenue Impact on Financial Statements Balance Sheet (Details)"> <tr style="vertical-align: bottom"> <td style="width: 46%"> </td><td style="font-size: 10pt; padding-bottom: 1pt; width: 5%"> </td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: center; width: 1%"> </td> <td id="xdx_496_20190531_z9gFhWJJXZ0k" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: center; width: 11%"> </td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: center; width: 1%"> </td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: center; width: 5%"> </td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: center; width: 1%"> </td> <td id="xdx_49A_20190531__us-gaap--AdjustmentsForNewAccountingPronouncementsAxis__us-gaap--AccountingStandardsUpdate201409Member_zWpC2rN0TvO6" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: center; width: 11%"> </td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: center; width: 1%"> </td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: center; width: 5%"> </td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: center; width: 1%"> </td> <td id="xdx_49B_20190531_z0tGKZtqdXQ" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: center; width: 11%"> </td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: center; width: 1%"> </td></tr> <tr style="vertical-align: bottom"> <td> </td><td style="font-size: 10pt; padding-bottom: 1pt"> </td> <td colspan="11" style="font-size: 10pt; text-align: center; border-bottom: Black 1pt solid">May 31, 2019</td></tr> <tr style="vertical-align: bottom"> <td style="font-size: 10pt; font-weight: bold; border-bottom: Black 1pt solid">Balance Sheet</td><td style="font-size: 10pt; padding-bottom: 1pt"> </td> <td colspan="3" style="font-size: 10pt; text-align: center; border-bottom: Black 1pt solid">As Reported</td><td style="font-size: 10pt; padding-bottom: 1pt"> </td> <td colspan="3" style="font-size: 10pt; text-align: center; border-bottom: Black 1pt solid">Effect of Change Higher/(Lower)</td><td style="font-size: 10pt; padding-bottom: 1pt"> </td> <td colspan="3" style="font-size: 10pt; text-align: center; border-bottom: Black 1pt solid">Balances Without Adoption of ASU 2014-09</td></tr> <tr style="vertical-align: bottom"> <td style="font-size: 10pt; font-weight: bold">Assets</td><td> </td> <td colspan="3"> </td><td> </td> <td colspan="3"> </td><td> </td> <td colspan="3"> </td></tr> <tr id="xdx_40F_eus-gaap--InventoryPartsAndComponentsNetOfReserves_iI_d0_zMbiJ1BZ11ab" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt">Inventory</td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">11,239,331</td><td style="font-size: 10pt; text-align: left"> </td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">—  </td><td style="font-size: 10pt; text-align: left"> </td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">11,239,331</td><td style="font-size: 10pt; text-align: left"> </td></tr> <tr id="xdx_40E_eus-gaap--CostsInExcessOfBillingsOnUncompletedContractsOrPrograms_iI_d0_ziqu4t1sSfQf" style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left">Costs and estimated earnings in excess of billings</td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">7,572,490</td><td style="font-size: 10pt; text-align: left"> </td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">—  </td><td style="font-size: 10pt; text-align: left"> </td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">7,572,490</td><td style="font-size: 10pt; text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; font-weight: bold">Liabilities</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><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td></tr> <tr id="xdx_402_eus-gaap--OtherLiabilitiesCurrent_iI_d0_zCH4AZeicy8" style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left">Other accrued expenses</td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">1,532,271</td><td style="font-size: 10pt; text-align: left"> </td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">—  </td><td style="font-size: 10pt; text-align: left"> </td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">1,532,271</td><td style="font-size: 10pt; text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; font-weight: bold">Equity</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><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td></tr> <tr id="xdx_401_eus-gaap--RetainedEarningsAccumulatedDeficit_iI_d0_zJIiAdnScHNf" style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left">Retained earnings</td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">29,508,604</td><td style="font-size: 10pt; text-align: left"> </td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">—  </td><td style="font-size: 10pt; text-align: left"> </td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">29,508,604</td><td style="font-size: 10pt; text-align: left"> </td></tr> </table> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-align: justify"> </p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-align: justify"/> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-align: justify"> </p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-align: justify"/> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-align: justify"/> <table cellpadding="0" cellspacing="0" id="xdx_894_esrt--ScheduleOfCondensedIncomeStatementTableTextBlock_zPvoZT4hdWXf" style="font: 12pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%; margin-left: auto; margin-right: auto" summary="xdx: Disclosure - Revenue Impact on Financial Statements Income Statement (Details)"> <tr style="vertical-align: bottom"> <td style="font-size: 10pt; width: 46%"> </td><td style="font-size: 10pt; padding-bottom: 1pt; width: 5%"> </td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: center; width: 1%"> </td> <td id="xdx_493_20180601__20190531_zLpgTvJUM5ga" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: center; width: 11%"> </td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: center; width: 1%"> </td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: center; width: 5%"> </td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: center; width: 1%"> </td> <td id="xdx_493_20180601__20190531__us-gaap--AdjustmentsForNewAccountingPronouncementsAxis__us-gaap--AccountingStandardsUpdate201409Member_zKeGb6LSce1c" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: center; width: 11%"> </td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: center; width: 1%"> </td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: center; width: 5%"> </td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: center; width: 1%"> </td> <td id="xdx_49F_20180601__20190531__us-gaap--InitialApplicationPeriodCumulativeEffectTransitionAxis__us-gaap--CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member_zqe7oWaAvQG2" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: center; width: 11%"> </td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: center; width: 1%"> </td></tr> <tr style="vertical-align: bottom"> <td style="font-size: 10pt"> </td><td style="font-size: 10pt; padding-bottom: 1pt"> </td> <td colspan="11" style="font-size: 10pt; text-align: center; border-bottom: Black 1pt solid">For the year ended May 31, 2019</td></tr> <tr style="vertical-align: bottom"> <td style="font-size: 10pt; font-weight: bold; border-bottom: Black 1pt solid">Income Statement</td><td style="font-size: 10pt; padding-bottom: 1pt"> </td> <td colspan="3" style="font-size: 10pt; text-align: center; border-bottom: Black 1pt solid">As Reported</td><td style="font-size: 10pt; padding-bottom: 1pt"> </td> <td colspan="3" style="font-size: 10pt; text-align: center; border-bottom: Black 1pt solid">Effect of Change Higher/(Lower)</td><td style="font-size: 10pt; padding-bottom: 1pt"> </td> <td colspan="3" style="font-size: 10pt; text-align: center; border-bottom: Black 1pt solid">Balances Without Adoption of ASU 2014-09</td></tr> <tr style="vertical-align: bottom"> <td style="font-size: 10pt; font-weight: bold">Revenues</td><td> </td> <td colspan="3"> </td><td> </td> <td colspan="3"> </td><td> </td> <td colspan="3"> </td></tr> <tr id="xdx_409_eus-gaap--Revenues_zaQmsOXkqsWe" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left">Sales, net</td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">33,619,031</td><td style="font-size: 10pt; text-align: left"> </td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">1,096,117</td><td style="font-size: 10pt; text-align: left"> </td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">32,522,914</td><td style="font-size: 10pt; text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; font-weight: bold; text-align: left">Costs and Expenses</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><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td></tr> <tr id="xdx_406_eus-gaap--CostOfGoodsAndServicesSold_zwP7PeO23af4" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left">Cost of goods sold</td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">24,571,255</td><td style="font-size: 10pt; text-align: left"> </td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">1,101,116</td><td style="font-size: 10pt; text-align: left"> </td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">23,470,139</td><td style="font-size: 10pt; text-align: left"> </td></tr> <tr id="xdx_40D_eus-gaap--IncomeTaxExpenseBenefit_d0_zkxIbh8sBRV" style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left">Provision for income taxes</td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">515,000</td><td style="font-size: 10pt; text-align: left"> </td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">—  </td><td style="font-size: 10pt; text-align: left"> </td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">515,000</td><td style="font-size: 10pt; text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td></tr> <tr id="xdx_40C_eus-gaap--NetIncomeLoss_zKDT52yKhHjh" style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left">Net income (loss)</td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">2,544,525</td><td style="font-size: 10pt; text-align: left"> </td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">(4,999</td><td style="font-size: 10pt; text-align: left">)</td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">2,549,524</td><td style="font-size: 10pt; text-align: left"> </td></tr> </table> <p style="margin-top: 0; margin-bottom: 0"> </p> <p id="xdx_858_z60WpXwWUMB2" style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-align: justify"/> <p id="xdx_84C_eus-gaap--ShippingAndHandlingCostPolicyTextBlock_zyAJ5UM5dsja" style="color: navy; font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>Shipping and Handling Costs:</b></p> <p style="color: navy; 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">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_90B_eus-gaap--OtherGeneralAndAdministrativeExpense_c20180601__20190531_zM0XfJmSpvc2" title="Shipping and handling costs">$268,847</span> and <span id="xdx_907_eus-gaap--OtherSellingGeneralAndAdministrativeExpense_c20170601__20180531_zbhZltDBxUec" title="Shipping and handling costs">$264,696</span> for the years ended May 31, 2019 and 2018.</p> <p id="xdx_858_zEtQb0cOyadf" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b> </b></p> <p id="xdx_84C_eus-gaap--ResearchAndDevelopmentExpensePolicy_zwg2BGfs40y" style="color: navy; font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>Research and Development Costs:</b></p> <p style="color: navy; 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">Research and development costs are classified as a component of cost of sales. The amounts of these costs were <span id="xdx_907_eus-gaap--ResearchAndDevelopmentExpense_c20180601__20190531_zUGwEApn99Oc" title="Research and development costs">$319,000</span> and <span id="xdx_90A_eus-gaap--ResearchAndDevelopmentExpense_c20170601__20180531_zcJlzj7T63K4" title="Research and development costs">$263,000</span> for the years ended May 31, 2019 and 2018.</p> <p id="xdx_854_zTPZW8cRYsd8" 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"><b> </b></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0"><b> </b></p> <p id="xdx_84A_eus-gaap--RegulatoryIncomeTaxesPolicy_zqiJKdWqJKSl" style="color: navy; font: 10pt Times New Roman, Times, Serif; margin: 0"><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, 2019 or 2018. The Company recorded no interest expense or penalties in its consolidated statements of income during the years ended May 31, 2019 and 2018.</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, 2016.</span></p> <p id="xdx_854_z0PfqzI9P6Ra" style="color: navy; font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b> </b></p> <p id="xdx_84F_eus-gaap--OtherLiabilitiesDisclosureTextBlock_zz5Jqp2twW7b" style="color: navy; font: 10pt Times New Roman, Times, Serif; margin: 0; 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_856_zuFyisDE8DRg" style="color: navy; font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span style="letter-spacing: -0.15pt"><b> </b></span></p> <p id="xdx_840_eus-gaap--ShareBasedCompensationOptionAndIncentivePlansPolicy_zCRXuHgdOLV4" style="color: navy; font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span style="letter-spacing: -0.15pt"><b>Stock-Based Compensation:</b></span></p> <p style="color: navy; 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">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, 2019 and 2018 was <span id="xdx_90C_eus-gaap--ShareBasedCompensation_c20180601__20190531_zC28uCrATVic" title="Share based compensation expense">$106,656</span> and <span id="xdx_909_eus-gaap--ShareBasedCompensation_c20170601__20180531_zsfQmtAaXuU5" title="Share based compensation expense">$124,931</span>.</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"> </p> <p id="xdx_85E_zJdRcSMTkFd5" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"/> <p id="xdx_84F_eus-gaap--NewAccountingPronouncementsPolicyPolicyTextBlock_zO16vlZONRXf" style="color: navy; font: 10pt Times New Roman, Times, Serif; margin: 0; 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">In May 2014, the Financial Accounting Standards Board (FASB) issued Accounting Standards Update (ASU) No. 2014-09, Revenue from Contracts with Customers. ASU 2014-09 is a comprehensive new revenue recognition model that requires a company to recognize revenue to depict the transfer of goods or services to a customer at an amount that reflects the consideration it expects to receive in exchange for those goods or services. ASU 2014-09 also requires additional disclosure about the nature, amount, timing and uncertainty of revenue and cash flows arising from customer contracts, including significant judgments and changes in judgments and assets recognized from costs incurred to obtain or fulfill a contract. ASU 2014-09, as amended, is effective for annual reporting periods, and interim periods within that period, beginning after December 15, 2018 (fiscal year 2019 for the Company). Companies may use either a full retrospective or a modified retrospective approach to adopt ASU 2014-09. The Company adopted ASU 2014-09 on June 1, 2018 using the modified retrospective method, which required the recognition of the cumulative effect of the transition as an adjustment to retained earnings. The effect of the adoption is detailed above.</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 recently issued Accounting Standards Codification (ASC) guidance has either been implemented or are not significant to the Company.</p> <p id="xdx_857_zAQiPd7tc5N8" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"> </p> 0.45 0.40 0.55 0.60 <table cellpadding="0" cellspacing="0" id="xdx_888_eus-gaap--ScheduleOfNewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock_zfRIIMeKIuAh" style="font: 12pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%; margin-left: auto; margin-right: auto" summary="xdx: Disclosure - Impact of Adoption of Standards Related to Revenue Recognition (Details)"> <tr style="vertical-align: bottom"> <td> </td><td> </td> <td colspan="3" id="xdx_496_20180531__us-gaap--InitialApplicationPeriodCumulativeEffectTransitionAxis__us-gaap--CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member_zyqnLO3rCESj"> </td><td> </td> <td colspan="3" id="xdx_494_20180601__us-gaap--InitialApplicationPeriodCumulativeEffectTransitionAxis__us-gaap--DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member_zQfUwtai48S8"> </td><td> </td> <td colspan="3" id="xdx_498_20180601__us-gaap--InitialApplicationPeriodCumulativeEffectTransitionAxis__us-gaap--CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member_zsl3Efb79a1"> </td></tr> <tr style="vertical-align: bottom"> <td style="font-size: 10pt; font-weight: bold; border-bottom: Black 1pt solid">Balance Sheet</td><td style="font-size: 10pt; padding-bottom: 1pt"> </td> <td colspan="3" style="font-size: 10pt; text-align: center; border-bottom: Black 1pt solid">Balance at May 31, 2018</td><td style="font-size: 10pt; padding-bottom: 1pt"> </td> <td colspan="3" style="font-size: 10pt; text-align: center; border-bottom: Black 1pt solid">Adjustments Due to ASU 2014-09</td><td style="font-size: 10pt; padding-bottom: 1pt"> </td> <td colspan="3" style="font-size: 10pt; text-align: center; border-bottom: Black 1pt solid">Balance at June 1, 2018</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; font-weight: bold; width: 46%">Assets</td><td style="width: 5%"> </td> <td style="text-align: left; width: 1%"> </td><td style="text-align: right; width: 11%"> </td><td style="text-align: left; width: 1%"> </td><td style="width: 5%"> </td> <td style="text-align: left; width: 1%"> </td><td style="text-align: right; width: 11%"> </td><td style="text-align: left; width: 1%"> </td><td style="width: 5%"> </td> <td style="text-align: left; width: 1%"> </td><td style="text-align: right; width: 11%"> </td><td style="text-align: left; width: 1%"> </td></tr> <tr id="xdx_405_eus-gaap--InventoryPartsAndComponentsNetOfReserves_iI_zEVhHweKgFvd" style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt">Inventory</td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">11,317,775</td><td style="font-size: 10pt; text-align: left"> </td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">1,101,116</td><td style="font-size: 10pt; text-align: left"> </td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">12,418,891</td><td style="font-size: 10pt; text-align: left"> </td></tr> <tr id="xdx_400_eus-gaap--CostsInExcessOfBillingsOnUncompletedContractsOrPrograms_iI_zEtoLEJfVSL3" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left">Costs and estimated earnings in excess of billings</td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">6,356,963</td><td style="font-size: 10pt; text-align: left"> </td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">(326,509</td><td style="font-size: 10pt; text-align: left">)</td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">6,030,454</td><td style="font-size: 10pt; text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; font-weight: bold">Liabilities</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><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td></tr> <tr id="xdx_408_eus-gaap--BillingsInExcessOfCostCurrent_iI_zPt6BGLAlqX3" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left">Billings in excess of costs and estimated earnings</td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">2,043,002</td><td style="font-size: 10pt; text-align: left"> </td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">(25,105</td><td style="font-size: 10pt; text-align: left">)</td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">2,017,897</td><td style="font-size: 10pt; text-align: left"> </td></tr> <tr id="xdx_40F_eus-gaap--OtherLiabilitiesCurrent_iI_zFKt0GFTOfRb" style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left">Other accrued expenses</td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">1,412,502</td><td style="font-size: 10pt; text-align: left"> </td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">794,713</td><td style="font-size: 10pt; text-align: left"> </td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">2,207,215</td><td style="font-size: 10pt; text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; font-weight: bold">Equity</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><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--RetainedEarningsAccumulatedDeficit_iI_zG34vb06T48e" style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left">Retained earnings</td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">26,959,080</td><td style="font-size: 10pt; text-align: left"> </td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">4,999</td><td style="font-size: 10pt; text-align: left"> </td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">26,964,079</td><td style="font-size: 10pt; text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td></tr> </table> 11317775 1101116 12418891 6356963 -326509 6030454 2043002 -25105 2017897 1412502 794713 2207215 26959080 4999 26964079 <table cellpadding="0" cellspacing="0" id="xdx_883_esrt--ScheduleOfCondensedBalanceSheetTableTextBlock_zqf4P4T7UJOa" style="font: 12pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%; margin-left: auto; margin-right: auto" summary="xdx: Disclosure - Revenue Impact on Financial Statements Balance Sheet (Details)"> <tr style="vertical-align: bottom"> <td style="width: 46%"> </td><td style="font-size: 10pt; padding-bottom: 1pt; width: 5%"> </td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: center; width: 1%"> </td> <td id="xdx_496_20190531_z9gFhWJJXZ0k" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: center; width: 11%"> </td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: center; width: 1%"> </td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: center; width: 5%"> </td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: center; width: 1%"> </td> <td id="xdx_49A_20190531__us-gaap--AdjustmentsForNewAccountingPronouncementsAxis__us-gaap--AccountingStandardsUpdate201409Member_zWpC2rN0TvO6" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: center; width: 11%"> </td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: center; width: 1%"> </td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: center; width: 5%"> </td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: center; width: 1%"> </td> <td id="xdx_49B_20190531_z0tGKZtqdXQ" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: center; width: 11%"> </td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: center; width: 1%"> </td></tr> <tr style="vertical-align: bottom"> <td> </td><td style="font-size: 10pt; padding-bottom: 1pt"> </td> <td colspan="11" style="font-size: 10pt; text-align: center; border-bottom: Black 1pt solid">May 31, 2019</td></tr> <tr style="vertical-align: bottom"> <td style="font-size: 10pt; font-weight: bold; border-bottom: Black 1pt solid">Balance Sheet</td><td style="font-size: 10pt; padding-bottom: 1pt"> </td> <td colspan="3" style="font-size: 10pt; text-align: center; border-bottom: Black 1pt solid">As Reported</td><td style="font-size: 10pt; padding-bottom: 1pt"> </td> <td colspan="3" style="font-size: 10pt; text-align: center; border-bottom: Black 1pt solid">Effect of Change Higher/(Lower)</td><td style="font-size: 10pt; padding-bottom: 1pt"> </td> <td colspan="3" style="font-size: 10pt; text-align: center; border-bottom: Black 1pt solid">Balances Without Adoption of ASU 2014-09</td></tr> <tr style="vertical-align: bottom"> <td style="font-size: 10pt; font-weight: bold">Assets</td><td> </td> <td colspan="3"> </td><td> </td> <td colspan="3"> </td><td> </td> <td colspan="3"> </td></tr> <tr id="xdx_40F_eus-gaap--InventoryPartsAndComponentsNetOfReserves_iI_d0_zMbiJ1BZ11ab" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt">Inventory</td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">11,239,331</td><td style="font-size: 10pt; text-align: left"> </td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">—  </td><td style="font-size: 10pt; text-align: left"> </td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">11,239,331</td><td style="font-size: 10pt; text-align: left"> </td></tr> <tr id="xdx_40E_eus-gaap--CostsInExcessOfBillingsOnUncompletedContractsOrPrograms_iI_d0_ziqu4t1sSfQf" style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left">Costs and estimated earnings in excess of billings</td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">7,572,490</td><td style="font-size: 10pt; text-align: left"> </td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">—  </td><td style="font-size: 10pt; text-align: left"> </td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">7,572,490</td><td style="font-size: 10pt; text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; font-weight: bold">Liabilities</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><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td></tr> <tr id="xdx_402_eus-gaap--OtherLiabilitiesCurrent_iI_d0_zCH4AZeicy8" style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left">Other accrued expenses</td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">1,532,271</td><td style="font-size: 10pt; text-align: left"> </td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">—  </td><td style="font-size: 10pt; text-align: left"> </td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">1,532,271</td><td style="font-size: 10pt; text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; font-weight: bold">Equity</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><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td></tr> <tr id="xdx_401_eus-gaap--RetainedEarningsAccumulatedDeficit_iI_d0_zJIiAdnScHNf" style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left">Retained earnings</td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">29,508,604</td><td style="font-size: 10pt; text-align: left"> </td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">—  </td><td style="font-size: 10pt; text-align: left"> </td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">29,508,604</td><td style="font-size: 10pt; text-align: left"> </td></tr> </table> 11239331 0 11239331 7572490 0 7572490 1532271 0 1532271 29508604 0 29508604 <table cellpadding="0" cellspacing="0" id="xdx_894_esrt--ScheduleOfCondensedIncomeStatementTableTextBlock_zPvoZT4hdWXf" style="font: 12pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%; margin-left: auto; margin-right: auto" summary="xdx: Disclosure - Revenue Impact on Financial Statements Income Statement (Details)"> <tr style="vertical-align: bottom"> <td style="font-size: 10pt; width: 46%"> </td><td style="font-size: 10pt; padding-bottom: 1pt; width: 5%"> </td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: center; width: 1%"> </td> <td id="xdx_493_20180601__20190531_zLpgTvJUM5ga" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: center; width: 11%"> </td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: center; width: 1%"> </td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: center; width: 5%"> </td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: center; width: 1%"> </td> <td id="xdx_493_20180601__20190531__us-gaap--AdjustmentsForNewAccountingPronouncementsAxis__us-gaap--AccountingStandardsUpdate201409Member_zKeGb6LSce1c" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: center; width: 11%"> </td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: center; width: 1%"> </td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: center; width: 5%"> </td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: center; width: 1%"> </td> <td id="xdx_49F_20180601__20190531__us-gaap--InitialApplicationPeriodCumulativeEffectTransitionAxis__us-gaap--CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member_zqe7oWaAvQG2" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: center; width: 11%"> </td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: center; width: 1%"> </td></tr> <tr style="vertical-align: bottom"> <td style="font-size: 10pt"> </td><td style="font-size: 10pt; padding-bottom: 1pt"> </td> <td colspan="11" style="font-size: 10pt; text-align: center; border-bottom: Black 1pt solid">For the year ended May 31, 2019</td></tr> <tr style="vertical-align: bottom"> <td style="font-size: 10pt; font-weight: bold; border-bottom: Black 1pt solid">Income Statement</td><td style="font-size: 10pt; padding-bottom: 1pt"> </td> <td colspan="3" style="font-size: 10pt; text-align: center; border-bottom: Black 1pt solid">As Reported</td><td style="font-size: 10pt; padding-bottom: 1pt"> </td> <td colspan="3" style="font-size: 10pt; text-align: center; border-bottom: Black 1pt solid">Effect of Change Higher/(Lower)</td><td style="font-size: 10pt; padding-bottom: 1pt"> </td> <td colspan="3" style="font-size: 10pt; text-align: center; border-bottom: Black 1pt solid">Balances Without Adoption of ASU 2014-09</td></tr> <tr style="vertical-align: bottom"> <td style="font-size: 10pt; font-weight: bold">Revenues</td><td> </td> <td colspan="3"> </td><td> </td> <td colspan="3"> </td><td> </td> <td colspan="3"> </td></tr> <tr id="xdx_409_eus-gaap--Revenues_zaQmsOXkqsWe" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left">Sales, net</td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">33,619,031</td><td style="font-size: 10pt; text-align: left"> </td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">1,096,117</td><td style="font-size: 10pt; text-align: left"> </td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">32,522,914</td><td style="font-size: 10pt; text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; font-weight: bold; text-align: left">Costs and Expenses</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><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td></tr> <tr id="xdx_406_eus-gaap--CostOfGoodsAndServicesSold_zwP7PeO23af4" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left">Cost of goods sold</td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">24,571,255</td><td style="font-size: 10pt; text-align: left"> </td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">1,101,116</td><td style="font-size: 10pt; text-align: left"> </td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">23,470,139</td><td style="font-size: 10pt; text-align: left"> </td></tr> <tr id="xdx_40D_eus-gaap--IncomeTaxExpenseBenefit_d0_zkxIbh8sBRV" style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left">Provision for income taxes</td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">515,000</td><td style="font-size: 10pt; text-align: left"> </td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">—  </td><td style="font-size: 10pt; text-align: left"> </td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">515,000</td><td style="font-size: 10pt; text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td></tr> <tr id="xdx_40C_eus-gaap--NetIncomeLoss_zKDT52yKhHjh" style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left">Net income (loss)</td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">2,544,525</td><td style="font-size: 10pt; text-align: left"> </td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">(4,999</td><td style="font-size: 10pt; text-align: left">)</td><td style="font-size: 10pt"> </td> <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">2,549,524</td><td style="font-size: 10pt; text-align: left"> </td></tr> </table> <p style="margin-top: 0; margin-bottom: 0"> </p> 33619031 1096117 32522914 24571255 1101116 23470139 515000 0 515000 2544525 -4999 2549524 <p id="xdx_84C_eus-gaap--ShippingAndHandlingCostPolicyTextBlock_zyAJ5UM5dsja" style="color: navy; font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>Shipping and Handling Costs:</b></p> <p style="color: navy; 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">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_90B_eus-gaap--OtherGeneralAndAdministrativeExpense_c20180601__20190531_zM0XfJmSpvc2" title="Shipping and handling costs">$268,847</span> and <span id="xdx_907_eus-gaap--OtherSellingGeneralAndAdministrativeExpense_c20170601__20180531_zbhZltDBxUec" title="Shipping and handling costs">$264,696</span> for the years ended May 31, 2019 and 2018.</p> 268847 264696 <p id="xdx_84C_eus-gaap--ResearchAndDevelopmentExpensePolicy_zwg2BGfs40y" style="color: navy; font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>Research and Development Costs:</b></p> <p style="color: navy; 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">Research and development costs are classified as a component of cost of sales. The amounts of these costs were <span id="xdx_907_eus-gaap--ResearchAndDevelopmentExpense_c20180601__20190531_zUGwEApn99Oc" title="Research and development costs">$319,000</span> and <span id="xdx_90A_eus-gaap--ResearchAndDevelopmentExpense_c20170601__20180531_zcJlzj7T63K4" title="Research and development costs">$263,000</span> for the years ended May 31, 2019 and 2018.</p> 319000 263000 <p id="xdx_84A_eus-gaap--RegulatoryIncomeTaxesPolicy_zqiJKdWqJKSl" style="color: navy; font: 10pt Times New Roman, Times, Serif; margin: 0"><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, 2019 or 2018. The Company recorded no interest expense or penalties in its consolidated statements of income during the years ended May 31, 2019 and 2018.</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, 2016.</span></p> <p id="xdx_84F_eus-gaap--OtherLiabilitiesDisclosureTextBlock_zz5Jqp2twW7b" style="color: navy; font: 10pt Times New Roman, Times, Serif; margin: 0; 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_840_eus-gaap--ShareBasedCompensationOptionAndIncentivePlansPolicy_zCRXuHgdOLV4" style="color: navy; font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span style="letter-spacing: -0.15pt"><b>Stock-Based Compensation:</b></span></p> <p style="color: navy; 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">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, 2019 and 2018 was <span id="xdx_90C_eus-gaap--ShareBasedCompensation_c20180601__20190531_zC28uCrATVic" title="Share based compensation expense">$106,656</span> and <span id="xdx_909_eus-gaap--ShareBasedCompensation_c20170601__20180531_zsfQmtAaXuU5" title="Share based compensation expense">$124,931</span>.</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"> </p> 106656 124931 <p id="xdx_84F_eus-gaap--NewAccountingPronouncementsPolicyPolicyTextBlock_zO16vlZONRXf" style="color: navy; font: 10pt Times New Roman, Times, Serif; margin: 0; 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">In May 2014, the Financial Accounting Standards Board (FASB) issued Accounting Standards Update (ASU) No. 2014-09, Revenue from Contracts with Customers. ASU 2014-09 is a comprehensive new revenue recognition model that requires a company to recognize revenue to depict the transfer of goods or services to a customer at an amount that reflects the consideration it expects to receive in exchange for those goods or services. ASU 2014-09 also requires additional disclosure about the nature, amount, timing and uncertainty of revenue and cash flows arising from customer contracts, including significant judgments and changes in judgments and assets recognized from costs incurred to obtain or fulfill a contract. ASU 2014-09, as amended, is effective for annual reporting periods, and interim periods within that period, beginning after December 15, 2018 (fiscal year 2019 for the Company). Companies may use either a full retrospective or a modified retrospective approach to adopt ASU 2014-09. The Company adopted ASU 2014-09 on June 1, 2018 using the modified retrospective method, which required the recognition of the cumulative effect of the transition as an adjustment to retained earnings. The effect of the adoption is detailed above.</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 recently issued Accounting Standards Codification (ASC) guidance has either been implemented or are not significant to the Company.</p> <p id="xdx_808_eus-gaap--LoansNotesTradeAndOtherReceivablesDisclosureTextBlock_z74rJBFCNW1k" style="color: navy; font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>2. Accounts Receivable:</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_88E_eus-gaap--ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock_zc4wswvYOsV5" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%; margin-left: auto; margin-right: auto" 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_496_20190531_zJIJrVlIQ069" style="color: navy; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2019</td><td style="padding-bottom: 1pt"> </td> <td colspan="3" id="xdx_499_20180531_zUYV8onNqFF2" style="text-align: center; border-bottom: Black 1pt solid">2018</td></tr> <tr id="xdx_40A_eus-gaap--ReceivablesFromCustomers_iI_maARGCzi2S_zSuXiXDT6APi" 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,438,373</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">5,515,848</td><td style="width: 1%; text-align: left"> </td></tr> <tr id="xdx_40A_eus-gaap--ContractReceivableRetainageDueOneYearOrLess_iI_maARGCzi2S_zWBLzCsI4Bcc" 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">950,684</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">859,771</td><td style="padding-bottom: 1pt; text-align: left"> </td></tr> <tr id="xdx_40F_eus-gaap--AccountsReceivableGrossCurrent_iTI_mtARGCzi2S_maARNCzTfg_zphSWZSwc2b9" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">Gross accounts receivable</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,389,057</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,375,619</td><td style="text-align: left"> </td></tr> <tr id="xdx_400_eus-gaap--AllowanceForDoubtfulAccountsReceivable_iI_msARNCzTfg_zkZrigyfJMV6" style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-bottom: 1pt">Less allowance for doubtful accounts</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">109,755</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">109,755</td><td style="padding-bottom: 1pt; text-align: left"> </td></tr> <tr id="xdx_401_eus-gaap--AccountsReceivableNetCurrent_iTI_mtARNCzTfg_zUO3K1c3Gcm1" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-bottom: 1pt">Net accounts receivable</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,279,302</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">6,265,864</td><td style="padding-bottom: 1pt; text-align: left"> </td></tr> </table> <table cellpadding="0" cellspacing="0" id="xdx_88E_eus-gaap--ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock_zc4wswvYOsV5" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%; margin-left: auto; margin-right: auto" 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_496_20190531_zJIJrVlIQ069" style="color: navy; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2019</td><td style="padding-bottom: 1pt"> </td> <td colspan="3" id="xdx_499_20180531_zUYV8onNqFF2" style="text-align: center; border-bottom: Black 1pt solid">2018</td></tr> <tr id="xdx_40A_eus-gaap--ReceivablesFromCustomers_iI_maARGCzi2S_zSuXiXDT6APi" 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,438,373</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">5,515,848</td><td style="width: 1%; text-align: left"> </td></tr> <tr id="xdx_40A_eus-gaap--ContractReceivableRetainageDueOneYearOrLess_iI_maARGCzi2S_zWBLzCsI4Bcc" 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">950,684</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">859,771</td><td style="padding-bottom: 1pt; text-align: left"> </td></tr> <tr id="xdx_40F_eus-gaap--AccountsReceivableGrossCurrent_iTI_mtARGCzi2S_maARNCzTfg_zphSWZSwc2b9" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">Gross accounts receivable</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,389,057</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,375,619</td><td style="text-align: left"> </td></tr> <tr id="xdx_400_eus-gaap--AllowanceForDoubtfulAccountsReceivable_iI_msARNCzTfg_zkZrigyfJMV6" style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-bottom: 1pt">Less allowance for doubtful accounts</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">109,755</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">109,755</td><td style="padding-bottom: 1pt; text-align: left"> </td></tr> <tr id="xdx_401_eus-gaap--AccountsReceivableNetCurrent_iTI_mtARNCzTfg_zUO3K1c3Gcm1" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-bottom: 1pt">Net accounts receivable</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,279,302</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">6,265,864</td><td style="padding-bottom: 1pt; text-align: left"> </td></tr> </table> 4438373 5515848 950684 859771 5389057 6375619 109755 109755 5279302 6265864 <p id="xdx_80A_eus-gaap--InventoryDisclosureTextBlock_zspfBWrOLCef" style="color: navy; font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>3. Inventory: </b></p> <p style="color: navy; font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b> </b></p> <table cellpadding="0" cellspacing="0" id="xdx_88D_eus-gaap--ScheduleOfInventoryCurrentTableTextBlock_z2EUFrP61ts9" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%; margin-left: auto; margin-right: auto" 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_497_20190531_zwlsBCzs3fja" style="color: navy; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2019</td><td style="padding-bottom: 1pt"> </td> <td colspan="3" id="xdx_495_20180531_zMcqMOSzvBu8" style="text-align: center; border-bottom: Black 1pt solid">2018</td></tr> <tr id="xdx_404_eus-gaap--InventoryRawMaterials_iI_maIGzB7v_zdlFyUTWEWmj" 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">679,018</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">726,852</td><td style="width: 1%; color: windowtext; text-align: left"> </td></tr> <tr id="xdx_407_eus-gaap--InventoryWorkInProcess_iI_maIGzB7v_zyUeJ5IQGPK6" 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">9,905,495</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">9,990,225</td><td style="color: windowtext; text-align: left"> </td></tr> <tr id="xdx_407_eus-gaap--InventoryFinishedGoods_iI_maIGzB7v_z9meXoBxg3A2" 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">754,818</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">700,698</td><td style="padding-bottom: 1pt; color: windowtext; text-align: left"> </td></tr> <tr id="xdx_40C_eus-gaap--InventoryGross_iTI_mtIGzB7v_maINzo7I_zb1JkbL8KMa9" style="vertical-align: bottom; background-color: White"> <td style="text-align: left">Gross 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">11,339,331</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">11,417,775</td><td style="color: windowtext; text-align: left"> </td></tr> <tr id="xdx_40A_eus-gaap--InventoryValuationReserves_iI_msINzo7I_zSdv5GuovKl1" 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_404_eus-gaap--InventoryNet_iTI_mtINzo7I_zA81X1h53VKc" style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-bottom: 1pt">Net inventory</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">11,239,331</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">11,317,775</td><td style="padding-bottom: 1pt; color: windowtext; text-align: left"> </td></tr> </table> <table cellpadding="0" cellspacing="0" id="xdx_88D_eus-gaap--ScheduleOfInventoryCurrentTableTextBlock_z2EUFrP61ts9" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%; margin-left: auto; margin-right: auto" 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_497_20190531_zwlsBCzs3fja" style="color: navy; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2019</td><td style="padding-bottom: 1pt"> </td> <td colspan="3" id="xdx_495_20180531_zMcqMOSzvBu8" style="text-align: center; border-bottom: Black 1pt solid">2018</td></tr> <tr id="xdx_404_eus-gaap--InventoryRawMaterials_iI_maIGzB7v_zdlFyUTWEWmj" 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">679,018</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">726,852</td><td style="width: 1%; color: windowtext; text-align: left"> </td></tr> <tr id="xdx_407_eus-gaap--InventoryWorkInProcess_iI_maIGzB7v_zyUeJ5IQGPK6" 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">9,905,495</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">9,990,225</td><td style="color: windowtext; text-align: left"> </td></tr> <tr id="xdx_407_eus-gaap--InventoryFinishedGoods_iI_maIGzB7v_z9meXoBxg3A2" 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">754,818</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">700,698</td><td style="padding-bottom: 1pt; color: windowtext; text-align: left"> </td></tr> <tr id="xdx_40C_eus-gaap--InventoryGross_iTI_mtIGzB7v_maINzo7I_zb1JkbL8KMa9" style="vertical-align: bottom; background-color: White"> <td style="text-align: left">Gross 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">11,339,331</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">11,417,775</td><td style="color: windowtext; text-align: left"> </td></tr> <tr id="xdx_40A_eus-gaap--InventoryValuationReserves_iI_msINzo7I_zSdv5GuovKl1" 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_404_eus-gaap--InventoryNet_iTI_mtINzo7I_zA81X1h53VKc" style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-bottom: 1pt">Net inventory</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">11,239,331</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">11,317,775</td><td style="padding-bottom: 1pt; color: windowtext; text-align: left"> </td></tr> </table> 679018 726852 9905495 9990225 754818 700698 11339331 11417775 100000 100000 11239331 11317775 <p id="xdx_808_eus-gaap--DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock_znP1q8mSKP5d" style="color: navy; font: bold 10pt Times New Roman, Times, Serif; margin: 0">4. Costs and Estimated Earnings on Uncompleted Contracts:</p> <p style="color: navy; font: bold 10pt Times New Roman, Times, Serif; margin: 0"> </p> <table cellpadding="0" cellspacing="0" id="xdx_88A_eus-gaap--LongTermContractsOrProgramsDisclosureTextBlock_z0iAYKPhaji" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%; margin-left: auto; margin-right: auto" 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_497_20190531_zuEMaOcRwNx6" style="color: navy; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2019</td><td style="padding-bottom: 1pt"> </td> <td colspan="3" id="xdx_49B_20180531_z0rnyGSPUOk4" style="text-align: center; border-bottom: Black 1pt solid">2018</td></tr> <tr id="xdx_40B_eus-gaap--InventoryForLongTermContractsOrPrograms_iI_maCAEEOzFuM_zjCsTQ5gp334" 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">16,599,307</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">12,512,350</td><td style="width: 1%; color: windowtext; text-align: left"> </td></tr> <tr id="xdx_403_ecustom--EstimatedEarningsOnUncompletedContractsOrPrograms_iI_maCAEEOzFuM_z8xJ87oGRiO7" 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">6,526,707</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,157,890</td><td style="padding-bottom: 1pt; color: windowtext; text-align: left"> </td></tr> <tr id="xdx_40F_ecustom--CostsAndEstimatedEarningsOnUncompletedContractsOrPrograms_iTI_mtCAEEOzFuM_maCIEOBzrqj_zvo8gUwH3xA7" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: justify">Total costs and estimated earnings</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">23,126,014</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">17,670,240</td><td style="color: windowtext; text-align: left"> </td></tr> <tr id="xdx_408_ecustom--BillingsOnUncompletedContractsOrPrograms_iI_msCIEOBzrqj_zVEijgVpAcb1" 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">16,187,227</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">13,356,279</td><td style="padding-bottom: 1pt; color: windowtext; text-align: left"> </td></tr> <tr id="xdx_400_eus-gaap--CostsInExcessOfBillingsOnUncompletedContractsOrProgramsExpectedToBeCollectedWithinOneYear_iTI_mtCIEOBzrqj_zI24VCW2NLLg" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; 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">6,938,787</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,313,961</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_889_ecustom--LongTermContractsDisclosureTableTextBlock_zlkDIuFQ7Kj3" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%; margin-left: auto; margin-right: auto" 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_493_20190531_zvfReCQReys7" style="color: navy; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2019</td><td style="padding-bottom: 1pt"> </td> <td colspan="3" id="xdx_499_20180531_z3e5RavE4DIg" style="text-align: center; border-bottom: Black 1pt solid">2018</td></tr> <tr id="xdx_40E_eus-gaap--CostsInExcessOfBillingsOnUncompletedContractsOrPrograms_iI_maCIEOBzVUV_zBh36lGsKlMg" 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">7,572,490</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">6,356,963</td><td style="width: 1%; text-align: left"> </td></tr> <tr id="xdx_40D_eus-gaap--BillingsInExcessOfCostCurrent_iI_msCIEOBzVUV_zj1z1tglpMWi" 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">633,703</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">2,043,002</td><td style="padding-bottom: 1pt; text-align: left"> </td></tr> <tr id="xdx_40B_eus-gaap--CostsInExcessOfBillingsOnUncompletedContractsOrProgramsExpectedToBeCollectedWithinOneYear_iTI_mtCIEOBzVUV_zPl5jExsO5i1" 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">6,938,787</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,313,961</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="color: navy; font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b/> </p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; color: navy; text-align: justify"> </p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; color: navy; text-align: justify"/> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; color: navy; text-align: justify"/> <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, 2019 and 2018:</p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; color: navy; text-align: justify"/> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; color: navy; text-align: justify"> </p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; color: navy; text-align: justify"/> <table cellpadding="0" cellspacing="0" id="xdx_886_ecustom--LongTermContractsDisclosureTwoTableTextBlock_zbVXa1lHMsW4" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%; margin-left: auto; margin-right: auto" 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_495_20190531_zxOlS60W09dh" style="color: navy; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2019</td><td style="font-weight: bold; padding-bottom: 1pt"> </td> <td colspan="3" id="xdx_49C_20180531_zkyGjaC37XVl" style="font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2018</td></tr> <tr id="xdx_40F_ecustom--QuantityOfUncompletedProjectsOrProgramsInProgress_iI_zwN30bl1FOHf" 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">22</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">26</td><td style="width: 1%; text-align: left"> </td></tr> <tr id="xdx_406_ecustom--AggregatePercentCompleteOfUncompletedProjectsOrProgramsInProgress_iI_dp_zpa3vTbYLoX6" 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">77</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">72</td><td style="text-align: left">%</td></tr> <tr id="xdx_401_ecustom--AggregateFutureRevenueToBeRecognizedFromUncompletedProjectsOrProgramsInProgress_iI_zTd4ScH8b1fg" 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">6,748,520</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,816,089</td><td style="text-align: left"> </td></tr> <tr id="xdx_406_ecustom--PercentOfAggregateRevenueValueOfUncompletedProjectsOrProgramsInProgressInvoicedToCustomer_iI_dp_zVtuMsoBzJMd" 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">54</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</td><td style="text-align: left">%</td></tr> </table> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; color: navy; text-align: justify"/> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; color: navy; text-align: justify"> </p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; color: navy; text-align: justify"/> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Additionally, as of May 31, 2019, there are sales orders for <span id="xdx_904_ecustom--QuantityOfUncompletedProjectsOrProgramsNotStarted_iI_dc_c20190531_zZEx2qZjPhjc">four</span> Projects that are not yet in progress. These projects total <span id="xdx_905_ecustom--AggregateFutureRevenueToBeRecognizedFromUncompletedProjectsOrProgramsNotStarted_iI_c20190531_zlSTIIjQg979" title="Sales value of projects not yet in progress">$990,971</span> in value upon completion. This compares to <span id="xdx_905_ecustom--QuantityOfUncompletedProjectsOrProgramsNotStarted_iI_dc_c20180531_zJsUx0yyE5bj">four</span> such Projects as of May 31, 2018 with a total value of <span id="xdx_90D_ecustom--AggregateFutureRevenueToBeRecognizedFromUncompletedProjectsOrProgramsNotStarted_iI_c20180531_zMtG26VZMvJj" title="Sales value of projects not yet in progress">$8,793,737</span>. The Company expects to recognize the entire remaining revenue on all open projects during the May 31, 2020 fiscal year.</p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; color: navy; text-align: justify"> </p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; color: navy; text-align: justify"/> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Revenue recognized during the years ended May 31, 2019 and 2018 for amounts included in billings in excess of costs and estimated earnings as of the beginning of the year amounted to <span id="xdx_90E_ecustom--AggregateRevenueRecognizedFromUncompletedProjectsOrProgramsInProgressAtPriorYearEndIncludedInBillingsInExcessOfCostsAndEstimatedEarnings_c20180601__20190531_zTi160c5ppP2" title="Revenue recognized in current period for projects included in billings in excess of costs and estimated earnings at end of prior year">$4,187,015</span> and <span id="xdx_903_ecustom--AggregateRevenueRecognizedFromUncompletedProjectsOrProgramsInProgressAtPriorYearEndIncludedInBillingsInExcessOfCostsAndEstimatedEarnings_c20170601__20180531_zHmIroAutlV7" title="Revenue recognized in current period for projects included in billings in excess of costs and estimated earnings at end of prior year">$2,005,000</span>.</p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; color: navy; text-align: justify"/> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; color: navy; text-align: justify"/> <table cellpadding="0" cellspacing="0" id="xdx_88A_eus-gaap--LongTermContractsOrProgramsDisclosureTextBlock_z0iAYKPhaji" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%; margin-left: auto; margin-right: auto" 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_497_20190531_zuEMaOcRwNx6" style="color: navy; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2019</td><td style="padding-bottom: 1pt"> </td> <td colspan="3" id="xdx_49B_20180531_z0rnyGSPUOk4" style="text-align: center; border-bottom: Black 1pt solid">2018</td></tr> <tr id="xdx_40B_eus-gaap--InventoryForLongTermContractsOrPrograms_iI_maCAEEOzFuM_zjCsTQ5gp334" 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">16,599,307</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">12,512,350</td><td style="width: 1%; color: windowtext; text-align: left"> </td></tr> <tr id="xdx_403_ecustom--EstimatedEarningsOnUncompletedContractsOrPrograms_iI_maCAEEOzFuM_z8xJ87oGRiO7" 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">6,526,707</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,157,890</td><td style="padding-bottom: 1pt; color: windowtext; text-align: left"> </td></tr> <tr id="xdx_40F_ecustom--CostsAndEstimatedEarningsOnUncompletedContractsOrPrograms_iTI_mtCAEEOzFuM_maCIEOBzrqj_zvo8gUwH3xA7" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: justify">Total costs and estimated earnings</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">23,126,014</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">17,670,240</td><td style="color: windowtext; text-align: left"> </td></tr> <tr id="xdx_408_ecustom--BillingsOnUncompletedContractsOrPrograms_iI_msCIEOBzrqj_zVEijgVpAcb1" 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">16,187,227</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">13,356,279</td><td style="padding-bottom: 1pt; color: windowtext; text-align: left"> </td></tr> <tr id="xdx_400_eus-gaap--CostsInExcessOfBillingsOnUncompletedContractsOrProgramsExpectedToBeCollectedWithinOneYear_iTI_mtCIEOBzrqj_zI24VCW2NLLg" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; 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">6,938,787</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,313,961</td><td style="padding-bottom: 1pt; color: windowtext; text-align: left"> </td></tr> </table> 16599307 12512350 6526707 5157890 23126014 17670240 16187227 13356279 6938787 4313961 <table cellpadding="0" cellspacing="0" id="xdx_889_ecustom--LongTermContractsDisclosureTableTextBlock_zlkDIuFQ7Kj3" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%; margin-left: auto; margin-right: auto" 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_493_20190531_zvfReCQReys7" style="color: navy; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2019</td><td style="padding-bottom: 1pt"> </td> <td colspan="3" id="xdx_499_20180531_z3e5RavE4DIg" style="text-align: center; border-bottom: Black 1pt solid">2018</td></tr> <tr id="xdx_40E_eus-gaap--CostsInExcessOfBillingsOnUncompletedContractsOrPrograms_iI_maCIEOBzVUV_zBh36lGsKlMg" 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">7,572,490</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">6,356,963</td><td style="width: 1%; text-align: left"> </td></tr> <tr id="xdx_40D_eus-gaap--BillingsInExcessOfCostCurrent_iI_msCIEOBzVUV_zj1z1tglpMWi" 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">633,703</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">2,043,002</td><td style="padding-bottom: 1pt; text-align: left"> </td></tr> <tr id="xdx_40B_eus-gaap--CostsInExcessOfBillingsOnUncompletedContractsOrProgramsExpectedToBeCollectedWithinOneYear_iTI_mtCIEOBzVUV_zPl5jExsO5i1" 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">6,938,787</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,313,961</td><td style="padding-bottom: 1pt; text-align: left"> </td></tr> </table> 7572490 6356963 633703 2043002 6938787 4313961 <table cellpadding="0" cellspacing="0" id="xdx_886_ecustom--LongTermContractsDisclosureTwoTableTextBlock_zbVXa1lHMsW4" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%; margin-left: auto; margin-right: auto" 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_495_20190531_zxOlS60W09dh" style="color: navy; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2019</td><td style="font-weight: bold; padding-bottom: 1pt"> </td> <td colspan="3" id="xdx_49C_20180531_zkyGjaC37XVl" style="font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2018</td></tr> <tr id="xdx_40F_ecustom--QuantityOfUncompletedProjectsOrProgramsInProgress_iI_zwN30bl1FOHf" 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">22</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">26</td><td style="width: 1%; text-align: left"> </td></tr> <tr id="xdx_406_ecustom--AggregatePercentCompleteOfUncompletedProjectsOrProgramsInProgress_iI_dp_zpa3vTbYLoX6" 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">77</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">72</td><td style="text-align: left">%</td></tr> <tr id="xdx_401_ecustom--AggregateFutureRevenueToBeRecognizedFromUncompletedProjectsOrProgramsInProgress_iI_zTd4ScH8b1fg" 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">6,748,520</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,816,089</td><td style="text-align: left"> </td></tr> <tr id="xdx_406_ecustom--PercentOfAggregateRevenueValueOfUncompletedProjectsOrProgramsInProgressInvoicedToCustomer_iI_dp_zVtuMsoBzJMd" 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">54</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</td><td style="text-align: left">%</td></tr> </table> 22 26 0.77 0.72 6748520 6816089 0.54 0.55 4 990971 4 8793737 4187015 2005000 <p id="xdx_800_eus-gaap--OtherAssetsDisclosureTextBlock_zL2g8fa2Pke5" style="color: navy; font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>5. Maintenance and Other Inventory:</b></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"> </p> <table cellpadding="0" cellspacing="0" id="xdx_889_eus-gaap--ScheduleOfInventoryNoncurrentTableTextBlock_zJ3zB2sQ9Klk" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%; margin-left: auto; margin-right: auto" 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_497_20190531_z3rJZliiDUdl" style="color: navy; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2019</td><td style="padding-bottom: 1pt"> </td> <td colspan="3" id="xdx_493_20180531_zgmFDbVZR722" style="text-align: center; border-bottom: Black 1pt solid">2018</td></tr> <tr id="xdx_402_eus-gaap--OtherInventoryNoncurrent_iI_maINztx0_zThqTqoXkHNi" 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,197,958</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,287,897</td><td style="width: 1%; text-align: left"> </td></tr> <tr id="xdx_40B_ecustom--InventoryValuationReservesNoncurrent_iNI_di_maINztx0_z6VXgS622AQ1" 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,466,081</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,402,246</td><td style="padding-bottom: 1pt; text-align: left"> </td></tr> <tr id="xdx_408_eus-gaap--InventoryNoncurrent_iTI_mtINztx0_zv5wHw3u6c85" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: justify; padding-bottom: 1pt">Maintenance and other inventory, net</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">731,877</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">885,651</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">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">The provision for potential inventory obsolescence was <span id="xdx_906_eus-gaap--InventoryWriteDown_c20180601__20190531_zOUZCzdG8PXa" title="Provision for potentially obsolete inventory">$175,000</span> and <span id="xdx_901_eus-gaap--InventoryWriteDown_c20170601__20180531_zYRZmh4nmZa" title="Provision for potentially obsolete inventory">$60,000</span> for the years ended May 31, 2019 and 2018.</p> <table cellpadding="0" cellspacing="0" id="xdx_889_eus-gaap--ScheduleOfInventoryNoncurrentTableTextBlock_zJ3zB2sQ9Klk" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%; margin-left: auto; margin-right: auto" 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_497_20190531_z3rJZliiDUdl" style="color: navy; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2019</td><td style="padding-bottom: 1pt"> </td> <td colspan="3" id="xdx_493_20180531_zgmFDbVZR722" style="text-align: center; border-bottom: Black 1pt solid">2018</td></tr> <tr id="xdx_402_eus-gaap--OtherInventoryNoncurrent_iI_maINztx0_zThqTqoXkHNi" 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,197,958</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,287,897</td><td style="width: 1%; text-align: left"> </td></tr> <tr id="xdx_40B_ecustom--InventoryValuationReservesNoncurrent_iNI_di_maINztx0_z6VXgS622AQ1" 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,466,081</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,402,246</td><td style="padding-bottom: 1pt; text-align: left"> </td></tr> <tr id="xdx_408_eus-gaap--InventoryNoncurrent_iTI_mtINztx0_zv5wHw3u6c85" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: justify; padding-bottom: 1pt">Maintenance and other inventory, net</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">731,877</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">885,651</td><td style="padding-bottom: 1pt; text-align: left"> </td></tr> </table> 2197958 2287897 -1466081 -1402246 731877 885651 175000 60000 <p id="xdx_806_eus-gaap--PropertyPlantAndEquipmentDisclosureTextBlock_zpSLeaG4BfRc" style="color: navy; font: 10pt Times New Roman, Times, Serif; margin: 0; 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_88D_eus-gaap--PropertyPlantAndEquipmentTextBlock_ziPdWrq2S0Tc" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%; margin-left: auto; margin-right: auto" 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_490_20190531_zOvMa9T3ugY6" style="color: navy; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2019</td><td style="padding-bottom: 1pt"> </td> <td colspan="3" id="xdx_492_20180531_zcvBecFmHkmc" style="text-align: center; border-bottom: Black 1pt solid">2018</td></tr> <tr id="xdx_40C_eus-gaap--Land_iI_maPPAEGzf35_zUOUGfMI5kM7" 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_400_eus-gaap--BuildingsAndImprovementsGross_iI_maPPAEGzf35_z4l2TTmdyaM6" 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,342,431</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,342,431</td><td style="text-align: left"> </td></tr> <tr id="xdx_40D_eus-gaap--MachineryAndEquipmentGross_iI_maPPAEGzf35_z1yGiJwINQfb" 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">10,390,610</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">10,302,681</td><td style="text-align: left"> </td></tr> <tr id="xdx_402_eus-gaap--FurnitureAndFixturesGross_iI_maPPAEGzf35_z5eZfyVDE8I8" 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">1,975,392</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">1,652,711</td><td style="text-align: left"> </td></tr> <tr id="xdx_405_eus-gaap--PropertyPlantAndEquipmentOther_iI_maPPAEGzf35_z7cDfXOw2Uw2" 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">84,256</td><td style="text-align: left"> </td></tr> <tr id="xdx_401_eus-gaap--LandImprovements_iI_maPPAEGzf35_zeslaeuNk7n8" 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">455,429</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">455,429</td><td style="padding-bottom: 1pt; text-align: left"> </td></tr> <tr id="xdx_400_eus-gaap--PropertyPlantAndEquipmentGross_iTI_mtPPAEGzf35_maPPAENzlmU_zwNzgpxE2vUl" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">Gross property 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">22,383,900</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,032,728</td><td style="text-align: left"> </td></tr> <tr id="xdx_40A_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iI_msPPAENzlmU_zmv8OYfbMtwk" 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">13,066,458</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">12,097,103</td><td style="padding-bottom: 1pt; text-align: left"> </td></tr> <tr id="xdx_40C_eus-gaap--PropertyPlantAndEquipmentNet_iTI_mtPPAENzlmU_zFqFtyyVngTe" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-bottom: 1pt">Property and equipment, net</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,317,442</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,935,625</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_905_eus-gaap--Depreciation_c20180601__20190531_zeiDuLwLMFac" title="Depreciation expense">$1,072,959</span> and <span id="xdx_908_eus-gaap--Depreciation_c20170601__20180531_zNKjNSoePtIg" title="Depreciation expense">$995,924</span> for the years ended May 31, 2019 and 2018.</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_90E_ecustom--CommitmentsForFutureCapitalExpendituresDisclosure_iI_c20190531_zcEIeG8zfb52" title="Commitments for future capital expenditures">$50,000</span> as of May 31, 2019.</p> <table cellpadding="0" cellspacing="0" id="xdx_88D_eus-gaap--PropertyPlantAndEquipmentTextBlock_ziPdWrq2S0Tc" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%; margin-left: auto; margin-right: auto" 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_490_20190531_zOvMa9T3ugY6" style="color: navy; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2019</td><td style="padding-bottom: 1pt"> </td> <td colspan="3" id="xdx_492_20180531_zcvBecFmHkmc" style="text-align: center; border-bottom: Black 1pt solid">2018</td></tr> <tr id="xdx_40C_eus-gaap--Land_iI_maPPAEGzf35_zUOUGfMI5kM7" 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_400_eus-gaap--BuildingsAndImprovementsGross_iI_maPPAEGzf35_z4l2TTmdyaM6" 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,342,431</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,342,431</td><td style="text-align: left"> </td></tr> <tr id="xdx_40D_eus-gaap--MachineryAndEquipmentGross_iI_maPPAEGzf35_z1yGiJwINQfb" 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">10,390,610</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">10,302,681</td><td style="text-align: left"> </td></tr> <tr id="xdx_402_eus-gaap--FurnitureAndFixturesGross_iI_maPPAEGzf35_z5eZfyVDE8I8" 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">1,975,392</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">1,652,711</td><td style="text-align: left"> </td></tr> <tr id="xdx_405_eus-gaap--PropertyPlantAndEquipmentOther_iI_maPPAEGzf35_z7cDfXOw2Uw2" 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">84,256</td><td style="text-align: left"> </td></tr> <tr id="xdx_401_eus-gaap--LandImprovements_iI_maPPAEGzf35_zeslaeuNk7n8" 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">455,429</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">455,429</td><td style="padding-bottom: 1pt; text-align: left"> </td></tr> <tr id="xdx_400_eus-gaap--PropertyPlantAndEquipmentGross_iTI_mtPPAEGzf35_maPPAENzlmU_zwNzgpxE2vUl" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">Gross property 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">22,383,900</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,032,728</td><td style="text-align: left"> </td></tr> <tr id="xdx_40A_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iI_msPPAENzlmU_zmv8OYfbMtwk" 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">13,066,458</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">12,097,103</td><td style="padding-bottom: 1pt; text-align: left"> </td></tr> <tr id="xdx_40C_eus-gaap--PropertyPlantAndEquipmentNet_iTI_mtPPAENzlmU_zFqFtyyVngTe" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-bottom: 1pt">Property and equipment, net</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,317,442</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,935,625</td><td style="padding-bottom: 1pt; text-align: left"> </td></tr> </table> 195220 195220 9342431 9342431 10390610 10302681 1975392 1652711 24818 84256 455429 455429 22383900 22032728 13066458 12097103 9317442 9935625 1072959 995924 50000 <p id="xdx_80D_eus-gaap--ScheduleOfLineOfCreditFacilitiesTextBlock_ze0gp6tWifo5" style="color: navy; font: 10pt Times New Roman, Times, Serif; margin: 0; 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_908_eus-gaap--LineOfCreditFacilityCurrentBorrowingCapacity_iI_c20190531_zKOHVDyg6z7g">$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"/> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">There is <span id="xdx_902_eus-gaap--LineOfCreditFacilityFairValueOfAmountOutstanding_iI_do_c20190531_zAnhbRuyvIQk" title="Line of credit outstanding balance"><span id="xdx_902_eus-gaap--LineOfCreditFacilityFairValueOfAmountOutstanding_iI_do_c20180531_z60SRR0G3fZ8" title="Line of credit outstanding balance">no</span></span> amount outstanding under the line of credit at May 31, 2019 or May 31, 2018.</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_90C_eus-gaap--AccountsPayableOtherCurrent_iI_c20190531_z1hX8pGhuQl3" title="Uncleared checks">$292,000</span> and <span id="xdx_90A_eus-gaap--AccountsPayableOtherCurrent_iI_c20180531_zfCThLQeFkX8" title="Uncleared checks">$57,042</span> as of May 31, 2019 and 2018. These amounts are included in accounts payable.</p> 10000000 0 0 292000 57042 <p id="xdx_80C_eus-gaap--LegalMattersAndContingenciesTextBlock_zNIeDcxxLNo4" style="color: navy; font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>8. 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> <p id="xdx_809_ecustom--ScheduleOfRevenueByMajorCustomersTypesTextBlock_zOL1Wlt5yKkl" style="color: navy; font: 10pt Times New Roman, Times, Serif; margin: 0; 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, construction 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_880_ecustom--ScheduleOfRevenueByMajorCustomerTypesTextBlockTableTextBlock_zQvAtm0xRM8c" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%; margin-left: auto; margin-right: auto" 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_49E_20180601__20190531_zZI75CMbmNud" style="color: navy; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2019</td><td style="padding-bottom: 1pt"> </td> <td colspan="3" id="xdx_499_20170601__20180531_z2UDBGCnWwD2" style="text-align: center; border-bottom: Black 1pt solid">2018</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 56%; padding-left: 5.4pt">Construction</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_98E_eus-gaap--Revenues_c20180601__20190531__srt--MajorCustomersAxis__custom--ConstructionSeismicWindMember_zVT9mwuGTyli" style="width: 12%; color: navy; font-weight: bold; text-align: right" title="Sales, net">20,168,587</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_98A_eus-gaap--Revenues_c20170601__20180531__srt--MajorCustomersAxis__custom--ConstructionSeismicWindMember_z2wuP8i9gN87" style="width: 12%; text-align: right" title="Sales, net">12,192,836</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_987_eus-gaap--Revenues_c20180601__20190531__srt--MajorCustomersAxis__custom--AerospaceDefenseMember_z9JGCPvUeJ1b" style="color: navy; font-weight: bold; text-align: right" title="Sales, net">11,383,374</td><td style="color: navy; font-weight: bold; text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_98D_eus-gaap--Revenues_c20170601__20180531__srt--MajorCustomersAxis__custom--AerospaceDefenseMember_zvqARadl2dri" style="text-align: right" title="Sales, net">10,205,945</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_98D_eus-gaap--Revenues_c20180601__20190531__srt--MajorCustomersAxis__custom--IndustrialMember_zZlaulOtXIwb" style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: right" title="Sales, net">2,067,070</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_98A_eus-gaap--Revenues_c20170601__20180531__srt--MajorCustomersAxis__custom--IndustrialMember_zZx6N5XzZG9d" style="border-bottom: Black 1pt solid; text-align: right" title="Sales, net">1,965,186</td><td style="padding-bottom: 1pt; text-align: left"> </td></tr> <tr id="xdx_401_eus-gaap--Revenues_zbOQYgSJqaR2" style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-bottom: 1pt; padding-left: 5.4pt">Sales, net</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">33,619,031</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">24,363,967</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 four customers approximated <span id="xdx_90F_ecustom--ScheduleOfRevenueByMajorCustomers_dp_c20180601__20190531_zpXWJo1ketui" title="Percentage of total sales to significant individual customers">36% </span>(<span id="xdx_908_ecustom--ScheduleOfRevenueByMajorCustomer1_dp_c20180601__20190531_zaoGm5PagBfg" title="Percentage of total sales to significant individual customer1">17%</span>, <span id="xdx_90C_ecustom--ScheduleOfRevenueByMajorCustomer2_dp_c20180601__20190531_zfpXtajVbd2l" title="Percentage of total sales to significant individual customer2">8%</span>, <span id="xdx_900_ecustom--ScheduleOfRevenueByMajorCustomer3_dp_c20180601__20190531_zHABftTaTVC9" title="Percentage of total sales to significant individual customer3">6% </span>and <span id="xdx_903_ecustom--ScheduleOfRevenueByMajorCustomer4_dp_c20180601__20190531_z6U2DK5OBd4i" title="Percentage of total sales to significant individual customer4">5%</span> respectively) of net sales for 2019. Sales to five customers approximated <span id="xdx_907_ecustom--ScheduleOfRevenueByMajorCustomers_dp_c20170601__20180531_zVgQKSPY1UF8" title="Percentage of total sales to significant individual customers">49% </span>(<span id="xdx_90A_ecustom--ScheduleOfRevenueByMajorCustomer1_dp_c20170601__20180531_zf5Zox0HJBec" title="Percentage of total sales to significant individual customer1">14%</span>, <span id="xdx_90B_ecustom--ScheduleOfRevenueByMajorCustomer2_dp_c20170601__20180531_zeSMLypGTXT4" title="Percentage of total sales to significant individual customer2">13%</span>, <span id="xdx_90B_ecustom--ScheduleOfRevenueByMajorCustomer3_dp_c20170601__20180531_zeSMLypGTXT4" title="Percentage of total sales to significant individual customer3">9%</span>, <span id="xdx_90D_ecustom--ScheduleOfRevenueByMajorCustomer4_dp_c20170601__20180531_z0VreSFnlTtl" title="Percentage of total sales to significant individual customer4">7%</span> and <span id="xdx_909_ecustom--ScheduleOfRevenueByMajorCustomer5_dp_c20170601__20180531_zldROMUoFN6h" title="Percentage of total sales to significant individual customer5">6% </span>respectively) of net sales for 2018.</p> <table cellpadding="0" cellspacing="0" id="xdx_880_ecustom--ScheduleOfRevenueByMajorCustomerTypesTextBlockTableTextBlock_zQvAtm0xRM8c" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%; margin-left: auto; margin-right: auto" 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_49E_20180601__20190531_zZI75CMbmNud" style="color: navy; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2019</td><td style="padding-bottom: 1pt"> </td> <td colspan="3" id="xdx_499_20170601__20180531_z2UDBGCnWwD2" style="text-align: center; border-bottom: Black 1pt solid">2018</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 56%; padding-left: 5.4pt">Construction</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_98E_eus-gaap--Revenues_c20180601__20190531__srt--MajorCustomersAxis__custom--ConstructionSeismicWindMember_zVT9mwuGTyli" style="width: 12%; color: navy; font-weight: bold; text-align: right" title="Sales, net">20,168,587</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_98A_eus-gaap--Revenues_c20170601__20180531__srt--MajorCustomersAxis__custom--ConstructionSeismicWindMember_z2wuP8i9gN87" style="width: 12%; text-align: right" title="Sales, net">12,192,836</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_987_eus-gaap--Revenues_c20180601__20190531__srt--MajorCustomersAxis__custom--AerospaceDefenseMember_z9JGCPvUeJ1b" style="color: navy; font-weight: bold; text-align: right" title="Sales, net">11,383,374</td><td style="color: navy; font-weight: bold; text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_98D_eus-gaap--Revenues_c20170601__20180531__srt--MajorCustomersAxis__custom--AerospaceDefenseMember_zvqARadl2dri" style="text-align: right" title="Sales, net">10,205,945</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_98D_eus-gaap--Revenues_c20180601__20190531__srt--MajorCustomersAxis__custom--IndustrialMember_zZlaulOtXIwb" style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: right" title="Sales, net">2,067,070</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_98A_eus-gaap--Revenues_c20170601__20180531__srt--MajorCustomersAxis__custom--IndustrialMember_zZx6N5XzZG9d" style="border-bottom: Black 1pt solid; text-align: right" title="Sales, net">1,965,186</td><td style="padding-bottom: 1pt; text-align: left"> </td></tr> <tr id="xdx_401_eus-gaap--Revenues_zbOQYgSJqaR2" style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-bottom: 1pt; padding-left: 5.4pt">Sales, net</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">33,619,031</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">24,363,967</td><td style="padding-bottom: 1pt; text-align: left"> </td></tr> </table> 20168587 12192836 11383374 10205945 2067070 1965186 33619031 24363967 0.36 0.17 0.08 0.06 0.05 0.49 0.14 0.13 0.09 0.07 0.06 <p id="xdx_808_eus-gaap--IncomeTaxDisclosureTextBlock_zlsArbjNvCpl" style="color: navy; font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>10. Income Taxes:</b></p> <table cellpadding="0" cellspacing="0" id="xdx_88E_eus-gaap--ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_z7eBeIkAdTe2" style="font: 12pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%; margin-left: auto; margin-right: auto" summary="xdx: Disclosure - Income Taxes Table (Details)"> <tr style="vertical-align: bottom"> <td> </td><td style="font-size: 10pt; color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td colspan="3" id="xdx_496_20180601__20190531_z7ahJsdqH7bf" style="font-size: 10pt; color: navy; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2019</td><td style="font-size: 10pt; padding-bottom: 1pt"> </td> <td colspan="3" id="xdx_49F_20170601__20180531_zBMgW8XCRtz8" style="font-size: 10pt; text-align: center; border-bottom: Black 1pt solid">2018</td></tr> <tr id="xdx_407_eus-gaap--IncomeTaxExpenseBenefitContinuingOperationsAbstract_iB_zYnAPiIEcvk2" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left">Current tax provision:</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td></tr> <tr id="xdx_40B_eus-gaap--CurrentFederalTaxExpenseBenefit_maCITEBzGVz_zM3TOHAa873f" style="vertical-align: bottom; background-color: White"> <td style="width: 56%; font-size: 10pt; padding-left: 9pt">Federal</td><td style="width: 8%; font-size: 10pt; color: navy; font-weight: bold"> </td> <td style="width: 1%; font-size: 10pt; color: navy; font-weight: bold; text-align: left">$</td><td style="width: 12%; font-size: 10pt; color: navy; font-weight: bold; text-align: right">521,000</td><td style="width: 1%; font-size: 10pt; color: navy; font-weight: bold; text-align: left"> </td><td style="width: 8%; font-size: 10pt; color: windowtext"> </td> <td style="width: 1%; font-size: 10pt; color: windowtext; text-align: left">$</td><td style="width: 12%; font-size: 10pt; color: windowtext; text-align: right">23,000</td><td style="width: 1%; font-size: 10pt; color: windowtext; text-align: left"> </td></tr> <tr id="xdx_40A_eus-gaap--CurrentStateAndLocalTaxExpenseBenefit_d0_maCITEBzGVz_zYoeCKvtcpF7" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; padding-bottom: 1pt; padding-left: 9pt">State</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">—  </td><td style="padding-bottom: 1pt; font-size: 10pt; color: navy; font-weight: bold; text-align: left"> </td><td style="font-size: 10pt; color: windowtext; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; color: windowtext; text-align: left"> </td><td style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: right">—  </td><td style="padding-bottom: 1pt; font-size: 10pt; color: windowtext; text-align: left"> </td></tr> <tr id="xdx_401_eus-gaap--CurrentIncomeTaxExpenseBenefit_iT_mtCITEBzGVz_maITEBz8DS_zEH4i2a9rfx7" style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left">Total current tax provision</td><td style="font-size: 10pt; color: navy; font-weight: bold"> </td> <td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left"> </td><td style="font-size: 10pt; color: navy; font-weight: bold; text-align: right">521,000</td><td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left"> </td><td style="font-size: 10pt; color: windowtext"> </td> <td style="font-size: 10pt; color: windowtext; text-align: left"> </td><td style="font-size: 10pt; color: windowtext; text-align: right">23,000</td><td style="font-size: 10pt; color: windowtext; text-align: left"> </td></tr> <tr id="xdx_404_eus-gaap--DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_iB_zJDkRDKk7lye" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left">Deferred tax provision:</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_40E_eus-gaap--DeferredFederalIncomeTaxExpenseBenefit_maDITEBzCap_zeW8OqkwV5J" style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; padding-left: 9pt">Federal</td><td style="font-size: 10pt; color: navy; font-weight: bold"> </td> <td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left"> </td><td style="font-size: 10pt; color: navy; font-weight: bold; text-align: right">(6,000</td><td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">)</td><td style="font-size: 10pt; color: windowtext"> </td> <td style="font-size: 10pt; color: windowtext; text-align: left"> </td><td style="font-size: 10pt; color: windowtext; text-align: right">210,000</td><td style="font-size: 10pt; color: windowtext; text-align: left"/></tr> <tr id="xdx_400_eus-gaap--DeferredStateAndLocalIncomeTaxExpenseBenefit_d0_maDITEBzCap_zj6pPlJsFr3d" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; padding-bottom: 1pt; padding-left: 9pt">State</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">—  </td><td style="padding-bottom: 1pt; font-size: 10pt; color: navy; font-weight: bold; text-align: left"> </td><td style="font-size: 10pt; color: windowtext; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; color: windowtext; text-align: left"> </td><td style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: right">—  </td><td style="padding-bottom: 1pt; font-size: 10pt; color: windowtext; text-align: left"/></tr> <tr id="xdx_40C_eus-gaap--IncomeTaxCreditsAndAdjustments_iT_mtDITEBzCap_maITEBz8DS_zIBX32uylrEe" style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt">Total deferred tax provision</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">(6,000</td><td style="padding-bottom: 1pt; font-size: 10pt; color: navy; font-weight: bold; text-align: left">)</td><td style="font-size: 10pt; color: windowtext; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; color: windowtext; text-align: left"> </td><td style="border-bottom: Black 1pt solid; font-size: 10pt; color: windowtext; text-align: right">210,000</td><td style="padding-bottom: 1pt; font-size: 10pt; color: windowtext; text-align: left"/></tr> <tr id="xdx_407_eus-gaap--IncomeTaxExpenseBenefit_iT_mtITEBz8DS_zgYHXpwzpunb" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt">Total tax provision</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">515,000</td><td style="padding-bottom: 1pt; font-size: 10pt; color: navy; font-weight: bold; text-align: left"> </td><td style="font-size: 10pt; color: windowtext; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; color: windowtext; text-align: left">$</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; color: windowtext; text-align: right">233,000</td><td style="padding-bottom: 1pt; font-size: 10pt; 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">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_882_eus-gaap--ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_zPtlhtpV6eVf" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%; margin-left: auto; margin-right: auto" 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_495_20180601__20190531_zh5zK2TKLgj2" style="color: navy; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2019</td><td style="padding-bottom: 1pt"> </td> <td colspan="3" id="xdx_49D_20170601__20180531_zXrySTBW4xOh" style="text-align: center; border-bottom: Black 1pt solid">2018</td></tr> <tr id="xdx_401_eus-gaap--IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate_maITEBzC5U_zq1xOua9REC7" 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">642,500</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">193,500</td><td style="width: 1%; text-align: left"> </td></tr> <tr id="xdx_401_eus-gaap--IncomeTaxReconciliationStateAndLocalIncomeTaxes_maITEBzC5U_zGvdoPddzHad" 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">500</td><td style="color: navy; font-weight: bold; text-align: left"/><td> </td> <td style="text-align: left"> </td><td style="text-align: right">(1,200</td><td style="text-align: left">)</td></tr> <tr id="xdx_402_eus-gaap--EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_iB_zp6q0Vow9KD6" 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_40D_eus-gaap--IncomeTaxReconciliationTaxCreditsResearch_iN_di_msITEBzC5U_zf35bK2Yezif" 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">(166,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">(110,000</td><td style="text-align: left">)</td></tr> <tr id="xdx_406_eus-gaap--IncomeTaxReconciliationChangeInEnactedTaxRate_d0_maITEBzC5U_z2OIipYk5kF3" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 9pt">Tax rate change on deferred taxes</td><td style="color: navy; font-weight: bold"> </td> <td style="color: navy; font-weight: bold; text-align: left"> </td><td style="font-size: 10pt; 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">164,000</td><td style="text-align: left"> </td></tr> <tr id="xdx_409_eus-gaap--IncomeTaxReconciliationNondeductibleExpense_maITEBzC5U_z4ibg4ZtJFka" style="vertical-align: bottom; background-color: White"> <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">28,700</td><td style="color: navy; font-weight: bold; text-align: left"/><td> </td> <td style="text-align: left"> </td><td style="text-align: right">(3,700</td><td style="text-align: left">)</td></tr> <tr id="xdx_40C_eus-gaap--IncomeTaxReconciliationNondeductibleExpenseOther_maITEBzC5U_zNnPejPafH11" 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">9,300</td><td style="padding-bottom: 1pt; color: navy; font-weight: bold; text-align: left"/><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,600</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr> <tr id="xdx_404_eus-gaap--IncomeTaxExpenseBenefit_iT_mtITEBzC5U_zboX3JkWajwf" style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-bottom: 1pt">Total tax provision</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">515,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">233,000</td><td style="padding-bottom: 1pt; text-align: left"> </td></tr> <tr id="xdx_40C_eus-gaap--EffectiveIncomeTaxRateContinuingOperations_dp_zxjbF2ug1jC4" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <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">16.8</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">34.4</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"/> <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">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_884_eus-gaap--ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_zRf8Xeu0m62" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%; margin-left: auto; margin-right: auto" summary="xdx: Disclosure - Net deferred tax assets (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_492_20190531_zzL05Z9V1doa" style="color: navy; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2019</td><td style="padding-bottom: 1pt"> </td> <td colspan="3" id="xdx_490_20180531_zfDntjN5IaC9" style="text-align: center; border-bottom: Black 1pt solid">2018</td></tr> <tr id="xdx_407_eus-gaap--DeferredTaxAssetsGrossAbstract_iB_z57jSrwOnBt2" 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_405_eus-gaap--DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts_iI_maDTAGzkqP_zfqXPY18I8t3" 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">23,000</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">23,000</td><td style="width: 1%; text-align: left"> </td></tr> <tr id="xdx_40F_eus-gaap--DeferredTaxAssetsInventory_iI_maDTAGzkqP_ztPtzjK0ro72" 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">99,700</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">18,800</td><td style="text-align: left"> </td></tr> <tr id="xdx_40B_eus-gaap--DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsLossReserves_iI_maDTAGzkqP_zBIJcLgisEWl" 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">328,900</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">315,500</td><td style="text-align: left"> </td></tr> <tr id="xdx_402_eus-gaap--DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsCompensatedAbsences_iI_maDTAGzkqP_zDnZGfHPoUfi" 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">50,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">40,900</td><td style="text-align: left"> </td></tr> <tr id="xdx_401_eus-gaap--DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities_iI_maDTAGzkqP_zyis0p3jH9Uf" 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">19,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">14,000</td><td style="text-align: left"> </td></tr> <tr id="xdx_40F_eus-gaap--DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves_iI_maDTAGzkqP_zLXHKJCMqEa9" 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">30,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">27,600</td><td style="text-align: left"> </td></tr> <tr id="xdx_403_eus-gaap--DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost_iI_maDTAGzkqP_zDlJdNeYSnRh" style="vertical-align: bottom; background-color: White"> <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">208,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">223,100</td><td style="padding-bottom: 1pt; text-align: left"> </td></tr> <tr id="xdx_40E_eus-gaap--DeferredTaxAssetsGross_iTI_mtDTAGzkqP_maDTANzqOL_zXtbbdYaYzhd" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">Total deferred tax assets</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">760,500</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">662,900</td><td style="text-align: left"> </td></tr> <tr id="xdx_402_eus-gaap--DeferredTaxLiabilitiesAbstract_iB_zbdGQKtyFWc4" style="vertical-align: bottom; background-color: White"> <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_408_eus-gaap--DeferredTaxLiabilitiesPropertyPlantAndEquipment_iI_msDTANzqOL_zE0vdXPfuTqb" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <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">571,385</td><td style="padding-bottom: 1pt; color: navy; font-weight: bold; text-align: left"/><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">443,785</td><td style="padding-bottom: 1pt; text-align: left"/></tr> <tr id="xdx_400_eus-gaap--DeferredTaxAssetsNet_iTI_mtDTANzqOL_zidAf779KZ5a" style="vertical-align: bottom; background-color: White"> <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">189,115</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">219,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">In December 2017, the Tax Cuts and Jobs Act (the 2017 Act) became law. It includes a broad range of tax reform proposals affecting businesses, including corporate tax rates, business deductions, and international tax provisions. Among the changes, the 2017 Act reduces the corporate rate from <span id="xdx_90C_eus-gaap--EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_dp_c20180601__20181231_zNfUypjd2qa1" title="Corporate income tax rate">34%</span> to <span id="xdx_90E_eus-gaap--EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_dp_c20190101__20190531_zyMRbzuOQ3Bg">21%</span> for periods beginning after December 31, 2017. Because of the rate change, the Company recorded a non-cash write down of deferred tax assets and recognized incremental deferred tax expense of <span id="xdx_90A_eus-gaap--IncomeTaxReconciliationChangeInEnactedTaxRate_c20170601__20180531_zDc5zjuUVFjh" title="Effect of change in tax rate">$164,000</span> during the year ended May 31, 2018.</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 $3.6 million in taxable income in future years in order to realize the deferred tax assets recorded as of May 31, 2019 of <span id="xdx_90A_eus-gaap--DeferredTaxAssetsGross_iI_c20190531_zjVFiJWqRh6a">$760,500</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, 2019, the Company had State investment tax credit carryforwards of approximately <span id="xdx_90B_eus-gaap--DeferredTaxAssetsTaxCreditCarryforwards_iI_c20190531_znJse0CEDIg6" title="Deferred tax credits carryforward">$370,000</span> expiring through <span id="xdx_90E_eus-gaap--TaxCreditCarryforwardExpirationDate_dd_c20190601__20250531_zUGU4J9LFK0f" title="Tax credit carryforward expiration date">May 31, 2025</span>.</p> <table cellpadding="0" cellspacing="0" id="xdx_88E_eus-gaap--ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_z7eBeIkAdTe2" style="font: 12pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%; margin-left: auto; margin-right: auto" summary="xdx: Disclosure - Income Taxes Table (Details)"> <tr style="vertical-align: bottom"> <td> </td><td style="font-size: 10pt; color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td colspan="3" id="xdx_496_20180601__20190531_z7ahJsdqH7bf" style="font-size: 10pt; color: navy; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2019</td><td style="font-size: 10pt; padding-bottom: 1pt"> </td> <td colspan="3" id="xdx_49F_20170601__20180531_zBMgW8XCRtz8" style="font-size: 10pt; text-align: center; border-bottom: Black 1pt solid">2018</td></tr> <tr id="xdx_407_eus-gaap--IncomeTaxExpenseBenefitContinuingOperationsAbstract_iB_zYnAPiIEcvk2" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left">Current tax provision:</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td></tr> <tr id="xdx_40B_eus-gaap--CurrentFederalTaxExpenseBenefit_maCITEBzGVz_zM3TOHAa873f" style="vertical-align: bottom; background-color: White"> <td style="width: 56%; font-size: 10pt; padding-left: 9pt">Federal</td><td style="width: 8%; font-size: 10pt; color: navy; font-weight: bold"> </td> <td style="width: 1%; font-size: 10pt; color: navy; font-weight: bold; text-align: left">$</td><td style="width: 12%; font-size: 10pt; color: navy; font-weight: bold; text-align: right">521,000</td><td style="width: 1%; font-size: 10pt; color: navy; font-weight: bold; text-align: left"> </td><td style="width: 8%; font-size: 10pt; color: windowtext"> </td> <td style="width: 1%; font-size: 10pt; color: windowtext; text-align: left">$</td><td style="width: 12%; font-size: 10pt; color: windowtext; text-align: right">23,000</td><td style="width: 1%; font-size: 10pt; color: windowtext; text-align: left"> </td></tr> <tr id="xdx_40A_eus-gaap--CurrentStateAndLocalTaxExpenseBenefit_d0_maCITEBzGVz_zYoeCKvtcpF7" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; padding-bottom: 1pt; padding-left: 9pt">State</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">—  </td><td style="padding-bottom: 1pt; font-size: 10pt; color: navy; font-weight: bold; text-align: left"> </td><td style="font-size: 10pt; color: windowtext; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; color: windowtext; text-align: left"> </td><td style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: right">—  </td><td style="padding-bottom: 1pt; font-size: 10pt; color: windowtext; text-align: left"> </td></tr> <tr id="xdx_401_eus-gaap--CurrentIncomeTaxExpenseBenefit_iT_mtCITEBzGVz_maITEBz8DS_zEH4i2a9rfx7" style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left">Total current tax provision</td><td style="font-size: 10pt; color: navy; font-weight: bold"> </td> <td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left"> </td><td style="font-size: 10pt; color: navy; font-weight: bold; text-align: right">521,000</td><td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left"> </td><td style="font-size: 10pt; color: windowtext"> </td> <td style="font-size: 10pt; color: windowtext; text-align: left"> </td><td style="font-size: 10pt; color: windowtext; text-align: right">23,000</td><td style="font-size: 10pt; color: windowtext; text-align: left"> </td></tr> <tr id="xdx_404_eus-gaap--DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_iB_zJDkRDKk7lye" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left">Deferred tax provision:</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_40E_eus-gaap--DeferredFederalIncomeTaxExpenseBenefit_maDITEBzCap_zeW8OqkwV5J" style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; padding-left: 9pt">Federal</td><td style="font-size: 10pt; color: navy; font-weight: bold"> </td> <td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left"> </td><td style="font-size: 10pt; color: navy; font-weight: bold; text-align: right">(6,000</td><td style="font-size: 10pt; color: navy; font-weight: bold; text-align: left">)</td><td style="font-size: 10pt; color: windowtext"> </td> <td style="font-size: 10pt; color: windowtext; text-align: left"> </td><td style="font-size: 10pt; color: windowtext; text-align: right">210,000</td><td style="font-size: 10pt; color: windowtext; text-align: left"/></tr> <tr id="xdx_400_eus-gaap--DeferredStateAndLocalIncomeTaxExpenseBenefit_d0_maDITEBzCap_zj6pPlJsFr3d" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; padding-bottom: 1pt; padding-left: 9pt">State</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">—  </td><td style="padding-bottom: 1pt; font-size: 10pt; color: navy; font-weight: bold; text-align: left"> </td><td style="font-size: 10pt; color: windowtext; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; color: windowtext; text-align: left"> </td><td style="border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: right">—  </td><td style="padding-bottom: 1pt; font-size: 10pt; color: windowtext; text-align: left"/></tr> <tr id="xdx_40C_eus-gaap--IncomeTaxCreditsAndAdjustments_iT_mtDITEBzCap_maITEBz8DS_zIBX32uylrEe" style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt">Total deferred tax provision</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">(6,000</td><td style="padding-bottom: 1pt; font-size: 10pt; color: navy; font-weight: bold; text-align: left">)</td><td style="font-size: 10pt; color: windowtext; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; color: windowtext; text-align: left"> </td><td style="border-bottom: Black 1pt solid; font-size: 10pt; color: windowtext; text-align: right">210,000</td><td style="padding-bottom: 1pt; font-size: 10pt; color: windowtext; text-align: left"/></tr> <tr id="xdx_407_eus-gaap--IncomeTaxExpenseBenefit_iT_mtITEBz8DS_zgYHXpwzpunb" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt">Total tax provision</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">515,000</td><td style="padding-bottom: 1pt; font-size: 10pt; color: navy; font-weight: bold; text-align: left"> </td><td style="font-size: 10pt; color: windowtext; padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; color: windowtext; text-align: left">$</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; color: windowtext; text-align: right">233,000</td><td style="padding-bottom: 1pt; font-size: 10pt; color: windowtext; text-align: left"> </td></tr> </table> 521000 23000 0 0 521000 23000 -6000 210000 0 0 -6000 210000 515000 233000 <table cellpadding="0" cellspacing="0" id="xdx_882_eus-gaap--ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_zPtlhtpV6eVf" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%; margin-left: auto; margin-right: auto" 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_495_20180601__20190531_zh5zK2TKLgj2" style="color: navy; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2019</td><td style="padding-bottom: 1pt"> </td> <td colspan="3" id="xdx_49D_20170601__20180531_zXrySTBW4xOh" style="text-align: center; border-bottom: Black 1pt solid">2018</td></tr> <tr id="xdx_401_eus-gaap--IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate_maITEBzC5U_zq1xOua9REC7" 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">642,500</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">193,500</td><td style="width: 1%; text-align: left"> </td></tr> <tr id="xdx_401_eus-gaap--IncomeTaxReconciliationStateAndLocalIncomeTaxes_maITEBzC5U_zGvdoPddzHad" 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">500</td><td style="color: navy; font-weight: bold; text-align: left"/><td> </td> <td style="text-align: left"> </td><td style="text-align: right">(1,200</td><td style="text-align: left">)</td></tr> <tr id="xdx_402_eus-gaap--EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_iB_zp6q0Vow9KD6" 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_40D_eus-gaap--IncomeTaxReconciliationTaxCreditsResearch_iN_di_msITEBzC5U_zf35bK2Yezif" 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">(166,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">(110,000</td><td style="text-align: left">)</td></tr> <tr id="xdx_406_eus-gaap--IncomeTaxReconciliationChangeInEnactedTaxRate_d0_maITEBzC5U_z2OIipYk5kF3" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 9pt">Tax rate change on deferred taxes</td><td style="color: navy; font-weight: bold"> </td> <td style="color: navy; font-weight: bold; text-align: left"> </td><td style="font-size: 10pt; 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">164,000</td><td style="text-align: left"> </td></tr> <tr id="xdx_409_eus-gaap--IncomeTaxReconciliationNondeductibleExpense_maITEBzC5U_z4ibg4ZtJFka" style="vertical-align: bottom; background-color: White"> <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">28,700</td><td style="color: navy; font-weight: bold; text-align: left"/><td> </td> <td style="text-align: left"> </td><td style="text-align: right">(3,700</td><td style="text-align: left">)</td></tr> <tr id="xdx_40C_eus-gaap--IncomeTaxReconciliationNondeductibleExpenseOther_maITEBzC5U_zNnPejPafH11" 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">9,300</td><td style="padding-bottom: 1pt; color: navy; font-weight: bold; text-align: left"/><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,600</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr> <tr id="xdx_404_eus-gaap--IncomeTaxExpenseBenefit_iT_mtITEBzC5U_zboX3JkWajwf" style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-bottom: 1pt">Total tax provision</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">515,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">233,000</td><td style="padding-bottom: 1pt; text-align: left"> </td></tr> <tr id="xdx_40C_eus-gaap--EffectiveIncomeTaxRateContinuingOperations_dp_zxjbF2ug1jC4" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <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">16.8</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">34.4</td><td style="text-align: left">%</td></tr> </table> 642500 193500 500 -1200 166000 110000 0 164000 28700 -3700 9300 -9600 515000 233000 0.168 0.344 <table cellpadding="0" cellspacing="0" id="xdx_884_eus-gaap--ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_zRf8Xeu0m62" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%; margin-left: auto; margin-right: auto" summary="xdx: Disclosure - Net deferred tax assets (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_492_20190531_zzL05Z9V1doa" style="color: navy; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2019</td><td style="padding-bottom: 1pt"> </td> <td colspan="3" id="xdx_490_20180531_zfDntjN5IaC9" style="text-align: center; border-bottom: Black 1pt solid">2018</td></tr> <tr id="xdx_407_eus-gaap--DeferredTaxAssetsGrossAbstract_iB_z57jSrwOnBt2" 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_405_eus-gaap--DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts_iI_maDTAGzkqP_zfqXPY18I8t3" 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">23,000</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">23,000</td><td style="width: 1%; text-align: left"> </td></tr> <tr id="xdx_40F_eus-gaap--DeferredTaxAssetsInventory_iI_maDTAGzkqP_ztPtzjK0ro72" 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">99,700</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">18,800</td><td style="text-align: left"> </td></tr> <tr id="xdx_40B_eus-gaap--DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsLossReserves_iI_maDTAGzkqP_zBIJcLgisEWl" 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">328,900</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">315,500</td><td style="text-align: left"> </td></tr> <tr id="xdx_402_eus-gaap--DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsCompensatedAbsences_iI_maDTAGzkqP_zDnZGfHPoUfi" 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">50,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">40,900</td><td style="text-align: left"> </td></tr> <tr id="xdx_401_eus-gaap--DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities_iI_maDTAGzkqP_zyis0p3jH9Uf" 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">19,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">14,000</td><td style="text-align: left"> </td></tr> <tr id="xdx_40F_eus-gaap--DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves_iI_maDTAGzkqP_zLXHKJCMqEa9" 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">30,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">27,600</td><td style="text-align: left"> </td></tr> <tr id="xdx_403_eus-gaap--DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost_iI_maDTAGzkqP_zDlJdNeYSnRh" style="vertical-align: bottom; background-color: White"> <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">208,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">223,100</td><td style="padding-bottom: 1pt; text-align: left"> </td></tr> <tr id="xdx_40E_eus-gaap--DeferredTaxAssetsGross_iTI_mtDTAGzkqP_maDTANzqOL_zXtbbdYaYzhd" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">Total deferred tax assets</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">760,500</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">662,900</td><td style="text-align: left"> </td></tr> <tr id="xdx_402_eus-gaap--DeferredTaxLiabilitiesAbstract_iB_zbdGQKtyFWc4" style="vertical-align: bottom; background-color: White"> <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_408_eus-gaap--DeferredTaxLiabilitiesPropertyPlantAndEquipment_iI_msDTANzqOL_zE0vdXPfuTqb" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <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">571,385</td><td style="padding-bottom: 1pt; color: navy; font-weight: bold; text-align: left"/><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">443,785</td><td style="padding-bottom: 1pt; text-align: left"/></tr> <tr id="xdx_400_eus-gaap--DeferredTaxAssetsNet_iTI_mtDTANzqOL_zidAf779KZ5a" style="vertical-align: bottom; background-color: White"> <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">189,115</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">219,115</td><td style="padding-bottom: 1pt; text-align: left"> </td></tr> </table> 23000 23000 99700 18800 328900 315500 50200 40900 19800 14000 30300 27600 208600 223100 760500 662900 571385 443785 189115 219115 0.34 0.21 164000 760500 370000 2025-05-31 <p id="xdx_803_eus-gaap--EarningsPerShareTextBlock_zpEtCccOm2g5" style="color: navy; font: 10pt Times New Roman, Times, Serif; margin: 0"><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_88F_eus-gaap--ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_zn2xkokHU7Nd" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%; margin-left: auto; margin-right: auto" 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_499_20180601__20190531_zQzWvTP0oOM2" style="color: navy; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2019</td><td style="padding-bottom: 1pt"> </td> <td colspan="3" id="xdx_49F_20170601__20180531_zK2dT1wAVXIi" style="text-align: center; border-bottom: Black 1pt solid">2018</td></tr> <tr id="xdx_40F_eus-gaap--WeightedAverageNumberOfSharesOutstandingBasic_maNote11EPScalc_zC5xvpBDZhrh" 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,470,595</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,458,049</td><td style="width: 1%; text-align: left"> </td></tr> <tr id="xdx_40C_eus-gaap--IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_maNote11EPScalc_zDRtzcgvcgMi" 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">17,043</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">30,876</td><td style="padding-bottom: 1pt; text-align: left"> </td></tr> <tr id="xdx_405_eus-gaap--WeightedAverageNumberOfDilutedSharesOutstanding_iT_mtNote11EPScalc_z3NCNZlHLro" 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,487,638</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,488,925</td><td style="padding-bottom: 1pt; text-align: left"> </td></tr> </table> <table cellpadding="0" cellspacing="0" id="xdx_88F_eus-gaap--ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_zn2xkokHU7Nd" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%; margin-left: auto; margin-right: auto" 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_499_20180601__20190531_zQzWvTP0oOM2" style="color: navy; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2019</td><td style="padding-bottom: 1pt"> </td> <td colspan="3" id="xdx_49F_20170601__20180531_zK2dT1wAVXIi" style="text-align: center; border-bottom: Black 1pt solid">2018</td></tr> <tr id="xdx_40F_eus-gaap--WeightedAverageNumberOfSharesOutstandingBasic_maNote11EPScalc_zC5xvpBDZhrh" 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,470,595</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,458,049</td><td style="width: 1%; text-align: left"> </td></tr> <tr id="xdx_40C_eus-gaap--IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_maNote11EPScalc_zDRtzcgvcgMi" 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">17,043</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">30,876</td><td style="padding-bottom: 1pt; text-align: left"> </td></tr> <tr id="xdx_405_eus-gaap--WeightedAverageNumberOfDilutedSharesOutstanding_iT_mtNote11EPScalc_z3NCNZlHLro" 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,487,638</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,488,925</td><td style="padding-bottom: 1pt; text-align: left"> </td></tr> </table> 3470595 3458049 17043 30876 3487638 3488925 <p id="xdx_806_eus-gaap--RelatedPartyTransactionsDisclosureTextBlock_z6myVNwPYSxg" style="color: navy; font: 10pt Times New Roman, Times, Serif; margin: 0; 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, 2019 and 2018.</p> <p id="xdx_80F_eus-gaap--ScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock_zKt44s1MJdx6" style="color: navy; font: 10pt Times New Roman, Times, Serif; margin: 0; 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, 2019 and 2018, <span id="xdx_904_eus-gaap--StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans_c20180601__20190531_zo2O2TvDFFy9" title="Common shares issued from employee stock purchase plan">1,542</span> ($10.235 to $12.28 price per share) and <span id="xdx_908_eus-gaap--StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans_c20170601__20180531_z1Y7rtj2c35f">1,835</span> ($11.025 to $13.415 price per share) common shares, respectively, were issued to employees. As of May 31, 2019, 221,627 shares were reserved for further issue.</p> 1542 1835 <p id="xdx_80D_eus-gaap--DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_zBRDwECWc1Kf" style="color: navy; font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>14. Stock Option Plans:</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 2015, 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, <span id="xdx_909_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_iI_c20190531_zLowNhOCcH5h" title="Common shares reserved for stock options">160,000</span> shares of common stock have been reserved for grant to key employees and directors of the Company and 138,500 shares have been granted as of May 31, 2019. 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.</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">Using the Black-Scholes option pricing model, the weighted average estimated fair value of each option granted under the plan was <span id="xdx_901_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_c20180601__20190531_zTyxCLHRC6ml">$3.20 </span>during 2019 and <span id="xdx_90D_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_c20170601__20180531_zf10HzzX8929">$2.86</span> during 2018. 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.</p> <table cellpadding="0" cellspacing="0" id="xdx_881_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValueTableTextBlock_zflSlUhvWHTc" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%; margin-left: auto; margin-right: auto" 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_496_20180601__20190531_zPWytHJf8328" style="color: navy; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2019</td><td style="padding-bottom: 1pt"> </td> <td colspan="3" id="xdx_495_20170601__20180531_zsFTWHRd6gt" style="text-align: center; border-bottom: Black 1pt solid">2018</td></tr> <tr id="xdx_403_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_dp_zEJdGSsvIh8i" 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.179</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.179</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_984_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_dtY_c20180601__20190531_zwUF2azQoog4" style="color: navy; font-weight: bold; text-align: right">3.7</td><td style="color: navy; font-weight: bold; text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_98A_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_dtY_c20170601__20180531_zltZxSQbnzM" style="text-align: right">3.7</td><td style="text-align: left"> </td></tr> <tr id="xdx_40A_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_dp_zmR0ASG0YL5i" 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">30</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> <tr id="xdx_409_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_dp_zyPyLoPY6Yyc" 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> <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">The following is a summary of stock option activity:</p> <table cellpadding="0" cellspacing="0" id="xdx_889_eus-gaap--ScheduleOfStockOptionsRollForwardTableTextBlock_zz627bsm1CP3" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%; margin-left: auto; margin-right: auto" 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="font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Shares</td><td style="font-weight: bold; padding-bottom: 1pt"> </td> <td colspan="3" style="font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Weighted Average Exercise Price</td><td style="font-weight: bold; padding-bottom: 1pt"> </td> <td colspan="3" style="font-weight: bold; text-align: center; border-bottom: Black 1pt solid">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, 2017</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_c20170531_zXBKnWQP5918" style="width: 11%; color: navy; font-weight: bold; text-align: right" title="Stock options outstanding">253,500</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_981_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iI_c20170531_zFQpVg92XBVa" style="width: 11%; text-align: right">10.93</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_c20170531_zhUu1YOvkUm4" style="width: 11%; text-align: right" title="Intrinsic value of options outstanding">817,629</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_982_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_c20170601__20180531_zNTdhN5Tyt6" style="color: navy; font-weight: bold; text-align: right" title="Options granted">43,750</td><td style="color: navy; font-weight: bold; text-align: left"> </td><td> </td> <td style="text-align: left">$</td><td id="xdx_98F_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20170601__20180531_zqxD9SxUN336" style="text-align: right" title="Weighted average exercise price of options granted">11.15</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 exercised</td><td style="color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td style="color: navy; font-weight: bold; text-align: left"> </td><td id="xdx_98F_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_c20170601__20180531_zy5a5Nd6R0Ti" style="color: navy; font-weight: bold; text-align: right" title="Stock options exercised">24,750</td><td style="padding-bottom: 1pt; color: navy; font-weight: bold; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="text-align: left">$</td><td id="xdx_98B_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_c20170601__20180531_zLe9ZUDUs6G9" style="text-align: right" title="Weighted average exercise price of options exercised">6.67</td><td style="padding-bottom: 1pt; text-align: left"> </td><td style="font-size: 12pt; padding-bottom: 1pt"> </td> <td style="font-size: 12pt; text-align: left"> </td><td style="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">     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_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_c20170601__20180531_z2sljEUlyQye" style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: right" title="Stock options expired">750</td><td style="padding-bottom: 1pt; color: navy; font-weight: bold; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="text-align: left">$</td><td id="xdx_98F_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice_c20170601__20180531_zFm2XXhPE6Ad" style="text-align: right" title="Weighted average exercise price of options expired">19.26</td><td style="padding-bottom: 1pt; text-align: left"> </td><td style="font-size: 12pt; padding-bottom: 1pt"> </td> <td style="font-size: 12pt; text-align: left"> </td><td style="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, 2018</td><td style="color: navy; font-weight: bold"> </td> <td style="color: navy; font-weight: bold; text-align: left"> </td><td id="xdx_980_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iI_c20180531_zFWyWkrxHN34" style="color: navy; font-weight: bold; text-align: right">271,750</td><td style="color: navy; font-weight: bold; text-align: left"> </td><td> </td> <td style="text-align: left">$</td><td id="xdx_982_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iI_c20180531_zaflrnEwSdy9" style="text-align: right">11.33</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left">$</td><td id="xdx_987_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_iI_c20180531_zEfFIbFyPf79" style="text-align: right">304,252</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_987_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_c20180601__20190531_zSQNjWbo9e81" style="color: navy; font-weight: bold; text-align: right">43,000</td><td style="color: navy; font-weight: bold; text-align: left"> </td><td> </td> <td style="text-align: left">$</td><td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20180601__20190531_zIIgzrbWmj51" style="text-align: right">11.90</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_98A_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_c20180601__20190531_zh4NNuwqLfqj" style="color: navy; font-weight: bold; text-align: right" title="Stock options exercised">10,750</td><td style="color: navy; font-weight: bold; text-align: left"> </td><td> </td> <td style="text-align: left">$</td><td id="xdx_98F_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_c20180601__20190531_z3ZJgvHExzq2" style="text-align: right">3.05</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_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_c20180601__20190531_z2sljEUlyQye" style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: right" title="Stock options expired">80,000</td><td style="padding-bottom: 1pt; color: navy; font-weight: bold; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="text-align: left">$</td><td id="xdx_98F_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice_c20180601__20190531_zFm2XXhPE6Ad" style="text-align: right" title="Weighted average exercise price of options expired">11.68</td><td style="padding-bottom: 1pt; text-align: left"> </td><td style="font-size: 12pt; padding-bottom: 1pt"> </td> <td style="font-size: 12pt; text-align: left"> </td><td style="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; padding-bottom: 1pt">Outstanding - May 31, 2019</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_98D_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iI_c20190531_z5tmfeQwviE1" style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: right">224,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_98D_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iI_c20190531_zivfBmVrMdFb" style="border-bottom: Black 1pt solid; text-align: right">11.71</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_983_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_iI_c20190531_z2CpGSNsZpW6" style="border-bottom: Black 1pt solid; text-align: right">228,132</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">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 (77,250 at May 31, 2019 and 93,000 at May 31, 2018.) The Company's closing stock price was <span id="xdx_908_eus-gaap--SharePrice_iI_c20190531_z8bbXgC1qopa" title="Price per share of common">$11.08</span> and <span id="xdx_908_eus-gaap--SharePrice_iI_c20180531_zJnpO1ad4b8b">$10.26</span> as of May 31, 2019 and 2018. As of May 31, 2019, there are <span id="xdx_90C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_iI_c20190531_zg3rWmWBKihf" title="Shares available">21,500</span> options available for future grants under the 2015 stock option plan. <span id="xdx_90B_eus-gaap--ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlans_c20180601__20190531_zlxSRy0YEYgg" title="Proceeds exercise of options">$32,830</span> and <span id="xdx_90D_eus-gaap--ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlans_c20170601__20180531_zPyMOnMNfQFc">$164,983</span> was received from the exercise of share options during the fiscal years ended May 31, 2019 and 2018.</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"/> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"/> <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">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 no shares have been granted as of May 31, 2019. 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.</p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"/> <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 following table summarizes information about stock options outstanding at May 31, 2019:</p> <p style="font: 6pt Times New Roman, Times, Serif; margin: 0; text-align: justify"> </p> <table cellpadding="0" cellspacing="0" id="xdx_89B_eus-gaap--ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock_zq55t9kB3UQk" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%; margin-left: auto; margin-right: auto" 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; width: 46%">Outstanding and Exercisable</td><td style="padding-bottom: 1pt; width: 5%"> </td> <td style="border-bottom: Black 1pt solid; text-align: left; width: 1%"> </td><td style="border-bottom: Black 1pt solid; text-align: right; width: 11%"> </td><td style="padding-bottom: 1pt; text-align: left; width: 1%"> </td><td style="padding-bottom: 1pt; width: 5%"> </td> <td style="border-bottom: Black 1pt solid; text-align: left; width: 1%"> </td><td style="border-bottom: Black 1pt solid; text-align: right; width: 11%"> </td><td style="padding-bottom: 1pt; text-align: left; width: 1%"> </td><td style="padding-bottom: 1pt; width: 5%"> </td> <td style="border-bottom: Black 1pt solid; text-align: left; width: 1%"> </td><td style="border-bottom: Black 1pt solid; text-align: right; width: 11%"> </td><td style="padding-bottom: 1pt; text-align: left; width: 1%"> </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: White"> <td style="text-align: center">$<span id="xdx_906_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimitTwo_iI_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTwoMember_zUiKbtJGgzR9" title="Range of exercise prices, Minimum">5.01</span>-$<span id="xdx_90F_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimitTwo_iI_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTwoMember_z7H2CFyDV1Fg" title="Range of exercise prices, Maximum">6.00</span></td><td> </td> <td style="text-align: left"> </td><td id="xdx_986_eus-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions_iI_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTwoMember_zwmwlN4wxzed" style="text-align: right">10,000</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_98C_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTermTwo_iI_dtY_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTwoMember_ztm86S5BwNAj" style="text-align: right">1.9</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left">$</td><td id="xdx_98B_eus-gaap--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1_iI_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTwoMember_z4DpObLegKHg" style="text-align: right">5.69</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_90C_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimitTwo_iI_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeThreeMember_zxuK3116ctRc" title="Range of exercise prices, Minimum">6.01</span>-$<span id="xdx_906_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimitTwo_iI_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeThreeMember_zfpiQnt02kza" title="Range of exercise prices, Maximum">7.00</span></td><td> </td> <td style="text-align: left"> </td><td id="xdx_98A_eus-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions_iI_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeThreeMember_z9ImVvsJiGy6" style="text-align: right">10,000</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_981_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTermTwo_iI_dtY_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeThreeMember_z4RDfM6F9vwl" style="text-align: right">0.9</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left">$</td><td id="xdx_98D_eus-gaap--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1_iI_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeThreeMember_z2VOosJmAky5" style="text-align: right">6.35</td><td style="text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: center">$<span id="xdx_901_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimitTwo_iI_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeFourMember_zWZNlI9ERGDh" title="Range of exercise prices, Minimum">7.01</span>-$<span id="xdx_907_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimitTwo_iI_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeFourMember_zTLE9tYqbjG4" title="Range of exercise prices, Maximum">8.00</span></td><td> </td> <td style="text-align: left"> </td><td id="xdx_98E_eus-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions_iI_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeFourMember_zBWtMbM5Fuw9" style="text-align: right">15,000</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_981_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTermTwo_iI_dtY_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeFourMember_znQTSpTzRS9e" 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_eus-gaap--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1_iI_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeFourMember_zN6OWeCBC9o8" style="text-align: right">7.74</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--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimitTwo_iI_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeFiveMember_zbmXzDp9rXce" title="Range of exercise prices, Minimum">8.01</span>-$<span id="xdx_90F_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimitTwo_iI_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeFiveMember_zh1gvY83QJPj" title="Range of exercise prices, Maximum">9.00</span></td><td> </td> <td style="text-align: left"> </td><td id="xdx_980_eus-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions_iI_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeFiveMember_zRq0ANTkbbme" style="text-align: right">27,250</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_986_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTermTwo_iI_dtY_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeFiveMember_zIlUdFASGEr8" style="text-align: right">4.6</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left">$</td><td id="xdx_988_eus-gaap--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1_iI_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeFiveMember_z9RIxUXuYB51" style="text-align: right">8.69</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--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimitTwo_iI_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeSixMember_zBGDspEPQ6d5" title="Range of exercise prices, Minimum">10.01</span>-$<span id="xdx_90F_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimitTwo_iI_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeSixMember_zbchtHmniyR9" title="Range of exercise prices, Maximum">11.00</span></td><td> </td> <td style="text-align: left"> </td><td id="xdx_986_eus-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions_iI_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeSixMember_zArm23SrJCo1" 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--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTermTwo_iI_dtY_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeSixMember_zCUiGrm0TTV3" style="text-align: right">8.9</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left">$</td><td id="xdx_982_eus-gaap--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1_iI_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeSixMember_zuZnpQkCyky7" style="text-align: right">10.30</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_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeSevenMember_zBkgh0yF7Nne" title="Range of exercise prices, Minimum">11.01</span>-$<span id="xdx_900_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimitTwo_iI_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeSevenMember_zD0yBWM74WI2" title="Range of exercise prices, Maximum">12.00</span></td><td> </td> <td style="text-align: left"> </td><td id="xdx_986_eus-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions_iI_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeSevenMember_zJXsufPOk5B2" style="text-align: right">53,000</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_98E_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTermTwo_iI_dtY_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeSevenMember_zPcQyECWF1F1" style="text-align: right">8.4</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left">$</td><td id="xdx_981_eus-gaap--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1_iI_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeSevenMember_zexZCUb2Zn09" style="text-align: right">11.79</td><td style="text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: center">$<span id="xdx_907_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimitTwo_iI_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeEightMember_zOaxVQL8x5V7" title="Range of exercise prices, Minimum">12.01</span>-$<span id="xdx_90B_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimitTwo_iI_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeEightMember_zLUz7DLd6SE6" title="Range of exercise prices, Maximum">13.00</span></td><td> </td> <td style="text-align: left"> </td><td id="xdx_987_eus-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions_iI_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeEightMember_zQAC4498iqRh" style="text-align: right">45,000</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_98A_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTermTwo_iI_dtY_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeEightMember_zvtCxkpcJfV9" style="text-align: right">6.9</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left">$</td><td id="xdx_98E_eus-gaap--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1_iI_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeEightMember_zkVvs56Mnuh4" style="text-align: right">12.38</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_90C_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimitTwo_iI_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeNineMember_zzznqpBrbsXa" title="Range of exercise prices, Minimum">13.01</span>-$<span id="xdx_908_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimitTwo_iI_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeNineMember_zufwLnKfiJA4" title="Range of exercise prices, Maximum">14.00</span></td><td> </td> <td style="text-align: left"> </td><td id="xdx_98E_eus-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions_iI_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeNineMember_zwm0tIyG5iTi" style="text-align: right">15,000</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_98E_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTermTwo_iI_dtY_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeNineMember_zkmIBwOMPNN3" style="text-align: right">7.9</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left">$</td><td id="xdx_986_eus-gaap--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1_iI_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeNineMember_zPWPJp82Fvhc" 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_90F_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimitTwo_iI_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTenMember_z8G2GTTTWHwd" title="Range of exercise prices, Minimum">16.01</span>-$<span id="xdx_908_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimitTwo_iI_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTenMember_zA1ahEzw0Wm8" title="Range of exercise prices, Maximum">17.00</span></td><td> </td> <td style="text-align: left"> </td><td id="xdx_980_eus-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions_iI_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTenMember_zkIdf2vMwdS7" style="text-align: right">15,000</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_989_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTermTwo_iI_dtY_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTenMember_zxHTJa4Vf4K4" style="text-align: right">6.9</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left">$</td><td id="xdx_98B_eus-gaap--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1_iI_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTenMember_zVaQdHj2z0L" 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_90D_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimitTwo_iI_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeElevenMember_zT69hoKaiOp2" title="Range of exercise prices, Minimum">19.01</span>-$<span id="xdx_909_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimitTwo_iI_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeElevenMember_zLSFFDNQIK9i" 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_981_eus-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions_iI_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeElevenMember_z9XJFV7eKHje" style="border-bottom: Black 1pt solid; text-align: right">18,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_98A_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTermTwo_iI_dtY_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeElevenMember_zEitIHnTuKMi" style="border-bottom: Black 1pt solid; text-align: right">7.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_987_eus-gaap--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1_iI_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeElevenMember_zmCLbgJeY3Uk" 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_902_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimitTwo_iI_c20190531_z1Y7eKtMHgcb" title="Range of exercise prices, Minimum"><span title="Range of exercise prices, Minimum">5.00</span></span>-$<span id="xdx_90C_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimitTwo_iI_c20190531_zKR0JloigQja" 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_986_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iI_c20190531_zclWJJUuDRA2" style="border-bottom: Black 1pt solid; text-align: right">224,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--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTermTwo_iI_dtY_c20190531_zyPNg7Gaa3rd" 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_98A_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iI_c20190531_znqEBl8ZAWo" style="border-bottom: Black 1pt solid; text-align: right">11.71</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> <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 following table summarizes information about stock options outstanding at May 31, 2018:</p> <p style="font: 12pt Times New Roman, Times, Serif; margin: 0; text-align: justify"> </p> <table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%; margin-left: auto; margin-right: auto"> <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_908_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimitTwo_iI_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeOneMember_zUgSv0C6hs55" title="Range of exercise prices, Minimum">2.00</span>-$<span id="xdx_90A_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimitTwo_iI_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeOneMember_zSc7ZYgtPBt1" title="Range of exercise prices, Maximum">3.00</span></td><td style="width: 5%"> </td> <td style="width: 1%; text-align: left"> </td><td id="xdx_987_eus-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions_iI_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeOneMember_zqj5SVzGw0ej" style="width: 11%; text-align: right" title="Number of options">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_dtY_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeOneMember_zP2ks7KZLtb8" 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_986_eus-gaap--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1_iI_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeOneMember_zZUpX9R2w2Yh" style="width: 11%; text-align: right" title="Weighted average exercise price">2.83</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_90E_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimitTwo_iI_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTwoMember_z8xTiJCPCMql" title="Range of exercise prices, Minimum">5.01</span>-$<span id="xdx_908_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimitTwo_iI_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTwoMember_zEcYXjeQbNt3" title="Range of exercise prices, Maximum">6.00</span></td><td> </td> <td style="text-align: left"> </td><td id="xdx_980_eus-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions_iI_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTwoMember_zD9NvGHQTPOg" style="text-align: right" title="Number of options">15,000</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_985_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTermTwo_iI_dtY_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTwoMember_zTK7DdZmTSS3" style="text-align: right">2.9</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left">$</td><td id="xdx_988_eus-gaap--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1_iI_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTwoMember_zwt3aG2B3a6b" style="text-align: right" title="Weighted average exercise price">5.69</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_90F_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimitTwo_iI_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeThreeMember_z3AGQcctyOEi" title="Range of exercise prices, Minimum">6.01</span>-$<span id="xdx_900_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimitTwo_iI_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeThreeMember_z9GUTuI6QmQ3" title="Range of exercise prices, Maximum">7.00</span></td><td> </td> <td style="text-align: left"> </td><td id="xdx_987_eus-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions_iI_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeThreeMember_zfMoWFXwH0R8" style="text-align: right" title="Number of options">15,750</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_982_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTermTwo_iI_dtY_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeThreeMember_zPrQ7kaMMef2" style="text-align: right">1.8</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left">$</td><td id="xdx_98A_eus-gaap--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1_iI_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeThreeMember_zM34xsftuRf9" style="text-align: right" title="Weighted average exercise price">6.34</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--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimitTwo_iI_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeFourMember_zdfmTfXFenq" title="Range of exercise prices, Minimum">7.01</span>-$<span id="xdx_902_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimitTwo_iI_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeFourMember_zG4NDHoAd2B5" title="Range of exercise prices, Maximum">8.00</span></td><td> </td> <td style="text-align: left"> </td><td id="xdx_98D_eus-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions_iI_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeFourMember_zKCubqLe8fF3" style="text-align: right" title="Number of options">20,000</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_989_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTermTwo_iI_dtY_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeFourMember_ztBpxGRDBwU1" style="text-align: right">4.9</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left">$</td><td id="xdx_98F_eus-gaap--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1_iI_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeFourMember_zm3eh2J10FFg" style="text-align: right" title="Weighted average exercise price">7.74</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_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeFiveMember_zs8YoFgge3m6" title="Range of exercise prices, Minimum">8.01</span>-$<span id="xdx_906_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimitTwo_iI_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeFiveMember_z1UaxDQk6URl" title="Range of exercise prices, Maximum">9.00</span></td><td> </td> <td style="text-align: left"> </td><td id="xdx_983_eus-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions_iI_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeFiveMember_zKzrl4uThDY4" style="text-align: right" title="Number of options">32,250</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_98D_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTermTwo_iI_dtY_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeFiveMember_zNyONv0DRzb6" style="text-align: right">5.7</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left">$</td><td id="xdx_985_eus-gaap--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1_iI_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeFiveMember_z4zRBOXcNbq5" style="text-align: right" title="Weighted average exercise price">8.74</td><td style="text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: center">$<span title="Range of exercise prices, Minimum"><span id="xdx_901_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimitTwo_iI_dtY_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeSixMember_zLbT6wExqvX5" title="Range of exercise prices, Minimum">10.01</span></span>-$<span title="Range of exercise prices, Maximum"><span id="xdx_907_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimitTwo_iI_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeSixMember_zW5SkDSJlDCf" title="Range of exercise prices, Maximum">11.00</span></span></td><td> </td> <td style="text-align: left"> </td><td id="xdx_98A_eus-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions_iI_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeSixMember_zXXJTsKbzaW2" style="text-align: right" title="Number of options">25,000</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_988_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTermTwo_iI_dtY_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeSixMember_zkLWDgfxZZzg" style="text-align: right">9.9</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left">$</td><td id="xdx_987_eus-gaap--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1_iI_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeSixMember_zQLpeyjKn2M1" style="text-align: right" title="Weighted average exercise price">10.30</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_900_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimitTwo_iI_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeSevenMember_z9ZVfQR6Fu1g" title="Range of exercise prices, Minimum">11.01</span>-$<span id="xdx_904_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimitTwo_iI_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeSevenMember_zvgThU6HO384" title="Range of exercise prices, Maximum">12.00</span></td><td> </td> <td style="text-align: left"> </td><td id="xdx_98D_eus-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions_iI_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeSevenMember_zHVtyeTxkZ11" style="text-align: right" title="Number of options">20,000</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_986_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTermTwo_iI_dtY_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeSevenMember_zKmQWsx2h8r" style="text-align: right">3.9</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left">$</td><td id="xdx_98E_eus-gaap--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1_iI_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeSevenMember_zfsRmicqlmh6" style="text-align: right" title="Weighted average exercise price">11.29</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_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeEightMember_zINKaEJhv6H1" title="Range of exercise prices, Minimum">12.01</span>-$<span id="xdx_90D_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimitTwo_iI_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeEightMember_zu4kt9e8QiUd" title="Range of exercise prices, Maximum">13.00</span></td><td> </td> <td style="text-align: left"> </td><td id="xdx_986_eus-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions_iI_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeEightMember_zAluJnQJ7VPb" style="text-align: right" title="Number of options">55,000</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_98C_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTermTwo_iI_dtY_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeEightMember_z8KV5obut9t1" style="text-align: right">7.7</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left">$</td><td id="xdx_98D_eus-gaap--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1_iI_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeEightMember_zl2FEgsSfa9j" style="text-align: right" title="Weighted average exercise price">12.35</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_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeNineMember_zgPS1ISZ5CFa" title="Range of exercise prices, Minimum">13.01</span>-$<span id="xdx_902_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimitTwo_iI_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeNineMember_zf4CoU9vuOP7" title="Range of exercise prices, Maximum">14.00</span></td><td> </td> <td style="text-align: left"> </td><td id="xdx_98D_eus-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions_iI_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeNineMember_zjVobn7lwCC" style="text-align: right" title="Number of options">30,000</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_98E_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTermTwo_iI_dtY_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeNineMember_zOayUgK0qf4h" style="text-align: right">8.9</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left">$</td><td id="xdx_98E_eus-gaap--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1_iI_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeNineMember_zHvLPs7U2DH9" style="text-align: right" title="Weighted average exercise price">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_900_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimitTwo_iI_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTenMember_z4CxlOTWwxv4" title="Range of exercise prices, Minimum">16.01</span>-$<span id="xdx_900_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimitTwo_iI_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTenMember_zacisVDBZOIl" title="Range of exercise prices, Maximum">17.00</span></td><td> </td> <td style="text-align: left"> </td><td id="xdx_986_eus-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions_iI_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTenMember_zIL2TDCyUDHg" style="text-align: right" title="Number of options">30,000</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_98F_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTermTwo_iI_dtY_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTenMember_z5VChf5vCFl6" style="text-align: right">7.9</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left">$</td><td id="xdx_984_eus-gaap--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1_iI_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTenMember_zjwDO4zqw27d" style="text-align: right" title="Weighted average exercise price">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_909_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimitTwo_iI_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeElevenMember_zNGIo3DxvTBf" title="Range of exercise prices, Minimum">19.01</span>-$<span id="xdx_900_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimitTwo_iI_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeElevenMember_zZrfpdSPMh61" 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_989_eus-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions_iI_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeElevenMember_zs0OWd6mQPth" style="border-bottom: Black 1pt solid; text-align: right" title="Number of options">18,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_987_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTermTwo_iI_dtY_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeElevenMember_zDX7sI7FYEgl" style="border-bottom: Black 1pt solid; text-align: right">8.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_982_eus-gaap--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1_iI_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeElevenMember_zUusjgw15Sj3" style="border-bottom: Black 1pt solid; text-align: right" title="Weighted average exercise price">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_903_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimitTwo_iI_c20180531_zgvtFuUJdrFg" title="Range of exercise prices, Minimum">2.00</span>-$<span id="xdx_90D_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimitTwo_iI_c20180531_z2TrewboINB3" 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_988_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iI_c20180531_zAeWUxqFXZO4" style="border-bottom: Black 1pt solid; text-align: right">271,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_98E_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTermTwo_iI_dtY_c20180531_zmJaZ8xbCzSg" 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_986_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iI_c20180531_zMm45laaKCI8" style="border-bottom: Black 1pt solid; text-align: right">11.33</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> 160000 3.20 2.86 <table cellpadding="0" cellspacing="0" id="xdx_881_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValueTableTextBlock_zflSlUhvWHTc" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%; margin-left: auto; margin-right: auto" 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_496_20180601__20190531_zPWytHJf8328" style="color: navy; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2019</td><td style="padding-bottom: 1pt"> </td> <td colspan="3" id="xdx_495_20170601__20180531_zsFTWHRd6gt" style="text-align: center; border-bottom: Black 1pt solid">2018</td></tr> <tr id="xdx_403_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_dp_zEJdGSsvIh8i" 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.179</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.179</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_984_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_dtY_c20180601__20190531_zwUF2azQoog4" style="color: navy; font-weight: bold; text-align: right">3.7</td><td style="color: navy; font-weight: bold; text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_98A_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_dtY_c20170601__20180531_zltZxSQbnzM" style="text-align: right">3.7</td><td style="text-align: left"> </td></tr> <tr id="xdx_40A_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_dp_zmR0ASG0YL5i" 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">30</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> <tr id="xdx_409_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_dp_zyPyLoPY6Yyc" 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.02179 0.02179 P3Y8M12D P3Y8M12D 0.30 0.30 0 0 <table cellpadding="0" cellspacing="0" id="xdx_889_eus-gaap--ScheduleOfStockOptionsRollForwardTableTextBlock_zz627bsm1CP3" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%; margin-left: auto; margin-right: auto" 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="font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Shares</td><td style="font-weight: bold; padding-bottom: 1pt"> </td> <td colspan="3" style="font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Weighted Average Exercise Price</td><td style="font-weight: bold; padding-bottom: 1pt"> </td> <td colspan="3" style="font-weight: bold; text-align: center; border-bottom: Black 1pt solid">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, 2017</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_c20170531_zXBKnWQP5918" style="width: 11%; color: navy; font-weight: bold; text-align: right" title="Stock options outstanding">253,500</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_981_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iI_c20170531_zFQpVg92XBVa" style="width: 11%; text-align: right">10.93</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_c20170531_zhUu1YOvkUm4" style="width: 11%; text-align: right" title="Intrinsic value of options outstanding">817,629</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_982_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_c20170601__20180531_zNTdhN5Tyt6" style="color: navy; font-weight: bold; text-align: right" title="Options granted">43,750</td><td style="color: navy; font-weight: bold; text-align: left"> </td><td> </td> <td style="text-align: left">$</td><td id="xdx_98F_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20170601__20180531_zqxD9SxUN336" style="text-align: right" title="Weighted average exercise price of options granted">11.15</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 exercised</td><td style="color: navy; font-weight: bold; padding-bottom: 1pt"> </td> <td style="color: navy; font-weight: bold; text-align: left"> </td><td id="xdx_98F_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_c20170601__20180531_zy5a5Nd6R0Ti" style="color: navy; font-weight: bold; text-align: right" title="Stock options exercised">24,750</td><td style="padding-bottom: 1pt; color: navy; font-weight: bold; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="text-align: left">$</td><td id="xdx_98B_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_c20170601__20180531_zLe9ZUDUs6G9" style="text-align: right" title="Weighted average exercise price of options exercised">6.67</td><td style="padding-bottom: 1pt; text-align: left"> </td><td style="font-size: 12pt; padding-bottom: 1pt"> </td> <td style="font-size: 12pt; text-align: left"> </td><td style="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">     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_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_c20170601__20180531_z2sljEUlyQye" style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: right" title="Stock options expired">750</td><td style="padding-bottom: 1pt; color: navy; font-weight: bold; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="text-align: left">$</td><td id="xdx_98F_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice_c20170601__20180531_zFm2XXhPE6Ad" style="text-align: right" title="Weighted average exercise price of options expired">19.26</td><td style="padding-bottom: 1pt; text-align: left"> </td><td style="font-size: 12pt; padding-bottom: 1pt"> </td> <td style="font-size: 12pt; text-align: left"> </td><td style="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, 2018</td><td style="color: navy; font-weight: bold"> </td> <td style="color: navy; font-weight: bold; text-align: left"> </td><td id="xdx_980_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iI_c20180531_zFWyWkrxHN34" style="color: navy; font-weight: bold; text-align: right">271,750</td><td style="color: navy; font-weight: bold; text-align: left"> </td><td> </td> <td style="text-align: left">$</td><td id="xdx_982_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iI_c20180531_zaflrnEwSdy9" style="text-align: right">11.33</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left">$</td><td id="xdx_987_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_iI_c20180531_zEfFIbFyPf79" style="text-align: right">304,252</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_987_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_c20180601__20190531_zSQNjWbo9e81" style="color: navy; font-weight: bold; text-align: right">43,000</td><td style="color: navy; font-weight: bold; text-align: left"> </td><td> </td> <td style="text-align: left">$</td><td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20180601__20190531_zIIgzrbWmj51" style="text-align: right">11.90</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_98A_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_c20180601__20190531_zh4NNuwqLfqj" style="color: navy; font-weight: bold; text-align: right" title="Stock options exercised">10,750</td><td style="color: navy; font-weight: bold; text-align: left"> </td><td> </td> <td style="text-align: left">$</td><td id="xdx_98F_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_c20180601__20190531_z3ZJgvHExzq2" style="text-align: right">3.05</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_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_c20180601__20190531_z2sljEUlyQye" style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: right" title="Stock options expired">80,000</td><td style="padding-bottom: 1pt; color: navy; font-weight: bold; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="text-align: left">$</td><td id="xdx_98F_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice_c20180601__20190531_zFm2XXhPE6Ad" style="text-align: right" title="Weighted average exercise price of options expired">11.68</td><td style="padding-bottom: 1pt; text-align: left"> </td><td style="font-size: 12pt; padding-bottom: 1pt"> </td> <td style="font-size: 12pt; text-align: left"> </td><td style="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; padding-bottom: 1pt">Outstanding - May 31, 2019</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_98D_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iI_c20190531_z5tmfeQwviE1" style="border-bottom: Black 1pt solid; color: navy; font-weight: bold; text-align: right">224,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_98D_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iI_c20190531_zivfBmVrMdFb" style="border-bottom: Black 1pt solid; text-align: right">11.71</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_983_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_iI_c20190531_z2CpGSNsZpW6" style="border-bottom: Black 1pt solid; text-align: right">228,132</td><td style="padding-bottom: 1pt; text-align: left"> </td></tr> </table> 253500 10.93 817629 43750 11.15 24750 6.67 750 19.26 271750 11.33 304252 43000 11.90 10750 3.05 80000 11.68 224000 11.71 228132 11.08 10.26 21500 32830 164983 <table cellpadding="0" cellspacing="0" id="xdx_89B_eus-gaap--ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock_zq55t9kB3UQk" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%; margin-left: auto; margin-right: auto" 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; width: 46%">Outstanding and Exercisable</td><td style="padding-bottom: 1pt; width: 5%"> </td> <td style="border-bottom: Black 1pt solid; text-align: left; width: 1%"> </td><td style="border-bottom: Black 1pt solid; text-align: right; width: 11%"> </td><td style="padding-bottom: 1pt; text-align: left; width: 1%"> </td><td style="padding-bottom: 1pt; width: 5%"> </td> <td style="border-bottom: Black 1pt solid; text-align: left; width: 1%"> </td><td style="border-bottom: Black 1pt solid; text-align: right; width: 11%"> </td><td style="padding-bottom: 1pt; text-align: left; width: 1%"> </td><td style="padding-bottom: 1pt; width: 5%"> </td> <td style="border-bottom: Black 1pt solid; text-align: left; width: 1%"> </td><td style="border-bottom: Black 1pt solid; text-align: right; width: 11%"> </td><td style="padding-bottom: 1pt; text-align: left; width: 1%"> </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: White"> <td style="text-align: center">$<span id="xdx_906_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimitTwo_iI_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTwoMember_zUiKbtJGgzR9" title="Range of exercise prices, Minimum">5.01</span>-$<span id="xdx_90F_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimitTwo_iI_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTwoMember_z7H2CFyDV1Fg" title="Range of exercise prices, Maximum">6.00</span></td><td> </td> <td style="text-align: left"> </td><td id="xdx_986_eus-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions_iI_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTwoMember_zwmwlN4wxzed" style="text-align: right">10,000</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_98C_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTermTwo_iI_dtY_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTwoMember_ztm86S5BwNAj" style="text-align: right">1.9</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left">$</td><td id="xdx_98B_eus-gaap--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1_iI_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTwoMember_z4DpObLegKHg" style="text-align: right">5.69</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_90C_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimitTwo_iI_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeThreeMember_zxuK3116ctRc" title="Range of exercise prices, Minimum">6.01</span>-$<span id="xdx_906_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimitTwo_iI_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeThreeMember_zfpiQnt02kza" title="Range of exercise prices, Maximum">7.00</span></td><td> </td> <td style="text-align: left"> </td><td id="xdx_98A_eus-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions_iI_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeThreeMember_z9ImVvsJiGy6" style="text-align: right">10,000</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_981_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTermTwo_iI_dtY_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeThreeMember_z4RDfM6F9vwl" style="text-align: right">0.9</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left">$</td><td id="xdx_98D_eus-gaap--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1_iI_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeThreeMember_z2VOosJmAky5" style="text-align: right">6.35</td><td style="text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: center">$<span id="xdx_901_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimitTwo_iI_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeFourMember_zWZNlI9ERGDh" title="Range of exercise prices, Minimum">7.01</span>-$<span id="xdx_907_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimitTwo_iI_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeFourMember_zTLE9tYqbjG4" title="Range of exercise prices, Maximum">8.00</span></td><td> </td> <td style="text-align: left"> </td><td id="xdx_98E_eus-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions_iI_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeFourMember_zBWtMbM5Fuw9" style="text-align: right">15,000</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_981_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTermTwo_iI_dtY_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeFourMember_znQTSpTzRS9e" 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_eus-gaap--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1_iI_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeFourMember_zN6OWeCBC9o8" style="text-align: right">7.74</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--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimitTwo_iI_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeFiveMember_zbmXzDp9rXce" title="Range of exercise prices, Minimum">8.01</span>-$<span id="xdx_90F_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimitTwo_iI_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeFiveMember_zh1gvY83QJPj" title="Range of exercise prices, Maximum">9.00</span></td><td> </td> <td style="text-align: left"> </td><td id="xdx_980_eus-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions_iI_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeFiveMember_zRq0ANTkbbme" style="text-align: right">27,250</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_986_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTermTwo_iI_dtY_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeFiveMember_zIlUdFASGEr8" style="text-align: right">4.6</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left">$</td><td id="xdx_988_eus-gaap--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1_iI_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeFiveMember_z9RIxUXuYB51" style="text-align: right">8.69</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--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimitTwo_iI_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeSixMember_zBGDspEPQ6d5" title="Range of exercise prices, Minimum">10.01</span>-$<span id="xdx_90F_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimitTwo_iI_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeSixMember_zbchtHmniyR9" title="Range of exercise prices, Maximum">11.00</span></td><td> </td> <td style="text-align: left"> </td><td id="xdx_986_eus-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions_iI_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeSixMember_zArm23SrJCo1" 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--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTermTwo_iI_dtY_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeSixMember_zCUiGrm0TTV3" style="text-align: right">8.9</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left">$</td><td id="xdx_982_eus-gaap--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1_iI_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeSixMember_zuZnpQkCyky7" style="text-align: right">10.30</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_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeSevenMember_zBkgh0yF7Nne" title="Range of exercise prices, Minimum">11.01</span>-$<span id="xdx_900_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimitTwo_iI_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeSevenMember_zD0yBWM74WI2" title="Range of exercise prices, Maximum">12.00</span></td><td> </td> <td style="text-align: left"> </td><td id="xdx_986_eus-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions_iI_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeSevenMember_zJXsufPOk5B2" style="text-align: right">53,000</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_98E_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTermTwo_iI_dtY_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeSevenMember_zPcQyECWF1F1" style="text-align: right">8.4</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left">$</td><td id="xdx_981_eus-gaap--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1_iI_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeSevenMember_zexZCUb2Zn09" style="text-align: right">11.79</td><td style="text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: center">$<span id="xdx_907_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimitTwo_iI_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeEightMember_zOaxVQL8x5V7" title="Range of exercise prices, Minimum">12.01</span>-$<span id="xdx_90B_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimitTwo_iI_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeEightMember_zLUz7DLd6SE6" title="Range of exercise prices, Maximum">13.00</span></td><td> </td> <td style="text-align: left"> </td><td id="xdx_987_eus-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions_iI_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeEightMember_zQAC4498iqRh" style="text-align: right">45,000</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_98A_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTermTwo_iI_dtY_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeEightMember_zvtCxkpcJfV9" style="text-align: right">6.9</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left">$</td><td id="xdx_98E_eus-gaap--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1_iI_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeEightMember_zkVvs56Mnuh4" style="text-align: right">12.38</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_90C_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimitTwo_iI_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeNineMember_zzznqpBrbsXa" title="Range of exercise prices, Minimum">13.01</span>-$<span id="xdx_908_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimitTwo_iI_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeNineMember_zufwLnKfiJA4" title="Range of exercise prices, Maximum">14.00</span></td><td> </td> <td style="text-align: left"> </td><td id="xdx_98E_eus-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions_iI_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeNineMember_zwm0tIyG5iTi" style="text-align: right">15,000</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_98E_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTermTwo_iI_dtY_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeNineMember_zkmIBwOMPNN3" style="text-align: right">7.9</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left">$</td><td id="xdx_986_eus-gaap--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1_iI_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeNineMember_zPWPJp82Fvhc" 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_90F_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimitTwo_iI_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTenMember_z8G2GTTTWHwd" title="Range of exercise prices, Minimum">16.01</span>-$<span id="xdx_908_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimitTwo_iI_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTenMember_zA1ahEzw0Wm8" title="Range of exercise prices, Maximum">17.00</span></td><td> </td> <td style="text-align: left"> </td><td id="xdx_980_eus-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions_iI_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTenMember_zkIdf2vMwdS7" style="text-align: right">15,000</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_989_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTermTwo_iI_dtY_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTenMember_zxHTJa4Vf4K4" style="text-align: right">6.9</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left">$</td><td id="xdx_98B_eus-gaap--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1_iI_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTenMember_zVaQdHj2z0L" 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_90D_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimitTwo_iI_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeElevenMember_zT69hoKaiOp2" title="Range of exercise prices, Minimum">19.01</span>-$<span id="xdx_909_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimitTwo_iI_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeElevenMember_zLSFFDNQIK9i" 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_981_eus-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions_iI_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeElevenMember_z9XJFV7eKHje" style="border-bottom: Black 1pt solid; text-align: right">18,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_98A_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTermTwo_iI_dtY_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeElevenMember_zEitIHnTuKMi" style="border-bottom: Black 1pt solid; text-align: right">7.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_987_eus-gaap--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1_iI_c20190531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeElevenMember_zmCLbgJeY3Uk" 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_902_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimitTwo_iI_c20190531_z1Y7eKtMHgcb" title="Range of exercise prices, Minimum"><span title="Range of exercise prices, Minimum">5.00</span></span>-$<span id="xdx_90C_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimitTwo_iI_c20190531_zKR0JloigQja" 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_986_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iI_c20190531_zclWJJUuDRA2" style="border-bottom: Black 1pt solid; text-align: right">224,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--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTermTwo_iI_dtY_c20190531_zyPNg7Gaa3rd" 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_98A_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iI_c20190531_znqEBl8ZAWo" style="border-bottom: Black 1pt solid; text-align: right">11.71</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> <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 following table summarizes information about stock options outstanding at May 31, 2018:</p> <p style="font: 12pt Times New Roman, Times, Serif; margin: 0; text-align: justify"> </p> <table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%; margin-left: auto; margin-right: auto"> <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_908_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimitTwo_iI_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeOneMember_zUgSv0C6hs55" title="Range of exercise prices, Minimum">2.00</span>-$<span id="xdx_90A_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimitTwo_iI_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeOneMember_zSc7ZYgtPBt1" title="Range of exercise prices, Maximum">3.00</span></td><td style="width: 5%"> </td> <td style="width: 1%; text-align: left"> </td><td id="xdx_987_eus-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions_iI_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeOneMember_zqj5SVzGw0ej" style="width: 11%; text-align: right" title="Number of options">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_dtY_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeOneMember_zP2ks7KZLtb8" 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_986_eus-gaap--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1_iI_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeOneMember_zZUpX9R2w2Yh" style="width: 11%; text-align: right" title="Weighted average exercise price">2.83</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_90E_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimitTwo_iI_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTwoMember_z8xTiJCPCMql" title="Range of exercise prices, Minimum">5.01</span>-$<span id="xdx_908_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimitTwo_iI_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTwoMember_zEcYXjeQbNt3" title="Range of exercise prices, Maximum">6.00</span></td><td> </td> <td style="text-align: left"> </td><td id="xdx_980_eus-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions_iI_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTwoMember_zD9NvGHQTPOg" style="text-align: right" title="Number of options">15,000</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_985_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTermTwo_iI_dtY_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTwoMember_zTK7DdZmTSS3" style="text-align: right">2.9</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left">$</td><td id="xdx_988_eus-gaap--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1_iI_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTwoMember_zwt3aG2B3a6b" style="text-align: right" title="Weighted average exercise price">5.69</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_90F_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimitTwo_iI_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeThreeMember_z3AGQcctyOEi" title="Range of exercise prices, Minimum">6.01</span>-$<span id="xdx_900_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimitTwo_iI_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeThreeMember_z9GUTuI6QmQ3" title="Range of exercise prices, Maximum">7.00</span></td><td> </td> <td style="text-align: left"> </td><td id="xdx_987_eus-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions_iI_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeThreeMember_zfMoWFXwH0R8" style="text-align: right" title="Number of options">15,750</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_982_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTermTwo_iI_dtY_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeThreeMember_zPrQ7kaMMef2" style="text-align: right">1.8</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left">$</td><td id="xdx_98A_eus-gaap--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1_iI_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeThreeMember_zM34xsftuRf9" style="text-align: right" title="Weighted average exercise price">6.34</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--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimitTwo_iI_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeFourMember_zdfmTfXFenq" title="Range of exercise prices, Minimum">7.01</span>-$<span id="xdx_902_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimitTwo_iI_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeFourMember_zG4NDHoAd2B5" title="Range of exercise prices, Maximum">8.00</span></td><td> </td> <td style="text-align: left"> </td><td id="xdx_98D_eus-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions_iI_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeFourMember_zKCubqLe8fF3" style="text-align: right" title="Number of options">20,000</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_989_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTermTwo_iI_dtY_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeFourMember_ztBpxGRDBwU1" style="text-align: right">4.9</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left">$</td><td id="xdx_98F_eus-gaap--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1_iI_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeFourMember_zm3eh2J10FFg" style="text-align: right" title="Weighted average exercise price">7.74</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_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeFiveMember_zs8YoFgge3m6" title="Range of exercise prices, Minimum">8.01</span>-$<span id="xdx_906_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimitTwo_iI_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeFiveMember_z1UaxDQk6URl" title="Range of exercise prices, Maximum">9.00</span></td><td> </td> <td style="text-align: left"> </td><td id="xdx_983_eus-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions_iI_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeFiveMember_zKzrl4uThDY4" style="text-align: right" title="Number of options">32,250</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_98D_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTermTwo_iI_dtY_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeFiveMember_zNyONv0DRzb6" style="text-align: right">5.7</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left">$</td><td id="xdx_985_eus-gaap--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1_iI_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeFiveMember_z4zRBOXcNbq5" style="text-align: right" title="Weighted average exercise price">8.74</td><td style="text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: center">$<span title="Range of exercise prices, Minimum"><span id="xdx_901_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimitTwo_iI_dtY_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeSixMember_zLbT6wExqvX5" title="Range of exercise prices, Minimum">10.01</span></span>-$<span title="Range of exercise prices, Maximum"><span id="xdx_907_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimitTwo_iI_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeSixMember_zW5SkDSJlDCf" title="Range of exercise prices, Maximum">11.00</span></span></td><td> </td> <td style="text-align: left"> </td><td id="xdx_98A_eus-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions_iI_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeSixMember_zXXJTsKbzaW2" style="text-align: right" title="Number of options">25,000</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_988_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTermTwo_iI_dtY_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeSixMember_zkLWDgfxZZzg" style="text-align: right">9.9</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left">$</td><td id="xdx_987_eus-gaap--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1_iI_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeSixMember_zQLpeyjKn2M1" style="text-align: right" title="Weighted average exercise price">10.30</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_900_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimitTwo_iI_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeSevenMember_z9ZVfQR6Fu1g" title="Range of exercise prices, Minimum">11.01</span>-$<span id="xdx_904_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimitTwo_iI_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeSevenMember_zvgThU6HO384" title="Range of exercise prices, Maximum">12.00</span></td><td> </td> <td style="text-align: left"> </td><td id="xdx_98D_eus-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions_iI_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeSevenMember_zHVtyeTxkZ11" style="text-align: right" title="Number of options">20,000</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_986_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTermTwo_iI_dtY_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeSevenMember_zKmQWsx2h8r" style="text-align: right">3.9</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left">$</td><td id="xdx_98E_eus-gaap--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1_iI_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeSevenMember_zfsRmicqlmh6" style="text-align: right" title="Weighted average exercise price">11.29</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_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeEightMember_zINKaEJhv6H1" title="Range of exercise prices, Minimum">12.01</span>-$<span id="xdx_90D_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimitTwo_iI_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeEightMember_zu4kt9e8QiUd" title="Range of exercise prices, Maximum">13.00</span></td><td> </td> <td style="text-align: left"> </td><td id="xdx_986_eus-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions_iI_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeEightMember_zAluJnQJ7VPb" style="text-align: right" title="Number of options">55,000</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_98C_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTermTwo_iI_dtY_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeEightMember_z8KV5obut9t1" style="text-align: right">7.7</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left">$</td><td id="xdx_98D_eus-gaap--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1_iI_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeEightMember_zl2FEgsSfa9j" style="text-align: right" title="Weighted average exercise price">12.35</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_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeNineMember_zgPS1ISZ5CFa" title="Range of exercise prices, Minimum">13.01</span>-$<span id="xdx_902_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimitTwo_iI_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeNineMember_zf4CoU9vuOP7" title="Range of exercise prices, Maximum">14.00</span></td><td> </td> <td style="text-align: left"> </td><td id="xdx_98D_eus-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions_iI_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeNineMember_zjVobn7lwCC" style="text-align: right" title="Number of options">30,000</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_98E_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTermTwo_iI_dtY_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeNineMember_zOayUgK0qf4h" style="text-align: right">8.9</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left">$</td><td id="xdx_98E_eus-gaap--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1_iI_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeNineMember_zHvLPs7U2DH9" style="text-align: right" title="Weighted average exercise price">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_900_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimitTwo_iI_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTenMember_z4CxlOTWwxv4" title="Range of exercise prices, Minimum">16.01</span>-$<span id="xdx_900_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimitTwo_iI_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTenMember_zacisVDBZOIl" title="Range of exercise prices, Maximum">17.00</span></td><td> </td> <td style="text-align: left"> </td><td id="xdx_986_eus-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions_iI_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTenMember_zIL2TDCyUDHg" style="text-align: right" title="Number of options">30,000</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_98F_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTermTwo_iI_dtY_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTenMember_z5VChf5vCFl6" style="text-align: right">7.9</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left">$</td><td id="xdx_984_eus-gaap--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1_iI_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTenMember_zjwDO4zqw27d" style="text-align: right" title="Weighted average exercise price">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_909_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimitTwo_iI_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeElevenMember_zNGIo3DxvTBf" title="Range of exercise prices, Minimum">19.01</span>-$<span id="xdx_900_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimitTwo_iI_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeElevenMember_zZrfpdSPMh61" 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_989_eus-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions_iI_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeElevenMember_zs0OWd6mQPth" style="border-bottom: Black 1pt solid; text-align: right" title="Number of options">18,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_987_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTermTwo_iI_dtY_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeElevenMember_zDX7sI7FYEgl" style="border-bottom: Black 1pt solid; text-align: right">8.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_982_eus-gaap--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1_iI_c20180531__us-gaap--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis__custom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeElevenMember_zUusjgw15Sj3" style="border-bottom: Black 1pt solid; text-align: right" title="Weighted average exercise price">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_903_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimitTwo_iI_c20180531_zgvtFuUJdrFg" title="Range of exercise prices, Minimum">2.00</span>-$<span id="xdx_90D_ecustom--ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimitTwo_iI_c20180531_z2TrewboINB3" 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_988_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iI_c20180531_zAeWUxqFXZO4" style="border-bottom: Black 1pt solid; text-align: right">271,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_98E_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTermTwo_iI_dtY_c20180531_zmJaZ8xbCzSg" 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_986_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iI_c20180531_zMm45laaKCI8" style="border-bottom: Black 1pt solid; text-align: right">11.33</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> 5.01 6.00 10000 1.9 5.69 6.01 7.00 10000 0.9 6.35 7.01 8.00 15000 3.9 7.74 8.01 9.00 27250 4.6 8.69 10.01 11.00 15000 8.9 10.30 11.01 12.00 53000 8.4 11.79 12.01 13.00 45000 6.9 12.38 13.01 14.00 15000 7.9 13.80 16.01 17.00 15000 6.9 16.40 19.01 20.00 18750 7.2 19.26 5.00 20.00 224000 6.5 11.71 2.00 3.00 10000 0.9 2.83 5.01 6.00 15000 2.9 5.69 6.01 7.00 15750 1.8 6.34 7.01 8.00 20000 4.9 7.74 8.01 9.00 32250 5.7 8.74 10.01 11.00 25000 9.9 10.30 11.01 12.00 20000 3.9 11.29 12.01 13.00 55000 7.7 12.35 13.01 14.00 30000 8.9 13.80 16.01 17.00 30000 7.9 16.40 19.01 20.00 18750 8.2 19.26 2.00 20.00 271750 6.5 11.33 <p id="xdx_807_eus-gaap--PreferredStockTextBlock_zOitmefkSWSk" style="color: navy; font: 10pt Times New Roman, Times, Serif; margin: 0"><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_903_eus-gaap--PreferredStockSharesAuthorized_iI_c20190531_zNNfoSXaGyv1" 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_zasxaSwSC2xk" style="color: navy; font: 10pt Times New Roman, Times, Serif; margin: 0; 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_90F_eus-gaap--TreasuryStockShares_iI_c20190531_zT8XyX8heSTj" title="Treasury Stock"><span id="xdx_901_eus-gaap--TreasuryStockShares_iI_c20180531_zH5hAIRI4iGl" title="Treasury Stock"><span id="xdx_902_eus-gaap--TreasuryStockShares_iI_c20190531_zXmE4BmE22S5" title="Treasury Stock">550,872</span></span></span> at May 31, 2019 and 2018.</p> 550872 550872 550872 <p id="xdx_801_eus-gaap--ScheduleOfCostsOfRetirementPlansTableTextBlock_zUpGjarztB81" 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_904_eus-gaap--PensionExpense_c20180601__20190531_z6tJXv4ezU69" title="Retirement plan expense">$71,222</span> and <span id="xdx_902_eus-gaap--PensionExpense_c20170601__20180531_z9gsTS09xFa" title="Retirement plan expense">$74,279</span> for the years ended May 31, 2019 and 2018.</p> 71222 74279 <p id="xdx_805_eus-gaap--FairValueOfFinancialInstrumentsPolicy_zcpqJXvSg0Of" style="color: navy; font: 10pt Times New Roman, Times, Serif; margin: 0; 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_809_eus-gaap--CashFlowSupplementalDisclosuresTextBlock_z9m87LeIzUHh" style="color: navy; font: 10pt Times New Roman, Times, Serif; margin: 0; 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_883_eus-gaap--ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock_zlUQKLqfKzId" style="font: 12pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%; margin-left: auto; margin-right: auto" 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_497_20180601__20190531_zojL6Ion4lQh" style="font-size: 10pt; color: navy; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2019</td><td style="font-size: 10pt; padding-bottom: 1pt"> </td> <td colspan="3" id="xdx_493_20170601__20180531_zZ9FEvcy6EMl" style="font-size: 10pt; text-align: center; border-bottom: Black 1pt solid">2018</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_40A_eus-gaap--InterestPaid_dn_z6bXr0YiwnR2" 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="width: 1%; border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: left"> </td><td style="width: 12%; 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="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="width: 1%; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"> </td><td style="width: 12%; border-bottom: Black 1pt solid; 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_40B_eus-gaap--IncomeTaxesPaid_zLboWaPP9BUi" 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">550,498</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">61,615</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left"> </td></tr> </table> <table cellpadding="0" cellspacing="0" id="xdx_883_eus-gaap--ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock_zlUQKLqfKzId" style="font: 12pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%; margin-left: auto; margin-right: auto" 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_497_20180601__20190531_zojL6Ion4lQh" style="font-size: 10pt; color: navy; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2019</td><td style="font-size: 10pt; padding-bottom: 1pt"> </td> <td colspan="3" id="xdx_493_20170601__20180531_zZ9FEvcy6EMl" style="font-size: 10pt; text-align: center; border-bottom: Black 1pt solid">2018</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_40A_eus-gaap--InterestPaid_dn_z6bXr0YiwnR2" 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="width: 1%; border-bottom: Black 1pt solid; font-size: 10pt; color: navy; font-weight: bold; text-align: left"> </td><td style="width: 12%; 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="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="width: 1%; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"> </td><td style="width: 12%; border-bottom: Black 1pt solid; 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_40B_eus-gaap--IncomeTaxesPaid_zLboWaPP9BUi" 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">550,498</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">61,615</td><td style="padding-bottom: 1pt; font-size: 10pt; text-align: left"> </td></tr> </table> 0 0 550498 61615 XML 14 R1.htm IDEA: XBRL DOCUMENT v3.19.2
Cover - USD ($)
12 Months Ended
May 31, 2019
Aug. 02, 2019
Nov. 30, 2018
Cover [Abstract]      
Document Type 10-K    
Amendment Flag false    
Document Annual Report true    
Document Period End Date May 31, 2019    
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-0748    
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    
Elected Not To Use the Extended Transition Period false    
Entity Shell Company false    
Entity Public Float   $ 37,900,000 $ 43,262,000
Entity Common Stock, Shares Outstanding   3,478,866  
Document Fiscal Year Focus 2019    
Document Fiscal Period Focus FY    
XML 15 R2.htm IDEA: XBRL DOCUMENT v3.19.2
Consolidated Balance Sheets - USD ($)
May 31, 2019
May 31, 2018
Current assets:    
Cash and cash equivalents $ 5,071,822 $ 2,858,323
Short-term investments 1,055,591 1,039,082
Accounts receivable, net 5,279,302 6,265,864
Inventory 11,239,331 11,317,775
Prepaid expenses 312,160 244,643
Prepaid income taxes 237,017 202,519
Costs and estimated earnings in excess of billings 7,572,490 6,356,963
Total current assets 30,767,713 28,285,169
Maintenance and other inventory, net 731,877 885,651
Property and equipment, net 9,317,442 9,935,625
Cash value of life insurance, net 190,749 185,730
Deferred income taxes 189,115 219,115
Assets 41,196,896 39,511,290
Current liabilities:    
Accounts payable 1,402,692 1,460,175
Accrued commissions 1,309,358 983,260
Other accrued expenses 1,532,271 1,412,502
Billings in excess of costs and estimated earnings 633,703 2,043,002
Total current liabilities 4,878,024 5,898,939
Stockholders' Equity:    
Common stock, $ .025 par value, authorized 8,000,000 shares,    issued 4,029,431 and 4,017,139 shares 100,735 100,428
Paid-in capital 9,538,892 9,382,202
Retained earnings 29,508,604 26,959,080
Stockholders’ equity before treasury stock 39,148,231 36,441,710
Treasury stock - 550,872 shares at cost (2,829,359) (2,829,359)
Total stockholders' equity 36,318,872 33,612,351
Total liabilities and stockholders’ equity $ 41,196,896 $ 39,511,290
XML 16 R3.htm IDEA: XBRL DOCUMENT v3.19.2
Consolidated Balance Sheets (Parenthetical) - $ / shares
May 31, 2019
May 31, 2018
Authorized shares 8,000,000 8,000,000
Issued shares 4,029,431 4,017,139
Common Stock [Member]    
Par value $ 0.025 $ 0.025
XML 17 R4.htm IDEA: XBRL DOCUMENT v3.19.2
Consolidated Statements of Income - USD ($)
12 Months Ended
May 31, 2019
May 31, 2018
Income Statement [Abstract]    
Sales, net $ 33,619,031 $ 24,363,967
Cost of goods sold 24,571,255 18,439,760
Gross profit 9,047,776 5,924,207
Selling, general and administrative expenses 6,045,984 5,276,574
Operating income 3,001,792 647,633
Other income    
Interest, net 69,006 26,861
Miscellaneous (11,273) 1,876
Total other income 57,733 28,737
Income before provision for income taxes 3,059,525 676,370
Provision for income taxes 515,000 233,000
Net income $ 2,544,525 $ 443,370
Basic and diluted earnings per common share $ 0.73 $ 0.13
XML 18 R5.htm IDEA: XBRL DOCUMENT v3.19.2
Consolidated Statements of Stockholders Equity - USD ($)
Common Stock [Member]
Additional Paid-in Capital [Member]
Retained Earnings [Member]
Treasury Stock [Member]
Beginning balance, value at May. 31, 2017 $ 99,763 $ 9,070,278 $ 26,515,710 $ (2,829,359)
Net income 443,370
Common stock issued for employee stock option plan 619 164,364
Common stock issued for employee stock purchase plan 46 22,629
Stock options issued for services 124,931
Ending balance, value at May. 31, 2018 100,428 9,382,202 26,959,080 (2,829,359)
Net income 2,544,525
Common stock issued for employee stock option plan 269 32,561
Common stock issued for employee stock purchase plan 38 17,473
Stock options issued for services 106,656
Adjustments Due to ASU 2014-09 at May. 31, 2018 4,999
Ending balance, value at May. 31, 2019 $ 100,735 $ 9,538,892 $ 29,508,604 $ (2,829,359)
XML 19 R6.htm IDEA: XBRL DOCUMENT v3.19.2
Consolidated Statements of Cash Flows - USD ($)
12 Months Ended
May 31, 2019
May 31, 2018
operating activities:    
Net income $ 2,544,525 $ 443,370
Adjustments to reconcile net income to net cash flows from    
Depreciation 1,072,959 995,924
Stock options issued for services 106,656 124,931
Loss on disposal of property and equipment 18,061
Provision for inventory obsolescence 175,000 60,000
Deferred income taxes 30,000 210,000
Changes in other current assets and liabilities:    
Accounts receivable 986,562 (3,720,091)
Inventory 1,158,334 103,963
Prepaid expenses (67,517) 18,931
Prepaid income taxes (34,498) (38,615)
Costs and estimated earnings in excess of billings (1,542,036) 511,430
Accounts payable (57,483) 130,854
Accrued commissions 326,098 136,319
Other accrued expenses (674,944) 580,442
Billings in excess of costs and estimated earnings (1,384,194) 747,013
Net operating activities 2,657,523 304,471
Investing activities:    
Acquisition of property and equipment (472,837) (936,833)
Increase in short-term investments (16,509) (16,756)
Increase in cash value of life insurance (5,019) (5,151)
Net investing activities (494,365) (958,740)
Financing activities:    
Proceeds from issuance of common stock 50,341 187,658
Net financing activities 50,341 187,658
Net change in cash and cash equivalents 2,213,499 (466,611)
Cash and cash equivalents - beginning 2,858,323 3,324,934
Cash and cash equivalents - ending $ 5,071,822 $ 2,858,323
XML 20 R7.htm IDEA: XBRL DOCUMENT v3.19.2
1. Summary of Significant Accounting Policies:
12 Months Ended
May 31, 2019
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.

 

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

 

74% of the Company's 2018 revenue was generated from sales to customers in the United States and 21% was from sales to customers in Asia. Remaining sales were to customers in other countries in North America, Europe, Australia 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, 2019 include “available for sale” corporate bonds stated at fair value, which approximates cost. The bonds (7) mature on various dates during the period May 2020 to December 2021. 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 Receivable:

 

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

 

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

 

As noted below, ASU 2014-09 was adopted on June 1, 2018 using the modified retrospective method, which required the recognition of the cumulative effect of the transition as an adjustment to retained earnings.

 

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. In the year ended May 31, 2019, 45% of revenue was recorded for contracts with a single performance obligation that was satisfied within the period. In the year ended May 31, 2018, 40% of revenue was recorded for contracts with a single performance obligation that was satisfied within the period.

 

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. In the year ended May 31, 2019, 55% of revenue was recorded for contracts in which revenue was recognized over time. In the year ended May 31, 2018, 60% of revenue was recorded for contracts in which revenue was recognized over 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, 2019, 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.

We recognized the cumulative effect of initially applying the new revenue standard as an adjustment to the opening balance of retained earnings primarily because certain longer term contracts accounted for on the percentage of completion method did not contain “enforceable right to payment” terms, as defined. The comparative information has not been restated and continues to be reported under the accounting standards in effect for those periods.

The cumulative effect of the changes made to our consolidated June 1, 2018 balance sheet for the adoption of ASU 2014-09, were as follows:

          
Balance Sheet  Balance at May 31, 2018  Adjustments Due to ASU 2014-09  Balance at June 1, 2018
Assets               
Inventory  $11,317,775   $1,101,116   $12,418,891 
Costs and estimated earnings in excess of billings  $6,356,963   $(326,509)  $6,030,454 
Liabilities               
Billings in excess of costs and estimated earnings  $2,043,002   $(25,105)  $2,017,897 
Other accrued expenses  $1,412,502   $794,713   $2,207,215 
Equity               
Retained earnings  $26,959,080   $4,999   $26,964,079 
                

 

In accordance with the new revenue standard requirements, the disclosure of the impact of adoption of ASU 2014-09 on our consolidated balance sheet and income statement was as follows:

                        
   May 31, 2019
Balance Sheet  As Reported  Effect of Change Higher/(Lower)  Balances Without Adoption of ASU 2014-09
Assets         
Inventory  $11,239,331   $—     $11,239,331 
Costs and estimated earnings in excess of billings  $7,572,490   $—     $7,572,490 
Liabilities               
Other accrued expenses  $1,532,271   $—     $1,532,271 
Equity               
Retained earnings  $29,508,604   $—     $29,508,604 

 

 

                        
   For the year ended May 31, 2019
Income Statement  As Reported  Effect of Change Higher/(Lower)  Balances Without Adoption of ASU 2014-09
Revenues         
Sales, net  $33,619,031   $1,096,117   $32,522,914 
Costs and Expenses               
Cost of goods sold  $24,571,255   $1,101,116   $23,470,139 
Provision for income taxes  $515,000   $—     $515,000 
                
Net income (loss)  $2,544,525   $(4,999)  $2,549,524 

 

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 $268,847 and $264,696 for the years ended May 31, 2019 and 2018.

 

Research and Development Costs:

 

Research and development costs are classified as a component of cost of sales. The amounts of these costs were $319,000 and $263,000 for the years ended May 31, 2019 and 2018.

 

 

 

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, 2019 or 2018. The Company recorded no interest expense or penalties in its consolidated statements of income during the years ended May 31, 2019 and 2018.

 

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

 

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, 2019 and 2018 was $106,656 and $124,931.

 

New Accounting Standards:

 

In May 2014, the Financial Accounting Standards Board (FASB) issued Accounting Standards Update (ASU) No. 2014-09, Revenue from Contracts with Customers. ASU 2014-09 is a comprehensive new revenue recognition model that requires a company to recognize revenue to depict the transfer of goods or services to a customer at an amount that reflects the consideration it expects to receive in exchange for those goods or services. ASU 2014-09 also requires additional disclosure about the nature, amount, timing and uncertainty of revenue and cash flows arising from customer contracts, including significant judgments and changes in judgments and assets recognized from costs incurred to obtain or fulfill a contract. ASU 2014-09, as amended, is effective for annual reporting periods, and interim periods within that period, beginning after December 15, 2018 (fiscal year 2019 for the Company). Companies may use either a full retrospective or a modified retrospective approach to adopt ASU 2014-09. The Company adopted ASU 2014-09 on June 1, 2018 using the modified retrospective method, which required the recognition of the cumulative effect of the transition as an adjustment to retained earnings. The effect of the adoption is detailed above.

 

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

 

XML 21 R8.htm IDEA: XBRL DOCUMENT v3.19.2
2. Accounts Receivable:
12 Months Ended
May 31, 2019
Receivables [Abstract]  
2. Accounts Receivable:

2. Accounts Receivable:

 

   2019  2018
Customers  $4,438,373   $5,515,848 
Customers - retention   950,684    859,771 
Gross accounts receivable   5,389,057    6,375,619 
Less allowance for doubtful accounts   109,755    109,755 
Net accounts receivable  $5,279,302   $6,265,864 
XML 22 R9.htm IDEA: XBRL DOCUMENT v3.19.2
3. Inventory:
12 Months Ended
May 31, 2019
Inventory Disclosure [Abstract]  
3. Inventory:

3. Inventory:

 

   2019  2018
Raw materials  $679,018   $726,852 
Work-in-process   9,905,495    9,990,225 
Finished goods   754,818    700,698 
Gross inventory   11,339,331    11,417,775 
Less allowance for obsolescence   100,000    100,000 
Net inventory  $11,239,331   $11,317,775 
XML 23 R10.htm IDEA: XBRL DOCUMENT v3.19.2
4. Costs and Estimated Earnings on Uncompleted Contracts:
12 Months Ended
May 31, 2019
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:

 

   2019  2018
Costs incurred on uncompleted contracts  $16,599,307   $12,512,350 
Estimated earnings   6,526,707    5,157,890 
Total costs and estimated earnings   23,126,014    17,670,240 
Less billings to date   16,187,227    13,356,279 
Costs and estimated earnings not billed  $6,938,787   $4,313,961 

 

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

 

   2019  2018
Costs and estimated earnings in excess of billings  $7,572,490   $6,356,963 
Billings in excess of costs and estimated earnings   633,703    2,043,002 
Costs and estimated earnings not billed  $6,938,787   $4,313,961 

 

 

 

The following summarizes the status of Projects in progress as of May 31, 2019 and 2018:

 

   2019  2018
Number of Projects in progress   22    26 
Aggregate percent complete   77%   72%
Aggregate amount remaining  $6,748,520   $6,816,089 
Percentage of total value invoiced to customer   54%   55%

 

Additionally, as of May 31, 2019, there are sales orders for four Projects that are not yet in progress. These projects total $990,971 in value upon completion. This compares to four such Projects as of May 31, 2018 with a total value of $8,793,737. The Company expects to recognize the entire remaining revenue on all open projects during the May 31, 2020 fiscal year.

 

Revenue recognized during the years ended May 31, 2019 and 2018 for amounts included in billings in excess of costs and estimated earnings as of the beginning of the year amounted to $4,187,015 and $2,005,000.

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

5. Maintenance and Other Inventory:

 

   2019  2018
Maintenance and other inventory  $2,197,958   $2,287,897 
Less allowance for obsolescence   1,466,081    1,402,246 
Maintenance and other inventory, net  $731,877   $885,651 

 

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.

 

The provision for potential inventory obsolescence was $175,000 and $60,000 for the years ended May 31, 2019 and 2018.

XML 25 R12.htm IDEA: XBRL DOCUMENT v3.19.2
6. Property and Equipment:
12 Months Ended
May 31, 2019
Property, Plant and Equipment [Abstract]  
6. Property and Equipment:

6. Property and Equipment:

 

   2019  2018
Land  $195,220   $195,220 
Buildings and improvements   9,342,431    9,342,431 
Machinery and equipment   10,390,610    10,302,681 
Office furniture and equipment   1,975,392    1,652,711 
Autos and trucks   24,818    84,256 
Land improvements   455,429    455,429 
Gross property and equipment   22,383,900    22,032,728 
Less accumulated depreciation   13,066,458    12,097,103 
Property and equipment, net  $9,317,442   $9,935,625 

 

Depreciation expense was $1,072,959 and $995,924 for the years ended May 31, 2019 and 2018.

 

The Company has commitments to make capital expenditures of approximately $50,000 as of May 31, 2019.

XML 26 R13.htm IDEA: XBRL DOCUMENT v3.19.2
7. Short-Term Borrowings:
12 Months Ended
May 31, 2019
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, 2019 or May 31, 2018.

 

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 $292,000 and $57,042 as of May 31, 2019 and 2018. These amounts are included in accounts payable.

XML 27 R14.htm IDEA: XBRL DOCUMENT v3.19.2
8. Legal Proceedings:
12 Months Ended
May 31, 2019
Commitments and Contingencies Disclosure [Abstract]  
8. Legal Proceedings:

8. Legal Proceedings:

 

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

XML 28 R15.htm IDEA: XBRL DOCUMENT v3.19.2
9. Sales:
12 Months Ended
May 31, 2019
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, construction and aerospace / defense. A breakdown of sales to these three general groups of customers is as follows:

 

   2019  2018
Construction  $20,168,587   $12,192,836 
Aerospace / Defense   11,383,374    10,205,945 
Industrial   2,067,070    1,965,186 
Sales, net  $33,619,031   $24,363,967 

 

Sales to four customers approximated 36% (17%, 8%, 6% and 5% respectively) of net sales for 2019. Sales to five customers approximated 49% (14%, 13%, 9%, 7% and 6% respectively) of net sales for 2018.

XML 29 R16.htm IDEA: XBRL DOCUMENT v3.19.2
10. Income Taxes:
12 Months Ended
May 31, 2019
Income Tax Disclosure [Abstract]  
10. Income Taxes:

10. Income Taxes:

   2019  2018
Current tax provision:          
Federal  $521,000   $23,000 
State   —      —   
Total current tax provision   521,000    23,000 
Deferred tax provision:          
Federal   (6,000)   210,000
State   —      —  
Total deferred tax provision   (6,000)   210,000
Total tax provision  $515,000   $233,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:

   2019  2018
Computed tax provision at the expected statutory rate  $642,500   $193,500 
State income tax - net of Federal tax benefit   500   (1,200)
Tax effect of permanent differences:          
Research tax credits   (166,000)   (110,000)
Tax rate change on deferred taxes   —      164,000 
Other permanent differences   28,700   (3,700)
Other   9,300   (9,600)
Total tax provision  $515,000   $233,000 
Effective income tax rate   16.8%   34.4%

 

 

 

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

 

   2019  2018
Deferred tax assets:          
Allowance for doubtful receivables  $23,000   $23,000 
Tax inventory adjustment   99,700    18,800 
Allowance for obsolete inventory   328,900    315,500 
Accrued vacation   50,200    40,900 
Accrued commissions   19,800    14,000 
Warranty reserve   30,300    27,600 
Stock options issued for services   208,600    223,100 
Total deferred tax assets   760,500    662,900 
Deferred tax liabilities:          
Excess tax depreciation   571,385   443,785
Net deferred tax assets  $189,115   $219,115 

 

In December 2017, the Tax Cuts and Jobs Act (the 2017 Act) became law. It includes a broad range of tax reform proposals affecting businesses, including corporate tax rates, business deductions, and international tax provisions. Among the changes, the 2017 Act reduces the corporate rate from 34% to 21% for periods beginning after December 31, 2017. Because of the rate change, the Company recorded a non-cash write down of deferred tax assets and recognized incremental deferred tax expense of $164,000 during the year ended May 31, 2018.

 

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 $3.6 million in taxable income in future years in order to realize the deferred tax assets recorded as of May 31, 2019 of $760,500.

 

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

XML 30 R17.htm IDEA: XBRL DOCUMENT v3.19.2
11. Earnings Per Common Share:
12 Months Ended
May 31, 2019
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:

 

   2019  2018
Average common shares outstanding   3,470,595    3,458,049 
Common shares issuable under stock option plans   17,043    30,876 
Average common shares outstanding assuming dilution   3,487,638    3,488,925 
XML 31 R18.htm IDEA: XBRL DOCUMENT v3.19.2
12. Related Party Transactions:
12 Months Ended
May 31, 2019
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, 2019 and 2018.

XML 32 R19.htm IDEA: XBRL DOCUMENT v3.19.2
13. Employee Stock Purchase Plan:
12 Months Ended
May 31, 2019
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, 2019 and 2018, 1,542 ($10.235 to $12.28 price per share) and 1,835 ($11.025 to $13.415 price per share) common shares, respectively, were issued to employees. As of May 31, 2019, 221,627 shares were reserved for further issue.

XML 33 R20.htm IDEA: XBRL DOCUMENT v3.19.2
14. Stock Option Plans:
12 Months Ended
May 31, 2019
Share-based Payment Arrangement [Abstract]  
14. Stock Option Plans:

14. Stock Option Plans:

 

In 2015, 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 138,500 shares have been granted as of May 31, 2019. 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.20 during 2019 and $2.86 during 2018. 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.

   2019  2018
Risk-free interest rate   2.179%   2.179%
Expected life in years   3.7    3.7 
Expected volatility   30%   30%
Expected dividend yield   0%   0%

 

The following is a summary of stock option activity:

   Shares  Weighted Average Exercise Price  Intrinsic Value
Outstanding - May 31, 2017   253,500   $10.93   $817,629 
     Options granted   43,750   $11.15      
     Less: options exercised   24,750   $6.67      
     Less: options expired   750   $19.26      
Outstanding - May 31, 2018   271,750   $11.33   $304,252 
     Options granted   43,000   $11.90      
     Less: options exercised   10,750   $3.05      
     Less: options expired   80,000   $11.68      
Outstanding - May 31, 2019   224,000   $11.71   $228,132 

 

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 (77,250 at May 31, 2019 and 93,000 at May 31, 2018.) The Company's closing stock price was $11.08 and $10.26 as of May 31, 2019 and 2018. As of May 31, 2019, there are 21,500 options available for future grants under the 2015 stock option plan. $32,830 and $164,983 was received from the exercise of share options during the fiscal years ended May 31, 2019 and 2018.

 

 

 

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 no shares have been granted as of May 31, 2019. 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.

 

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

 

Outstanding and Exercisable               
Range of Exercise Prices   Number of Options    Weighted Average Remaining Years of Contractual Life    Weighted Average Exercise Price 
$5.01-$6.00   10,000    1.9   $5.69 
$6.01-$7.00   10,000    0.9   $6.35 
$7.01-$8.00   15,000    3.9   $7.74 
$8.01-$9.00   27,250    4.6   $8.69 
$10.01-$11.00   15,000    8.9   $10.30 
$11.01-$12.00   53,000    8.4   $11.79 
$12.01-$13.00   45,000    6.9   $12.38 
$13.01-$14.00   15,000    7.9   $13.80 
$16.01-$17.00   15,000    6.9   $16.40 
$19.01-$20.00   18,750    7.2   $19.26 
$5.00-$20.00   224,000    6.5   $11.71 
                

 

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

 

Outstanding and Exercisable               
Range of Exercise Prices   Number of Options    Weighted Average Remaining years of Contractual Life    Weighted Average Exercise Price 
$2.00-$3.00   10,000    0.9   $2.83 
$5.01-$6.00   15,000    2.9   $5.69 
$6.01-$7.00   15,750    1.8   $6.34 
$7.01-$8.00   20,000    4.9   $7.74 
$8.01-$9.00   32,250    5.7   $8.74 
$10.01-$11.00   25,000    9.9   $10.30 
$11.01-$12.00   20,000    3.9   $11.29 
$12.01-$13.00   55,000    7.7   $12.35 
$13.01-$14.00   30,000    8.9   $13.80 
$16.01-$17.00   30,000    7.9   $16.40 
$19.01-$20.00   18,750    8.2   $19.26 
$2.00-$20.00   271,750    6.5   $11.33 
                
XML 34 R21.htm IDEA: XBRL DOCUMENT v3.19.2
15. Preferred Stock:
12 Months Ended
May 31, 2019
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 35 R22.htm IDEA: XBRL DOCUMENT v3.19.2
16. Treasury Stock:
12 Months Ended
May 31, 2019
Equity [Abstract]  
16. Treasury Stock:

16. Treasury Stock:

 

Treasury shares are 550,872 at May 31, 2019 and 2018.

XML 36 R23.htm IDEA: XBRL DOCUMENT v3.19.2
17. Retirement Plan:
12 Months Ended
May 31, 2019
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 $71,222 and $74,279 for the years ended May 31, 2019 and 2018.

XML 37 R24.htm IDEA: XBRL DOCUMENT v3.19.2
18. Fair Value of Financial Instruments:
12 Months Ended
May 31, 2019
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 38 R25.htm IDEA: XBRL DOCUMENT v3.19.2
19. Cash Flows Information:
12 Months Ended
May 31, 2019
Supplemental Cash Flow Elements [Abstract]  
19. Cash Flows Information:

19. Cash Flows Information:

 

   2019  2018
       
  Interest paid   none    none 
           
  Income taxes paid  $550,498   $61,615 
XML 39 R26.htm IDEA: XBRL DOCUMENT v3.19.2
1. Summary of Significant Accounting Policies: (Policies)
12 Months Ended
May 31, 2019
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.

 

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

 

74% of the Company's 2018 revenue was generated from sales to customers in the United States and 21% was from sales to customers in Asia. Remaining sales were to customers in other countries in North America, Europe, Australia 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, 2019 include “available for sale” corporate bonds stated at fair value, which approximates cost. The bonds (7) mature on various dates during the period May 2020 to December 2021. 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 Receivable [Policy Text Block]

 

 

 

Accounts Receivable:

 

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

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

 

As noted below, ASU 2014-09 was adopted on June 1, 2018 using the modified retrospective method, which required the recognition of the cumulative effect of the transition as an adjustment to retained earnings.

 

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. In the year ended May 31, 2019, 45% of revenue was recorded for contracts with a single performance obligation that was satisfied within the period. In the year ended May 31, 2018, 40% of revenue was recorded for contracts with a single performance obligation that was satisfied within the period.

 

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. In the year ended May 31, 2019, 55% of revenue was recorded for contracts in which revenue was recognized over time. In the year ended May 31, 2018, 60% of revenue was recorded for contracts in which revenue was recognized over 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, 2019, 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.

We recognized the cumulative effect of initially applying the new revenue standard as an adjustment to the opening balance of retained earnings primarily because certain longer term contracts accounted for on the percentage of completion method did not contain “enforceable right to payment” terms, as defined. The comparative information has not been restated and continues to be reported under the accounting standards in effect for those periods.

The cumulative effect of the changes made to our consolidated June 1, 2018 balance sheet for the adoption of ASU 2014-09, were as follows:

          
Balance Sheet  Balance at May 31, 2018  Adjustments Due to ASU 2014-09  Balance at June 1, 2018
Assets               
Inventory  $11,317,775   $1,101,116   $12,418,891 
Costs and estimated earnings in excess of billings  $6,356,963   $(326,509)  $6,030,454 
Liabilities               
Billings in excess of costs and estimated earnings  $2,043,002   $(25,105)  $2,017,897 
Other accrued expenses  $1,412,502   $794,713   $2,207,215 
Equity               
Retained earnings  $26,959,080   $4,999   $26,964,079 
                

 

In accordance with the new revenue standard requirements, the disclosure of the impact of adoption of ASU 2014-09 on our consolidated balance sheet and income statement was as follows:

                        
   May 31, 2019
Balance Sheet  As Reported  Effect of Change Higher/(Lower)  Balances Without Adoption of ASU 2014-09
Assets         
Inventory  $11,239,331   $—     $11,239,331 
Costs and estimated earnings in excess of billings  $7,572,490   $—     $7,572,490 
Liabilities               
Other accrued expenses  $1,532,271   $—     $1,532,271 
Equity               
Retained earnings  $29,508,604   $—     $29,508,604 

 

 

                        
   For the year ended May 31, 2019
Income Statement  As Reported  Effect of Change Higher/(Lower)  Balances Without Adoption of ASU 2014-09
Revenues         
Sales, net  $33,619,031   $1,096,117   $32,522,914 
Costs and Expenses               
Cost of goods sold  $24,571,255   $1,101,116   $23,470,139 
Provision for income taxes  $515,000   $—     $515,000 
                
Net income (loss)  $2,544,525   $(4,999)  $2,549,524 

 

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 $268,847 and $264,696 for the years ended May 31, 2019 and 2018.

 

Research and Development Costs:

 

Research and development costs are classified as a component of cost of sales. The amounts of these costs were $319,000 and $263,000 for the years ended May 31, 2019 and 2018.

 

 

 

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, 2019 or 2018. The Company recorded no interest expense or penalties in its consolidated statements of income during the years ended May 31, 2019 and 2018.

 

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

 

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, 2019 and 2018 was $106,656 and $124,931.

 

New Accounting Standards:

 

In May 2014, the Financial Accounting Standards Board (FASB) issued Accounting Standards Update (ASU) No. 2014-09, Revenue from Contracts with Customers. ASU 2014-09 is a comprehensive new revenue recognition model that requires a company to recognize revenue to depict the transfer of goods or services to a customer at an amount that reflects the consideration it expects to receive in exchange for those goods or services. ASU 2014-09 also requires additional disclosure about the nature, amount, timing and uncertainty of revenue and cash flows arising from customer contracts, including significant judgments and changes in judgments and assets recognized from costs incurred to obtain or fulfill a contract. ASU 2014-09, as amended, is effective for annual reporting periods, and interim periods within that period, beginning after December 15, 2018 (fiscal year 2019 for the Company). Companies may use either a full retrospective or a modified retrospective approach to adopt ASU 2014-09. The Company adopted ASU 2014-09 on June 1, 2018 using the modified retrospective method, which required the recognition of the cumulative effect of the transition as an adjustment to retained earnings. The effect of the adoption is detailed above.

 

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

 

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 $268,847 and $264,696 for the years ended May 31, 2019 and 2018.

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 $319,000 and $263,000 for the years ended May 31, 2019 and 2018.

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, 2019 or 2018. The Company recorded no interest expense or penalties in its consolidated statements of income during the years ended May 31, 2019 and 2018.

 

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

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, 2019 and 2018 was $106,656 and $124,931.

 

New Accounting Standards:

New Accounting Standards:

 

In May 2014, the Financial Accounting Standards Board (FASB) issued Accounting Standards Update (ASU) No. 2014-09, Revenue from Contracts with Customers. ASU 2014-09 is a comprehensive new revenue recognition model that requires a company to recognize revenue to depict the transfer of goods or services to a customer at an amount that reflects the consideration it expects to receive in exchange for those goods or services. ASU 2014-09 also requires additional disclosure about the nature, amount, timing and uncertainty of revenue and cash flows arising from customer contracts, including significant judgments and changes in judgments and assets recognized from costs incurred to obtain or fulfill a contract. ASU 2014-09, as amended, is effective for annual reporting periods, and interim periods within that period, beginning after December 15, 2018 (fiscal year 2019 for the Company). Companies may use either a full retrospective or a modified retrospective approach to adopt ASU 2014-09. The Company adopted ASU 2014-09 on June 1, 2018 using the modified retrospective method, which required the recognition of the cumulative effect of the transition as an adjustment to retained earnings. The effect of the adoption is detailed above.

 

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

XML 40 R27.htm IDEA: XBRL DOCUMENT v3.19.2
1. Summary of Significant Accounting Policies: (Tables)
12 Months Ended
May 31, 2019
Accounting Policies [Abstract]  
Impact of Adoption of Standards Related to Revenue Recognition
          
Balance Sheet  Balance at May 31, 2018  Adjustments Due to ASU 2014-09  Balance at June 1, 2018
Assets               
Inventory  $11,317,775   $1,101,116   $12,418,891 
Costs and estimated earnings in excess of billings  $6,356,963   $(326,509)  $6,030,454 
Liabilities               
Billings in excess of costs and estimated earnings  $2,043,002   $(25,105)  $2,017,897 
Other accrued expenses  $1,412,502   $794,713   $2,207,215 
Equity               
Retained earnings  $26,959,080   $4,999   $26,964,079 
                
Revenue Impact on Financial Statements Balance Sheet
                        
   May 31, 2019
Balance Sheet  As Reported  Effect of Change Higher/(Lower)  Balances Without Adoption of ASU 2014-09
Assets         
Inventory  $11,239,331   $—     $11,239,331 
Costs and estimated earnings in excess of billings  $7,572,490   $—     $7,572,490 
Liabilities               
Other accrued expenses  $1,532,271   $—     $1,532,271 
Equity               
Retained earnings  $29,508,604   $—     $29,508,604 
Condensed Income Statement [Table Text Block]
                        
   For the year ended May 31, 2019
Income Statement  As Reported  Effect of Change Higher/(Lower)  Balances Without Adoption of ASU 2014-09
Revenues         
Sales, net  $33,619,031   $1,096,117   $32,522,914 
Costs and Expenses               
Cost of goods sold  $24,571,255   $1,101,116   $23,470,139 
Provision for income taxes  $515,000   $—     $515,000 
                
Net income (loss)  $2,544,525   $(4,999)  $2,549,524 

 

XML 41 R28.htm IDEA: XBRL DOCUMENT v3.19.2
2. Accounts Receivable: (Tables)
12 Months Ended
May 31, 2019
Receivables [Abstract]  
Accounts receivable table
   2019  2018
Customers  $4,438,373   $5,515,848 
Customers - retention   950,684    859,771 
Gross accounts receivable   5,389,057    6,375,619 
Less allowance for doubtful accounts   109,755    109,755 
Net accounts receivable  $5,279,302   $6,265,864 
XML 42 R29.htm IDEA: XBRL DOCUMENT v3.19.2
3. Inventory: (Tables)
12 Months Ended
May 31, 2019
Inventory Disclosure [Abstract]  
Inventory table
   2019  2018
Raw materials  $679,018   $726,852 
Work-in-process   9,905,495    9,990,225 
Finished goods   754,818    700,698 
Gross inventory   11,339,331    11,417,775 
Less allowance for obsolescence   100,000    100,000 
Net inventory  $11,239,331   $11,317,775 
XML 43 R30.htm IDEA: XBRL DOCUMENT v3.19.2
4. Costs and Estimated Earnings on Uncompleted Contracts: (Tables)
12 Months Ended
May 31, 2019
Deferred Costs, Capitalized, Prepaid, and Other Assets Disclosure [Abstract]  
Costs and estimated earnings on uncompleted contracts components table
   2019  2018
Costs incurred on uncompleted contracts  $16,599,307   $12,512,350 
Estimated earnings   6,526,707    5,157,890 
Total costs and estimated earnings   23,126,014    17,670,240 
Less billings to date   16,187,227    13,356,279 
Costs and estimated earnings not billed  $6,938,787   $4,313,961 
Costs and estimated earnings on uncompleted contracts table
   2019  2018
Costs and estimated earnings in excess of billings  $7,572,490   $6,356,963 
Billings in excess of costs and estimated earnings   633,703    2,043,002 
Costs and estimated earnings not billed  $6,938,787   $4,313,961 
Costs and estimated earnings on uncompleted contracts two table
   2019  2018
Number of Projects in progress   22    26 
Aggregate percent complete   77%   72%
Aggregate amount remaining  $6,748,520   $6,816,089 
Percentage of total value invoiced to customer   54%   55%
XML 44 R31.htm IDEA: XBRL DOCUMENT v3.19.2
5. Maintenance and Other Inventory: (Tables)
12 Months Ended
May 31, 2019
Deferred Costs, Capitalized, Prepaid, and Other Assets Disclosure [Abstract]  
Maintenance and other inventory table
   2019  2018
Maintenance and other inventory  $2,197,958   $2,287,897 
Less allowance for obsolescence   1,466,081    1,402,246 
Maintenance and other inventory, net  $731,877   $885,651 
XML 45 R32.htm IDEA: XBRL DOCUMENT v3.19.2
6. Property and Equipment: (Tables)
12 Months Ended
May 31, 2019
Property, Plant and Equipment [Abstract]  
Property and equipment table
   2019  2018
Land  $195,220   $195,220 
Buildings and improvements   9,342,431    9,342,431 
Machinery and equipment   10,390,610    10,302,681 
Office furniture and equipment   1,975,392    1,652,711 
Autos and trucks   24,818    84,256 
Land improvements   455,429    455,429 
Gross property and equipment   22,383,900    22,032,728 
Less accumulated depreciation   13,066,458    12,097,103 
Property and equipment, net  $9,317,442   $9,935,625 
XML 46 R33.htm IDEA: XBRL DOCUMENT v3.19.2
9. Sales: (Tables)
12 Months Ended
May 31, 2019
Sales  
Sales by major customer type
   2019  2018
Construction  $20,168,587   $12,192,836 
Aerospace / Defense   11,383,374    10,205,945 
Industrial   2,067,070    1,965,186 
Sales, net  $33,619,031   $24,363,967 
XML 47 R34.htm IDEA: XBRL DOCUMENT v3.19.2
10. Income Taxes: (Tables)
12 Months Ended
May 31, 2019
Income Tax Disclosure [Abstract]  
Income Taxes Table
   2019  2018
Current tax provision:          
Federal  $521,000   $23,000 
State   —      —   
Total current tax provision   521,000    23,000 
Deferred tax provision:          
Federal   (6,000)   210,000
State   —      —  
Total deferred tax provision   (6,000)   210,000
Total tax provision  $515,000   $233,000 
Reconciliation of income tax statutory rate to effective rate
   2019  2018
Computed tax provision at the expected statutory rate  $642,500   $193,500 
State income tax - net of Federal tax benefit   500   (1,200)
Tax effect of permanent differences:          
Research tax credits   (166,000)   (110,000)
Tax rate change on deferred taxes   —      164,000 
Other permanent differences   28,700   (3,700)
Other   9,300   (9,600)
Total tax provision  $515,000   $233,000 
Effective income tax rate   16.8%   34.4%
Net deferred tax assets
   2019  2018
Deferred tax assets:          
Allowance for doubtful receivables  $23,000   $23,000 
Tax inventory adjustment   99,700    18,800 
Allowance for obsolete inventory   328,900    315,500 
Accrued vacation   50,200    40,900 
Accrued commissions   19,800    14,000 
Warranty reserve   30,300    27,600 
Stock options issued for services   208,600    223,100 
Total deferred tax assets   760,500    662,900 
Deferred tax liabilities:          
Excess tax depreciation   571,385   443,785
Net deferred tax assets  $189,115   $219,115 
XML 48 R35.htm IDEA: XBRL DOCUMENT v3.19.2
11. Earnings Per Common Share: (Tables)
12 Months Ended
May 31, 2019
Earnings Per Share [Abstract]  
Earnings per common share table
   2019  2018
Average common shares outstanding   3,470,595    3,458,049 
Common shares issuable under stock option plans   17,043    30,876 
Average common shares outstanding assuming dilution   3,487,638    3,488,925 
XML 49 R36.htm IDEA: XBRL DOCUMENT v3.19.2
14. Stock Option Plans: (Tables)
12 Months Ended
May 31, 2019
Share-based Payment Arrangement [Abstract]  
Stock option plans table
   2019  2018
Risk-free interest rate   2.179%   2.179%
Expected life in years   3.7    3.7 
Expected volatility   30%   30%
Expected dividend yield   0%   0%
Stock options roll foward
   Shares  Weighted Average Exercise Price  Intrinsic Value
Outstanding - May 31, 2017   253,500   $10.93   $817,629 
     Options granted   43,750   $11.15      
     Less: options exercised   24,750   $6.67      
     Less: options expired   750   $19.26      
Outstanding - May 31, 2018   271,750   $11.33   $304,252 
     Options granted   43,000   $11.90      
     Less: options exercised   10,750   $3.05      
     Less: options expired   80,000   $11.68      
Outstanding - May 31, 2019   224,000   $11.71   $228,132 
Share-based Payment Arrangement, Option, Exercise Price Range [Table Text Block]
Outstanding and Exercisable               
Range of Exercise Prices   Number of Options    Weighted Average Remaining Years of Contractual Life    Weighted Average Exercise Price 
$5.01-$6.00   10,000    1.9   $5.69 
$6.01-$7.00   10,000    0.9   $6.35 
$7.01-$8.00   15,000    3.9   $7.74 
$8.01-$9.00   27,250    4.6   $8.69 
$10.01-$11.00   15,000    8.9   $10.30 
$11.01-$12.00   53,000    8.4   $11.79 
$12.01-$13.00   45,000    6.9   $12.38 
$13.01-$14.00   15,000    7.9   $13.80 
$16.01-$17.00   15,000    6.9   $16.40 
$19.01-$20.00   18,750    7.2   $19.26 
$5.00-$20.00   224,000    6.5   $11.71 
                

 

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

 

Outstanding and Exercisable               
Range of Exercise Prices   Number of Options    Weighted Average Remaining years of Contractual Life    Weighted Average Exercise Price 
$2.00-$3.00   10,000    0.9   $2.83 
$5.01-$6.00   15,000    2.9   $5.69 
$6.01-$7.00   15,750    1.8   $6.34 
$7.01-$8.00   20,000    4.9   $7.74 
$8.01-$9.00   32,250    5.7   $8.74 
$10.01-$11.00   25,000    9.9   $10.30 
$11.01-$12.00   20,000    3.9   $11.29 
$12.01-$13.00   55,000    7.7   $12.35 
$13.01-$14.00   30,000    8.9   $13.80 
$16.01-$17.00   30,000    7.9   $16.40 
$19.01-$20.00   18,750    8.2   $19.26 
$2.00-$20.00   271,750    6.5   $11.33 
                
XML 50 R37.htm IDEA: XBRL DOCUMENT v3.19.2
19. Cash Flows Information: (Tables)
12 Months Ended
May 31, 2019
Supplemental Cash Flow Elements [Abstract]  
Supplemental cash flow information
   2019  2018
       
  Interest paid   none    none 
           
  Income taxes paid  $550,498   $61,615 
XML 51 R38.htm IDEA: XBRL DOCUMENT v3.19.2
Impact of Adoption of Standards Related to Revenue Recognition (Details) - USD ($)
May 31, 2019
Jun. 01, 2018
May 31, 2018
Revenue, Initial Application Period Cumulative Effect Transition [Line Items]      
Inventory $ 11,239,331   $ 11,317,775
Costs and estimated earnings in excess of billings 7,572,490   6,356,963
Billings in excess of costs and estimated earnings 633,703   2,043,002
Other accrued expenses 1,532,271    
Retained earnings $ 29,508,604   26,959,080
Calculated under Revenue Guidance in Effect before Topic 606 [Member]      
Revenue, Initial Application Period Cumulative Effect Transition [Line Items]      
Inventory   $ 12,418,891 11,317,775
Costs and estimated earnings in excess of billings   6,030,454 6,356,963
Billings in excess of costs and estimated earnings   2,017,897 2,043,002
Other accrued expenses   2,207,215 1,412,502
Retained earnings   26,964,079 $ 26,959,080
Difference between Revenue Guidance in Effect before and after Topic 606 [Member]      
Revenue, Initial Application Period Cumulative Effect Transition [Line Items]      
Inventory   1,101,116  
Costs and estimated earnings in excess of billings   (326,509)  
Billings in excess of costs and estimated earnings   (25,105)  
Other accrued expenses   794,713  
Retained earnings   $ 4,999  
XML 52 R39.htm IDEA: XBRL DOCUMENT v3.19.2
Revenue Impact on Financial Statements Balance Sheet (Details) - USD ($)
May 31, 2019
May 31, 2018
Inventory $ 11,239,331 $ 11,317,775
Costs and estimated earnings in excess of billings 7,572,490 6,356,963
Other accrued expenses 1,532,271  
Retained earnings 29,508,604 $ 26,959,080
Accounting Standards Update 2014-09 [Member]    
Inventory 0  
Costs and estimated earnings in excess of billings 0  
Other accrued expenses 0  
Retained earnings $ 0  
XML 53 R40.htm IDEA: XBRL DOCUMENT v3.19.2
Revenue Impact on Financial Statements Income Statement (Details) - USD ($)
12 Months Ended
May 31, 2019
May 31, 2018
Sales, net $ 33,619,031 $ 24,363,967
Cost of goods sold 24,571,255 18,439,760
Provision for income taxes 515,000 233,000
Net income (loss) 2,544,525 $ 443,370
Calculated under Revenue Guidance in Effect before Topic 606 [Member]    
Sales, net 32,522,914  
Cost of goods sold 23,470,139  
Provision for income taxes 515,000  
Net income (loss) 2,549,524  
Accounting Standards Update 2014-09 [Member]    
Sales, net 1,096,117  
Cost of goods sold 1,101,116  
Provision for income taxes 0  
Net income (loss) $ (4,999)  
XML 54 R41.htm IDEA: XBRL DOCUMENT v3.19.2
1. Summary of Significant Accounting Policies: (Details Narrative) - USD ($)
12 Months Ended
May 31, 2019
May 31, 2018
Accounting Policies [Abstract]    
Domestic revenue as percentage of total 78.00% 74.00%
Asian revenue as percentage of total 17.00% 21.00%
Percent of revenue recognized with sales contracts containing a single performance obligation 45.00% 40.00%
Percent of revenue recognized with sales contracts for which revenue is recognized over time 55.00% 60.00%
Shipping and handling costs $ 268,847  
Shipping and handling costs   $ 264,696
Research and development costs 319,000 263,000
Share based compensation expense $ 106,656 $ 124,931
XML 55 R42.htm IDEA: XBRL DOCUMENT v3.19.2
Accounts receivable table (Details) - USD ($)
May 31, 2019
May 31, 2018
Receivables [Abstract]    
Customers $ 4,438,373 $ 5,515,848
Customers - retention 950,684 859,771
Gross accounts receivable 5,389,057 6,375,619
Less allowance for doubtful accounts 109,755 109,755
Net accounts receivable $ 5,279,302 $ 6,265,864
XML 56 R43.htm IDEA: XBRL DOCUMENT v3.19.2
Inventory table (Details) - USD ($)
May 31, 2019
May 31, 2018
Inventory Disclosure [Abstract]    
Raw materials $ 679,018 $ 726,852
Work-in-process 9,905,495 9,990,225
Finished goods 754,818 700,698
Gross inventory 11,339,331 11,417,775
Less allowance for obsolescence 100,000 100,000
Net inventory $ 11,239,331 $ 11,317,775
XML 57 R44.htm IDEA: XBRL DOCUMENT v3.19.2
Costs and estimated earnings on uncompleted contracts components table (Details) - USD ($)
May 31, 2019
May 31, 2018
Deferred Costs, Capitalized, Prepaid, and Other Assets Disclosure [Abstract]    
Costs incurred on uncompleted contracts $ 16,599,307 $ 12,512,350
Estimated earnings 6,526,707 5,157,890
Total costs and estimated earnings 23,126,014 17,670,240
Less billings to date 16,187,227 13,356,279
Costs and estimated earnings not billed $ 6,938,787 $ 4,313,961
XML 58 R45.htm IDEA: XBRL DOCUMENT v3.19.2
Costs and estimated earnings on uncompleted contracts table (Details) - USD ($)
May 31, 2019
May 31, 2018
Deferred Costs, Capitalized, Prepaid, and Other Assets Disclosure [Abstract]    
Costs and estimated earnings in excess of billings $ 7,572,490 $ 6,356,963
Billings in excess of costs and estimated earnings 633,703 2,043,002
Costs and estimated earnings not billed $ 6,938,787 $ 4,313,961
XML 59 R46.htm IDEA: XBRL DOCUMENT v3.19.2
Costs and estimated earnings on uncompleted contracts two table (Details)
May 31, 2019
USD ($)
May 31, 2018
USD ($)
Deferred Costs, Capitalized, Prepaid, and Other Assets Disclosure [Abstract]    
Number of Projects in progress 22 26
Aggregate percent complete 77.00% 72.00%
Aggregate amount remaining $ 6,748,520 $ 6,816,089
Percentage of total value invoiced to customer 54.00% 55.00%
XML 60 R47.htm IDEA: XBRL DOCUMENT v3.19.2
Maintenance and other inventory table (Details) - USD ($)
May 31, 2019
May 31, 2018
Deferred Costs, Capitalized, Prepaid, and Other Assets Disclosure [Abstract]    
Maintenance and other inventory $ 2,197,958 $ 2,287,897
Less allowance for obsolescence 1,466,081 1,402,246
Maintenance and other inventory, net $ 731,877 $ 885,651
XML 61 R48.htm IDEA: XBRL DOCUMENT v3.19.2
4. Costs and Estimated Earnings on Uncompleted Contracts: (Details Narrative)
12 Months Ended
May 31, 2019
USD ($)
May 31, 2018
USD ($)
Deferred Costs, Capitalized, Prepaid, and Other Assets Disclosure [Abstract]    
Quantity of Projects not yet started 4 4
Sales value of projects not yet in progress $ 990,971 $ 8,793,737
Revenue recognized in current period for projects included in billings in excess of costs and estimated earnings at end of prior year $ 4,187,015 $ 2,005,000
XML 62 R49.htm IDEA: XBRL DOCUMENT v3.19.2
5. Maintenance and Other Inventory: (Details Narrative) - USD ($)
12 Months Ended
May 31, 2019
May 31, 2018
Deferred Costs, Capitalized, Prepaid, and Other Assets Disclosure [Abstract]    
Provision for potentially obsolete inventory $ 175,000 $ 60,000
XML 63 R50.htm IDEA: XBRL DOCUMENT v3.19.2
Property and equipment table (Details) - USD ($)
May 31, 2019
May 31, 2018
Property, Plant and Equipment [Abstract]    
Land $ 195,220 $ 195,220
Buildings and improvements 9,342,431 9,342,431
Machinery and equipment 10,390,610 10,302,681
Office furniture and equipment 1,975,392 1,652,711
Autos and trucks 24,818 84,256
Land improvements 455,429 455,429
Gross property and equipment 22,383,900 22,032,728
Less accumulated depreciation 13,066,458 12,097,103
Property and equipment, net $ 9,317,442 $ 9,935,625
XML 64 R51.htm IDEA: XBRL DOCUMENT v3.19.2
6. Property and Equipment: (Details Narrative) - USD ($)
12 Months Ended
May 31, 2019
May 31, 2018
Property, Plant and Equipment [Abstract]    
Depreciation expense $ 1,072,959 $ 995,924
Commitments for future capital expenditures $ 50,000  
XML 65 R52.htm IDEA: XBRL DOCUMENT v3.19.2
7. Short-Term Borrowings: (Details Narrative) - USD ($)
May 31, 2019
May 31, 2018
Debt Disclosure [Abstract]    
Line of Credit Facility, Current Borrowing Capacity $ 10,000,000  
Line of credit outstanding balance 0 $ 0
Uncleared checks $ 292,000 $ 57,042
XML 66 R53.htm IDEA: XBRL DOCUMENT v3.19.2
Sales by major customer type (Details) - USD ($)
12 Months Ended
May 31, 2019
May 31, 2018
Sales, net $ 33,619,031 $ 24,363,967
Construction    
Sales, net 20,168,587 12,192,836
Aerospace / Defense    
Sales, net 11,383,374 10,205,945
Industrial    
Sales, net $ 2,067,070 $ 1,965,186
XML 67 R54.htm IDEA: XBRL DOCUMENT v3.19.2
9. Sales: (Details Narrative)
12 Months Ended
May 31, 2019
May 31, 2018
Sales    
Percentage of total sales to significant individual customers 36.00% 49.00%
Percentage of total sales to significant individual customer1 17.00% 14.00%
Percentage of total sales to significant individual customer2 8.00% 13.00%
Percentage of total sales to significant individual customer3 6.00% 9.00%
Percentage of total sales to significant individual customer4 5.00% 7.00%
Percentage of total sales to significant individual customer5   6.00%
XML 68 R55.htm IDEA: XBRL DOCUMENT v3.19.2
Income Taxes Table (Details) - USD ($)
12 Months Ended
May 31, 2019
May 31, 2018
Current tax provision:    
Federal $ 521,000 $ 23,000
State 0 0
Total current tax provision 521,000 23,000
Deferred tax provision:    
Federal (6,000) 210,000
State 0 0
Total deferred tax provision (6,000) 210,000
Total tax provision $ 515,000 $ 233,000
XML 69 R56.htm IDEA: XBRL DOCUMENT v3.19.2
Reconciliation of income tax statutory rate to effective rate (Details) - USD ($)
12 Months Ended
May 31, 2019
May 31, 2018
Income Tax Disclosure [Abstract]    
Computed tax provision at the expected statutory rate $ 642,500 $ 193,500
State income tax - net of Federal tax benefit 500 (1,200)
Tax effect of permanent differences:    
Research tax credits (166,000) (110,000)
Tax rate change on deferred taxes 0 164,000
Other permanent differences 28,700 (3,700)
Other 9,300 (9,600)
Total tax provision $ 515,000 $ 233,000
Effective income tax rate 16.80% 34.40%
XML 70 R57.htm IDEA: XBRL DOCUMENT v3.19.2
Net deferred tax assets (Details) - USD ($)
May 31, 2019
May 31, 2018
Deferred tax assets:    
Allowance for doubtful receivables $ 23,000 $ 23,000
Tax inventory adjustment 99,700 18,800
Allowance for obsolete inventory 328,900 315,500
Accrued vacation 50,200 40,900
Accrued commissions 19,800 14,000
Warranty reserve 30,300 27,600
Stock options issued for services 208,600 223,100
Total deferred tax assets 760,500 662,900
Deferred tax liabilities:    
Excess tax depreciation 571,385 443,785
Net deferred tax assets $ 189,115 $ 219,115
XML 71 R58.htm IDEA: XBRL DOCUMENT v3.19.2
10. Income Taxes: (Details Narrative) - USD ($)
5 Months Ended 7 Months Ended 12 Months Ended 72 Months Ended
May 31, 2019
Dec. 31, 2018
May 31, 2019
May 31, 2018
May 31, 2025
Income Tax Disclosure [Abstract]          
Corporate income tax rate 21.00% 34.00%      
Effect of change in tax rate     $ 0 $ 164,000  
Deferred Tax Assets, Gross $ 760,500   760,500 $ 662,900  
Deferred tax credits carryforward $ 370,000   $ 370,000    
Tax credit carryforward expiration date         May 31, 2025
XML 72 R59.htm IDEA: XBRL DOCUMENT v3.19.2
Earnings per common share table (Details) - shares
12 Months Ended
May 31, 2019
May 31, 2018
Earnings Per Share [Abstract]    
Average common shares outstanding 3,470,595 3,458,049
Common shares issuable under stock option plans 17,043 30,876
Average common shares outstanding assuming dilution 3,487,638 3,488,925
XML 73 R60.htm IDEA: XBRL DOCUMENT v3.19.2
13. Employee Stock Purchase Plan: (Details Narrative) - shares
12 Months Ended
May 31, 2019
May 31, 2018
Share-based Payment Arrangement [Abstract]    
Common shares issued from employee stock purchase plan 1,542 1,835
XML 74 R61.htm IDEA: XBRL DOCUMENT v3.19.2
Stock option plans table (Details)
12 Months Ended
May 31, 2019
May 31, 2018
Share-based Payment Arrangement [Abstract]    
Risk-free interest rate 2.179% 2.179%
Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Term 3 years 8 months 12 days 3 years 8 months 12 days
Expected volatility 30.00% 30.00%
Expected dividend yield 0.00% 0.00%
XML 75 R62.htm IDEA: XBRL DOCUMENT v3.19.2
Stock options roll foward (Details) - USD ($)
12 Months Ended
May 31, 2019
May 31, 2018
May 31, 2017
Share-based Payment Arrangement [Abstract]      
Stock options outstanding 224,000 271,750 253,500
Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price $ 11.71 $ 11.33 $ 10.93
Intrinsic value of options outstanding $ 228,132 $ 304,252 $ 817,629
Options granted 43,000 43,750  
Weighted average exercise price of options granted $ 11.90 $ 11.15  
Stock options exercised 10,750 24,750  
Weighted average exercise price of options exercised $ 3.05 $ 6.67  
Stock options expired 80,000 750  
Weighted average exercise price of options expired $ 11.68 $ 19.26  
XML 76 R63.htm IDEA: XBRL DOCUMENT v3.19.2
Stock option plans - Stock options outstanding and exercisable (Details)
May 31, 2019
$ / shares
shares
May 31, 2018
$ / shares
shares
May 31, 2017
$ / shares
shares
Share-based Payment Arrangement, Option, Exercise Price Range [Line Items]      
Range of exercise prices, Minimum $ 5.00 $ 2.00  
Range of exercise prices, Maximum $ 20.00 $ 20.00  
Weighted Average Remaining Years of Contractual Life 6.5 6.5  
Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Number | shares 224,000 271,750 253,500
Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price $ 11.71 $ 11.33 $ 10.93
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 5.01 5.01  
Range of exercise prices, Maximum $ 6.00 $ 6.00  
Number of options | shares 10,000 15,000  
Weighted Average Remaining Years of Contractual Life 1.9 2.9  
Weighted average exercise price $ 5.69 $ 5.69  
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 6.01 6.01  
Range of exercise prices, Maximum $ 7.00 $ 7.00  
Number of options | shares 10,000 15,750  
Weighted Average Remaining Years of Contractual Life 0.9 1.8  
Weighted average exercise price $ 6.35 $ 6.34  
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 7.01 7.01  
Range of exercise prices, Maximum $ 8.00 $ 8.00  
Number of options | shares 15,000 20,000  
Weighted Average Remaining Years of Contractual Life 3.9 4.9  
Weighted average exercise price $ 7.74 $ 7.74  
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 8.01 8.01  
Range of exercise prices, Maximum $ 9.00 $ 9.00  
Number of options | shares 27,250 32,250  
Weighted Average Remaining Years of Contractual Life 4.6 5.7  
Weighted average exercise price $ 8.69 $ 8.74  
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 10.01 10.01  
Range of exercise prices, Maximum $ 11.00 $ 11.00  
Number of options | shares 15,000 25,000  
Weighted Average Remaining Years of Contractual Life 8.9 9.9  
Weighted average exercise price $ 10.30 $ 10.30  
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 11.01 11.01  
Range of exercise prices, Maximum $ 12.00 $ 12.00  
Number of options | shares 53,000 20,000  
Weighted Average Remaining Years of Contractual Life 8.4 3.9  
Weighted average exercise price $ 11.79 $ 11.29  
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 12.01 12.01  
Range of exercise prices, Maximum $ 13.00 $ 13.00  
Number of options | shares 45,000 55,000  
Weighted Average Remaining Years of Contractual Life 6.9 7.7  
Weighted average exercise price $ 12.38 $ 12.35  
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 13.01 13.01  
Range of exercise prices, Maximum $ 14.00 $ 14.00  
Number of options | shares 15,000 30,000  
Weighted Average Remaining Years of Contractual Life 7.9 8.9  
Weighted average exercise price $ 13.80 $ 13.80  
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 16.01 16.01  
Range of exercise prices, Maximum $ 17.00 $ 17.00  
Number of options | shares 15,000 30,000  
Weighted Average Remaining Years of Contractual Life 6.9 7.9  
Weighted average exercise price $ 16.40 $ 16.40  
Share Based Compensation Shares Authorized Under Stock Option Plans By Exercise Price Range Eleven [Member]      
Share-based Payment Arrangement, Option, Exercise Price Range [Line Items]      
Range of exercise prices, Minimum 19.01 19.01  
Range of exercise prices, Maximum $ 20.00 $ 20.00  
Number of options | shares 18,750 18,750  
Weighted Average Remaining Years of Contractual Life 7.2 8.2  
Weighted average exercise price $ 19.26 $ 19.26  
Share Based Compensation Shares Authorized Under Stock Option Plans By Exercise Price Range One [Member]      
Share-based Payment Arrangement, Option, Exercise Price Range [Line Items]      
Range of exercise prices, Minimum   2.00  
Range of exercise prices, Maximum   $ 3.00  
Number of options | shares   10,000  
Weighted Average Remaining Years of Contractual Life   0.9  
Weighted average exercise price   $ 2.83  
XML 77 R64.htm IDEA: XBRL DOCUMENT v3.19.2
14. Stock Option Plans: (Details Narrative) - USD ($)
12 Months Ended
May 31, 2019
May 31, 2018
Share-based Payment Arrangement [Abstract]    
Common shares reserved for stock options 160,000  
Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value $ 3.20 $ 2.86
Price per share of common $ 11.08 $ 10.26
Shares available 21,500  
Proceeds exercise of options $ 32,830 $ 164,983
XML 78 R65.htm IDEA: XBRL DOCUMENT v3.19.2
15. Preferred Stock: (Details Narrative)
May 31, 2019
shares
Equity [Abstract]  
Preferred shares authorized 2,000,000
XML 79 R66.htm IDEA: XBRL DOCUMENT v3.19.2
16. Treasury Stock: (Details Narrative) - shares
May 31, 2019
May 31, 2018
Equity [Abstract]    
Treasury Stock 550,872 550,872
XML 80 R67.htm IDEA: XBRL DOCUMENT v3.19.2
17. Retirement Plan: (Details Narrative) - USD ($)
12 Months Ended
May 31, 2019
May 31, 2018
Retirement Benefits [Abstract]    
Retirement plan expense $ 71,222 $ 74,279
XML 81 R68.htm IDEA: XBRL DOCUMENT v3.19.2
Supplemental cash flow information (Details) - USD ($)
12 Months Ended
May 31, 2019
May 31, 2018
Supplemental Cash Flow Elements [Abstract]    
Interest paid $ 0 $ 0
Income taxes paid $ 550,498 $ 61,615
EXCEL 82 Financial_Report.xlsx IDEA: XBRL DOCUMENT begin 644 Financial_Report.xlsx M4$L#!!0 ( .Y] D\?(\\#P !," + 7W)E;',O+G)E;'.MDD^+ MPD ,Q;]*F?L:5\'#8CUYZ6U9_ )Q)OU#.Y,A$[%^>X>];+=44/ 87O+>CT?V M/S2@=AQ2V\54C'X(J32M:OP"2+8ECVG%D4)6:A:/FD=I(*+ML2'8K-<[D*F' M.>RGGD7E2B.5^S3%":4A+,*P).B0\5?UX^8 TBTH_0(:+L A#&^NQT:E8(C M-R."?S]PN -02P,$% @ [GT"3R?HAPZ" L0 ! !D;V-0&UL38Y-"\(P$$3_2NG=;BGH06) L$?!D_>0;FP@R8;-"OGYIH(? MMWF\81AU8\K(XK%T-8943OTJDH\ Q:X831F:3LTXXFBD(3^ G/,6+V2?$9/ M-(X'P"J8%EQV^3O8:W7..7AKQ%/25V^9"CGIYFHQ*/B76_..7+8\#?NW_+"" MWTG] E!+ P04 " #N?0)/UWTM5^\ K @ $0 &1O8U!R;W!S+V-O M&ULS9+!3L,P#(9?!>7>.FUA@JCK!<0))"0F@;A%CK=%:]HH,6KW]J1E MZX3@ 3C&_O/YL^0:O<(^T$OH/06V%*]&UW91H5^+/;-7 !'WY'3,4Z)+S6T? MG.;T##OP&@]Z1U!*N0)'K(UF#1,P\PM1-+5!A8$T]^&$-[C@_6=H9YA!H)8< M=1RAR L0S331'\>VA@M@@C$%%[\+9!;B7/T3.W= G))CM$MJ&(9\J.9GUWG=S':1=8>4?D6K^.AI+&UL[5I;<]HX%'[OK]!X9_9M"\8V@;:T M$W-I=MNTF83M3A^%$5B-;'EDD81_OTV23;J;/ 0LZ?O.14?GZ#AY M\^XN8NB&B)3R> +]O6N[!3+UES@6QHO(];JM-O=5H1I;*$81V1@?5XL:$#05%%:;U\@M.4? M,_@5RU2-9:,!$U=!)KF(M/+Y;,7\VMX^9<_I.ATR@6XP&U@@?\YOI^1.6HCA M5,+$P&IG/U9KQ]'22(""R7V4!;I)]J/3%0@R#3LZG5C.=GSVQ.V?C,K:=#1M M&N#C\7@XMLO2BW A(5M>5 TR 6'!VULS2 Y9>*?IUE!K9';O=05SP6.XYB1'^QL4$UFG2&98T M1G*=D 4. #?$T4Q0?*]!MHK@PI+27)#6SRFU4!H(FLB!]4>"(<7K;YH]5Z%82=J$^!!&&N*<<^9ST6S[!Z5&T?95O-RCEU@5 9<8WS2J M-2S%UGB5P/&MG#P=$Q+-E L&08:7)"82J3E^34@3_BNEVOZKR2. MFJW"$2M"/F(9-AIRM1:!MG&IA&!:$L;1>$[2M!'\6:PUDSY@R.S-D77.UI$. M$9)>-T(^8LZ+D!&_'H8X2IKMHG%8!/V>7L-)P>B"RV;]N'Z&U3-L+([W1]07 M2N0/)J<_Z3(T!Z.:60F]A%9JGZJ'-#ZH'C(*!?&Y'C[E>G@*-Y;&O%"N@GL! M_]':-\*K^(+ .7\N?<^E[[GT/:'2MSAD M6R4)RU3393>*$IY"&V[I4_5*E=?EK[DHN#Q;Y.FOH70^+,_Y/%_GM,T+,T.W MF)&Y"M-2D&_#^>G%>!KB.=D$N7V85VWGV-'1^^?!4;"C[SR6'<>( M\J(A[J&&F,_#0X=Y>U^89Y7&4#04;6RL)"Q&MV"XU_$L%.!D8"V@!X.O40+R M4E5@,5O& RN0HGQ,C$7H<.>77%_CT9+CVZ9EM6ZO*7<9;2)2.<)IF!-GJ\K> M9;'!51W/55ORL+YJ/;053L_^6:W(GPP13A8+$DACE!>F2J+S&5.^YRM)Q%4X MOT4SMA*7&+SCYL=Q3E.X$G:V#P(RN;LYJ7IE,6>F\M\M# DL6XA9$N)-7>W5 MYYN MTB42%(JP# 4A%W+C[^^3:G>,U_HL@6V$5#)DU1?*0XG!/3-R0]A4)?.NVB8+ MA=OB5,V[&KXF8$O#>FZ=+2?_VU[4/;07/4;SHYG@'K.'YA,L0Z1^P7V*BH 1JV*^NJ]/^26<.[1[\8$@F_S6VZ3VW> , M?-2K6J5D*Q$_2P=\'Y(&8XQ;]#1?CQ1BK::QK<;:,0QY@%CS#*%F.-^'19H: M,]6+K#F-"F]!U4#E/]O4#6CV#30,9FV-J/D3@H\W/[O#;#"Q([A[8N_ M 5!+ P04 " #N?0)/'9W G%\# @$ & 'AL+W=OE3/!:%E6S"D_&G&^CJ-F=5)DU M-_JL*OODH.LR,_:V/D;-N5;9OB.51<3C.(W*+*_"];(;>ZC72WTQ15ZIASIH M+F69U7\VJM#752Z"FIU M6(5W[/9>B);0(7[FZMI,KH-V*4]:/[';)+81[U];,:%I2$ MP;#ZK^I%%1;>SL1J['31=/^#W:4QNARBV*F4V6O_F5?=Y[5_DKS1,($/!#X2 M!/N0( :"& E,?DB0 T$ZA*A?2K<4\1$D]! MP#6*CBXF] 33):3+CBXG]-39(HJ888$$"B2$/G<$*&*!!5(HD!(Z<[,,()XT MSZ#$C/*=/&\ 1&").9284[YT) #$D^H%E%A0OIMK /$DF\78<3&-X.8;83P9 M9QY?,Q*!$V<#C"?I#)K[CG$:P4T[PGCRSK!_F: 1W,PCC"?U#-N<41=S-_D( MX\L^]CJC5N8D^P#CRSXV/*-V%B3[%./=,>QY1ATMF*L",-RC@FW/J*F%<%4 MQO,5P;#S&?6U2%P5@$FQ"L?>Y]378N:H(,SU2P]SGU MM72SCS ^%>Q]3GTMW0J#,)X*P['W.?6U="L,POA4L/N-6V"G;Y475\\ M&1W;WSO>M5__X'WO_"VKCWG5!$_:V":N:[4.6AMEIQ+?V R>;+L^WA3J8-K+ MF;VN^YZUOS'Z//3CT?BCP/HO4$L#!!0 ( .Y] D_"RL/](00 "02 8 M >&PO=V]R:W-H965T&ULC9C;;N,V$(9?Q?!]5YSA.7 , M-"Z*%FB!Q1;;7BLQ$QLK6ZZDQ-NW+R4KAC,S+'ICB?(_Y,_3QY%6Y[;[UN]2 M&A;?#\VQOU_NAN%T5U7]TRX=ZOY3>TK'_,]SVQWJ(1>[EZH_=:G>3D&'ID*E M7'6H]\?E>C4]^]RM5^WKT.R/Z7.WZ%\/A[K[YR$U[?E^"XVV < R;%G_MT[F_N%V-7 M'MOVVUCX=7N_5*.CU*2G8:RBSI>WM$E-,]:4??P]5[J\MCD&WMZ_U_[SU/G< MF<>Z3YNV^6N_'7;WR[!<;--S_=H,7]KS+VGND%TNYM[_EMY2D^6CD]S&4]OT MT^_BZ;4?VL-<2[9RJ+]?KOOC=#W/];^'R0$X!^ U /1_!N@Y0). ZN)LZNI/ M]5"O5UU[7G27V3K5XZ* .YT'\VE\.(W=]%_N;9^?OJVM7U5O8SVSY.$BP1L) M?E1LN,*&JZ3*[5]-H&@"IWA]&Q_E>"W&ZRG>W,0[13IQD=A)M MZ/APG4-G@S.R'R?Z<=R/)GX<[S>@CEK3 9*$&KSW5G;D14>>.S+$D6<-:4"@ M"VW#96B,,X7U$T0W@;NQQ$W@S6BO@.S=C2!3:*&PNZ+H)G(WCKB)K!EO/9I( M!X?KG+8NNL+H@)*9I;@C!BW%ITMYYSUH"B^NQ) W/;C"*$&!I,!=!>H*^$!I M")Y.FZ +P3H+!4\KJ6?-A M3T?E3:26!%VP7JN"(QG6P&GM*:U!P'"( )8ZXCJ$#[J/CF1< ^>UI[P&#F(# M$%V(CGKB2AUMIFDLC9,,;7#LE/:E?2M#%CAE/:4L<'Z"4>@B6X^2T&4"EL9: M1BUPUGK*6N 4!:WRX@_4$Q?&G#NXTD#+O 4.7$^!"YRD8#4B7;D;26@ K2HD M$"@C%SER*;0>D(/4Z7PH4> *.E1&JZ(EF;?(>>LI;Y%SU 0?%!KJB0MMB"'J MPAF A4269[*^5(/,1^1\#)2/*'!/*:\IC62=P5)N+O,1.1\#Y2-R[D6K0V"[ M5A+JG(47YUXF)')"!DI(Y-S#:%5PBDV^H'31YBR[L'%1)B3RO#;0O!9YOJHC MF( LL964SACP4'(E4QN;^'^5'5S)WD7,W4.XBQZEV M.5T*]#3<2$KM\@M#*6-"&;W(T1LH>F?-[2MBX>05E(63M[IY71^_G_Q>=R_[ M8[]X;(?\YC^]GS^W[9!RK>I3KF^7ZNVUT*3G8;SU^;Z[?+>X%(;V-'^3J:X? MAM;_ E!+ P04 " #N?0)/_&HJE.(! #Q! & 'AL+W=O$= MM'JEXH(1I4-QQ;(30$IK8A2'OO^ &6E:E*C.0D=XK%(V#%K9\-834&7H,3B<$J.W@I\- M]'(R]TPG%\Y?3/"ES)!O@(!"H4P%HH<[G(!24TAC_!YJHG%+8YS.WZI_LKWK M7BY$PHG37TVIZ@SMD%="16Y4/?/^,PS]),@;FO\*=Z!:;DCT'@6GTOYZQ4TJ MSH8J&H615S2IX[PGW ML3IBSD1PB/3++$S2OCN[IKN5.GO/=]L4WTV=07)TDG B"=\K3DM%LALE6.\_ M0H2K$*'UQU.(W0S"21ZLI'42WSXSE(]U[WBB59YHR;.?\42+?6(_W,=1,.-9 MTP7;(-JO\\2K//&"9_^/?I)5?[+TSSB/3K*=&PO=V]R:W-H965T&UL=59=;YLP%/TKB/<57W]"E41JF*9-VJ2JT[9GFC@)*N ,G*;[ M]S.&4F*;EX#-.?>>>V,.=W55[4MWDE)';W75=.OXI/7Y/DFZW4G617>GSK(Q M3PZJK0MMENTQZ>UF]U%?RK-2+_WBVWX=HUZ1K.1.]R$*^+\_CWZ%UN\*>:YZ&2NJC_E7I_6<1I'>WDH+I5^4M>OHQBI%2%V_#M6SL]3H\H6RDA0EX)."),#1GD4!& OD@ M$%O\H,R6^KG0Q6;5JFO4#O_6N>@/!=P3T\Q=OVE[9Y^9:CNS^[K)\"IY[>., MD.T P3,(3(C$!)\RX%"&+?;H3H+<1[ TG($$:R"63^8UD#"?!OG4\NF<3YT> M#!!F(8V%$,(A0P2<6GP@IH23C(NP(A94Q'Q%S%$T0/A-(B8 ,P>8^T!(*X>L1CA[AY>&(LBQU_MO< MQS$L.!,TK"<-ZDE]/:FC)_7R$(1 N.];[N,X%9PL'.DL*"?S7XDLS <4]@7D M%00(N!E^@2 !7$5^3A(9P?U5E#0 MUQX !P1YWHG]PR4$\?3X,)P*LO!&0-@&@00$$5<0"9Q"EC'LVD8 R,TI% NN M 6%K!=]; ;GF.H)NF@0,N<RZ:+GI4VTXN=,0Y*:6E$HCO3KY,9.Z=% M)0^ZOQ7FOAUFKV&AU7F<*Y-IN-W\!U!+ P04 " #N?0)/^BMC_C8# #> M#0 & 'AL+W=O)5$:BY5*[72JE7;9S9Q-JB 4V W[=_77#8;QE/*2\#DS-C'-L9>7&SULSX9 MTP2_B[RLE^&I:?*I(W9?K1;VJUF&-'QY\"5[/#7M@VBU.*>/ MYJMIOIWO*U>*KED.66'*.K-E4)GC,GQ'[W:4MP$=\3TSE_KF/FA5'JS]V18^ M'I8A:5MD?+&7#V80DF$PV'\RSR9W>-L25\?>YG7W&^R?ZL860Q;7 ME"+]W5^SLKM>^G]D/(3A 6P(8-< QB8#^!# KP%<30:((4"\UC#=)#D$R-< MT75O[]YUYC9MTM6BLI>@ZN?#.6VG';V3;KCV[<-N=+K_7'_6[NGSBI)X$3VW MB09FW3/LAM%DC&Q\A))DS&PQ1H^9'<+0U[HBIW+U8:@/ZQ*(40(*?'I&=DS9 M^^A8<:"$4"0F+(9:/L>4I#*FH(]V/OB&)4QSJ7%!C@IR7Y!(((@PE &]&!* "VL.J"^FV9&3A)U MDD@"T)"U]/M7 24?84PQ(+[%*H-&T\S(2*%&"DD 9Q[&P)FG_%%B0G/PEFYG MI-I-,R.G&'6*D01@"-:QWUY"! /KP,;'-$\8(_"E\CFFM-0D@:^5#TZO%PEJ MF,Q8+Q#&&[49S#;QU:00DH'Z=M.Y1E(:E=(S%@R-]3.0\AG.I((S$:L-SL1I M9J1$"?XE)C-6C $:M1A.1(2AL8A!_VS1^J#6?Z"QUS]V&'3&NH%"< H.T/A- M5$HJ:#8CV>X_T-@,WVM0;+/A;9XPR#.; 6T':/2YT-K;04VG&GOA6PR*?= 3 MZ,6][8Q;%F,NH9K/:?#ZGU6-6UL&# M;=R.NMOW'JUMC,M*WKI\)W?8NA9R<&1ZDP#$0JRA:H 466VQ[K=A,;*QDN9(2 M;]^^U&&],F>4&TNB?PY_'O1QQ,VUJK\U1^_;Q?>R.#>/RV/;7A[6ZV9_]&7> M?*HN_AS^>:GJ,F_#8_VZ;BZUSP]]I;)8HU)V7>:G\W*[ZKNYY*_^+]]^O7RNP]/Z%N5P*OVY M.57G1>U?'I=/\) 1=A5ZQ=\G?VTF]XNN*\]5]:U[^/WPN%2=(U_X?=N%R,/E MW6>^*+I(P<>_8]#EKB M_5)=?_-CA\QR,?;^#__NBR#OG(0V]E71]+^+_5O35N48)5@I\^_#]73NK]?A M'Y..U>0*.%; 6P6P'U:@L0+]K$!]YP=G?5=_R=M\NZFKZZ(>9NN2=XL"'B@, MYKXK[,>N_R_TM@FE[UN =+-^[P*-FMV@P:GFIEB'Z+0<85) MY!9([ 3U]6EJ$)4<0(L!=!] 3P,H$XW"H#&]YCQTPVAM,-)E7*#QDZ,@G*8FFCZ,ZY+@PBU[,>)?ASW _$ .\&/M<9& M=@09ZI1FAB<1[23"\%!D)^'M),I"Y$:(!"A;244KJ6!%1U92;L49I53DA:"8'PS2M"MR(5],YU9@2 S"XB9LO$2'#5W$P\F(=*Q*4&H*)T$O+M,^!B1UP'R>Q;"C(&P7!#,35&S?U\:)TFL2%)EUB86THR5X&#U;*5 MQ(&Y J-148PR06D -,V](3);@:O6U<:!*E]0SW428M"J2- MWJ(=Q)4#KM%,P0 &78(@BD9*: <]T:9^(=-!.$%(;)S66/,KT1 MA0U@)CU$F;7(60L89[G(&;K2#A.*T28)4[(!RS.F9-JBD'22BDT)N 5K5)RC MR3HW29[N+!M>&LIWBHR M29B:Q.D9WJ+,6W1\0<[.O0Q(%-+&>%/?(2>?4:3C#%200>+LW!<4RH!$(0^E MF-DH@$]R).2K'S@BF8_$^0CQ#KHC(SFWW-3\IO1WY//4G/E'Y#AZRX>#F9YCA'.G/O'X]G9O%<]6V M5=F?4[Q45>N#3_4I.#SZ_'![*/Q+V]VZ<%\/YS?#0UM=QK.I]>V ;/L_4$L# M!!0 ( .Y] D^B>/QMM $ -(# 8 >&PO=V]R:W-H965T&UL?5/;;IPP$/T5RQ\0LRQITA4@91-5K=1*JU1MGKTP@!5?J&V6].\[ M-H2B!.7%]HS/.7/Q.!^-?78=@"-,8J[M&T M+7.]!5Y'DI(L39)/3'&A:9E'W\F6N1F\%!I.EKA!*6[_'D&:L: [^NIX%&WG M@X.5><];^ G^5W^R:+%%I18*M!-&$PM-0>]VAV,6\!'P6\#H5F<2*CD;\QR, M;W5!DY 02*A\4."X7> >I Q"F,:?69,N(0-Q?7Y5_Q)KQUK.W,&]D4^B]EU! M;RFIH>&#](]F_ IS/=>4S,5_APM(A(=,,$9EI(LKJ0;GC9I5,!7%7Z9=Z+B/ MTTUV,].V">E,2!?";8S#ID Q\P?N>9E;,Q([];[GX8EWAQ1[4P5G;$6\P^0= M>B_E;O\Y9Y<@-&..$R9=8Q8$0_4E1+H5XIB^HZ?;]/UFAOM(WZ^C9\FV0+8I MD$6![,,2-S#9VR+9JJ<*;!NGR9'*##I.\LJ[#.Q=&M_D/WR:]A_ M7S;VOS'& Z:27.$(=?C!%D-"X\/Q!L]V&K/)\*:??Q!;OG'Y#U!+ P04 M" #N?0)/I.9Y([0! #2 P & 'AL+W=OMC"]H%T)_9,Q7'6CA;VP/!F\:Z[0(:+J6^=Z! MJ!-(*\9WNW=,"VEHF2??V96Y'8*2!LZ.^$%KX7Z>0-FQH'OZYGB2;1>B@Y5Y M+UKX"N%;?W9HL86EEAJ,E]80!TU![_?'4Q;C4\!W":-?G4FLY&+M2S0^U07= M14&@H J10>!VA0=0*A*AC!\S)UU21N#Z_,;^(=6.M5R$AP>KGF4=NH+>45)# M(P85GNSX$>9Z;BF9B_\,5U 8'I5@CLHJGU92#3Y8/;.@%"U>IUV:M(_3#<]F MV#: SP"^ .Y2'C8E2LH?11!E[NQ(W-3[7L0GWA\Y]J:*SM2*=(?B/7JOY3[C M.;M&HCGF-,7P=96#O>7J3W^'3M'\1KI7&DXL-^+*I_XVU M 5#*[@9'J,,/MA@*FA"/[_'LIC&;C&#[^0>QY1N7OP!02P,$% @ [GT" M3TZ$LQBT 0 T@, !@ !X;"]W;W)K!-8YT6 4W7,M\[$'4":<7X M;G?'M)"&EGGRG5V9VR$H:>#LB!^T%N[G"90="[JG;XYGV78A.EB9]Z*%+Q"^ M]F>'%EM8:JG!>&D-<= 4]'%_/&4Q/@5\DS#ZU9G$2B[6OD3C8UW0710$"JH0 M&01N5W@"I2(1RO@Q<](E902NSV_L[U/M6,M%>'BRZKNL0U?0!TIJ:,2@PK,= M/\!;L&HGF MF-,4P];1-DFP19(LC^6^)6S/U? M2=BJIQISVX:L\D(MI]_$%N^&PO=V]R:W-H965T>F4[S MT=AGUP%X\J*D=@7MO.]/C+FJ \7=G>E!XTUCK.(>3=LRUUO@=00IR=(D><,4 M%YJ6>?1=;)F;P4NAX6*)&Y3B]N<9I!D+NJ.OCB?1=CXX6)GWO(4OX+_V%XL6 M6UAJH4 [832QT!3T87X@<3PH 1S5$:ZN))J<-ZHF06E*/XR[4+'?9QN#H<9M@U(9T"Z (XQ M#YL21>7ON.=E;LU([-3[GHREUVS-DM$,TQYRDF M7<JK MG&:'*G,H.,DK[S+P#ZD\4U^AT_3_IG;5FA'KL;CR\;^-\9X0"G)'8Y0 MAQ]L,20T/AP/>+;3F$V&-_W\@]CRC&PO=V]R:W-H965T=DDB]5M,F;=*IT[K/7.(DJ( S()?NWP](FD5;U"^ C=_SLS'YB.;% M=@".O"JI;4$[Y_HC8[;J0'%[@SUH?].@4=QYT[3,]@9X'4%*LG2W^\ 4%YJ6 M>?2=39GCX*30<#;$#DIQ\_L$$L>")O3-\23:S@4'*_.>M_ =W(_^;+S%%I9: M*-!6H"8&FH+>)\=3%N)CP+. T:[.)%1R07P)QI>ZH+L@""14+C!POUWA :0, M1%[&KYF3+BD#<'U^8_\4:_>U7+B%!Y0_1>VZ@MY14D/#!^F>E/@<%4H;5U(-UJ&:6;P4Q5^G7>BXC]/-X3##M@'I#$@7P%W,PZ9$ M4?DC=[S,#8[$3+WO>7CBY)CZWE3!&5L1[[QXZ[W7,KE-;L/WFPKW$;Y?9\\^;A-DFP19),C>+7$KYE^5;-53!::- MTV1)A8..D[SR+@-[G\8W^1L^3?LW;EJA+;F@\R\;^]\@.O!2=C=^A#K_P19# M0N/"\>#/9AJSR7#8SS^(+=^X_ -02P,$% @ [GT"3S38Y7*T 0 T@, M !D !X;"]W;W)K&UL?5/;;IPP$/T5RQ\0+RS; M1BM RJ:J&JF15JG:/GMA "N^$-LLR=]W; BE+>J+[1G/.7-F/,Y'8Y]=!^#) MJY+:%;3SOC\RYJH.%'--XVQBGLT;[#TQQH6F91]_9 MEKD9O!0:SI:X02ENWTX@S5C0A+X[GD3;^>!@9=[S%KZ!_]Z?+5IL8:F% NV$ MT<1"4]"[Y'C*0GP,^"%@=*LS"95X!RD#$QS=@U$<\QIBDG7,4L$0_8E M1;J5XI3^ T^WX?M-A?L(W_^A,-LFR#8)LDB0_;?$K9C#7TG8JJ<*;!NGR9'* M##I.\LJ[#.Q=&M_D=_@T[8_7S;VOS'& TK9W> (=?C!%D-"X\/Q M(Y[M-&:3X4T__R"V?./R%U!+ P04 " #N?0)/"H^]KK0! #2 P &0 M 'AL+W=OW<NC@Q59)QKX OYK=['!8C-+)348)]$0"W5. M'[>G\S[&IX!O$@:W.)-8R17Q)1H?JYQNHB!04/K((,)V@R=0*A(%&3\F3CJG MC,#E^8W]?:H]U'(5#IY0?9>5;W-ZI*2"6O3*/^/P :9Z[BF9BO\$-U A/"H) M.4I4+JVD[)U'/;$$*5J\CKLT:1_&&WZ88.L /@'X##BF/&Q,E)2_$UX4F<6! MV+'WG8A/O#WQT)LR.E,KTET0[X+W5FSO'S)VBT13S'F,XU@GVJP3[1+#_;XEK,<>_DK!%3S78)DV3(R7V)DWR MPCL/["-/;_([?)SVS\(VTCAR11]>-O6_1O00I&SNP@BUX8/-AH+:Q^,AG.TX M9J/AL9M^$)N_&PO M=V]R:W-H965TD*D+*IJE9* MI%6JIL]>&,"*+]0V2_+W'1M"48OZ8GO&YYRY>)P-QKZZ%L"3-R6URVGK?7=D MS)4M*.YN3 <:;VIC%?=HVH:YS@*O(DE)EB;)@2DN-"VRZ#O;(C.]ET+#V1+7 M*\7M^PFD&7*ZH1^.9]&T/CA8D76\@>_@?W1GBQ:;52JA0#MA-+%0Y_1^0,H@A&G\FC3I'#(0E^[3AFH^%- M-_T@-G_CXC=02P,$% @ [GT"3V)5)L>R 0 T@, !D !X;"]W;W)K M&UL?5/;CM,P$/T5RQ^P;MVPK*HDTG81 @FD:A'P M[":3Q%I?@NTTR]\S=M(0(.+%]HSGG#DS'N>C=2^^ PCD52OC"]J%T!\9\U4' M6O@[VX/!F\8Z+0*:KF6^=R#J!-**\=WNGFDA#2WSY#N[,K=#4-+ V1$_:"W< MSQ,H.Q9T3V^.9]EV(3I8F?>BA2\0OO9GAQ9;6&JIP7AI#7'0%/1Q?SQE,3X% M?),P^M69Q$HNUKY$XV-=T%T4! JJ$!D$;E=X J4B$I M=JSE(CP\6?5=UJ$KZ ,E-31B4.'9CA]@KN<-)7/QG^ *"L.C$LQ16>732JK! M!ZMG%I2BQ>NT2Y/V<;ZYP;8!? ;P!?"0 &Q*E)2_$T&4N;,C<5/O>Q&?>'_D MV)LJ.E,KTAV*]^B]EOM[GK-K))IC3E,,7\3)GGE70;VD:&UL?5/;;MP@$/T5Q >$7;S91"O;4C91E$JMM$K4]IFUQQ<% M& ?P.OW[ '9R5;#R1#;*R7,KR-('#*Z MI9^.Y[9N7'"P/.U$#2_@OG&X"_$QX$<+@UV< M2:CDC/@:C"]E1C=!$$@H7& 0?KO /4@9B+R,MXF3SBD#<'G^9'^,M?M:SL+" M/F:C-Y24D(E>NF><7B"J9YK2J;BO\(%I \/2GR. J6-*REZZU!-+%Z* M$N_CWNJX#^--DDRP=0"? 'P&W,8\;$P4E3\()_+4X$#,V/M.A"?>'KCO31&< ML17QSHNWWGO)M_OKE%T"T11S'&/X,F:.8)Y]3L'74ASY/W"^#D]6%281GORA M<+].L%LEV$6"W7]+7(NY^2L)6_14@:GC-%E28*_C)"^\\\#>\?@FO\/':?\F M3-UJ2\[H_,O&_E>(#KR4S94?H<9_L-F04+EPO/%G,X[9:#CLIA_$YF^#BV 0 T@, !D !X;"]W;W)K&UL?5/;;IPP$/T5RQ\0 [M-MBM RJ:J6JF55JG:/GMA "N^4-LL MZ=]W; BE">J+[1G/.7-F/,Y'8Y]--XVQ MBGLT;#ET+#V1(W*,7M[Q-(,Q8TI2^. M1]%V/CA8F?>\A6_@O_=GBQ9;6&JA0#MA-+'0%/0^/9[V(3X&_! PNM69A$HN MQCP%XW-=T"0( @F5#PP%!">:HC'1Q)=7@O%$S"TI1_'G: MA8[[.-WLTAFV#AR=.CQGVI@K.V(IX MA^(=>J]E>GO(V340S3&G*29;QRP1#-F7%-E6BE/V!IYMPW>;"G<1OOM'X?MM M@OTFP3X2[/];XD;,7?(J"5OU5(%MXS0Y4IE!QTE>>9>!O<_BF_P-GZ;]*[>M MT(Y7C?UOC/& 4I(;'*$./]AB2&A\.-[AV4YC-AG>]/,/8LLW+O\ 4$L# M!!0 ( .Y] D\&PO=V]R:W-H965T-L8I[ M-&W+7&^!UQ&D)$MWN_=,<:%IF4??V9:Y&;P4&LZ6N$$I;G^=0)JQH E]<3R( MMO/!P"'@-&MSB14=Y3,Q7^!*T@,#THP1V6DBRNI!N>-FEE0BN+/TRYT MW,?I)CO,L&U .@/2!7"(>=B4*"K_P#TO]SP\<7),L3=5<,96Q#L4 M[]![+9/;)&?70#3'G*:8=!VS1#!D7U*D6RE.Z3_P=!N>;2K,(CS[0^%_"/:; M!/M(L'^SQ*V8[*\D;-53!;:-T^1(908=)WGE70;V+HUO\AH^3?M7;ENA';D8 MCR\;^]\8XP&E[&YPA#K\8(LAH?'A>(MG.XW99'C3SS^(+=^X_ U02P,$% M @ [GT"3]MW5H"T 0 T@, !D !X;"]W;W)K&UL?5/;CMP@#/T5Q KJI5::;15VVU"Z(^,^:H#+?R-[<'@36.=%@%-US+? M.Q!U FG%^&YWQ[20AI9Y\IU=F=LA*&G@[(@?M!;NYPF4'0NZIV^.9]EV(3I8 MF?>BA2\0OO9GAQ9;6&JIP7AI#7'0%/1Q?SQE,3X%?),P^M69Q$HNUKY$XV-= MT%T4! JJ$!D$;E=X J4B$732JK!!ZMG%I2BQ>NT2Y/V<;K) M#C-L&\!G %\ #RD/FQ(EY>]$$&7N[$CQ"?>'SGVIHK.U(ITA^(]>J_E M_C[+V342S3&G*8:O8Y8(ANQ+"KZ5XL3_@?-M^&%3X2'!#W\HO-TFR#8)LD20 M_;?$K9B[OY*P54\UN#9-DR>5'4R:Y)5W&=A'GM[D=_@T[9^%:Z7QY&(#OFSJ M?V-M )2RN\$1ZO"#+8:")L3C/9[=-&:3$6P__R"V?./R%U!+ P04 " #N M?0)/A T+Y+4! #2 P &0 'AL+W=O2X^_M2LNMYF[$7 M2:1X#@\I*AN,?7$M@"=O2FJ7T];[[LB8*UM0W-V8#C3>U,8J[M&T#7.=!5Y% MD)(LV6SNF.)"TR*+OK,M,M-[*32<+7&]4MS^.H$T0TZW],/Q*)K6!PV:+&9I1(*M!-&$PMU3N^WQU,:XF/ 3PYQ)J.1BS$LPOE8YW01! M(*'T@8'C=H4'D#(0H8S7B9/.*0-P>?Y@_QQKQUHNW,&#D<^B\FU.#Y144/-> M^D)/N)M@Z M()D R0PXQ#QL3!25?^*>%YDU [%C[SL>GGA[3+ W97#&5L0[%._0>RVV^WW& MKH%HBCF-,JATG>>&=!_8^B6_R.WR<]N_<-D([7S;VOS;& M TK9W. (M?C!9D-"[<-QCV<[CMEH>---/XC-W[AX!U!+ P04 " #N?0)/ M\*MF$;0! #2 P &0 'AL+W=OE+]IM)',>=.TQ/8&6!U)4A": M))^(9%SA,H^^LRES/3C!%9P-LH.4S/P]@=!C@5/\ZGCD;>>"@Y1YSUKX">Y7 M?S;>(HM*S24HR[5"!IH"WZ7'4Q;P$?";PVA79Q0JN6C]'(QO=8&3D! (J%Q0 M8'Z[PCT($81\&G]F3;R$#,3U^57]2ZS=UW)A%NZU>.*UZPI\P*B&A@W"/>KQ M*\SUW&(T%_\=KB \/&3B8U1:V+BB:K!.RUG%IR+9R[1S%?=QNJ'I3-LFT)E M%T*VC[5,@6+F#\RQ,C=Z1&;J?<_"$Z='ZGM3!6=L1;SSR5OOO9;I_G-.KD%H MQIPF#%UC%@3QZDL(NA7B1-_1Z39]MYGA+M)WZ^B'9%L@VQ3(HD#V88D;F,/; M(LFJIQ),&Z?)HDH/*D[RRKL,[!V-;_(?/DW[#V9:KBRZ:.=?-O:_T=J!3R6Y M\2/4^0^V& (:%XY[?S;3F$V&T_W\@\CRC&PO=V]R:W-H965T=.J^/C+FR!2WFAPYO:6"T\FK9AKK<@J@C2BO$D><>T MD!TMLN@[VR(S@U>R@[,E;M!:V)\G4&;,Z8[>',^R:7UPL"+K10-?P7_KSQ8M MMK!44D/GI.F(A3JG#[OC*0WQ,>"[A-&MSB144 ;@^W]@_Q-JQEHMP\&C4BZQ\F],#)1748E#^V8P?8:[G MGI*Y^,]P!87A00GF*(UR<27EX+S1,PM*T>)MVF47]W&ZX3?8-H#/ +X TD.L M94H4E3\)+XK,FI'8J?>]"$^\.W+L31F+_P/DV?+^I(T.5*:H8N3O/(N _O XYO\#I^F_8NPC>P-///X@MW[CX!5!+ P04 " #N?0)/JF1>@K0! #2 M P &0 'AL+W=O3;%H7'*S(>M' -W#?^[/Q%EM8*JFA MLQ([8J#.Z7UR/*4A/@;\D##:U9F$2BZ(+\'X7.5T%P2!@M(%!N&W*SR 4H'( MR_@Y<](E90"NSV_L'V/MOI:+L/" ZEE6KLWI@9(*:C$H]X3C)YCKN:5D+OX+ M7$'Y\*#$YRA1V;B2R3&;8-X#. +X!#S,.F1%'Y MHW"BR R.Q$R][T5XXN3(?6_*X(RMB'=>O/7>:Y$ M?4G!MU*<^#]PO@W?;RK<1_C^#X6WVP3I)D$:"=+_EK@5<_=7$K;JJ0;3Q&FR MI,2ABY.\\BX#>\_CF[R'3]/^59A&=I9&PO=V]R:W-H965T&,"*+]0V2_KW'1M"48OZ8GO&YYRY>%Q,QKZX'L"35R6U M*VGO_7!BS-4]*.[NS :;UIC%?=HVHZYP0)O(DE)EB7)>Z:XT+0JHN]BJ\*, M7@H-%TO=6 ?LO@F?^#SM'_EMA/:D:OQ^+*Q_ZTQ'C"5Y Y'J,7?$3S9#L 1YZ5U+:@G7/] MB3%;=:"XO<,>M+]IT"CNO&E:9GL#O(XD)5F:).^9XD+3,H^^BRES')P4&BZ& MV$$I;OZ<0>)8T!U]<3R*MG/!PCOQAOL46E%@JT%:B)@::@][O3 M.0OX"/@I8+2K,PF57!&?@O&E+F@2$@()E0L*W&\W> I@Y!/X_>L29>0@;@^ MOZA_BK7[6J[\S V.Q$R] M[WEXXMTI];VI@C.V(M[YY*WWWLK=X9BS6Q":,><)DZXQ"X)Y]25$NA7BG+ZB MI]OT_6:&^TC?KZ,?DVV!;%,@BP+9FR5N8([_%\E6/55@VCA-EE0XZ#C)*^\R ML/=I?)-_\&G:OW'3"FW)%9U_V=C_!M&!3R6Y\R/4^0^V&!(:%XX?_-E,8S89 M#OOY!['E&Y=_ 5!+ P04 " #N?0)/F_V+ 8T" !$"@ &0 'AL+W=O MD\:!I Q_''^R?W>;-9@Y,\6=1_2I/NMC$RS@Z\3.[5OI%W+_P?D.S..IW M_XW?>&7@-A.C<125656;SE9T2RY6:(>L^LP M]!$S(!+#/DA0)+&CHW"*PR989 Y%YH!@X8D@S!*++*#( A"L/)$QQMP#6&0)19: @'@B"!-P MS@J*K "!?_ ($SAXDN(*2@&%?_00%#A[$JA4 BC\TX>@P/$36*Y;0@&%;P $ M(@$'$%S79 (H? ] 4, $!)<_&=A32OA_O#/0FAN[9D:!SSOU!+ M P04 " #N?0)/LT#!;-4! "RA\Z>5%() M9JRI:J)[!:ST08(3&D4)$:SM<)YZWTGEJ1P,;SLX*:0'(9CZ\-3"J%=[Y"HY M2_GBC.]EAB.7$' HC&-@=KG /7#NB&P:KS,G7B1=X'K_SO[-UVYK.3,-]Y(_ MMZ5I,KS'J(2*#=P\RO$!YGIV&,W%_X +< MWF5B-0G+MOZ@8M)%B9K&I"/8V MK6WGUW$Z2>(Y+!Q YP"Z!.R]#IF$?.9?F6%YJN2(U-3[GKE?O#E0VYO".7TK M_)E-7EOO):?T-B471S1CCA.&KC";!4$L^R)!0Q)'^BF9?3NJ+]='_!I;G\R5;>=1F=I[!WU-ZF2TH!-);JQ M!3?VJ5@,#I5QVUN[5]/ 3(:1_?P6D.5!RO\"4$L#!!0 ( .Y] D]95W4! MMP$ -(# 9 >&PO=V]R:W-H965T( 7J=_WP$[CI/Z!9CAG#,7AFPT M]MFU )Z\*JE=3EOO^P-CKFQ!"7=E>M!X4QNKA$?3-LSU%D0524HROMO=,"4Z M38LL^DZVR,S@9:?A9(D;E!+V[Q&D&7.ZIV^.QZYI?7"P(NM% [_ _^Y/%BVV MJ%2= NTZHXF%.J=W^\,Q#?@(^-/!Z%9G$BHY&_,;))EIVP0^$_A"N(UQ MV!0H9OY5>%%DUHS$3KWO17CB_8%C;\K@C*V(=YB\0^^EX$F:L4L0FC''"<-7 MF/V"8*B^A.!;(8[\/SK?IB>;&2:1GJRCI\FV0+HID$:!]$.)UY]*W,+96#O>'R3=_@T[3^%;3KMR-EX?-G8_]H8#YC*[@I' MJ,4/MA@2:A^.7_!LIS&;#&_Z^0>QY1L7_P!02P,$% @ [GT"3^KLW=VW M 0 T@, !D !X;"]W;W)K&UL;5/;;MP@$/T5 MQ >$7>PDVY5M*9NJ:J566J5J^\S:8QL%C MXG?Y]!^RX;N(78(9SSEP8LM'8 M9]<">/*B5>=RVGK?'QES90M:N!O30X#1MPUQO0521I!7CN]T=TT)V MM,BB[VR+S Q>R0[.EKA!:V'_G$"9,:=[^NIXDDWK@X,562\:^ [^1W^V:+%% MI9(:.B=-1RS4.7W8'T]IP$? 3PFC6YU)J.1BS',POE0YW86$0$'I@X+ [0J/ MH%00PC1^SYIT"1F(Z_.K^J=8.]9R$0X>C?HE*]_F]$!)!;48E'\RXV>8Z[FE M9"[^*UQ!(3QD@C%*HUQ<23DX;_2L@JEH\3+MLHO[.-TD?*9M$_A,X OA$..P M*5#,_*/PHLBL&8F=>M^+\,3[(\?>E,$96Q'O,'F'WFO!D_N,78/0C#E-&+[" M[!<$0_4E!-\*<>+OZ'R;GFQFF$1ZLHZ>WFT+I)L":11(_ROQ\*;$+SS;:]T68X9GGF<$9LDFJ M9]T"&/0B>*]SW!HS' G190N"Z3LY0&]/:JD$,]94#=&# E;Y(,$)C:*4"-;U MN,B\[ZR*3(Z&=SV<%=*C$$S].0&74XYC_.IXZIK6. .'^'A*'=X#?G8PZN4HN4CX[XTN5X\@E!!Q*XQB87:[P M")P[(IO&[X43KY(N<+M_9?_D:[>U7)B&1\E_=95I]1W4BVE 9M*=&<+;NU3L1H<:N.V![M7\\#,AI'# M\A:0]4$J_@)02P,$% @ [GT"3\+.IY&W 0 T@, !D !X;"]W;W)K M&UL;5/M;ML@%'T5Q .4A'A-%MF6FD[5)FU2U&GM M;V)?VZA@/,!Q]_:[8-?U.O\![N6<F@Q9O*F.U\&C:FKG.@B@C22O&-YM;IH5L:9Y&W]GFJ>F]DBV<+7&]UL+^ M.8$R0T:W],WQ*.O&!P?+TT[4\!/\K^YLT6*S2BDUM$Z:EEBH,GJW/9Z2@(^ M)PF#6YQ)J.1BS$LPOI49W82$0$'A@X+ [0KWH%00PC1^3YIT#AF(R_.;^D.L M'6NY" ?W1CW+TC<9/5!20B5ZY1_-\!6F>CY1,A7_':Z@$!XRP1B%42ZNI.B= M-WI2P52T>!UWV<9]&&_V^XFV3N 3@<^$0XS#QD Q\R_"BSRU9B!V['TGPA-O MCQQ[4P1G;$6\P^0=>J\Y3_8INP:A"7,:,7R!V,T.5*8OHV3O/#. WO' MXYN\P\=I_R%L+5M'+L;CR\;^5\9XP%0V-SA"#7ZPV5!0^7#:J#I1P M=V8 C3>-L4IX-&W+W&!!U!&D).-)\HXIT6M:YM%WL65N1B][#1=+W*B4L+_/ M(,U4T)2^.I[ZMO/!P!V@T>0,A"AC%\+)UU3!N#V_,K^,=:. MM5R%@T4DMSA"'7XP59#0N/#\3V>[3QFL^'-L/P@ MMG[C\@]02P,$% @ [GT"3U$-*:>W 0 T@, !D !X;"]W;W)K&UL;5/;;MP@$/T5Q >$7>Q-TY5M*9NH:J566J5J^\S: M8QL%/"[@=?KW!>RX;N(78(9SSEP8LA'-LVT!''G1JK,Y;9WKCXS9L@4M[ WV MT/F;&HT6SINF8;8W(*I(THKQW>Z6:2$[6F31=S9%AH-3LH.S(7;06I@_)U X MYG1/7QU/LFE=<+ BZT4#W\']Z,_&6VQ1J:2&SDKLB($ZI_?[XRD-^ CX*6&T MJS,)E5P0GX/QI]%>.+]D?O> ME,$96Q'O?/+6>Z\%/R09NP:A&7.:,'R%V2\(YM67$'PKQ(F_H_-M>K*981+I MR3KZ;;(MD&X*I%$@_:_$]$V)6YC#FR!LU5,-IHG39$F)0Q>5=!O:>QS?Y M!Y^F_9LPC>PLN:#S+QO[7R,Z\*GL;OP(M?Z#+8:"VH7C!W\VTYA-AL-^_D%L M^<;%7U!+ P04 " #N?0)/7WK%9-,! ".=)3J33< !KT+WND,-\;T!T)TT8!@^D;V MT-F32BK!C#55372O@)4^2'!"HR@A@K4=SE/O.ZD\E8/A;0P< "= ^@2L/6^\EI[LD)1='-&..$X:N,/&"()9]D: AB2/]+YR&PS?!##<^ M?+-63Y(PP39(L/4$VW]*O+TJ,839AT5V09%=@.#;E4@ DT1AD20HD@0(XBN1 M$.:ZWV1U.P2HVL^%1H4<.C^3*^\R>G?^.I(O^#2W3TS5;:?161I[1_U-JJ0T M8%.);FS!C7TJ%H-#9=SVUN[5-#"3860_OP5D>9#ROU!+ P04 " #N?0)/ MIU-+@KMO8E_;J& \P''[]KM@QW,[_P'NY9QS M/[BD@[$OK@'PY%6KUF6T\;X[,.:*!K1P-Z:#%F\J8[7P:-J:N'8Q+P$?!;PN 69Q(J.1OS$HSO948W(2%04/B@ M('"[P ,H%80PC3^3)IU#!N+R?%7_&FO'6L["P8-1S[+T34;O*"FA$KWR3V;X M!E,]MY1,Q?^ "RB$ATPP1F&4BRLI>N>-GE0P%2U>QUVV<1_&F^1*6R?PB[E%V"T(0Y MCAB^P&QG!$/U.01?"W'D_]'Y.GVWFN$NTG?+Z/O/ZP+)JD 2!9)W)28?2ES# MW'X(PA8]U6#K.$V.%*9OXR0OO// WO/X)O_@X[0_"EO+UI&S\?BRL?^5,1XP ME=-,/8O,WSO\"4$L#!!0 ( .Y] D_I M!:_$SP$ )P$ 9 >&PO=V]R:W-H965T!>]TAAMC^A,ANFA ,/T@>^CLETHJP8P-54UTKX"5GB0XH5&4 M$,':#N>ISUU4GLK!\+:#BT)Z$(*IWV?@N(.!0&*? M['*#9^#<"=DR?LV:>+%TQ/7^KO[)]VY[N3(-SY+_;$O39/@1HQ(J-G#S(L?/ M,/=SP&AN_BO<@%NXJ\1Z%))K_XN*01LI9A5;BF#OT]IV?AUG_3LM3* S@6X( M9#+RE7]DAN6IDB-2T]GWS/W%\8G:LRE<+0 M%29>$,2J+Q8T9'&F_]%IF+X+5KCS]-W:_7@("^R# GLOL/^GQ>.FQ1#F,6QR M")H< @(?-B8!S#$*FR1!DR0@$&],0ICM>9/5[1"@:C\7&A5RZ/Q,KK++Z#U1 M?[O^PJ>Y_<94W78:7:6Q=]3?I$I* [:4Z,$VW-BG8@DX5,9MCW:OIH&9 B/[ M^2T@RX.4_P%02P,$% @ [GT"3VX&UL;5/;;IPP$/T5RQ\0LX9DVQ4@91-%K=1*JU1- MG[TP@!5?B&V6].]K&T))PHOM&9]SYN)Q/FKS;#L AUZE4+; G7/]@1!;=2"9 MO=(]*'_3:".9\Z9IB>T-L#J2I" T26Z(9%SA,H^^DRES/3C!%9P,LH.4S/P] M@M!C@7?XS?'(V\X%!RGSGK7P"]SO_F2\11:5FDM0EFN%##0%OMT=CEG 1\ 3 MA]&NSBA4.*JL$Z M+6<5GXIDK]/.5=S'Z29+9]HV@,T653I0<5)7GF7@;V= MWN0_?)KVG\RT7%ETULZ_;.Q_H[4#GTIRY4>H\Q]L,00T+ASW_FRF,9L,I_OY M!Y'E&Y?_ %!+ P04 " #N?0)/RW*E9A\# !*# &0 'AL+W=O8A:1K*0:]VFR,SC)%-9 M%&TFP^.W31I>:[:!_?%K]D]=\Z:9IZR1J2I^Y1N]GX=Q&&SD-CL6^E&=/TO; M$ L#V_U7>9*%@;=,3(VU*IKN-U@?&ZU*F\50*;.7RS.ONN?9YG\-\P=@&X"O M 4!N!A ;0/X%T)L!U ;0487HTDJW-ZM,9XM9KZOV\5N ML[MW9GL:LWI:8,%GT:E-9#'+"P;W,4-$ZD$(,<2L7 R+KY#(D+PRQ5ZFN(LG M@QH3"8@W >D2T%X"3D:=7B"L@U0=! "3A! 8->,#$A!",#\CZF5$74;CO;] M>*^08 +3!(T(N3A.&$]Z'0[X,"\?YO 9?\4E\]0A HTVRGP[UT MN$MGO#W-"[=QGK $QNV8VUDUK,H!1& M @,;PNXYN)**'9*?2"8,S1A0N!W(4C>H8S$ M+849H E?P'ZWPJY;.><=NQXD$BI@0NW8[T#8=2#G%%M,_VS2)!GO7=2[H[6W M[&]9O&PO=V]R:W-H M965T1,L:LW(2LJ;:#.49J%8R>G1!-0*[5*!LU$"#,!( ;T4T,4GD_@4S2!Z"7:2QDGB&*(91%?J+42Y0NB. $Z28!\28@]P\7 M693T'\3,ZY#=/RS91QURKT-^?_OSCSJ86]=[$T3WMW[0X'=,P.3FL4_!#RK/ M5:."O=#F$G-7S4D(S4RZZ,$D*LWK,PXX.VG;):8O^RNX'VC1#L\+&-^X]3]0 M2P,$% @ [GT"3PV!6-# @ KPD !D !X;"]W;W)K&ULC59M;]L@$/XKEK^OYL#X)4HB-9FF3=JDJM.VSVY"$JNVR8 D MW;\?8-=U#&[SQ<#YN;OGX#AN?N'B61X84\%+735R$1Z4.LZB2&X.K"[D'3^R M1O_9<5$72B_%/I)'P8JM5:JK"".41'51-N%R;F4/8CGG)U65#7L0@3S5=2'^ MK5C%+XL0PE?!8[D_*".(EO-CL6<_F?IU?!!Z%?56MF7-&EGR)A!LMPCO8;:& MQ"A8Q.^27>1@'IA0GCA_-HMOVT6(#"-6L8TR)@H]G-F:596QI'G\[8R&O4^C M.)R_6O]B@]?!/!62K7GUI]RJPR+,PF#+=L6I4H_\\I5U =$PZ*+_SLZLTG## M1/O8\$K:;[ Y2<7KSHJF4A("!'A%IZ[T+['.QPHXZOG:P=A$T\WL@WB"(U8\'^GD\BJ&%4 MI+(20!')$ M8,3%!>*8)"1/4C^CV,LH=AG1$:,6DEPYHBE@.@*N72!D,>*:9;H3O,[Z.ZI7U1LI\PTU7/1MA#M0O%CUQY%?8^V_ ]02P,$% M @ [GT"3WX+^(YG @ ] < !D !X;"]W;W)K&ULA57MCILP$'P5Q ,<'P8"$8ET4%6MU$K15;W^=H@3T!E,;2=L';YCT^D1]$_NQW7,V\F>70M*03#>L<3HX;]SE8EX$),(C7A@QB,79T M*GO&WO3DZV'C^MH1H:22F@*KUX64A%+-I'S\GDC=65,'+L=7]L\F>97,'@M2 M,OJK.)OYK&!P03@'A'! D_PQ 4P#Z"$ F^=&92?43EGB;11--F&+$A M,,",\Q3Y+A)!$$=Z% MA[<"Y3TB3F$%!":!3#Q:&HQ\F" ""2)#$-WL0F+M H1968E F >9Q*"1&"#( M+", )O,M(Q#FP:$EH)$$(+".K8 PR#("82+8R HTL@(([ L*8:SC*R',"C:2 M@D92@""UC(R8V&"Z$9.D:?1 )P-ULO_KE!F@$R6+G&]T A_^]7U R;YL$RA9 M2*$@\WW[P@&X,$%+W*VE!]4HN+.$;*EB BVS#_PDB>T3AW!AE"'[/_ 6M;(E M_&3:BG J=NZDKDJ+U;EU/8>ZUEKKA6YII@9_T(S]\#OFIZ83SIY)5G.CW_X%4$L#!!0 ( .Y] M D]>]2M^(P( !@& 9 >&PO=V]R:W-H965TO?M!^@U5MGV1OX] MYSF_HX!Y+^2KJAC3P5O#6[4+*ZV[+0#J5+&&JB?1L=:L7(1LJ#9#>06JDXR> M75##01)%T;L,B=W,'6>3BIGG=LH,,U*UIJ/R]9USTNS .WR>>ZVNE[00H M\HY>V7>F?W0':49@_"R (QSD[:.E#3W%G).+=&!N/7Z!E.*6W@O/_N_LG5;FHY4L5*P7_69UWM MPBP,SNQ";UP_B_XS&^M!83 6_Y7=&3=R2V)RG 17[AF<;DJ+9G0Q* U]&]JZ M=6T_K*1X#/,')&- ,@7$\)\!< R BP PD+E2/U)-BUR*/I##Q^JHW1/Q%IJ7 M>;*3[MVY-5.M,K/W D9Q#N[6:-3L!TTRTR2/BG*M0-DD 09@HDB\%(F+A[/X M.(5^ ^@U@,X@?2AC ;D?-,AI6J=)4YA! A?%K'4(Q2A+_U)1Z@5*/4"+1/M! M@V>)-BC"6;K@6AIP=M&V2TQ?#I?5,-"B&^]A M,/T,BC]02P,$% @ [GT"3S\QD8 U @ JP8 !D !X;"]W;W)K&ULA97;CILP$(9?!?$ :VQSC A20U6U4BM%6[6]=H@3 MT!I,;2=LW[ZV81$!;YN+^/3/S#>#-4'*V1BT#* ABT)*F\XO<[AU%D?.;8DU'C\*3M[8E MXL^!,C[L?>B_;3PWUUJ9#5#D/;G2[U3]Z(]"K\#LY=RTM),-[SQ!+WO_ ]R5 MJ=%;P<^&#G(Q]TPF)\Y?S.++>>\'!H@R6BGC@>CA3DO*F'&D,7Y//OTYI#%< MSM^\?[*YZUQ.1-*2LU_-6=5[/_6],[V0&U//?/A,IWPBWYN2_TKOE&FY(=$Q M*LZD_?>JFU2\G;QHE):\CF/3V7$83W \F;D-T&2 9@.(_VF )P.\,@ CF4WU M(U&DR 4?/#%^K)Z8.P%W6!>S,INV=O9,9ROU[KW 09*#NW$T:0ZC!BTTZ%%1 M;A51.DN !I@ID),"67N\L(=A[': G0ZP=1 ^I)&NTA@UD=5T5A,G60!7LG(K M2U"<1LB-$SIQ0@=.ML(9-?$B3I8%49A%*QZ7+@L0BMQ D1,HV@+!8 44;0(E M49ANZN.0Z9Z1O?.]8R=.[,"!*YQX$P="C#.,5\+2)0QADB3O5"AQ(B4.I-4U M/R3;2('YK8#^*WO 29TXJ0,'KW#2S4V%$+DJY!)B5X7 HFV8-OZ-B&O32>_$ ME>Y MD]<.%=4.PV>M+]:OQSS@M&+,M-$S\78/\>%XOWT-(#Y?2K^ E!+ P04 M " #N?0)//.L4,"@" B!@ &0 'AL+W=OR-_?,YS?@2-TP]B8ZWYLU9R(9I M,Y07H#K)V\%OTFA.%] MXJ6ZE-I.@"+OV(7_Y/I7MY=F!":74]7P5E6B#20_;\)/\'F76+T3O%:\5[-^ M8"LY"/%F!]].FS"R0+SF1VT=F&EN?,?KVAH9C#^C9SBEM('S_MW]BZO=U')@ MBN]$_;LZZ7(3IF%PXF=VK?6+Z+_RL1X2!F/QW_F-UT9N24R.HZB5>P;'J]*B M&5T,2L/>A[9J7=N/_O19"<^,9/1F[TES8TZ#F9VV[ MB>G+X=H:!EITXXT,IM]"\0]02P,$% @ [GT"3RUDQ+_R 0 ]P0 !D M !X;"]W;W)K&UL?53MCIP@%'T5XP,L"GZ,$S7I MVC1MTB:3;;K]S>B=T2R*!6;.JZ1_A7L\YG(-(.G#Q)FL Y;RWK).9 M6RO5'Q&290TME4^\ATZ_N7#14J5+<46R%T K2VH9PIX7H98VG9NGMG<2>^F4G7F'ERG@@N],?7"AZ\PY0E=9PK_'>[ M--PXT6N4G$G[=,J;5+R=5+25EKZ/8]/9<9CT'[1] IX(>";XY+\$,A'(BH!& M9S;J9ZIHG@H^.&+\6#TU9\(_$KV9I6G:O;/O=%JIN_><8"]%=R,T89Y'#%Y@ M\$=$L46$AQF"M('9!=YU@2V?+/A^D.P+D%T!8@6"A4 4K5*,D-!".@N)PQ@' MR2IML<5%)(R2B.S["7;]!!L_<;SR,T*B#^N0V",K.UL8]@+B>7C?3KAK)]S8 M(7ZR\A-NDY6I]"\T%@XLRTUC/Q?@OCH7B_73-H/FNR_\!4$L#!!0 ( .Y] D^J M9E;C\0$ '0% 9 >&PO=V]R:W-H965T'E"CU+#'6)8-=%0^\ %ZO5)ST5&EA^*"Y2" 5K:H8YCX M?H([VO:HR.W<210YORK6]G 2GKQV'15_GH#Q\8 "]#[QTEX:929PD0_T M]! M_1A.0H_PXE*U'?2RY;TGH#Z@QV!_3(S>"GZV,,I5WS-)SIR_FL&7ZH!\ P0, M2F4F M7OCX&>8\,?+F\%_A!DS+#8E^1\F9M$^OO$K%N]E%HW3T;6K;WK;CM)*FFS1JH.1/!/M0?LS23]MO9-9U6 MZME;$9(@QS=C-&N>)@VYTY![S=&E"1<-U@P+"'&"$&L0K@R":.V ME]Z9*_TKV0-?CK\!EP*!6IIOJOI@N@FF@^##?<7BY:(N_4$L# M!!0 ( .Y] D\\SR8&\0$ /<$ 9 >&PO=V]R:W-H965T\&'6D[=TB,[T++S)VE[3MX<(=<>\ZPO^>@+(Q=['[WGAN M;XW4#51D [G!3Y"_A@M7%9I5JK:#7K2L=SC4N?L)'\^1QAO 2PNC6,P=G>3* MV*LNOE6YZVE#0*&46H&HX0%GH%0+*1M_)DUWWE(3E_-W]2\FN\IR)0+.C/YN M*]GD;NHZ%=3D3N4S&[_"E"=RG2G\=W@ 57#M1.U1,BK,KU/>A63=I**L=.3- MCFUOQM&N),E$VR?X$\&?"3CX+R&8",&*@*PS$_4SD:3(.!L=;O^L@>@[@8^! M.LQ2-\W9F3655JCNHP@"G*&'%IHP)XOQ%QC_(^*\143I#$'*P.S"WW7A&WZP MX./PL"\0[ H$1B#\$&-E\F0QD<'T-@8^)(>%4QMF!^>G27I(]@V%NX;"K2&\ M-F0Q\6(C',:QEZ[._[R'\WP_C/<-1;N&HHVA>!7\%&V")P%.DV1E9PM+TRB. M\,H-6EQ!_23\(/S6]L*Y,JENL[ES-6,2E*3WI-0:]0K-!85:ZFFBYMQ^B[:0 M;)B>&32_=<4_4$L#!!0 ( .Y] D]O$?7($0( ((% 9 >&PO=V]R M:W-H965TSO6CE"B50:H2TC?=1TY]*&N)\ M?U-_L;WK7@Y$0LGIG^:HZJV_\KTCG,B%JE?>?X6QG\3WQN:_PQ6HAALGND;% MJ;1/K[I(Q=FHHJTP\C&L36O7?M2_T=R$:"1$$R'ZG(!' EX0T.#,MOJ%*%+D M@O>>&#Y61\R="#=8'V9EDO;L[#O=K=39:X$QSM'5"(V8W8")9IAP0B"M/I6( M7"5VT0,=1]%]B=*%P>XBV-D'M@)X[C%>NP5BIT!L!>*[@X@7!S%@4HMI+6:! M*#]#W)E(G"82AXED86+ )+,2ZW6PSL*%DT?8*EOC#&=N/ZG33^KPDR[\I ^% MXG"5!>'"=_F(T[,F"8)@80C-KBX#<;9_N?0J?FF5N2*S[#1(GB-S]1?YG1XP MPSSX+S-,IQ]$G)M6>@>N](]EK_^)&UL?53;CILP$/T5Y ]8$R AC0!IDZIJI5:*MNKV MV8'AHO6%VB9L_[Z^L"R;H+Y@S_B<,Q=[R$8A7U0+H(-71KG*4:MU?\!8E2TP MHAY$#]RP0JQAQMT)OCJ6M:;1VXR'K2P$_0O_JS-!:>5:J. 5>=X(&$.D>/F\,IL7@' M>.Y@5(M]8"NY"/%BC6]5CD*;$% HM54@9KG""2BU0B:-/Y,FFD-:XG+_IO[% MU6YJN1 %)T%_=Y5N<[1'004U&:A^$N-7F.K9HF J_CM<@1JXS<3$* 55[AN4 M@]*"32HF%49>_=IQMX[^)$TGVCHAF@C13-CL_DN()T+\3HA=\3XS5^IGHDF1 M23$&TE]63^R;V!QBT\S2.EWOW)FI5AGOM8CC-,-7*S1ACAX3+3";&8&-^APB M6@MQC.[HT<< IWO$=K\>(5XM(G;\>)E@\FE=(%D52)Q \J$+^YLN>,S68;@/ MDF[#,+RIY1ZV"YW \#V;BGK()2#%S;3BR\\[0\1O9^;_Q',T7^T;_+ M^!'\0633<15=_ M2_$/4$L#!!0 ( .Y] D\T#E1B@P( &8( 9 >&PO=V]R:W-H965T MZSS&R/LA'F M3G6R=2M[I1MAW5 ?,M-I*7;>J*DS! #+&E&UZ6;EYQ[U9J5.MJY:^:@3>JL/1]A/99M6)@_PI[:_N4;M1-GG958UL3:7:1,O].OT$ M[TOH#;SBN9(7,^LG?2HO2KWV@V^[=0IZ(EG+K>U="-><92GKNO?D./Z,3M,I M9F\X[[][_^*3=\F\""-+5?^N=O:X3HLTVO;R[!"^&@6-T"C 9H,(/ZO 1X-<&"0 M#60^U<_"BLU*JTNBA]/J1'\IX#UVF[GM)_W>^367K7&SYPW&?)6=>T>CYF'0 MH)D&72O*I8(6DR1S !,%BE(@;X]G]I"2N ,<=8"] S)/@X @C4%#O:8=@G"* M4" K/Y1=X9 H#HG@P !GT+!9'(X)(CC0E1_KKH!H%(A&@()#?*"+0!!@#A@, M=R@J!(@5-Y!8%(E%D'" Q):1>$XQ#^]?1, 2 "4+P(A4L B MP%FJ"H(HB\,449@B D,#F&(1AE!*4/#YEA_*KG!X%(='<%B PY=[@W#A;E!X M?V)"@%&.;M0,".*E"T2@\K!V@>75P( Q0L-#BRD1X+F[VS>P;E14N,!BBXH* M%T6&8YB3\)LL8T*.*4,T8,IF!;]_@7\(?:A:D[PHZ]X.7^'W2EGIG(([Y^[H M'OUI4,N][;NYZ^OAY1L&5G7CJYY-?RTV_P!02P,$% @ [GT"3UT@BA/U M 0 T 0 !D !X;"]W;W)K&UL?53M;ML@%'T5 MRP]0'#LT'[(M-:FF3=JDJ-.ZW\2Y_E#!>$#B[NUW ==U$Z_Y8>!RSKGG$BYI M+]6+K@%,\"IXJ[.P-J;;$J*+&@33=[*#%G=*J00SN%05T9T"=G(DP4D<1?=$ ML*8-\]3%#BI/Y=GPIH6#"O19"*;^[H#+/@L7X5O@J:EJ8P,D3SM6P4\PO[J# MPA4954Z-@%8WL@T4E%GXL-CNJ<4[P',#O9[, UO)4$4-E>GX#'485J?)%K%&WJ%V]_B-@B*_^.'SOJAMWYH=.6' MWN2A$?ZNTI#)11"@*M\ROM=_,%4U MK0Z.TN U=9>IE-( FHSNT%^-S\NXX% :.UWA7/DF\PLCN^'](.,CEO\#4$L# M!!0 ( .Y] D\QK#MAW@$ ,0$ 9 >&PO=V]R:W-H965T0'.(/!R34"I"95U4JM%%W5ZV\'-@&=C:GMA.O; MUQ\H,:;?8:RK!@33#[*'SJZYS1U7F\FIXV\%11?HJ!%-_]L#E4* $O26> MVDMC7 *7><\N\ /,S_ZH;(0GE;H5T.E6=I&"&YAT+-YY#HY M2?GB@J]U@6)G"#A4QBDP.]S@ )P[(6OC]ZB)II*..)^_J7_VO=M>3DS#0?)? M;6V: CVBJ(8SNW+S)(\3A'D$?)PBV!B879-4%\?QT MQD_H=ET@715(O4#VKHV%R7W 4(_I0I$X/.N5LM5*V4JE=%$I8#:S2O%BP[([ M+_\P05=-T!43V<($O2M!/I!YL\')/8QNXXPLW.#9>7+_]W>F+FVGHY,T]FCZ M W26TH!5C!^L6&.OE"G@<#9NNK5S%7ZL$!C9CW<&GBZN\B]02P,$% @ M[GT"3TH6!7U$ @ H08 !D !X;"]W;W)K&UL MA57M;ILP%'T5Q ,4C#$?%4%J,DV;M$E1IW6_'>($5(.9[83N[>=&KGQ'B+I5KR[$^=CFCLA&A.B*0$D_TV 8P+\2(#&O%5FK'["$I<%9X/'[4)0X%24.2S?.)'42I/E&Q]>[B3([UO*U]]3F*1A&BX%GTP2%5[%+)_4_-(M.??8ITIUA$=^J_FO;Y0>-;=[?,3\WG? . M3*J^8[K#B3%)E,SP02FLU7TQ+2@Y23U-U9S;KFD7DO7CA1!,MU+Y%U!+ P04 M " #N?0)/@ZB8>3$" #K!@ &0 'AL+W=OV.VR 0?!7+#W#X(W:2DV/IXJIJI5:*KFK[FSB;V#HP+I#X^O8% M[/.Y9-L_ 9:9V5E,EF(0\D4U #IXY:Q3N[#1NG\D1-4-<*H>1 ^=V3D+R:DV M2WDAJI= 3X[$&4FB*">W^09D5FE5/+H5.MZ ()YUWX%#]66XMW@!\M#&HQ#VPE M1R%>[.+S:1=&UA PJ+55H&:X006,62%CX]>D&LXMIT;AW$G3R8:3D@F0C(3XOR_A'0BI.^$U!4_.G.E?J":EH440R#'C]53 M>R?BQ]0<9FV#[NSBM3+-M06Y6:,+L1TRRP,0S@ACU.46"I=@G=_3D M[P35/2+;X!E2M(C4\=.EP3S%!5:HP,H)K):GD$?>*6"8V"L$PR2XD0PUDB$" MJ6?D'I-L/;,5IK/"C>2HD1P1R#PC&";WC&"8-6YDC1I9(P(;SPB&\2YQA6#6 M$6YD@QK9( +>]]]C&/^R8YA_7-8M:F2+"*R\) AF<2)C$K+H$1SDQ;53%=3B MVFG[;UQ$YX[]Y+J8%]^;3CXVWG>9\1GX2N6E[51P%-IT,-=GSD)H,!:C!W-' M&_/RS L&9VVG:S.78_\=%UKTT]-"YO>M_ -02P,$% @ [GT"3S:X<&ULC551;YLP$/XK MB/<5; (A$4%J,DV;M$E5IV[/#KD$5,#,=D+W[V<;2@$[65[ /K[[[KLSODM: MREYY#B"S'"K"'V@#M?QRI*PB0F[9R>,- W+03E7I8=^/ MO(H4M9LFVO;$TH2>15G4\,0(J1S'ZW?V+SIYF<-C1\G=Q$/G&C5WG $=R M+L4S;;]"GU#H.GWVW^$"I80K)3)&1DNNGTYVYH)6/8N44I&W[EW4^MUV7X)5 M[V9WP+T#'AQ0=-,AZ!V"#X= )]\ITZE^)H*D":.MP[K3:HCZ*= ZD,7,E%'7 M3G^3V7)IO:3!,DR\BR+J,=L.@T<8-" \R3Z$P+806VRXXVF G8D(8WN$P)I$ MH/V#21*1G6!A)5AH@L6$8#FK0H<)-:;N1&+D^_XL%Q.&@S%JHB:TJ@DM:N*9 MF@X3C<+,A=Q"3$1$5A&11<1J)B(R0EA+8L)NE&1I5;,T3SB^0A!;">([3C@V M='Z*S&Q,E,[YBIJ55_?>$;R$F(I!OO_N^*2-&\\OOWU45"^Q66="5 M;H0LBO!<$3)O(@HMDDP<#BP_GC?JE16PDQXKW,GHN1:J*XVLP^AZQ*K7SNQ; M-=)T#_Z@Z>;A#\).1Z14@)3I/TB!N1S!PZ:$HU#+I5RS;@YU M&T&;?L9ZPZ!/_P%02P,$% @ [GT"3RA9>,R& @ C0@ !D !X;"]W M;W)K&UL?99M;YLP$,>_"N)]BQ_"4Y5$:C)-F[1) M5:=MK]W$25 !,]M)NF\_VQ!*[6-O@FW^=_>[@]RQO KYJDZFCL'(1NFS58>$]5)SO;.J*D3@E"6-*QJX_72G3W)]5*< M=5VU_$E&ZMPT3/[=\%I<5S&.;P?/U?&D[4&R7G;LR']P_;-[DF:7C%[V5<-; M58DVDORPBA_QPQ83:^ 4ORI^59-U9%-Y$>+5;K[N5S&R1+SF.VU=,'.Y\"VO M:^O)F.);4?^N]OJTBHLXVO,#.]?Z65R_\"&A M-(Z&[+_Q"Z^-W)*8&#M1*_<;[R?5L?L2X$?J"GFSAZZVKE[)EME3B]K M6M!E3@&S#':P M !TLG(/%ARHLO"KTFM1I6J?)%B1%R,LEE.&23F4?<%(0)P5P4@^GUV23."%+ MJ+G#9 XE U&RH+2TF"EM#CK(@5QR+Y<4!$$ M\E%"!+!Z$T[_S'R#R<#JJO2K.4EID[>VZCMLD(0D76BKI+-ZLP]Z0W*W6V3=W))YV8<]L*_?=1-NJZ3G'Z M/O%<'T_63V2;52^.\H>T/_LG[4;9Y&5?M[(SM>H2+0_K]"-^V&+J#8+B5RVO MYJ:?^%1>E'KU@Z_[=8H\D6SDSGH7PC47N95-XSTYCC^CTW2*Z0UO^^_>/X?D M73(OPLBM:G[7>WM:ISQ-]O(@SHU]5MQ(78Z<:$WZ3 MW=E8U8Y>'$HKWH:V[D)['5;R?#2+&Y#1@$P&P^8L&M#1@,X,LH$LI/I)6+%9 M:75-]/"U>N$/!7Z@;C-W?C+L75ASV1HW>]G0*E]E%^]HU#P.&G*C(?>*+50P M/DDR!S!1D"@%"?;TCH+%'="H QHD01%"LU3^I[J#R:,P M>02FG,$,FN(F3%65 :J,.=+,"P*PR(P? ;#0!A*> 5H(C+,V!).$<4I(CC5 M#*< <1@B@ :J&1UDX8,GG81XY_ "( M ABH(F6Q!%-%82H @_%\9RH8!O$"T$1DA.(E'(SB50I%=@?/RQ0"H5S>#!!% M=$5!%H\.7BB<&-2L')$%%_&JATDD*SK/BL!_0XDI9_.LH"[/:&ULC57;CILP M%/P5Q VS0YR %C"UG;#]^]K&2XAQD[Y@^S S9XX- M/EE'Z#LK,.;.1UTU;.$6G+=SSV-Y@6O$GDB+&_'F2&B-N%C2D\=:BM%!D>K* M"P" 7HW*QEUF*O9"EQDY\ZIL\ MUV+FN$?VSPA7I%J[O?@9>RU/!950UKAA)6D[8:.[(2O:$O,O%U\/" M!=(0KG#.I0(2PP6O<55)(6'CM]9TAY22.)Y_JN]4[:*6/6)X3:I?Y8$7"S=U MG0,^HG/%7TGW!>MZ8M?1Q7_#%UP)N'0B10AJSZC'!#2:^ MQ:QM&'B+V4PQ_BUB9U-)!HPG*AG*"6SEK(*)0& 8G2(BD!I&'ZILIXC8$-G9 M$LWLM836HPF50#C>+@CM I%5(%("T=B!#XRSG6*"F7$J:YN.;S<26XW$%@%C M1S<])E:81F$,J]LIPH<1 ,#N!%J=0(N3T-@2.,F30! #P\ZFA\$'L.U4#<)@ M]B_7B=5U8G%M_J3))$^8 #!Q_1!V8R>UVDDM=HS[8&?#F!^O-[JD:DQ/JL4P M)R?GALL_9Q0=NMAS("\Y([[QY]N^&5UE^M;X'=%3V3!G3[BX0M5%=R2$8V$1 M/(E=*$0W'A85/G(Y3<2<]CVI7W#2ZG;K#3U_^1=02P,$% @ [GT"3Y=! M=8P6 @ B 4 !D !X;"]W;W)K&UL?531CILP M$/P5Q >< 0,A$4&Z4%6MU$K15;T^.V03T-F8VDZX_GUMPW$T0DE4-C,@'WD&K;RY<,*+T45R1[ 20LR4QBJ(@ M2!$C3>L7N8T=19'SFZ)-"T?AR1MC1/PY .7]W@_]M\!3\_AKLR-7@+>&Z@E[.]9RHYS\PAH!" MI8P"T"])X8_JR/FFPAW6#>S,D';.WNG MJY4Z>B_B<).CNQ$:,8Q6^M,I_*+#J-DT?[Q!;Q@QXSPU1XEQEFU'&PO=V]R:W-H965TU5)P::ZJ&Z%X!K3R) M,Q)M-GO":2=PGGK?6>6I' SK!)P5T@/G5/TM@,DQPUO\YGCNFM8X!\G3GC;P M \S/_JRL16:5JN,@="<%4E!G^&E[/"4.[P&_.ACU8H]<)1//I(GGD(ZXW+^I?_:UVUHN5,-)LM]=9=H,'S"JH*8# M,\]R_ )3/3N,IN*_P168A;M,;(Q2,NV_J!RTD7Q2L:EP^AK63OAU#"?[>**M M$Z*)$,V$[?Z_A'@BQ#>"CT!"9K[43]30/%5R1"H\5D]=3VR/L;W,TCG]W?DS M6ZVVWFN>1-N47)W0A"D")EI@;@ABU><0T5J((OI C]X'.'U$[ [K$>+5(F+/ MCY<)/N[6!9)5@<0+).]NX2[)(F#V'B-"D%UR7\D*Z!#?IT(6C\-!-;Z/-2KE M((R[AH5W'I6GR#WNG;^P(Q0Z_B83YN\[54TG-+I(8UO'/W MI0&;X^;!-G5K M1WXV&-3&;1_M7H7&#X:1_3339/ZQY/\ 4$L#!!0 ( .Y] D\UKJ\"" ( M /T% 9 >&PO=V]R:W-H965TBJ7G\[L 1T-J:V$ZYO7]L0"H[%'^Q=9F9G#=ZT8_Q# M5 #2^Z2D$7N_DK+=(23R"B@63ZR%1KTI&:=8JI!?D&@YX,*0*$'!:K5!%->- MGZ4F=^)9RJZ2U VNE&+^]P"$=7M_[=\3;_6EDCJ!LK3%%_@)\E=[XBI" MHTI14VA$S1J/0[GWG]>[8Z+Q!O!>0RT]WW]K>\54.(KD6^L^PI# M/['O#7GX5DM%!15FA^+-?Z\:LW:!_I[D)P4 (1D(0 M+Q+"@1!:!-0[,ZV^8(FSE+/.X_W':K'^)]:[4!UFKI/F[,P[U:U0V5L6!6&* M;EIHP!QZ3##!K$<$4NICB,C(MZZ*X3.)D+##Z<&D]@M$#D% M(B,0S4XALD[!A8FM1I8Q,R.QTTCL$-A81ER8Q#*RC)D9V3B-;!P"6\N("_/% M,K*,F1E)G$:21X%P91EQ8=:6D65,;P1-;@T%?C$#1G@YNS92_Y^3[#C#G@-] MZZS\0&UL?9;;CMHP$(9?)9\% M$FDZKO3%JFY @E(9M57?^>FG&GOEZ MR]M61_J3R5__,52^OGG_8H)7P;Q6@I:L^5/OY6GEY[ZWIX?JW,@7=OU* MQX 2WQNC_TXOM%%R3:+FV+%&F%]O=Q:2M:,7A=)6[\.W[LSW.OJ_F<$&9#0@ MDP%./S6(1H/HPR#ZU" >#6++(!Q",;G95K):+SF[>GQ8WK[2NP@O8I7]G1XT MR3;_J?0(-7I9QQ%9AA?M:-1L!@V9:?"D")7W:0H"3;$ACKDU0>DJDOQ>LG4E M<13!%!$8:&0<1/,@L@1V$(,.8N,@OB.(K4P-FM1HNB%4$B.$K'@!6:9H+-D6 MD"51,O-V1YV U E G5C4@R:?S8-QD&$+&E3-UF!@!E0H*!ZL5 HBIP!R:B$/ MFN0NT3FV=V[IRB(4D\22;5U9CK.4%#!U!E)G '5F46?.@L:1NSL@U7QSW,'D M($P.P%@G:I-#ZUE8+* (/S@W!/L@%?U$R8 CO,< M$&A3I+F- \B*@*064#A[J5K*CZ8*$-Z.G3NI+_S9Z%1I/)E"PQK?X$4YU L? M;H;RY4?%CW4GO%A!ZF:FVGPH&X:.9/U8 M$H537;;^#U!+ P04 " #N?0)/HZ5>::T& !5*@ &0 'AL+W=O'8_MI=>GE:;.K]J=-O5\;Y4_BZM[KKD&O^&M3?9P&[Q?= MK7RMZV_=AU^?;I9YYZC:5H]-UT79OKQ7ZVJ[[7IJ??P3.EU>KMDU'+[_T?O/ M_OOWYJEYO5GZY>*I>B[?MLV7^N.7*MR062["W?]6O5?;5MXY M::_Q6&]/_?^+Q[=34^]"+ZV57?G]_+K9]Z\?H?\?S7 #&1K(2P-9C#90H8&: MVT"'!IHT6)UOI7\V]V53WEX?ZX_%\?SK/93=*!)7NGWZC]V7_3$KH5G9=Z"B#ASN0,$. M5-^!CCKPY&[/&M-K]KV&W,>:*R0VH:$)#4P4Q(3FE\B)BU%)9,- &X;;,.0: M=V=-,;B&S>C3&-=$1BPT8H$108R<-79XLU+G.7TF0.:$H[=U#V1&F3SQ^!QT M[;AK11[-W5GC!]<1(G/DWM90I0B$]T"59X7"ECVT[,HS< G90S.=/Y#AN M\AD$!E'W\C^#64Z?VZ0L-I3(/S&#QB :LF:IF3%); 1GFY#@M\.26+*1*W*. M 9*9/#6^!D764'M<)$@RF(AISD#"8@$IE/F,&9)T'F,9B"R$?C M@>!+G'87*,$\5AXB*= MFIDDSCR)JBH&DV>8N,S1-=24*K:#DT^BY$NMD7!6J?P3RRR<, I556RA)3@E MGL,T*8L-X8Q1(&,83$$T)(4.F%%);"2Q D55%84IB.)UC*1#? UD2LK4S*1P M[BE465&8@BCFA); 0&2RU+C!F:=0745A"B(?C0=6YD%5"B:%DT^AY$N$I\)9 MI=PG8,()HU!5Q6#RG))V@"L2*8G5%-O)F"TTJCRHH" M%413LQ.0R?2Z2>/LTZBZHD %41&-3CJ$@:A(S4X:YYY&M14%*HC(WH*B;B94 ML1VCY0&J>,1I45!2J(8E $!VI:%UO"2:-!TO!-048*48!H+ALI-S3./\TJK 84!X 10LL(%))H'#R:51?,: * MCHK('.,;RF3"D,'Y9T#^V=1&,$XL(^8C97#.&%1?4:2"*$9%9Q-[_K,U_M+-/QS 0 MN5319W#V&51E4:2"R,=#0M'%;D*6V)HS. $-2$";&GPXLXS_!%(X:0RJL1A2 M!4!% :0F=?$?:G#66+1[3Y$*H@@7&L3CFM@*SBR+JBR*5!!-E7U IM*SE,4) M:%&E19$*HI@6BA00^=0L97'V651G4:2"R,=#@A(UI8KMX/RS(/]LHBJQ.+&L MF0^43?R=$=58%*@@BD$!^^73NM@23AJ+=O 94([#0G?,QS6Q%9Q8%E59#"@_ M#R@N&P,*YY]%E18#JI@Q1P&12P'E>4^<9C"X91Q=G$O+4G.!QUO@99Q+6GI\VD)FGCVXU M.*[7';C\O3R^;/:GQ=>Z:>I=?S[ON:Z;JNTQS]K?P6M5/ET^;*OGIGO;A<3Q M?-#Q_*&I#^$0Y^IRDO3V/U!+ P04 " #N?0)/YN$07S4" !-!@ &0 M 'AL+W=OYB&VAS/GG)G@23Y0]L)K .&\M:3C M.[<6HM_Z/J]J:#'W: ^=?'*FK,5"'MG%YST#?-))+?%1$"1^BYO.+7(=.[ B MIU=!F@X.S.'7ML7L[QX('79NZ-X#S\VE%BK@%WF/+_ 3Q*_^P.3)GUA.30L= M;VCG,#COW,=P6V8*KP&_&QCX;.^H2HZ4OJC#M]/.#90A(% )Q8#E*9#E]AK"=VG;'X M[W #(N'*B=2H*.'ZVZFN7-!V9)%66OQFUJ;3ZS#RW]/L"6A,0%-"F/PW(1H3 MHO>$2!=OG.E2OV"!BYS1P6'FQ^JQ>B?";22;6:F@[IU^)JOE,GHK-DF<^S=% M-&+V!H-FF'!"^))]DD VB3U:I:./ N4:$6=VA=(A9P1^B:?*14@70:>-%C+V3X=")R%VJ9RS\R$,P=!^W%X M^],_2/$/4$L#!!0 ( .Y] D_K PF;H0$ %X# 9 >&PO=V]R:W-H M965T[^?I3L&FF1/$0D=7AX2-'5A.[%#P"!O1IM?R2TE&BR++[H21RO*F2K&]:RH\!:TL[!WS)V.D^[<# MC5/-<_X6>%;'(<2 :*I1'N$GA%_CWI$G5I9.&;!>H64.^IH_YMM=&?$)\%O! MY"]L%CLY(+Y$YUM7\RP* @UMB R2CC,\@=:1B&3\73CY6C(F7MIO[%]2[]3+ M07IX0OU'=6&H^0-G'?3RI,,S3E]AZ>>6LZ7Y[W &3?"HA&JTJ'WZ9^W)!S0+ M"TDQ\G4^E4WG--]L\B7M>D*Q)!1K0OXI]3(72LH_RR";RN'$W#S[4<8GSK<% MS::-P32*=$?B/47/S>8^K\0Y$BV8W8PIWF&*%2.(?RU27"U2)(+R@B!_R*X3 ME%<)RD2P>:>@_*!RQMPEC$T86LWX^U!(7(PF;MX/Z8[*>G; 0%-.L^@1 Q!G M=D//.="RKXZ&/D3SGFPW/_GL!!R7;1;K)]7\!U!+ P04 " #N?0)/9X-V MH+,! #6 P &0 'AL+W=OV&FPOD&::J0G^ [VQWC0 MKB*S2L<$2,.41!KZ&C_DNWWI\0'PD\%D%G/DDQR5>O;%EZ[&F3<$'%KK%:@; M+K 'SKV0L_$[:>)Y2T]GKF]DE-GR'E M66.4PG^%"W ']T[<'JWB)GQ1>S96B:3BK CZ$DQ%A? MQ8B8^X"1T>0ZVVZNL[P+BW;(XH3]C?]&]8E)@X[*NI\5CK17RH*3S.[<-1K< M(YL+#KWUTXV;ZWC58F'5F%X1F9]R\Q=02P,$% @ [GT"3ZJB 8?? 0 M9@0 !D !X;"]W;W)K&UL?53K;ILP%'X5Y >H M@X&018#4I*HV:9.B3NM^.W"XJ+XPVPG=V\\VE-(4[0_V.?Z^[USL0S9(]:); M !.\Q#VI):*4V--U6#=*Z"5)W&&R6:SQ9QV A69 M]YU4DVVEC/5<)3L=U>9-D<[%%10TPLS3W+X"E,]"0JF MXK_#%9B%NTQLC%(R[;]!>=%&\DG%IL+IZ[AVPJ_#>)*$$VV=0"8"F0GA]K^$ M:")$[X3(%S]FYDM]H(86F9)#H,;+ZJE[$^$^LLTLG=/WSI_9:K7U7HLXW6;X MZH0FS&'$D 4FG!'8JL\AR%J( _E$)Q\#'#\CDMUZA&BUB,CSHV6"NV1=(%X5 MB+U _*$+Z4T71DSB,<)CTI"0VU)64#%)O]PD@Q?7PT$U_B7KH)0785PC%MYY M6.Z)N]X;_\$.T?CFWV7&"?Q!5=,)'9REL8_'7W$MI0&;Y.;.YM?:H9\-!K5Q MV]3NU?CT1\/(?IIJ//]:BG]02P,$% @ [GT"3^HWY>WW 0 [ 0 !D M !X;"]W;W)K&UL?53M;ILP%'T5Q /4?#E-(D J M3-,F;5+4:=UOA]P JHV9;4+W]K,-I010_V#?ZW/./=?8CGLN7F4%H)PW1AN9 MN)52[1$A653 B'S@+31ZY-;>XDTIAW MBM8-G(0C.\:(^)"EAE[.YH[IY,SYJPF^7Q+7,X: 0J&, M'##7*@U AI&W]' M37M*1M$X*1$$P$?_,^1C(.Q-XTP1>F]@O2F1X50)C+SHL_EB^ANW\G8\7;M#L MD# 0I;U/TBEXURCS.V;9Z:0+?*9OLK#S?N0&=Z!GT24=2.=,U?Z"-N# M=N5<@3;I/6A_E7YZIH#"59GIHYZ+X0(.@>+M^+:@Z8%+_P-02P,$% @ M[GT"3QBR=CC4-0 7!8! !0 !X;"]S:&%R9613=')I;F=S+GAM;.U];7/; MR)'PY^!73.W9%[L*XH( 09#>9*MD6442@WGIZ??NZ?E=73=B5^1_W65GY:YH?O_=9#;^ M3GS:K(OZ]]^MFF;[[/OOZ\4JVZ3UJ-QF!3RY+JM-VL#7ZN;[>EMEZ;)>95FS M67\?!L'T^TV:%]_]^+LZ__%WS8]GY<>L$B?BY_++-E__&;]$Y$8U^$P7C>?W:ZNQF)('0_?%M^'(DHH(>S_D.> MTZ^G5W53I8OFO_O/7Y2+W28K&G%YM\VL&0;V X?^OWIX-]',&RZA@":\ @3Z)_\SN MK%G@?_-I'$T'>KA,/XE72^@FO\X7:9.7QZ.QTN:RRNO;5!_$Z+S+Q4V'U, ]@"7=K M&.=%E7^T'O>[.\-OT/BRO"ULNJF:%3PITMNT6*;W=:47>%&5'_-B<>_8%V7= MP%[]5[YUPF(\&89Q>@D M('[)UNN3#P5 'OI-:YC<4KRJZYT]N[?E0!=_*M> 3&G%E%?50V0A"9P92U[< MT&;MK.9_SH9Z>%4T&?)'0"ED"ZGJ<@\? $P'A+@I*PM:;\OB)%TL,F@#+9;< M>J"G]YMTO1;/=S7@>STTN_--5MW@LOY0E;> L[ =V[2PQCU?9PL<[VT)[+P4 M/]>9:%:9./_49"APQ"4PH#HGFF=^.C2G%>S3@Y\K]P 6J6?[#9GP.]J6A1,,]\0*&$+"]CJ&EZ$OA?(V8'9 M7.7K-?YJ<:,2&>:B SH;Z#G0:D$;A&.5@.(5P886YEPV<.QM5@%*TN0 V%N$ MHK,I;0RQ-9SH.K_.H.]Z5^%XSA=>9-<9S'<_:$Z=2U$XLLY3@ @09F8CBM[9 M;7J'V^IX#GH3X!$06U[70-O6,#\1A%+9<&B'G\L]Z>[48L^>[M\]8U$63B-' M6)7K)7#TWXISV(_FSJ80YAXU"S2;0YKZS]^ MES6 C'L@8B[TW_]M%HZ3'PC] !.O,K L %M R@-VW?$Z+8AVG@(CBN/ GR6A MG*Y(&]H@]T;4'2CSL.Z6QE816.K!:3^$;3ZY2!$15ED#BN;Z* M WNOW1P'=A 'NRG+92U@*I98!JD/U+BMRNO<>OM]1F3KBYNLR- TP U,EYN\ M((.#%)HADO]IBPH*ZA7,N]R,P_V,%";@")I0J>+O^RDWJ; M> 'MFU*P\A(*@XH[K=[5-M2LP8RB@9T$V-AL"C0 M/CM==A660Y:O3WK!7V5XJ(/>2ES&L?CD7B_ MVVS0%8+R)+\IR(&'3E7&.%S@'B;-KN*]D9J M&<"/GFG774;LU4<%:R2>H)-">AN>BDU:[*YA5O!V[9$V"IH$T)VH80#@+3=5 MN=MBOQ\S5(SS3;X&S0[P?KE;(!]: 6= C:UW2S+O!+K78. LOUDA1R/G#RSV!U&DFVP- MIN?[+*\WH#Z\2#>P:%C?R_4N7^8+H+$/H$F/D\D/OC@#0F'3]56QA#E4>8H. M()PG>AFS]?4),U;R8ZT HSW8J;*ZHN>O^.#Y "D[#*UW?(YC4\Q>TJ7ZP0>F)=+D@ -2O8M9M5N6O((_5SD6NQ)$V. M["-IKZCQ 6H)PB@$+FV.WA(/.S4P9(ERT$"?WY("G1GL%1HBJ[[#1=I#WP*' MA[U8DU#I]K,NBYN3-:C/2\7Z8&0':N$OD9E6FBI!U5TY[4;>(&C* M-6PLS!7MKMT5K#U/$1V AA>E>)>E:_+QZ1" ]X1_>SH2IP!0]-)4)W)Z")^B M1MZ+U(=#2'6F9EJ]R@ NV1H(L*#9(P,V5XN\YZH&1$2@GZ,.'IP*;ASF(<$M'X-F]6:N\0O[\& *V9BQH*#S!Z 2I$=@>+KSZ@RK KEO5> M30"5TJ9'A JO!46)S4E:;T/7+8! @6KR9L=HNDGOR 5'D*R)S2%I-.3PT9PZ MW\":ECOD[S2-.W27$R_=7?U%;8T" O)G4,XI?,B;B%H3])PWHLKK#R-A.)I? MM6!Y)DX;'LKO],>0JZ6GT-/ TH!E[X RGFE]%?GGZ\Y0Q@Y(DT9;-)I;H0LJ M#'Y(/Z8@GD&?UAR5'HQ_\%0<$OA(B?,@;"/1<)WFVF$HI=(69,DG1B%RGK& MX1>?)*A_L.+2RL0EM34@O:70@H>3#8,P0."^ &T?#6G\ 32EGPO0EM?DST*K M'U^\ 0-=F@]@T*#L(0R_(B90 P!(T*">PRPA0Z5V"QA9D'<(D&RWV:UQ89XT M3.!QE:VRHD8?#YM;Y(W!YDN75WI$7)MF9P'MB3_'Y1BV/&. MF278::![TI;GQ7;7L,:BU+2:8Y521\CKEM"O4AI#FBB%N,NS-4Q"6G+('S4J ME07!$0".W]HN/80!Q2IK9KEJ5$4SI%T0VY)B])VV]YX)AQ%((&@1,RTDU_0, MSHM^N@7;T@L0ODC#Q/G*-F:FY>9(&&H(NI:(H-7\Q@I?W'ML3PA^.2HBAG+3:\![TSIA()^AZ-7%%*FA:IE MPH2R:P !XZRXA:T$60_C7UN+QK7A5/7JO'9U%@SLW1P)'4E[UGX$C#&V&+N' M+F'Z2+ZHW@*L%^3LK8A,F470"@A5 9FX%?&E+J>ZSJNZ.V M=:Y4]6?"'?/J3I'&@:EX708#W*-UQXP$.V<8!_):(=O2T/X-E@#R!']?Q*I)!-QY(@HF; M6&HK%+DL](DXNOP!Z%H;LEZ^P;5EFNNIN ]R3"G)_Z3<'J_1[?%*N3V>B7UQ M0PLOO)HH9)E5[2M$.&5!%CEQ:D J>/*N55*!KY"QD:'4 ,SR.V[$6Q0>RW)+ M J(0?]P!_*5'T=@?X+>P6B*?IBJ1@5.$@.&M9*34"I?T1D=+5O1-B$*A!=8" MY8-&)QAX.!M@&=I#R ["7KRL769>JX%0.CTQ5-G&N\X_,;8!KWB*)AM0 >!% MVE-):' THAF,I7(4;O*:7I=&O>'>90:G[%947S1;9AVWRJZ1L=2>W!RT_Z2V M#J\RL,PI& PQ:0HQ6,Y4*!:JUKND!/T!5@S(0R<]UM71UM"QB+WZ4HXD9(/\K]A]L V C++YA/[=H.3$>'\=TC%P+: MV8N,-JM".4:TO$WOB(5)[>J&$A11;5QG$M?)$4#Z)RGCS'BN\Z;+H=I5[<'G M#D6TY$!IO&B(F MJ06T-,GF-A0PS-J5-Z G54NY&C)ZD&# MQAPTV)+9@*CBJXVJLBM,FX ^0#W) 9/\5N9R*6R!C'' 5W ADG%TH"!?Y6U>T$V MAZ(&0'\-6#2TW"J+)& >"@Q\8!!R$)Q&:YS=3Y,QT.0T0->B'%0B-_?4W&UY M(: 5WI1-3N8FHCUZ0Q$!T6:'^:)_ ;;VPGRW]7PNR>Q:#*&XU*TD_72%O:A7 M4E'5SCMT "''0EGZ=$3,Q.%84E8T\W"M67;HKT OKH:V2D(3*1G#K+ S3?2( M!Z@2;2E%[X:61CY8] [[RDNQ+V'*G03G2S>&21J2ZDVER.N\K%QNV(F2>RHL M>::ED(-%:&2*:"M86[F*X- M:N1YDA\ ]48R!UNAQ8Y00WN[=JMBZ(, !+O.I=P#M/"X9R9+A=DF%]6R08*J MROK$C*L!1H%K/J4Y=JG,G(F.$<84!H[[B[#8)V424-\0R_)DVE!2],@4K$P>W:29_KB:M=J#.26)*#X M,L9AY"%VI _OH;&!7F\#1^*7S%0%G88&N670&&%V :AVIRR;(KO5PI+><6+8MU=@_J(&L0"#&AIY)C=L=TJJRS*'I-0L&[VN:-5S MG%I)5FD;+_,E01*[00!)RK44$4,/46Y/'!XX'*QQ">A=*#8@_5D->P7Y_!(. MR%I1P[$6=,ZR05HP0\N)EA5R2S_^CDQ4(UJ$,%/ 97[ ]A\3,ADR)*(D:QPT M%-D80D_WDE01J::WX:N.^=KQJ6NF0<:N1'_#$/8Y[I*B\P!=.O4SKY.8J-,4 MN^[FF;@G3<=XS9RB3&8S\:)WZ2Q/C%'P?P;SS%SZ$_&<_\V7SL M/3Q9&MZ?^E$\]>?3"#X_B<*I'\/$GM*#( K\23SQ7K>Y*=[#4WJAJ] /)I$? M!"&.$<8P^YB&""E7=C9//'<^,2UU BN,Z=5D/O&3<40OAD'BA^/8X\0WSTJ; MQ4:PK'CN![, ODS\^7PN?YQ._""9 W@)!:LE[0&QCA[1>YKHI?N"=I)9L1': MDPB8 XTP.@Z@$=*OA95=1"2+F9U36@WQR UCX)XI%WJ(>%K+ RN8MZ?)@Q.0 MQ'\ T6?5]T]>HP?QJ?:5BE]@Z>C\.W5/>P =PVCN1]$8OI !'_[0^?GSD#'Q MXP3P>1YT>M6_=C!Q#\K$$2!(TIN:^G4ORLP!U6;^-)ATWFU_]EY*3C&@#'M6 M^N[?9$>DBZOVVA1@F&84^5/0% +:E+$?S*? (Q)\ !04AOY\/#&VY5Q"S+.3 MA7')$P Z[&;'<6&@7CV-*GS?A*'_SVE19\01M#N8%\03& M#'&\)TRMZF> ?C@!!,^W6U+88/+_ ?]#I!&TGF?=AROU4.M -!C'#"4.>Z!C M;*35L ;-D3V8%"SKQ,@6%G#(J,3 SOXA8?MN2I)MTOJH.PDMWKTCUP_(PI96 MP\;,OJB5JCDXBO? 45@*/@JG(&XF"7Z8^-/Y%/"[!FI8<$SZ!:#FNF1[2VY. MY_G2>-ZJPNT$](&UP[U)Y@A$2 :)>.(WH@R3*2T1-E20QB+IFX(L<2!@E M8%6#QS/33@Y*3ZBR&Y A:\GNT G):C./A\N7!W$P+B)CK#@HYPAYO?10>L%0 M:I7NHG7XZQU%F[$'E#24X;+@' V8$4:UJS:)#1]<9EHYBLD]9)A83 -N\ O)C\;!&? @D5R-]BKJE?/R] MH@RVB=T3;N%Z;"2QKR#*5G;>5*39R=S<:?%G9X*N@^-L=K$PIP27FQ% MP^,L$BLSHJQ(]^R.CPNJL,.B-/(OY*)[0]LCUIT4<0::U\LNJ1U"E.!C3<:[ MRM8Y, \8JV&GN+*S=7)*"7-+*=\+*?OJ3EQG2PUPF@UN*?%L/AQ$4T<"XJF M=5:2$]B8S70D2,@J[G'&]IKX"ZRC7N:2#X#NAY9**BU61)RR\%HG[9H-H0)X MVB>@P::7*:H!+L/.M>1JC.CDXF^]V^S-I=P=HGLPH2K%$3G:P:$VC_,!#>\) M$F!W/-#".+^!QM#^%U+;%-=7;$'.31IX-(,&Z8R./)P\1T*G%<-;1CJA&DFZ M?-G)K9K(J#1 $M,T9$H6YN.F4@;BF9@3YB':J8C;+$]DU-V$G&[HIVZ=$TR] M1+3L]&X=GQ(?VWB!/NV1MZ T P,JVF5%X!#4Z,5F"%/>N)RZN63E(M'OW$L% M%(9]- ZF_C0P,JMD<5+RWV:UGY&"_5R8T)@\(SB,:3]A6>:FEDNL%[WF) M)LZ3EZ?OGS]51U9<#<7/6W+X/P%5]*EX6XY:^UC%7&D+S[J.IK,6U4UC*%=R M7B<<>::_Q8P14T:/"I_*[$)^5^:AM8Q7O8[!"7+I6PY]1WC+#-EZ9B9--V2K M(EQ&R#;O9-AP,H<+-9 Y6 -WX9&NZU(OSTO; UN&I9E>J73G@E+*?#E/'\,X M2A?=%=*GQ.%*!1&=,,A'9B31=9E+ZWGR998Z:;!&8OY?=LN;-NERT9YLZ3[0 MZ$D:6]K(W_SV8(5,$%+I=QX8+4R'3ZZY# #9?D2BBH;5 M28.1_)13^NL=A0BSG U57."ZER.!$Q_*GZ!GU)&O@2OI]J'])WF-68)ICAD/@/L?04-FLQ\IC73(/>P*A-&R M32 $IG7V5-SL<,HF[HL+7!NIW8[TCZP!BZ,[0\UKR>4UB69^E*##+/;1]IY-S!8GN!FH/0!TYG'@3V<3 M,8OG?I*,/3X>[,A2@YZB&9A7<8*>PR1&CX/WFB*-.MD-J6)9[JX:P/BVCS'0 M5)@L4M@CD813?Q:'WB]E]>$D+TZV>+@,0#/WYT'L3^8Q?IH'?AC& MWDO4_E[X0_;_2X39&GRBY@EV -P\B JRYAH'\ MZZFCT M!,1(H&7LCV-T> ?>I1$4'G"2AI$_AO> GPO8EFD">#,)>,NURU3E8,!LQK,$ M$"L1XX@\^D!"^WVP%+>A4"^1V1QX13)+B&]$T,=\.A:GTLM"J3^&;3ET0D'9 MEFV,AWW6Y!A+^:2'#>TO\!'KX,7GQ"6F402;$K71B2^&UV5GQ34=;21#A--8 M5>;RA4QV\#J)&E;(5QL )LBX%)?92R?=(PQ%./5.;V[0Y]3H4&&;&9$DXC'P M*?'8:"1U7;#H9$@B1%L> MAJHY[&+P;..*E$>)YR:./SS/0:Z+LP.4+BE_X R #<=R4:-[-"&"#<:Q> 0( M&)!CO,_18CL5F=GBL. [X!4#F^XI?$3^]_$\\>?QC*-N,P[7W2MW_,D446:, MGP)X;S*];RP5Q$A@BV8)TM5L!MI%/+;6TY^D3BMAFYM3_]% T#L$\)9IFBJG M#Y.I3Q9WBW76W=_F-EM_S$XV5%-3G@'AJ@]&\HHTKP2'$,R\#,-EX-&9MYPC M\$8!")G(QYFY'$_@XY'4VV6!68C=7=+LG2"T122D!8L@6-+B9YF#>7YXK1@;-*40AF M7%M'.IEDO!^GEF/"'*Y/F@MHUYC"#V*_ K$/VX*S*=?E#" M0^V3.4VR%%3NJG%\HW?8=)76K=\R+;IHZK5'-=VU&T:.\,!][WCLH$EDP&L: MN&AY.GBL8JBR&"A$ZU1FK>G6>_2?X1$,BG^-3T!AF8.23=Q=?O*>[W(Z5,;P M[QQ; "UG$E*!*_W)>Z/.S]=7R/J7^^ 4U)P MHO<2<':P*^8A?)K&H9^,Q][IKBG5<=O=XD.-$4E4D&<3/XRGO([.+"3$+Z/(^ HX6Q,$N3:'D;IT\YOO[&KV_:$CR^ !ZDB^QZIG>XSB*BT^B&6%@2@WZV%K)$B7-+S@QDH&/+Q(9! M>E YCH/VRCD.LUKI!A%K>KYMGY/$W'+>5%7N8,C,PR"@.DH"PR\YT4\Z3:YD M,=)1?_2Y#*]8*Z-?!UMW0PM&>0]AE_?P_K[E/3I:9 F ^1;E/41;WL/[BN4] M.B=$#RQ4X1U8J(*C;%;-C YH56Y?LZHRK21Q^196S]4&/=,*2[KVJ8H%E1A1 MQX/2#!V?Z0)CN'BL&?@OGDBZJK+T \U091M(_*6JM_<,20$-(TO+-'.-X4&- M#OSQ%(RKF?0!)D4\&Y%243%"Q9V !L) IL(\D M0"$ZC<&HF.Y)"@(9&DW15DTDN&%Y9% 9T<569"Q%-.7B(;/' C[AT9LY_#!Y M#++PL9B#(8F_6V6%@E$WXV*@%A^6#3^(0UD==AR>?"X8 Y1::WOFO92!WT298O)-L#%%0?).!D3[NE48IXW!T'M[ M*&"SI<*'SOYTPD=O&H_$=(*YGZRF1OA)PM*8W8DJ3Z# CS^J['Q\]\D8Z 9 MZ5WJ/!X"2H:'2(B/M:DPSSR=JT01;]():NABJO;CR9@W1/;'114XTH?UY+H) M,&K+QYAQ"I-G2]PYL@AG?H*SC>C/4]D6'8SPX]R?\I"'88%WKO?%/.G,CL+1 M3#P6T62$SAFSY)9.N7(P8;4NKTU+ZF?_<&"TUN:8]H.9>.!(;WKFG;H#!Y41 M)U'$VU(Q K^UQHP8TWQ. ,24:&AVZO!1$/ZH-R. .UH!$< 0\4O5/OZ8RKA1 M'!#Z3 )LIA^;1Q* N\YP1-[C7TC7:] M07$$O$4#]S!,< ^]>^M# J!FM-LA M^G\UY2]MR(D$+$W$\.DTI,EUH&L6%/3.V<&!OW=,&DSQC&:QF$P [68?P2 H_+@43DV;(3?GM+9AXW, M1GG5&-5T4$M(EZ)B>KJ6!_3QO $9$&1KFC*$^:6& ?E-*3Z(,=?,JU5)@@7*5?2C=WY$.6T,0\T< MP),#U'A3AFG]]3+#-G@P:9U_0)N7#B^1DKI*[1XU+ZOT\:O4@HK*^,"21"JS ML@-V]%=I%Q%AT#IE[R^E]V4W,D&.#T"WAXLDY:?&VPX@F0FOWAZ44=.DP+ZN M K(J;[$,GB^+7]&>(,HN;:=??FT<1<7*8:[5>@PJZJ(+IEM,WJ!% 9Y(?,WZ M'HAH-!4;]*R3E=B')'I*>5#VVU-BR)+/94M4\H:6WV*/'4B![X\4L^SD3 L3&'6##+25: MV:Z;*&&UHPUBA+&E)X]';;3S B\3D47,,8O.TL([+:G)@\MW&N-YUGB"RUX/ MEKI&2EU(O1!3%:D$0JX+AQLN&O+)M,585,Z6YZDNM)-.TC=J?RC MTG4XY6<$UD>W'+=GS;&3^O6 D72Q;]3!6O+NO.!S?F*J(@Q2*1@Y=?B!L3W' MV%A&Y $SQ2)\^(&G*PN!.+7XTWL[X[,A\3S&3_',#R88A#9;4X5=KB2%A&W5 MY*XQUAU,(E2;9LGT@#'M!<#8,]"VHAE] OTNM#,:QB$6BF$O[T6*_MM+(Z_? MD;0SU'2?W;I_C)XOE)*L50[ZEII;A28/RYJVYA$!G:JL5E9 +U0-X68V8K5E5J MWNXJ_"0KBQ5E.&JJ&U237 GZF1Z=,D_Q*%F]4E<:VZ5T% M9&GHL".JI4A9X$NJ(XP%OY4B:'?I"EEQ2D)!N0&9DH=[6' ME08EK0-+U="\VUEV\L#O P-Z*'=@XE+V)X8$L#:P2CEGE'CQ@,P!'X\43C!D M-8ML43R1>?'B)^9MB/PV6QEHAD0"0\1=\E!9GFF':WJ$F1SP0,^".A9@5.GD M=/JKLEFA;$51]+%[&P);:UW:Z;GZW3QX>3]8E62HUC*#+/HH^^9 M8EH5R#,2 8RC @I+9#\$H\[Q=(8K!N6B41AXC\+1;&IF >;UAY-K] FW!XA0 MO0M'XV0N'JN_WKER;LGZ;1*QHE&"_]K'P%B $5%9Z2A #TU@ODS*$2(WU9T4 MV #_=1..**.^;@NJ=X2K+%)_]\R3MZ;]HL"D1.SYIZQ:H//^@FIOO4(N4: * M1P7J/"/")4Y,R9.(,(Z4FRX8S3'?=(89:^'<^TGBEP(O^AEB:C@>C3E_\9E& MPDQ.8(E^:FXV'4T3J]66CF3(?N:C<#H\MYD(DW$[9(1SBP(,(8>NN;&+"1K. M@\&YC0/97S0*[!7PW&9!V]5T-CP]P*5PTC:E(\MA.//'48BE*X"#+60D.M>[ MP>C;'BM05"C#6)3SH&;+;%:6C"13F!@T5R/F9[J@FC0(VA7+FFFM^Z(C4WHKY)XY^LOU.TS.=MBB ME8)5FB6IN>!V<0(/3KB6<]JT4DH\21+ I4">INL*B3GC4Z\FQ.AI]V"BEHY2 M1Z'Y<2[ >!3,,"@.&"[",5-8A+&B@/U)\UDD)<7L*"D",: MML7@E7Y)JC0O M%=;\(;LS]0@RW,#^HML,''7L04F7 [4=*PYBNQ[:Z69RMHBFANS*3'=96WN- M/.@HK"3:=DIZ\KHZWCX#;2E]C"#)$WYXGU#JHDS'6NL>.WW6X8U$>@]$O$H&(,0HA1Z MSJ0?8161>#2=>RB=X&EB/ WHZ704Q? TP:LKQF8B>)J-D D]G^'0^XL@ MLI#)",LKS+AG(/H ,_V-MV?T-CR( H^D!38(L4$(1C,:@I8W3HP&LH?I:$(-YM@@#$8<;T&IF(Q"+90) M>H%\KN3<=!0K6>?]S=!J]O= J[LO0"O:MLA"'% QHR[2,=C# :2+">;CT8R1 M;M)!NI![GKB1#FNAP+OQB#)M^:F)="&//!]$.MD]XS0\"/M(%RN<2B32Q3VD MBP(3KQU()QLD]R'=K(-TH8%T4O?32!=%E@468]:D\B>3+69[2OERO3U>#TGP&$[5^C9=J+=I/VN=#9@Y?(N3^OU!!U1C2Q@Y/;Y&,^?<_1\ MKVO+T6,O)XM3G]$DJ=J&I()@4A!&[0I5^KZ5ZB4FK[H@(^I@OR5SNM6#>1#V##%%TK[, ,_0A?6E533^E)F(+*EV_(TLV-+$1H7!QR MN3*[J+GJ@/,N$30%S$LK:&=AX_,KCJ:]+3&_PO:^SD?F]8BO6JEF^UUW6WD* M%;9&OR/.US+%^:'QF>&1#4>&NG652ZA@A0KZGZID)8OBX+-'Q%\FCNHT?%"N..%<+C9QPOA#KH0SCY],GP_W$/:_FO= M)6=S\O[5W^*>Z?*Z_'.LNNGL;'"^K^\++Z@8O@+7NKCN\Y?&6NP??(-WXPU>C=Z6PQ&_DE%Q)R[Q7IKGH!U^.,Q<.MZ[ M]Z]Y[]Y@[:#AJD+?^(*^H1/C!QXL/U[K][>]UL^I;@W=\O>@QE_[2D#;"6S? M$'@0[SQ>+7B\6O!XM>#Q:L'CU8+'JP6/5PLR)1RO%CQ>+7B\6O!XM>#Q:L'C MU8+'JP6/5PL>KQ8\7BUXO%KP>+7@\6K!X]6"BK-U@7.\6O!XM>#Q:L'CU8+' MJP6/5PL>KQ8\7BUXO%KP>+7@\6K!X]6"QZL%>_D:_VI7"^XS4!_2]FC,?D-C MUDZVVFO;/K#Y-S>%AZN\[RT!?S2;CV;ST6P^FLT/,9N==\4,<)JCA;W/PK:@ MU1K#STMJC,6&0SDVCF1PDRJ=C'YZ@1[$E P+Y2EP%B ><_BT/NE MK#ZF9&XP&V:TCP/L F(V&0H>:_^BXB0):? MC;,KV@P<10O_$S< P6+;4C^>(;O*RUQC^17'@G=N3 MA9:P[0FT!+TA1FU!7?ZW5^G :P+A/6"/>'7.%!A4..'J]:T 4^?I8#;C&:@3 M88*WF:,Z!+2P7R)2#CX=VR%ZF0/1)W1S[00V&:^2M?T/G[K>-,++.J-6Z?M'@>1MZ82F ;BVTO&%/![7.=H7AJ ^>J>ZQ+\\%M*>@DL2 M\1BXE'AL-)+^CDI72,95)I,9H#6#>@;H%\SF>%68<QW N?LO\C'G_(OX^7U]HD@?SQ/0U6>LV<_8)+B7 M^?H3O']V-L9/ ;PWF=XWEM*+$M#.9@G5>)Z!-(UM%)N.NO4_C+H@0[ ;J!?R M.2![C5U@[6:0RF'0?O*>[_+U4I>QZ93; &XZ ?H%4:,_>6]4)G,:!'X&< MG(ZITC8(?=!#QMY/>(,F 'H'E$21N=Y+_AQ4CVB.=_M,XQ LL;%WNFM*58!O MM_A0HY:(8G:&=XE,>1V=64YB$-3A7/V5*'28DV">3$+Z/(\ )1QWH\UE7N(P!G!0 MY>J.BQ<8A]SOM@]GX?^ EZ/?>P/Y'HVP;24N/TO'/EYH;EYH;CLO^E5VQ,IYY_ #:>QX#?G_G6O('W8)[B#?/A^\IO9S MU)K_4S>E#MQ1.*@;V!.]QQCY1[A*;]\J:D&W;EY3(9G#$B&.5^S],URQ]\![ M;WU) 7Y_'_E"H7O=ZC\>[[HZWG5UO.OJ>-?5M[KK:O@^F&%I;EY)HW-_3'Q] MH&KT5:^;^;),!_'D!66&U$]!9/S\_H5X\LA:_Q]WQ4@$DM0& NEXQ0P5^1&G M[?TOJ'MB5N%9F^4B8Z"7;7K+KZ^Q]NTK/&)A"8NS]BI4U@#5"OZ@$E! Y)= M7G'%I,MR"[K$-)B*7]]0XI'5Z0O[-M7[NZ5L+$IHNG^ S\DM.&0?]B43JB23 M+YR3%;\^8%I6./=+4WKDD.(MVF^(-7L&?P'#U@ULB,[/JWL%G,BWWG\M099I M*;S)Q/7K:9VGQ0/[)X9F]12.7;_*4("99&@D_'$E>%FHJPW=%6U]M;VU4:W@ M8^R:PB3X2A-#\UEEOKG*!.N:F%8>PYP[3TP9!T(=I 7U\GW'X0CAP68[<<.=:T^BWNCZD[ =@/IC\(,FWL M]RL&RP^'XF='D-LA[ !J:V(/C&U:*4/RI>-^=07_N&E^!9 86'A.P/02Z,;UN)X8,A>ALUG=%YRSVV-RQOD6TO M(N^:\MY9[8O(NT7H0"C^(2D5#]+OS1C)@!J&,8-1\)O+0F: MUOH3=3/8)1:&?5Y6%3FG'FJ%D F+KB&^9.>EO O3%RJ2K7L69RD88/!LJ MY M3X_CCJ3^&\":UD!S*+16F6/S]R4H'"8VVZP$"_'L5 1;.U0Y"'MR*^YGHRYY MHX^CFN=*C#N9%D.J=31U6C_S/=;/9PT\=@20OO(0U@7G3HN67'-?=5S+H^8$ MZ5>'Z,06+2[EYFL/&]^?VW*8K>=*:+$,',Z-L,-P#DU[3VJ+S4*=J2WN'MVI M*^ZV>YM\48[*8>SI,[)5G+ ]-%'%@L(!J2J##@DC<\75[]Z4%4MI&,Y8<3:U M[,6A1!2+G4Q',YO ,$W%_G4H@>& K77EIE@2Z-Y4%1=877DJ^WN^7Z_LYZE8 M;HU>&LH!A.?,Z/EQ,*G$VD]WCHFUFW9&WT.4GEB\ 8-H58MS/ =EL>+]3\.] MCU]DBY$VFX=-ZM!BSV?Z6M9[,#ER"N3VA)8DO;P8[$'O!N(5G\+S!>G3>_=- M9:LM ,)W@&".? K"5*D'FLTX[L_\U.5]D8#Q?O,;%VCNR>[IT"4GSEB(?E]V MC4LQ?T RSX/'L[-Y'/J/.%+PF3$?(8W8R.ECT/ VCO;66FG+%E=.<, ]E,_6;N$,)0 M:M-A7J8V*6E_QWMHXRMLRT]J'XSD!_^^; 1;H57Y5]KM=,#L>TE-ELA3J$C+Y\I0+BJ$S^&<2NG82JWA^Y]Z5R]MR,)N@ M#5DHU!V:X3UT\W==T HEZ-"2_I8CO\1K:;[)P&C3?8N!W^>?OLVX& 7Y)B.? MTY5?WV+DM\@]O\7 E]\*U.MOMLL_[0'UX"&!AQC571-#>@SDL1135_A;2J _ MH$I&H< +6=3+DI'41+Q 0[LU#BS'*P$.S4VV,_DVO8UMI8 M$)(M6QW.D#S6+L08>5(6-^W'07$&4XURB[*V5[D[J48DAY],7%94X_%NSQP& M#VP?=U MW?SX_P%02P,$% @ [GT"3W(3?!U, @ 7@L T !X;"]S='EL97,N M>&ULU59;:]LP%/XK0AFCA5';29O2U39LA<)@&X7F86]%L8]M@2Z>+&=.?_TD MRY?$H[MDW6A>HG.^H_.=3Q?G**STEL%] :!1PYFH(EQH7;[UO"HI@)/J3)8@ M3"23BA-M7)5[5:F I)5-XLR;^_[2XX0*'(>BYK=<5RB1M= 1/A\@Y/)O9 H1 M?CAY_;66^OH53_&3-G"*D>/XD$8X6)YC[_=)SWS_:6(;G)!? M_"'YS[@GU,LGJ+OIAJG/G"1>VD2OV]DXS*08-WB!'6"8"0>T(2S"-X31M:(V M*R.K1A0/GV4/O>#@54K6U707WN^ZF3P*]9P52 MQ@:!<^R ."R)UJ#$K7':R2WX0PAU]FI;&H6Y(MM@?H''A'8P1=92I:"&,@'N MH3ADD%DYBN:%';4L/1O46G)CI)3D4I!60Y_1&88V <;N[1?Q)=OC;C+DYM@C M\3&R*GK3K+HSQU/S6\F[;(Y[E_8P7E32C=3O:[,H^;GW.0;NO^1=_L^*;>_X:\WMW\I4\3.*7%R^?(VV M3QZ!R.4QB#R"XUY<_6.-7M<:=_KO7O<=4+2N*=-4=&H+FJ;@]-CG3X0_VW<5 MV^N!8Q,V])JLS6-WC]_DII"1FND[N\0V&.'1_FB%!\MAUFJ@B/!H?X*4UORJ M+3B^J./O4$L#!!0 ( .Y] D^F8VLPO04 !LM / >&PO=V]R:V)O M;VLN>&ULQ9I+;]LX$(#_"N%3]U#;>J8MF@)MTNP&Z"9&8O1:,#(=.E MT; P+/@JQ<;]6A^^,@X;/(HYOSL=34>,K[VYD,H+>\Z]^-.:=2?U_>DH&[&E MM,[?AG/'+5NI92M_B$7\YE9F\Y>Q\H?1GJO;QAJEXEYA1=P)SN#V2[X*ZV4S MV-#SNQL.K*>C>@H'?)1.WDDE_?9T%/]78@2_8I+\C!B'W6R M$>>F6;="^SZ.5JAP=NU6LG,CIGDK3D=GYE'80 PGN%ST]![B\@N)V7<25MC+ M11;P*%&T,THNX.P+]HDKKAO!8F!= I@C@/G1 -FK&4\@"P2R^(V0MP$B[."8 M6;)+W9@$LD0@RZ-!WGK3)) 5 ED=#?*,NU4"62.0-2UD-F:WZ[;E=AN#)^^U MA#VY]NQCTYAU GF"0)[00N;CGB9$[T8T0CYR./^W!.X- O>&%JX8PX/Q"-L8 MNTV1WB)(;VF1RC$[,PZ"Q?6"?79>MO$>_,RM!E6EV3";8OEZ2HM9C=G?X&8O M=,R$ ?;:KX3]&<\4$]4*L5?J,8,RH0,?;_N _KN67=@GO=H9YI6,6"PG\!"O MC/6OY\*V[).QUFS"A1X 8D[)B*7R9LR^B'NN0B ;(18'<)A+,F*9O(7H<26& M0)@W,F)Q9--Q=&TKV)Q_?P*&N2*CE@788I=$V P>U#/3MD;#S=,ELA8M7RP&9KVZRX M$VRFTFHPPU22$;LD YGT=-==6!G8AE',,8?DQ [)JI"=Q5)8&ZLL !VP8>+( MB<61@3GFT(ZZ-517AVAH)T)LC.PD/"->VEB3QFLZ8,-DD1/+(@-;7'!IV5>N MUB*4I1"/4\>Q"F8T#LOXHL-D@DIA(S5/'P.[DO,*_GO[$=V<'^D=)A.\F.V)H-; MLL"T4ARS-1EB8H8ICM::Q N?8F*V*8AMLZ^PG[L="W2PB]HU3TOM9PDQS134 MFD%K;I9B8JHIJ%7S?)GX3'(L,-44U*IY6=H!-<7$5%,0J^:R[:!="3;\N#!] M/./0)CSCW"X&T<144Q"KYD: 9Z!$V^'JI%(#V!038>DKR MB99=&23V99#8)7JC4TQTIH5\J@7!'#X\F']*\LD6##/M(4K,/R6Q?YX6E286 ME7)WKZ:8F']*8O_@5?H@FIA_2F+_X%7Z !/S3TGLGT&)+G8E^CXOI;.5F'\J M8O]@S00DSQ03\T]%[)\7)SL._%-A_JF(_1,;'G:W92W_QUC6K)V'+L,RO^V> M7G3,0A6QA9+6[*<@V16WEHW M9XJ)":@B%M"^,8>LR9J^,7>A,>^3>XJ)":BBGL/!IIH&-5R-":@F%E!/]K/? M[<+XP:!V3S$Q =7$ DHQH0LR2K&EV4!??B"@&A-032V@PVB^9K\6IIB8@&KJ M$;B7!HX.$E*-*:BF'H9[9IXQR4DI)F:AFGH8[G#*,\!'_R)1684)_^5:J3-8=JV_&!Z6QV/LWDO^\!]02P,$% @ M[GT"3_(8\K! @ \2@ !H !X;"]?+3MWRNAU/;E..I*ZNWR[DIF^HX#-V7$,KVF"]UN6N[W(Q/ M]FU_J8?QMC^$KMZ^UH<<9+WVT$]G5,]/TYFKE]VFZE]VL5K]J/M#'C95>#N' M7VW_6HXY#R5@O06_AZ"]!;^'H+T%OX>@O06_AZ"]!;^'H+T%OX M>@O06_AZ*]!;^7HKT%OY>BO06Q?8*T&;)7R]%>BM?+T5Z*U\O17HK7R]%>BM M?+T5Z*U\O17HK7R]$] [\?5.0._$USL!O1-?[P3T3@OL=:/-;K[>">B=^'HG MH'?BZYV WHFO=P)Z)[[>">B=^'H;T-OX>AO0V_AZ&]#;^'H;T-OX>AO0VQ;X M5HD^5O+U-J"W\?4VH+?Q]3:@M_'U-J"W\?5VH+?S]7:@M_/U=J"W\_5VH+?S M]7:@M_/U=J"W+W#6!!TVX>OM0&_GZ^U ;^?K[1.]R['N\^[[T)^:0[EUR3_# M/STA-(&[#._G?/N,Z]1/UY\H/8RKY'"]WMSFZ]0_$6%:49Y_ U!+ P04 M" #N?0)/ E!J^/X! J* $P %M#;VYT96YT7U1Y<&5S72YX;6S-VLM. MXS 4!N!7J;)%C>LK%U$VP'8&:7@!DYPV49/8L@V4MQ\G7"10D8IHI7_3-#G. M.7]2ZUOU\O[%4YQM^VZ(RZ))R5\P%JN&>AM+YVG(E94+O4WY-*R9M]7&KHF) MQ<*PR@V)AC1/8X_BZO*&5O:Q2[/KU^MCZV5AO>_:RJ;6#>QIJ+\TG;\U+ -U MTYK8M#Z>Y 7%[':;N\1\;5GD:BS8'A.^WCB>Y_O^/E$(;4T_BN96J[:BVE6/ M?;ZEC#Z0K6-#E/JNC(T-5/]+H1W6;WGO;$A_;)\;LVW'/BTHCY3DE+<%[1HU%5X_^:\&ON^&R@6:^Y"K(;4['B]'NLO5R,:%AWQ$&K=.3?5> MPW/KX_VPSRYLIN^[7OA',;+I\+NW?K@< B2'!,FA0')HD!P&),&UL4$L! A0#% @ M[GT"3QV=P)Q? P (! !@ ( !^ @ 'AL+W=O&PO=V]R M:W-H965T&UL4$L! A0#% @ [GT"3_&&G+0* P Z H M !@ ( !_!( 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ [GT"3Z)X_&VT 0 T@, !@ ( ! M.1X 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ M[GT"3ZVXBN.U 0 T@, !D ( !]R, 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ [GT"3PJ/O:ZT 0 MT@, !D ( !N2D 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ [GT"3XR@BLZU 0 T@, !D M ( !>"\ 'AL+W=O&PO=V]R:W-H M965T&UL4$L! M A0#% @ [GT"3]MW5H"T 0 T@, !D ( !/#4 'AL M+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ [GT" M3UR&!2.S 0 T@, !D ( !_CH 'AL+W=O@K0! #2 P &0 M @ 'H/ >&PO=V]R:W-H965T&UL4$L! A0#% @ [GT"3\76,?BU 0 T@, M !D ( !O4 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ [GT"3UE7=0&W 0 T@, !D M ( !>4< 'AL+W=O&PO=V]R:W-H965T M&UL4$L! A0# M% @ [GT"3\+.IY&W 0 T@, !D ( !8$T 'AL+W=O M&PO=V]R:W-H965T&UL4$L! A0#% @ [GT"3U]Z MQ633 0 G 0 !D ( !*5, 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ [GT"3VX&PO M=V]R:W-H965T !X;"]W;W)K&UL4$L! A0#% @ [GT"3PV!6-# @ KPD !D ( ! MVF 'AL+W=O&PO=V]R:W-H965T]2M^(P( !@& 9 M " 6]F !X;"]W;W)K&UL4$L! A0#% M @ [GT"3S\QD8 U @ JP8 !D ( !R6@ 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ [GT"3W-W*!7@ 0 9P0 !D M ( !578 'AL+W=O >&PO=V]R M:W-H965T&UL M4$L! A0#% @ [GT"3S&L.V'> 0 Q 0 !D ( !4GT M 'AL+W=O&PO=V]R:W-H965T*! !X;"]W;W)K&UL4$L! A0#% @ M[GT"3S:X<A@ >&PO=V]R:W-H965T&UL4$L! A0#% @ [GT"3^B*P@-L @ M_P< !D ( !8XP 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ [GT"3S6NKP(( @ _04 !D M ( !9I, 'AL+W=O&PO=V]R:W-H M965T&UL4$L! M A0#% @ [GT"3^;A$%\U @ 308 !D ( !?Y\ 'AL M+W=O P &0 @ 'KH0 >&PO=V]R:W-H965T&UL4$L! A0#% @ [GT" M3ZJB 8?? 0 9@0 !D ( !K:4 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ [GT"3Z9C M:S"]!0 &RT \ ( !;N( 'AL+W=O7!E&UL 64$L%!@ !- $T #14 /_L $! end XML 83 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 84 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 85 FilingSummary.xml IDEA: XBRL DOCUMENT 3.19.2 html 63 328 1 false 21 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 Stockholders Equity Sheet http://taylordevices.com/role/StatementsOfStockholdersEquity Consolidated Statements of Stockholders 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 Receivable: Sheet http://taylordevices.com/role/AccountsReceivable 2. Accounts Receivable: 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. Legal Proceedings: Sheet http://taylordevices.com/role/LegalProceedings 8. Legal Proceedings: 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 00000020 - Disclosure - 14. Stock Option Plans: Sheet http://taylordevices.com/role/StockOptionPlans 14. Stock Option Plans: Notes 20 false false R21.htm 00000021 - Disclosure - 15. Preferred Stock: Sheet http://taylordevices.com/role/PreferredStock 15. Preferred Stock: Notes 21 false false R22.htm 00000022 - Disclosure - 16. Treasury Stock: Sheet http://taylordevices.com/role/TreasuryStock 16. Treasury Stock: Notes 22 false false R23.htm 00000023 - Disclosure - 17. Retirement Plan: Sheet http://taylordevices.com/role/RetirementPlan 17. Retirement Plan: Notes 23 false false R24.htm 00000024 - Disclosure - 18. Fair Value of Financial Instruments: Sheet http://taylordevices.com/role/FairValueOfFinancialInstruments 18. Fair Value of Financial Instruments: Notes 24 false false R25.htm 00000025 - Disclosure - 19. Cash Flows Information: Sheet http://taylordevices.com/role/CashFlowsInformation 19. Cash Flows Information: Notes 25 false false R26.htm 00000026 - 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 26 false false R27.htm 00000027 - Disclosure - 1. Summary of Significant Accounting Policies: (Tables) Sheet http://taylordevices.com/role/SummaryOfSignificantAccountingPoliciesTables 1. Summary of Significant Accounting Policies: (Tables) Tables http://taylordevices.com/role/SummaryOfSignificantAccountingPolicies 27 false false R28.htm 00000028 - Disclosure - 2. Accounts Receivable: (Tables) Sheet http://taylordevices.com/role/AccountsReceivableTables 2. Accounts Receivable: (Tables) Tables http://taylordevices.com/role/AccountsReceivable 28 false false R29.htm 00000029 - Disclosure - 3. Inventory: (Tables) Sheet http://taylordevices.com/role/InventoryTables 3. Inventory: (Tables) Tables http://taylordevices.com/role/Inventory 29 false false R30.htm 00000030 - 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 00000031 - 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 00000032 - 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 00000033 - Disclosure - 9. Sales: (Tables) Sheet http://taylordevices.com/role/SalesTables 9. Sales: (Tables) Tables http://taylordevices.com/role/Sales 33 false false R34.htm 00000034 - Disclosure - 10. Income Taxes: (Tables) Sheet http://taylordevices.com/role/IncomeTaxesTables 10. Income Taxes: (Tables) Tables http://taylordevices.com/role/IncomeTaxes 34 false false R35.htm 00000035 - 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 35 false false R36.htm 00000036 - Disclosure - 14. Stock Option Plans: (Tables) Sheet http://taylordevices.com/role/StockOptionPlansTables 14. Stock Option Plans: (Tables) Tables http://taylordevices.com/role/StockOptionPlans 36 false false R37.htm 00000037 - Disclosure - 19. Cash Flows Information: (Tables) Sheet http://taylordevices.com/role/CashFlowsInformationTables 19. Cash Flows Information: (Tables) Tables http://taylordevices.com/role/CashFlowsInformation 37 false false R38.htm 00000038 - Disclosure - Impact of Adoption of Standards Related to Revenue Recognition (Details) Sheet http://taylordevices.com/role/ImpactOfAdoptionOfStandardsRelatedToRevenueRecognitionDetails Impact of Adoption of Standards Related to Revenue Recognition (Details) Details 38 false false R39.htm 00000039 - Disclosure - Revenue Impact on Financial Statements Balance Sheet (Details) Sheet http://taylordevices.com/role/RevenueImpactOnFinancialStatementsBalanceSheetDetails Revenue Impact on Financial Statements Balance Sheet (Details) Details 39 false false R40.htm 00000040 - Disclosure - Revenue Impact on Financial Statements Income Statement (Details) Sheet http://taylordevices.com/role/RevenueImpactOnFinancialStatementsIncomeStatementDetails Revenue Impact on Financial Statements Income Statement (Details) Details 40 false false R41.htm 00000041 - 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/SummaryOfSignificantAccountingPoliciesTables 41 false false R42.htm 00000042 - Disclosure - Accounts receivable table (Details) Sheet http://taylordevices.com/role/AccountsReceivableTableDetails Accounts receivable table (Details) Details 42 false false R43.htm 00000043 - Disclosure - Inventory table (Details) Sheet http://taylordevices.com/role/InventoryTableDetails Inventory table (Details) Details 43 false false R44.htm 00000044 - 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 44 false false R45.htm 00000045 - 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 45 false false R46.htm 00000046 - 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 46 false false R47.htm 00000047 - Disclosure - Maintenance and other inventory table (Details) Sheet http://taylordevices.com/role/MaintenanceAndOtherInventoryTableDetails Maintenance and other inventory table (Details) Details 47 false false R48.htm 00000048 - 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 48 false false R49.htm 00000049 - 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 49 false false R50.htm 00000050 - Disclosure - Property and equipment table (Details) Sheet http://taylordevices.com/role/PropertyAndEquipmentTableDetails Property and equipment table (Details) Details 50 false false R51.htm 00000051 - 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 51 false false R52.htm 00000052 - 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 52 false false R53.htm 00000053 - Disclosure - Sales by major customer type (Details) Sheet http://taylordevices.com/role/SalesByMajorCustomerTypeDetails Sales by major customer type (Details) Details 53 false false R54.htm 00000054 - Disclosure - 9. Sales: (Details Narrative) Sheet http://taylordevices.com/role/SalesDetailsNarrative 9. Sales: (Details Narrative) Details http://taylordevices.com/role/SalesTables 54 false false R55.htm 00000055 - Disclosure - Income Taxes Table (Details) Sheet http://taylordevices.com/role/IncomeTaxesTableDetails Income Taxes Table (Details) Details 55 false false R56.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 56 false false R57.htm 00000057 - Disclosure - Net deferred tax assets (Details) Sheet http://taylordevices.com/role/NetDeferredTaxAssetsDetails Net deferred tax assets (Details) Details 57 false false R58.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 58 false false R59.htm 00000059 - Disclosure - Earnings per common share table (Details) Sheet http://taylordevices.com/role/EarningsPerCommonShareTableDetails Earnings per common share table (Details) Details 59 false false R60.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 60 false false R61.htm 00000061 - Disclosure - Stock option plans table (Details) Sheet http://taylordevices.com/role/StockOptionPlansTableDetails Stock option plans table (Details) Details 61 false false R62.htm 00000062 - Disclosure - Stock options roll foward (Details) Sheet http://taylordevices.com/role/StockOptionsRollFowardDetails Stock options roll foward (Details) Details 62 false false R63.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 63 false false R64.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 64 false false R65.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 65 false false R66.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 66 false false R67.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 67 false false R68.htm 00000068 - Disclosure - Supplemental cash flow information (Details) Sheet http://taylordevices.com/role/SupplementalCashFlowInformationDetails Supplemental cash flow information (Details) Details 68 false false All Reports Book All Reports tayd201910k.htm annualreport2019.htm ceo302certification2019.htm ceo906certification2019.htm cfo302certification2019.htm descriptionofsecurities.htm tayd-20190531.xsd tayd-20190531_cal.xml tayd-20190531_def.xml tayd-20190531_lab.xml tayd-20190531_pre.xml http://fasb.org/srt/2019-01-31 http://xbrl.sec.gov/dei/2019-01-31 http://fasb.org/us-gaap/2019-01-31 true true JSON 88 MetaLinks.json IDEA: XBRL DOCUMENT { "instance": { "tayd201910k.htm": { "axisCustom": 0, "axisStandard": 5, "contextCount": 63, "dts": { "calculationLink": { "local": [ "tayd-20190531_cal.xml" ] }, "definitionLink": { "local": [ "tayd-20190531_def.xml" ], "remote": [ "http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-eedm-def-2019-01-31.xml", "http://xbrl.fasb.org/srt/2019/elts/srt-eedm1-def-2019-01-31.xml" ] }, "inline": { "local": [ "tayd201910k.htm" ] }, "labelLink": { "local": [ "tayd-20190531_lab.xml" ], "remote": [ "http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-doc-2019-01-31.xml", "https://xbrl.sec.gov/dei/2019/dei-doc-2019-01-31.xml", "http://xbrl.fasb.org/srt/2019/elts/srt-doc-2019-01-31.xml" ] }, "presentationLink": { "local": [ "tayd-20190531_pre.xml" ] }, "referenceLink": { "remote": [ "http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-ref-2019-01-31.xml", "http://xbrl.fasb.org/srt/2019/elts/srt-ref-2019-01-31.xml", "https://xbrl.sec.gov/dei/2019/dei-ref-2019-01-31.xml" ] }, "schema": { "local": [ "tayd-20190531.xsd" ], "remote": [ "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", "https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd", "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd", "http://www.xbrl.org/2005/xbrldt-2005.xsd", "http://www.xbrl.org/dtr/type/nonNumeric-2009-12-16.xsd", "http://www.xbrl.org/dtr/type/numeric-2009-12-16.xsd", "http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd", "http://xbrl.fasb.org/us-gaap/2019/elts/us-roles-2019-01-31.xsd", "http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd", "http://www.xbrl.org/2006/ref-2006-02-27.xsd", "http://xbrl.fasb.org/srt/2019/elts/srt-types-2019-01-31.xsd", "http://xbrl.fasb.org/srt/2019/elts/srt-roles-2019-01-31.xsd", "https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd", "http://xbrl.fasb.org/us-gaap/2019/elts/us-types-2019-01-31.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", "http://xbrl.fasb.org/us-gaap/2019/elts/us-parts-codification-2019-01-31.xsd", "http://www.xbrl.org/lrr/role/deprecated-2009-12-16.xsd" ] } }, "elementCount": 362, "entityCount": 1, "hidden": { "http://fasb.org/us-gaap/2019-01-31": 24, "http://xbrl.sec.gov/dei/2019-01-31": 6, "total": 30 }, "keyCustom": 29, "keyStandard": 299, "memberCustom": 14, "memberStandard": 7, "nsprefix": "tayd", "nsuri": "http://taylordevices.com/20190531", "report": { "R1": { "firstAnchor": { "ancestors": [ "span", "b", "p", "body", "html" ], "baseRef": "tayd201910k.htm", "contextRef": "From2018-06-01to2019-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": "tayd201910k.htm", "contextRef": "From2018-06-01to2019-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": "tayd201910k.htm", "contextRef": "From2018-06-01to2019-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": "tayd201910k.htm", "contextRef": "From2018-06-01to2019-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": "tayd201910k.htm", "contextRef": "From2018-06-01to2019-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": "tayd201910k.htm", "contextRef": "From2018-06-01to2019-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": "tayd201910k.htm", "contextRef": "From2018-06-01to2019-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": "tayd201910k.htm", "contextRef": "From2018-06-01to2019-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": "tayd201910k.htm", "contextRef": "From2018-06-01to2019-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": "tayd201910k.htm", "contextRef": "From2018-06-01to2019-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": "tayd201910k.htm", "contextRef": "From2018-06-01to2019-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": "00000014 - Disclosure - 8. Legal Proceedings:", "role": "http://taylordevices.com/role/LegalProceedings", "shortName": "8. Legal Proceedings:", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "tayd201910k.htm", "contextRef": "From2018-06-01to2019-05-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LegalMattersAndContingenciesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R15": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "tayd201910k.htm", "contextRef": "From2018-06-01to2019-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": "tayd201910k.htm", "contextRef": "From2018-06-01to2019-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": "tayd201910k.htm", "contextRef": "From2018-06-01to2019-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": "tayd201910k.htm", "contextRef": "From2018-06-01to2019-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": "tayd201910k.htm", "contextRef": "From2018-06-01to2019-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": "tayd201910k.htm", "contextRef": "From2018-06-01to2019-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": "tayd201910k.htm", "contextRef": "From2018-06-01to2019-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": "tayd201910k.htm", "contextRef": "From2018-06-01to2019-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": "tayd201910k.htm", "contextRef": "From2018-06-01to2019-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": "tayd201910k.htm", "contextRef": "From2018-06-01to2019-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": "tayd201910k.htm", "contextRef": "AsOf2019-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": "tayd201910k.htm", "contextRef": "AsOf2019-05-31", "decimals": "0", "lang": null, "name": "us-gaap:ShortTermInvestments", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R20": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "tayd201910k.htm", "contextRef": "From2018-06-01to2019-05-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000020 - Disclosure - 14. Stock Option Plans:", "role": "http://taylordevices.com/role/StockOptionPlans", "shortName": "14. Stock Option Plans:", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "tayd201910k.htm", "contextRef": "From2018-06-01to2019-05-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R21": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "tayd201910k.htm", "contextRef": "From2018-06-01to2019-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": "tayd201910k.htm", "contextRef": "From2018-06-01to2019-05-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:PreferredStockTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R22": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "tayd201910k.htm", "contextRef": "From2018-06-01to2019-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": "tayd201910k.htm", "contextRef": "From2018-06-01to2019-05-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:TreasuryStockTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R23": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "tayd201910k.htm", "contextRef": "From2018-06-01to2019-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": "tayd201910k.htm", "contextRef": "From2018-06-01to2019-05-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfCostsOfRetirementPlansTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R24": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "tayd201910k.htm", "contextRef": "From2018-06-01to2019-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": "tayd201910k.htm", "contextRef": "From2018-06-01to2019-05-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueOfFinancialInstrumentsPolicy", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R25": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "tayd201910k.htm", "contextRef": "From2018-06-01to2019-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": "tayd201910k.htm", "contextRef": "From2018-06-01to2019-05-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CashFlowSupplementalDisclosuresTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R26": { "firstAnchor": { "ancestors": [ "us-gaap:SignificantAccountingPoliciesTextBlock", "body", "html" ], "baseRef": "tayd201910k.htm", "contextRef": "From2018-06-01to2019-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": "00000026 - 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": "tayd201910k.htm", "contextRef": "From2018-06-01to2019-05-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:NatureOfOperations", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R27": { "firstAnchor": { "ancestors": [ "us-gaap:RevenueRecognitionPolicyTextBlock", "us-gaap:SignificantAccountingPoliciesTextBlock", "body", "html" ], "baseRef": "tayd201910k.htm", "contextRef": "From2018-06-01to2019-05-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfNewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000027 - Disclosure - 1. Summary of Significant Accounting Policies: (Tables)", "role": "http://taylordevices.com/role/SummaryOfSignificantAccountingPoliciesTables", "shortName": "1. Summary of Significant Accounting Policies: (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:RevenueRecognitionPolicyTextBlock", "us-gaap:SignificantAccountingPoliciesTextBlock", "body", "html" ], "baseRef": "tayd201910k.htm", "contextRef": "From2018-06-01to2019-05-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfNewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R28": { "firstAnchor": { "ancestors": [ "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock", "body", "html" ], "baseRef": "tayd201910k.htm", "contextRef": "From2018-06-01to2019-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": "00000028 - Disclosure - 2. Accounts Receivable: (Tables)", "role": "http://taylordevices.com/role/AccountsReceivableTables", "shortName": "2. Accounts Receivable: (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock", "body", "html" ], "baseRef": "tayd201910k.htm", "contextRef": "From2018-06-01to2019-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": "tayd201910k.htm", "contextRef": "From2018-06-01to2019-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": "00000029 - Disclosure - 3. Inventory: (Tables)", "role": "http://taylordevices.com/role/InventoryTables", "shortName": "3. Inventory: (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:InventoryDisclosureTextBlock", "body", "html" ], "baseRef": "tayd201910k.htm", "contextRef": "From2018-06-01to2019-05-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R3": { "firstAnchor": { "ancestors": [ "span", "span", "td", "tr", "table", "body", "html" ], "baseRef": "tayd201910k.htm", "contextRef": "AsOf2019-05-31", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:CommonStockSharesAuthorized", "reportCount": 1, "unique": true, "unitRef": "Shares", "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": [ "span", "span", "td", "tr", "table", "body", "html" ], "baseRef": "tayd201910k.htm", "contextRef": "AsOf2019-05-31", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:CommonStockSharesAuthorized", "reportCount": 1, "unique": true, "unitRef": "Shares", "xsiNil": "false" } }, "R30": { "firstAnchor": { "ancestors": [ "us-gaap:DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock", "body", "html" ], "baseRef": "tayd201910k.htm", "contextRef": "From2018-06-01to2019-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": "00000030 - 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": "tayd201910k.htm", "contextRef": "From2018-06-01to2019-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": "tayd201910k.htm", "contextRef": "From2018-06-01to2019-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": "00000031 - 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": "tayd201910k.htm", "contextRef": "From2018-06-01to2019-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": "tayd201910k.htm", "contextRef": "From2018-06-01to2019-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": "00000032 - 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": "tayd201910k.htm", "contextRef": "From2018-06-01to2019-05-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R33": { "firstAnchor": { "ancestors": [ "tayd:ScheduleOfRevenueByMajorCustomersTypesTextBlock", "body", "html" ], "baseRef": "tayd201910k.htm", "contextRef": "From2018-06-01to2019-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": "00000033 - Disclosure - 9. Sales: (Tables)", "role": "http://taylordevices.com/role/SalesTables", "shortName": "9. Sales: (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "tayd:ScheduleOfRevenueByMajorCustomersTypesTextBlock", "body", "html" ], "baseRef": "tayd201910k.htm", "contextRef": "From2018-06-01to2019-05-31", "decimals": null, "first": true, "lang": "en-US", "name": "tayd:ScheduleOfRevenueByMajorCustomerTypesTextBlockTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R34": { "firstAnchor": { "ancestors": [ "us-gaap:IncomeTaxDisclosureTextBlock", "body", "html" ], "baseRef": "tayd201910k.htm", "contextRef": "From2018-06-01to2019-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": "00000034 - 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": "tayd201910k.htm", "contextRef": "From2018-06-01to2019-05-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R35": { "firstAnchor": { "ancestors": [ "us-gaap:EarningsPerShareTextBlock", "body", "html" ], "baseRef": "tayd201910k.htm", "contextRef": "From2018-06-01to2019-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": "00000035 - 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": "tayd201910k.htm", "contextRef": "From2018-06-01to2019-05-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R36": { "firstAnchor": { "ancestors": [ "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "baseRef": "tayd201910k.htm", "contextRef": "From2018-06-01to2019-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": "00000036 - Disclosure - 14. Stock Option Plans: (Tables)", "role": "http://taylordevices.com/role/StockOptionPlansTables", "shortName": "14. Stock Option Plans: (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "baseRef": "tayd201910k.htm", "contextRef": "From2018-06-01to2019-05-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValueTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R37": { "firstAnchor": { "ancestors": [ "us-gaap:CashFlowSupplementalDisclosuresTextBlock", "body", "html" ], "baseRef": "tayd201910k.htm", "contextRef": "From2018-06-01to2019-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": "00000037 - 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": "tayd201910k.htm", "contextRef": "From2018-06-01to2019-05-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R38": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "body", "html" ], "baseRef": "tayd201910k.htm", "contextRef": "AsOf2019-05-31", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:InventoryPartsAndComponentsNetOfReserves", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000038 - Disclosure - Impact of Adoption of Standards Related to Revenue Recognition (Details)", "role": "http://taylordevices.com/role/ImpactOfAdoptionOfStandardsRelatedToRevenueRecognitionDetails", "shortName": "Impact of Adoption of Standards Related to Revenue Recognition (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:ScheduleOfNewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock", "us-gaap:RevenueRecognitionPolicyTextBlock", "us-gaap:SignificantAccountingPoliciesTextBlock", "body", "html" ], "baseRef": "tayd201910k.htm", "contextRef": "AsOf2018-06-01_us-gaap_CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member", "decimals": "0", "lang": null, "name": "us-gaap:InventoryPartsAndComponentsNetOfReserves", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R39": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "body", "html" ], "baseRef": "tayd201910k.htm", "contextRef": "AsOf2019-05-31", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:InventoryPartsAndComponentsNetOfReserves", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000039 - Disclosure - Revenue Impact on Financial Statements Balance Sheet (Details)", "role": "http://taylordevices.com/role/RevenueImpactOnFinancialStatementsBalanceSheetDetails", "shortName": "Revenue Impact on Financial Statements Balance Sheet (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "table", "srt:ScheduleOfCondensedBalanceSheetTableTextBlock", "us-gaap:RevenueRecognitionPolicyTextBlock", "us-gaap:SignificantAccountingPoliciesTextBlock", "body", "html" ], "baseRef": "tayd201910k.htm", "contextRef": "AsOf2019-05-31_us-gaap_AccountingStandardsUpdate201409Member", "decimals": "0", "lang": null, "name": "us-gaap:InventoryPartsAndComponentsNetOfReserves", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R4": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "body", "html" ], "baseRef": "tayd201910k.htm", "contextRef": "From2018-06-01to2019-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": "tayd201910k.htm", "contextRef": "From2018-06-01to2019-05-31", "decimals": "0", "lang": null, "name": "us-gaap:GrossProfit", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R40": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "body", "html" ], "baseRef": "tayd201910k.htm", "contextRef": "From2018-06-01to2019-05-31", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:Revenues", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000040 - Disclosure - Revenue Impact on Financial Statements Income Statement (Details)", "role": "http://taylordevices.com/role/RevenueImpactOnFinancialStatementsIncomeStatementDetails", "shortName": "Revenue Impact on Financial Statements Income Statement (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "table", "srt:ScheduleOfCondensedIncomeStatementTableTextBlock", "us-gaap:RevenueRecognitionPolicyTextBlock", "us-gaap:SignificantAccountingPoliciesTextBlock", "body", "html" ], "baseRef": "tayd201910k.htm", "contextRef": "From2018-06-012019-05-31_us-gaap_CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member", "decimals": "0", "lang": null, "name": "us-gaap:Revenues", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R41": { "firstAnchor": { "ancestors": [ "span", "p", "us-gaap:NatureOfOperations", "us-gaap:SignificantAccountingPoliciesTextBlock", "body", "html" ], "baseRef": "tayd201910k.htm", "contextRef": "From2018-06-01to2019-05-31", "decimals": "INF", "first": true, "lang": null, "name": "tayd:EntityWideDisclosureOnGeographicAreasPercentageOfRevenueFromExternalCustomersAttributedToEntitysCountryOfDomicile", "reportCount": 1, "unique": true, "unitRef": "Pure", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000041 - 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": "tayd201910k.htm", "contextRef": "From2018-06-01to2019-05-31", "decimals": "INF", "first": true, "lang": null, "name": "tayd:EntityWideDisclosureOnGeographicAreasPercentageOfRevenueFromExternalCustomersAttributedToEntitysCountryOfDomicile", "reportCount": 1, "unique": true, "unitRef": "Pure", "xsiNil": "false" } }, "R42": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock", "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock", "body", "html" ], "baseRef": "tayd201910k.htm", "contextRef": "AsOf2019-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": "00000042 - 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": "tayd201910k.htm", "contextRef": "AsOf2019-05-31", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:ReceivablesFromCustomers", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R43": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "us-gaap:InventoryDisclosureTextBlock", "body", "html" ], "baseRef": "tayd201910k.htm", "contextRef": "AsOf2019-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": "00000043 - 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": "tayd201910k.htm", "contextRef": "AsOf2019-05-31", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:InventoryRawMaterials", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R44": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:LongTermContractsOrProgramsDisclosureTextBlock", "us-gaap:DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock", "body", "html" ], "baseRef": "tayd201910k.htm", "contextRef": "AsOf2019-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": "00000044 - 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": "tayd201910k.htm", "contextRef": "AsOf2019-05-31", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:InventoryForLongTermContractsOrPrograms", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R45": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "body", "html" ], "baseRef": "tayd201910k.htm", "contextRef": "AsOf2019-05-31", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:CostsInExcessOfBillingsOnUncompletedContractsOrPrograms", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000045 - 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": null }, "R46": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "tayd:LongTermContractsDisclosureTwoTableTextBlock", "us-gaap:DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock", "body", "html" ], "baseRef": "tayd201910k.htm", "contextRef": "AsOf2019-05-31", "decimals": "INF", "first": true, "lang": null, "name": "tayd:QuantityOfUncompletedProjectsOrProgramsInProgress", "reportCount": 1, "unique": true, "unitRef": "Pure", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000046 - 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": "tayd201910k.htm", "contextRef": "AsOf2019-05-31", "decimals": "INF", "first": true, "lang": null, "name": "tayd:QuantityOfUncompletedProjectsOrProgramsInProgress", "reportCount": 1, "unique": true, "unitRef": "Pure", "xsiNil": "false" } }, "R47": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:ScheduleOfInventoryNoncurrentTableTextBlock", "us-gaap:OtherAssetsDisclosureTextBlock", "body", "html" ], "baseRef": "tayd201910k.htm", "contextRef": "AsOf2019-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": "00000047 - 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": "tayd201910k.htm", "contextRef": "AsOf2019-05-31", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:OtherInventoryNoncurrent", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R48": { "firstAnchor": { "ancestors": [ "span", "p", "us-gaap:DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock", "body", "html" ], "baseRef": "tayd201910k.htm", "contextRef": "AsOf2019-05-31", "decimals": "INF", "first": true, "lang": null, "name": "tayd:QuantityOfUncompletedProjectsOrProgramsNotStarted", "reportCount": 1, "unique": true, "unitRef": "Pure", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000048 - 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": "tayd201910k.htm", "contextRef": "AsOf2019-05-31", "decimals": "INF", "first": true, "lang": null, "name": "tayd:QuantityOfUncompletedProjectsOrProgramsNotStarted", "reportCount": 1, "unique": true, "unitRef": "Pure", "xsiNil": "false" } }, "R49": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "body", "html" ], "baseRef": "tayd201910k.htm", "contextRef": "From2018-06-01to2019-05-31", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:InventoryWriteDown", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000049 - 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 }, "R5": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "body", "html" ], "baseRef": "tayd201910k.htm", "contextRef": "AsOf2017-05-31_us-gaap_CommonStockMember", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:StockholdersEquity", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "00000005 - Statement - Consolidated Statements of Stockholders Equity", "role": "http://taylordevices.com/role/StatementsOfStockholdersEquity", "shortName": "Consolidated Statements of Stockholders Equity", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "td", "tr", "table", "body", "html" ], "baseRef": "tayd201910k.htm", "contextRef": "AsOf2017-05-31_us-gaap_CommonStockMember", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:StockholdersEquity", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R50": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:PropertyPlantAndEquipmentTextBlock", "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "body", "html" ], "baseRef": "tayd201910k.htm", "contextRef": "AsOf2019-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": "00000050 - 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": "tayd201910k.htm", "contextRef": "AsOf2019-05-31", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:Land", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R51": { "firstAnchor": { "ancestors": [ "span", "p", "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "body", "html" ], "baseRef": "tayd201910k.htm", "contextRef": "From2018-06-01to2019-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": "00000051 - 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": "tayd201910k.htm", "contextRef": "From2018-06-01to2019-05-31", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:Depreciation", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R52": { "firstAnchor": { "ancestors": [ "span", "p", "us-gaap:ScheduleOfLineOfCreditFacilitiesTextBlock", "body", "html" ], "baseRef": "tayd201910k.htm", "contextRef": "AsOf2019-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": "00000052 - 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": "tayd201910k.htm", "contextRef": "AsOf2019-05-31", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:LineOfCreditFacilityCurrentBorrowingCapacity", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R53": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "body", "html" ], "baseRef": "tayd201910k.htm", "contextRef": "From2018-06-01to2019-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": "tayd201910k.htm", "contextRef": "From2018-06-012019-05-31_custom_ConstructionSeismicWindMember", "decimals": "0", "lang": null, "name": "us-gaap:Revenues", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R54": { "firstAnchor": { "ancestors": [ "span", "p", "tayd:ScheduleOfRevenueByMajorCustomersTypesTextBlock", "body", "html" ], "baseRef": "tayd201910k.htm", "contextRef": "From2018-06-01to2019-05-31", "decimals": "INF", "first": true, "lang": null, "name": "tayd:ScheduleOfRevenueByMajorCustomers", "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": "tayd201910k.htm", "contextRef": "From2018-06-01to2019-05-31", "decimals": "INF", "first": true, "lang": null, "name": "tayd:ScheduleOfRevenueByMajorCustomers", "reportCount": 1, "unique": true, "unitRef": "Pure", "xsiNil": "false" } }, "R55": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock", "us-gaap:IncomeTaxDisclosureTextBlock", "body", "html" ], "baseRef": "tayd201910k.htm", "contextRef": "From2018-06-01to2019-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": "tayd201910k.htm", "contextRef": "From2018-06-01to2019-05-31", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:CurrentFederalTaxExpenseBenefit", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R56": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock", "us-gaap:IncomeTaxDisclosureTextBlock", "body", "html" ], "baseRef": "tayd201910k.htm", "contextRef": "From2018-06-01to2019-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": "tayd201910k.htm", "contextRef": "From2018-06-01to2019-05-31", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R57": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock", "us-gaap:IncomeTaxDisclosureTextBlock", "body", "html" ], "baseRef": "tayd201910k.htm", "contextRef": "AsOf2019-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 - Net deferred tax assets (Details)", "role": "http://taylordevices.com/role/NetDeferredTaxAssetsDetails", "shortName": "Net deferred tax assets (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock", "us-gaap:IncomeTaxDisclosureTextBlock", "body", "html" ], "baseRef": "tayd201910k.htm", "contextRef": "AsOf2019-05-31", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R58": { "firstAnchor": { "ancestors": [ "span", "p", "us-gaap:IncomeTaxDisclosureTextBlock", "body", "html" ], "baseRef": "tayd201910k.htm", "contextRef": "From2019-01-012019-05-31", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate", "reportCount": 1, "unique": true, "unitRef": "Pure", "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": "tayd201910k.htm", "contextRef": "From2019-01-012019-05-31", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate", "reportCount": 1, "unique": true, "unitRef": "Pure", "xsiNil": "false" } }, "R59": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "us-gaap:EarningsPerShareTextBlock", "body", "html" ], "baseRef": "tayd201910k.htm", "contextRef": "From2018-06-01to2019-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": "tayd201910k.htm", "contextRef": "From2018-06-01to2019-05-31", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:WeightedAverageNumberOfSharesOutstandingBasic", "reportCount": 1, "unique": true, "unitRef": "Shares", "xsiNil": "false" } }, "R6": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "body", "html" ], "baseRef": "tayd201910k.htm", "contextRef": "From2018-06-01to2019-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": "tayd201910k.htm", "contextRef": "From2018-06-01to2019-05-31", "decimals": "0", "lang": null, "name": "us-gaap:DepreciationDepletionAndAmortization", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R60": { "firstAnchor": { "ancestors": [ "span", "p", "us-gaap:ScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock", "body", "html" ], "baseRef": "tayd201910k.htm", "contextRef": "From2018-06-01to2019-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": "tayd201910k.htm", "contextRef": "From2018-06-01to2019-05-31", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans", "reportCount": 1, "unique": true, "unitRef": "Shares", "xsiNil": "false" } }, "R61": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValueTableTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "baseRef": "tayd201910k.htm", "contextRef": "From2018-06-01to2019-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", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "baseRef": "tayd201910k.htm", "contextRef": "From2018-06-01to2019-05-31", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate", "reportCount": 1, "unique": true, "unitRef": "Pure", "xsiNil": "false" } }, "R62": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:ScheduleOfStockOptionsRollForwardTableTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "baseRef": "tayd201910k.htm", "contextRef": "AsOf2019-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", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "baseRef": "tayd201910k.htm", "contextRef": "AsOf2019-05-31", "decimals": "0", "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R63": { "firstAnchor": { "ancestors": [ "span", "span", "td", "tr", "table", "us-gaap:ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "baseRef": "tayd201910k.htm", "contextRef": "AsOf2019-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", "span", "td", "tr", "table", "us-gaap:ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "baseRef": "tayd201910k.htm", "contextRef": "AsOf2019-05-31", "decimals": "INF", "first": true, "lang": null, "name": "tayd:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimitTwo", "reportCount": 1, "unique": true, "unitRef": "USDPShares", "xsiNil": "false" } }, "R64": { "firstAnchor": { "ancestors": [ "span", "p", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "baseRef": "tayd201910k.htm", "contextRef": "AsOf2019-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", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "baseRef": "tayd201910k.htm", "contextRef": "AsOf2019-05-31", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized", "reportCount": 1, "unique": true, "unitRef": "Shares", "xsiNil": "false" } }, "R65": { "firstAnchor": { "ancestors": [ "span", "p", "us-gaap:PreferredStockTextBlock", "body", "html" ], "baseRef": "tayd201910k.htm", "contextRef": "AsOf2019-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": "tayd201910k.htm", "contextRef": "AsOf2019-05-31", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:PreferredStockSharesAuthorized", "reportCount": 1, "unique": true, "unitRef": "Shares", "xsiNil": "false" } }, "R66": { "firstAnchor": { "ancestors": [ "us-gaap:TreasuryStockShares", "us-gaap:TreasuryStockShares", "span", "span", "span", "p", "us-gaap:TreasuryStockTextBlock", "body", "html" ], "baseRef": "tayd201910k.htm", "contextRef": "AsOf2019-05-31", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:TreasuryStockShares", "reportCount": 1, "unique": true, "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": { "ancestors": [ "us-gaap:TreasuryStockShares", "us-gaap:TreasuryStockShares", "span", "span", "span", "p", "us-gaap:TreasuryStockTextBlock", "body", "html" ], "baseRef": "tayd201910k.htm", "contextRef": "AsOf2019-05-31", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:TreasuryStockShares", "reportCount": 1, "unique": true, "unitRef": "Shares", "xsiNil": "false" } }, "R67": { "firstAnchor": { "ancestors": [ "span", "p", "us-gaap:ScheduleOfCostsOfRetirementPlansTableTextBlock", "body", "html" ], "baseRef": "tayd201910k.htm", "contextRef": "From2018-06-01to2019-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": "tayd201910k.htm", "contextRef": "From2018-06-01to2019-05-31", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:PensionExpense", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R68": { "firstAnchor": { "ancestors": [ "b", "span", "td", "tr", "table", "us-gaap:ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock", "us-gaap:CashFlowSupplementalDisclosuresTextBlock", "body", "html" ], "baseRef": "tayd201910k.htm", "contextRef": "From2018-06-01to2019-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": "tayd201910k.htm", "contextRef": "From2018-06-01to2019-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": "tayd201910k.htm", "contextRef": "From2018-06-01to2019-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": "tayd201910k.htm", "contextRef": "From2018-06-01to2019-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": "tayd201910k.htm", "contextRef": "From2018-06-01to2019-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 Receivable:", "role": "http://taylordevices.com/role/AccountsReceivable", "shortName": "2. Accounts Receivable:", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "tayd201910k.htm", "contextRef": "From2018-06-01to2019-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": "tayd201910k.htm", "contextRef": "From2018-06-01to2019-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": "tayd201910k.htm", "contextRef": "From2018-06-01to2019-05-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:InventoryDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } } }, "segmentCount": 21, "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/2019-01-31", "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/Cover" ], "xbrltype": "booleanItemType" }, "dei_AnnualInformationForm": { "auth_ref": [ "r254" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/Cover" ], "xbrltype": "booleanItemType" }, "dei_AuditedAnnualFinancialStatements": { "auth_ref": [ "r254" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/Cover" ], "xbrltype": "booleanItemType" }, "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/2019-01-31", "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/2019-01-31", "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/2019-01-31", "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/Cover" ], "xbrltype": "gMonthDayItemType" }, "dei_DocumentAccountingStandard": { "auth_ref": [ "r253" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/Cover" ], "xbrltype": "accountingStandardItemType" }, "dei_DocumentAnnualReport": { "auth_ref": [ "r256" ], "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/2019-01-31", "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/2019-01-31", "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 CCYY 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/2019-01-31", "presentation": [ "http://taylordevices.com/role/Cover" ], "xbrltype": "gYearItemType" }, "dei_DocumentPeriodEndDate": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "The end date of the period reflected on the cover page if a periodic report. For all other reports and registration statements containing historical data, it is the date up through which that historical data is presented. If there is no historical data in the report, use the filing date. The format of the date is CCYY-MM-DD.", "label": "Document Period End Date" } } }, "localname": "DocumentPeriodEndDate", "nsuri": "http://xbrl.sec.gov/dei/2019-01-31", "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 CCYY-MM-DD format.", "label": "Document Period Start Date" } } }, "localname": "DocumentPeriodStartDate", "nsuri": "http://xbrl.sec.gov/dei/2019-01-31", "presentation": [ "http://taylordevices.com/role/Cover" ], "xbrltype": "dateItemType" }, "dei_DocumentQuarterlyReport": { "auth_ref": [ "r252" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/Cover" ], "xbrltype": "booleanItemType" }, "dei_DocumentRegistrationStatement": { "auth_ref": [ "r257" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/Cover" ], "xbrltype": "booleanItemType" }, "dei_DocumentShellCompanyEventDate": { "auth_ref": [ "r253" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/Cover" ], "xbrltype": "dateItemType" }, "dei_DocumentShellCompanyReport": { "auth_ref": [ "r253" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/Cover" ], "xbrltype": "booleanItemType" }, "dei_DocumentTransitionReport": { "auth_ref": [ "r255" ], "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/2019-01-31", "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/Cover" ], "xbrltype": "submissionTypeItemType" }, "dei_DocumentsIncorporatedByReferenceTextBlock": { "auth_ref": [ "r244" ], "lang": { "en-US": { "role": { "documentation": "Documents incorporated by reference.", "label": "Documents Incorporated by Reference [Text Block]" } } }, "localname": "DocumentsIncorporatedByReferenceTextBlock", "nsuri": "http://xbrl.sec.gov/dei/2019-01-31", "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/2019-01-31", "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/2019-01-31", "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/2019-01-31", "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/2019-01-31", "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/2019-01-31", "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/2019-01-31", "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/Cover" ], "xbrltype": "stateOrProvinceItemType" }, "dei_EntityBankruptcyProceedingsReportingCurrent": { "auth_ref": [ "r247" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/Cover" ], "xbrltype": "booleanItemType" }, "dei_EntityCentralIndexKey": { "auth_ref": [ "r258" ], "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/2019-01-31", "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/2019-01-31", "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/Cover" ], "xbrltype": "yesNoItemType" }, "dei_EntityEmergingGrowthCompany": { "auth_ref": [ "r258" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/Cover" ], "xbrltype": "booleanItemType" }, "dei_EntityExTransitionPeriod": { "auth_ref": [ "r262" ], "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/2019-01-31", "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/Cover" ], "xbrltype": "fileNumberItemType" }, "dei_EntityFilerCategory": { "auth_ref": [ "r258" ], "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/2019-01-31", "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/Cover" ], "xbrltype": "edgarStateCountryItemType" }, "dei_EntityInteractiveDataCurrent": { "auth_ref": [ "r259" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/Cover" ], "xbrltype": "yesNoItemType" }, "dei_EntityPrimarySicNumber": { "auth_ref": [ "r254" ], "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/2019-01-31", "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/Cover" ], "xbrltype": "monetaryItemType" }, "dei_EntityRegistrantName": { "auth_ref": [ "r258" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/Cover" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityShellCompany": { "auth_ref": [ "r258" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/Cover" ], "xbrltype": "booleanItemType" }, "dei_EntitySmallBusiness": { "auth_ref": [ "r258" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/Cover" ], "xbrltype": "booleanItemType" }, "dei_EntityTaxIdentificationNumber": { "auth_ref": [ "r258" ], "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/2019-01-31", "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/Cover" ], "xbrltype": "yesNoItemType" }, "dei_EntityWellKnownSeasonedIssuer": { "auth_ref": [], "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/2019-01-31", "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/2019-01-31", "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/2019-01-31", "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/Cover" ], "xbrltype": "booleanItemType" }, "dei_OtherReportingStandardItemNumber": { "auth_ref": [ "r253" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/Cover" ], "xbrltype": "otherReportingStandardItemNumberItemType" }, "dei_PreCommencementIssuerTenderOffer": { "auth_ref": [ "r248" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/Cover" ], "xbrltype": "booleanItemType" }, "dei_PreCommencementTenderOffer": { "auth_ref": [ "r249" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/Cover" ], "xbrltype": "booleanItemType" }, "dei_Security12bTitle": { "auth_ref": [ "r243" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/Cover" ], "xbrltype": "securityTitleItemType" }, "dei_Security12gTitle": { "auth_ref": [ "r246" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/Cover" ], "xbrltype": "securityTitleItemType" }, "dei_SecurityExchangeName": { "auth_ref": [ "r245" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/Cover" ], "xbrltype": "edgarExchangeCodeItemType" }, "dei_SecurityReportingObligation": { "auth_ref": [ "r250" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/Cover" ], "xbrltype": "securityReportingObligationItemType" }, "dei_SolicitingMaterial": { "auth_ref": [ "r251" ], "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/2019-01-31", "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/Cover" ], "xbrltype": "tradingSymbolItemType" }, "dei_WrittenCommunications": { "auth_ref": [ "r261" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/Cover" ], "xbrltype": "booleanItemType" }, "srt_MajorCustomersAxis": { "auth_ref": [ "r123", "r163", "r165", "r239" ], "lang": { "en-US": { "role": { "documentation": "Information by name or description of a single external customer or a group of external customers.", "label": "Customer [Axis]" } } }, "localname": "MajorCustomersAxis", "nsuri": "http://fasb.org/srt/2019-01-31", "presentation": [ "http://taylordevices.com/role/SalesByMajorCustomerTypeDetails" ], "xbrltype": "stringItemType" }, "srt_NameOfMajorCustomerDomain": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Single external customer or group of external customers." } } }, "localname": "NameOfMajorCustomerDomain", "nsuri": "http://fasb.org/srt/2019-01-31", "presentation": [ "http://taylordevices.com/role/SalesByMajorCustomerTypeDetails" ], "xbrltype": "domainItemType" }, "srt_ScheduleOfCondensedBalanceSheetTableTextBlock": { "auth_ref": [ "r260" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of condensed balance sheet, including, but not limited to, balance sheets of consolidated entities and consolidation eliminations.", "label": "Revenue Impact on Financial Statements Balance Sheet" } } }, "localname": "ScheduleOfCondensedBalanceSheetTableTextBlock", "nsuri": "http://fasb.org/srt/2019-01-31", "presentation": [ "http://taylordevices.com/role/SummaryOfSignificantAccountingPoliciesTables" ], "xbrltype": "textBlockItemType" }, "srt_ScheduleOfCondensedIncomeStatementTableTextBlock": { "auth_ref": [ "r260" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of condensed income statement, including, but not limited to, income statements of consolidated entities and consolidation eliminations.", "label": "Condensed Income Statement [Table Text Block]" } } }, "localname": "ScheduleOfCondensedIncomeStatementTableTextBlock", "nsuri": "http://fasb.org/srt/2019-01-31", "presentation": [ "http://taylordevices.com/role/SummaryOfSignificantAccountingPoliciesTables" ], "xbrltype": "textBlockItemType" }, "tayd_AerospaceDefenseMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Total revenue from sale of goods and services rendered during the reporting period to aerospace / defense type customers, in the normal course of business, reduced by sales returns and allowances, and sales discounts.", "label": "Aerospace / Defense" } } }, "localname": "AerospaceDefenseMember", "nsuri": "http://taylordevices.com/20190531", "presentation": [ "http://taylordevices.com/role/SalesByMajorCustomerTypeDetails" ], "xbrltype": "domainItemType" }, "tayd_AggregateFutureRevenueToBeRecognizedFromUncompletedProjectsOrProgramsInProgress": { "auth_ref": [], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Aggregate future revenue to be recognized for uncompleted sales contracts in progress that are accounted for using the percentage of completion method of accounting.", "label": "Aggregate amount remaining" } } }, "localname": "AggregateFutureRevenueToBeRecognizedFromUncompletedProjectsOrProgramsInProgress", "nsuri": "http://taylordevices.com/20190531", "presentation": [ "http://taylordevices.com/role/CostsAndEstimatedEarningsOnUncompletedContractsTwoTableDetails" ], "xbrltype": "monetaryItemType" }, "tayd_AggregateFutureRevenueToBeRecognizedFromUncompletedProjectsOrProgramsNotStarted": { "auth_ref": [], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Aggregate future revenue to be recognized for uncompleted sales contracts not yet started that are accounted for using the percentage of completion method of accounting.", "label": "Sales value of projects not yet in progress" } } }, "localname": "AggregateFutureRevenueToBeRecognizedFromUncompletedProjectsOrProgramsNotStarted", "nsuri": "http://taylordevices.com/20190531", "presentation": [ "http://taylordevices.com/role/CostsAndEstimatedEarningsOnUncompletedContractsDetailsNarrative" ], "xbrltype": "monetaryItemType" }, "tayd_AggregatePercentCompleteOfUncompletedProjectsOrProgramsInProgress": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Aggregate percent complete of uncompleted sales contracts in progress that are accounted for using the percentage of completion method of accounting.", "label": "Aggregate percent complete" } } }, "localname": "AggregatePercentCompleteOfUncompletedProjectsOrProgramsInProgress", "nsuri": "http://taylordevices.com/20190531", "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/20190531", "presentation": [ "http://taylordevices.com/role/CostsAndEstimatedEarningsOnUncompletedContractsDetailsNarrative" ], "xbrltype": "monetaryItemType" }, "tayd_BillingsOnUncompletedContractsOrPrograms": { "auth_ref": [], "calculation": { "http://taylordevices.com/role/CostsAndEstimatedEarningsOnUncompletedContractsComponentsTableDetails": { "order": 2.0, "parentTag": "us-gaap_CostsInExcessOfBillingsOnUncompletedContractsOrProgramsExpectedToBeCollectedWithinOneYear", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Contractually invoiced amounts (billings) component included in the asset Costs and estimated earnings in excess of billings and the liability Billings in excess of costs and estimated earnings.", "label": "Less billings to date" } } }, "localname": "BillingsOnUncompletedContractsOrPrograms", "nsuri": "http://taylordevices.com/20190531", "presentation": [ "http://taylordevices.com/role/CostsAndEstimatedEarningsOnUncompletedContractsComponentsTableDetails" ], "xbrltype": "monetaryItemType" }, "tayd_CommitmentsForFutureCapitalExpendituresDisclosure": { "auth_ref": [], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "The value of contractual obligations to acquire or construct physical capital assets to be used in the normal conduct of business to produce goods.", "label": "Commitments for future capital expenditures" } } }, "localname": "CommitmentsForFutureCapitalExpendituresDisclosure", "nsuri": "http://taylordevices.com/20190531", "presentation": [ "http://taylordevices.com/role/PropertyAndEquipmentDetailsNarrative" ], "xbrltype": "monetaryItemType" }, "tayd_ConstructionSeismicWindMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Total revenue from sale of goods and services rendered during the reporting period to construction seismic / wind type customers, in the normal course of business, reduced by sales returns and allowances, and sales discounts.", "label": "Construction" } } }, "localname": "ConstructionSeismicWindMember", "nsuri": "http://taylordevices.com/20190531", "presentation": [ "http://taylordevices.com/role/SalesByMajorCustomerTypeDetails" ], "xbrltype": "domainItemType" }, "tayd_CostsAndEstimatedEarningsOnUncompletedContractsOrPrograms": { "auth_ref": [], "calculation": { "http://taylordevices.com/role/CostsAndEstimatedEarningsOnUncompletedContractsComponentsTableDetails": { "order": 1.0, "parentTag": "us-gaap_CostsInExcessOfBillingsOnUncompletedContractsOrProgramsExpectedToBeCollectedWithinOneYear", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "The amount of revenue recognized under the percentage of completion method of accounting component included in the asset Costs and estimated earnings in excess of billings and the liability Billings in excess of costs and estimated earnings.", "label": "Total costs and estimated earnings", "totalLabel": "Total costs and estimated earnings" } } }, "localname": "CostsAndEstimatedEarningsOnUncompletedContractsOrPrograms", "nsuri": "http://taylordevices.com/20190531", "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/20190531", "xbrltype": "stringItemType" }, "tayd_EntityWideDisclosureOnGeographicAreasPercentageOfRevenueFromExternalCustomersAttributedToEntitysCountryOfDomicile": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Percentage of total sales during a period to domestic customers.", "label": "Domestic revenue as percentage of total" } } }, "localname": "EntityWideDisclosureOnGeographicAreasPercentageOfRevenueFromExternalCustomersAttributedToEntitysCountryOfDomicile", "nsuri": "http://taylordevices.com/20190531", "presentation": [ "http://taylordevices.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative" ], "xbrltype": "percentItemType" }, "tayd_EntityWideDisclosureOnGeographicAreasPercentageOfRevenueFromExternalCustomersAttributedToForeignCountries": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Percentage of total sales during a period to export customers.", "label": "Asian revenue as percentage of total" } } }, "localname": "EntityWideDisclosureOnGeographicAreasPercentageOfRevenueFromExternalCustomersAttributedToForeignCountries", "nsuri": "http://taylordevices.com/20190531", "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": { "documentation": "Estimated earnings based on the difference between the revenue recognized and the costs recorded under the percentage of completion method of accounting component included in the asset costs and estimated earnings is excess of billings and the liability Billings in excess of costs and estimated earnings.", "label": "Estimated earnings" } } }, "localname": "EstimatedEarningsOnUncompletedContractsOrPrograms", "nsuri": "http://taylordevices.com/20190531", "presentation": [ "http://taylordevices.com/role/CostsAndEstimatedEarningsOnUncompletedContractsComponentsTableDetails" ], "xbrltype": "monetaryItemType" }, "tayd_IndustrialMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Total revenue from sale of goods and services rendered during the reporting period to industrial type customers, in the normal course of business, reduced by sales returns and allowances, and sales discounts.", "label": "Industrial" } } }, "localname": "IndustrialMember", "nsuri": "http://taylordevices.com/20190531", "presentation": [ "http://taylordevices.com/role/SalesByMajorCustomerTypeDetails" ], "xbrltype": "domainItemType" }, "tayd_InventoryValuationReservesNoncurrent": { "auth_ref": [], "calculation": { "http://taylordevices.com/role/MaintenanceAndOtherInventoryTableDetails": { "order": 2.0, "parentTag": "us-gaap_InventoryNoncurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "The amount of the valuation account as of the balance sheet date which reduces the carrying amount of non-current inventory to net realizable value; takes into consideration such factors as market value, excessive quantities based on expected sales.", "label": "Less allowance for obsolescence noncurrent", "negatedLabel": "Less allowance for obsolescence" } } }, "localname": "InventoryValuationReservesNoncurrent", "nsuri": "http://taylordevices.com/20190531", "presentation": [ "http://taylordevices.com/role/MaintenanceAndOtherInventoryTableDetails" ], "xbrltype": "monetaryItemType" }, "tayd_LongTermContractsDisclosureTableTextBlock": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of the asset costs and estimated earnings in excess of billings is combined with the liability Billings in excess of costs and estimated earnings.", "label": "Costs and estimated earnings on uncompleted contracts table" } } }, "localname": "LongTermContractsDisclosureTableTextBlock", "nsuri": "http://taylordevices.com/20190531", "presentation": [ "http://taylordevices.com/role/CostsAndEstimatedEarningsOnUncompletedContractsTables" ], "xbrltype": "textBlockItemType" }, "tayd_LongTermContractsDisclosureTwoTableTextBlock": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of data related to uncompleted projects or programs in progress.", "label": "Costs and estimated earnings on uncompleted contracts two table" } } }, "localname": "LongTermContractsDisclosureTwoTableTextBlock", "nsuri": "http://taylordevices.com/20190531", "presentation": [ "http://taylordevices.com/role/CostsAndEstimatedEarningsOnUncompletedContractsTables" ], "xbrltype": "textBlockItemType" }, "tayd_PercentOfAggregateRevenueValueOfUncompletedProjectsOrProgramsInProgressInvoicedToCustomer": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Aggregate percent of total contract value already recognized on uncompleted sales contracts in progress that are accounted for using the percentage of completion method of accounting.", "label": "Percentage of total value invoiced to customer" } } }, "localname": "PercentOfAggregateRevenueValueOfUncompletedProjectsOrProgramsInProgressInvoicedToCustomer", "nsuri": "http://taylordevices.com/20190531", "presentation": [ "http://taylordevices.com/role/CostsAndEstimatedEarningsOnUncompletedContractsTwoTableDetails" ], "xbrltype": "percentItemType" }, "tayd_QuantityOfUncompletedProjectsOrProgramsInProgress": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Quantity of sales contracts in progress that are accounted for using the percentage of completion method of accounting.", "label": "Number of Projects in progress" } } }, "localname": "QuantityOfUncompletedProjectsOrProgramsInProgress", "nsuri": "http://taylordevices.com/20190531", "presentation": [ "http://taylordevices.com/role/CostsAndEstimatedEarningsOnUncompletedContractsTwoTableDetails" ], "xbrltype": "pureItemType" }, "tayd_QuantityOfUncompletedProjectsOrProgramsNotStarted": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Quantity of sales contracts not yet started that are accounted for using the percentage of completion method of accounting.", "label": "Quantity of Projects not yet started" } } }, "localname": "QuantityOfUncompletedProjectsOrProgramsNotStarted", "nsuri": "http://taylordevices.com/20190531", "presentation": [ "http://taylordevices.com/role/CostsAndEstimatedEarningsOnUncompletedContractsDetailsNarrative" ], "xbrltype": "pureItemType" }, "tayd_RevenueRecognitionOverTimePercentOfTotal": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Percent of total revenue for a period recognized with sales contracts for which revenue is recognized over time.", "label": "Percent of revenue recognized with sales contracts for which revenue is recognized over time" } } }, "localname": "RevenueRecognitionOverTimePercentOfTotal", "nsuri": "http://taylordevices.com/20190531", "presentation": [ "http://taylordevices.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative" ], "xbrltype": "percentItemType" }, "tayd_RevenueRecognitionSinglePerformanceObligationPercentOfTotal": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Percent of total revenue for a period recognized with sales contracts containing a single performance obligation.", "label": "Percent of revenue recognized with sales contracts containing a single performance obligation" } } }, "localname": "RevenueRecognitionSinglePerformanceObligationPercentOfTotal", "nsuri": "http://taylordevices.com/20190531", "presentation": [ "http://taylordevices.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative" ], "xbrltype": "percentItemType" }, "tayd_ScheduleOfRevenueByMajorCustomer1": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Percentage of total sales during a period to the most significant individual customer.", "label": "Percentage of total sales to significant individual customer1" } } }, "localname": "ScheduleOfRevenueByMajorCustomer1", "nsuri": "http://taylordevices.com/20190531", "presentation": [ "http://taylordevices.com/role/SalesDetailsNarrative" ], "xbrltype": "percentItemType" }, "tayd_ScheduleOfRevenueByMajorCustomer2": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Percentage of total sales during a period to the second most significant individual customer.", "label": "Percentage of total sales to significant individual customer2" } } }, "localname": "ScheduleOfRevenueByMajorCustomer2", "nsuri": "http://taylordevices.com/20190531", "presentation": [ "http://taylordevices.com/role/SalesDetailsNarrative" ], "xbrltype": "percentItemType" }, "tayd_ScheduleOfRevenueByMajorCustomer3": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Percentage of total sales during a period to the third most significant individual customer.", "label": "Percentage of total sales to significant individual customer3" } } }, "localname": "ScheduleOfRevenueByMajorCustomer3", "nsuri": "http://taylordevices.com/20190531", "presentation": [ "http://taylordevices.com/role/SalesDetailsNarrative" ], "xbrltype": "percentItemType" }, "tayd_ScheduleOfRevenueByMajorCustomer4": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Percentage of total sales during a period to the fourth most significant individual customer.", "label": "Percentage of total sales to significant individual customer4" } } }, "localname": "ScheduleOfRevenueByMajorCustomer4", "nsuri": "http://taylordevices.com/20190531", "presentation": [ "http://taylordevices.com/role/SalesDetailsNarrative" ], "xbrltype": "percentItemType" }, "tayd_ScheduleOfRevenueByMajorCustomer5": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Percentage of total sales during a period to the fifth most significant individual customer.", "label": "Percentage of total sales to significant individual customer5" } } }, "localname": "ScheduleOfRevenueByMajorCustomer5", "nsuri": "http://taylordevices.com/20190531", "presentation": [ "http://taylordevices.com/role/SalesDetailsNarrative" ], "xbrltype": "percentItemType" }, "tayd_ScheduleOfRevenueByMajorCustomerTypesTextBlockTableTextBlock": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of the revenue for a period from sales to major customer types.", "label": "Sales by major customer type" } } }, "localname": "ScheduleOfRevenueByMajorCustomerTypesTextBlockTableTextBlock", "nsuri": "http://taylordevices.com/20190531", "presentation": [ "http://taylordevices.com/role/SalesTables" ], "xbrltype": "textBlockItemType" }, "tayd_ScheduleOfRevenueByMajorCustomers": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Percentage of total sales during a period to the most significant customers.", "label": "Percentage of total sales to significant individual customers" } } }, "localname": "ScheduleOfRevenueByMajorCustomers", "nsuri": "http://taylordevices.com/20190531", "presentation": [ "http://taylordevices.com/role/SalesDetailsNarrative" ], "xbrltype": "percentItemType" }, "tayd_ScheduleOfRevenueByMajorCustomersTypesTextBlock": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of the revenue for a period from sales to major customer types.", "label": "9. Sales:" } } }, "localname": "ScheduleOfRevenueByMajorCustomersTypesTextBlock", "nsuri": "http://taylordevices.com/20190531", "presentation": [ "http://taylordevices.com/role/Sales" ], "xbrltype": "textBlockItemType" }, "tayd_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeEightMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Lower and upper limits of exercise per share price range eight for outstanding and exercisable stock options.", "label": "Share Based Compensation Shares Authorized Under Stock Option Plans By Exercise Price Range Eight [Member]" } } }, "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeEightMember", "nsuri": "http://taylordevices.com/20190531", "presentation": [ "http://taylordevices.com/role/StockOptionPlans-StockOptionsOutstandingAndExercisableDetails" ], "xbrltype": "domainItemType" }, "tayd_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeElevenMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Lower and upper limits of exercise per share price range eleven for outstanding and exercisable stock options.", "label": "Share Based Compensation Shares Authorized Under Stock Option Plans By Exercise Price Range Eleven [Member]" } } }, "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeElevenMember", "nsuri": "http://taylordevices.com/20190531", "presentation": [ "http://taylordevices.com/role/StockOptionPlans-StockOptionsOutstandingAndExercisableDetails" ], "xbrltype": "domainItemType" }, "tayd_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeFiveMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Lower and upper limits of exercise per share price range five for outstanding and exercisable stock options.", "label": "Share Based Compensation Shares Authorized Under Stock Option Plans By Exercise Price Range Five [Member]" } } }, "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeFiveMember", "nsuri": "http://taylordevices.com/20190531", "presentation": [ "http://taylordevices.com/role/StockOptionPlans-StockOptionsOutstandingAndExercisableDetails" ], "xbrltype": "domainItemType" }, "tayd_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeFourMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Lower and upper limits of exercise per share price range four for outstanding and exercisable stock options.", "label": "Share Based Compensation Shares Authorized Under Stock Option Plans By Exercise Price Range Four [Member]" } } }, "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeFourMember", "nsuri": "http://taylordevices.com/20190531", "presentation": [ "http://taylordevices.com/role/StockOptionPlans-StockOptionsOutstandingAndExercisableDetails" ], "xbrltype": "domainItemType" }, "tayd_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeNineMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Lower and upper limits of exercise per share price range nine for outstanding and exercisable stock options.", "label": "Share Based Compensation Shares Authorized Under Stock Option Plans By Exercise Price Range Nine [Member]" } } }, "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeNineMember", "nsuri": "http://taylordevices.com/20190531", "presentation": [ "http://taylordevices.com/role/StockOptionPlans-StockOptionsOutstandingAndExercisableDetails" ], "xbrltype": "domainItemType" }, "tayd_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeOneMember": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Share Based Compensation Shares Authorized Under Stock Option Plans By Exercise Price Range One [Member]" } } }, "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeOneMember", "nsuri": "http://taylordevices.com/20190531", "presentation": [ "http://taylordevices.com/role/StockOptionPlans-StockOptionsOutstandingAndExercisableDetails" ], "xbrltype": "domainItemType" }, "tayd_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeSevenMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Lower and upper limits of exercise per share price range seven for outstanding and exercisable stock options.", "label": "Share Based Compensation Shares Authorized Under Stock Option Plans By Exercise Price Range Seven [Member]" } } }, "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeSevenMember", "nsuri": "http://taylordevices.com/20190531", "presentation": [ "http://taylordevices.com/role/StockOptionPlans-StockOptionsOutstandingAndExercisableDetails" ], "xbrltype": "domainItemType" }, "tayd_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeSixMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Lower and upper limits of exercise per share price range six for outstanding and exercisable stock options.", "label": "Share Based Compensation Shares Authorized Under Stock Option Plans By Exercise Price Range Six [Member]" } } }, "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeSixMember", "nsuri": "http://taylordevices.com/20190531", "presentation": [ "http://taylordevices.com/role/StockOptionPlans-StockOptionsOutstandingAndExercisableDetails" ], "xbrltype": "domainItemType" }, "tayd_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTenMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Lower and upper limits of exercise per share price range ten for outstanding and exercisable stock options.", "label": "Share Based Compensation Shares Authorized Under Stock Option Plans By Exercise Price Range Ten [Member]" } } }, "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTenMember", "nsuri": "http://taylordevices.com/20190531", "presentation": [ "http://taylordevices.com/role/StockOptionPlans-StockOptionsOutstandingAndExercisableDetails" ], "xbrltype": "domainItemType" }, "tayd_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeThreeMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Lower and upper limits of exercise per share price range three for outstanding and exercisable stock options.", "label": "Share Based Compensation Shares Authorized Under Stock Option Plans By Exercise Price Range Three [Member]" } } }, "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeThreeMember", "nsuri": "http://taylordevices.com/20190531", "presentation": [ "http://taylordevices.com/role/StockOptionPlans-StockOptionsOutstandingAndExercisableDetails" ], "xbrltype": "domainItemType" }, "tayd_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTwoMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Lower and upper limits of exercise per share price range two for outstanding and exercisable stock options.", "label": "Share Based Compensation Shares Authorized Under Stock Option Plans By Exercise Price Range Two [Member]" } } }, "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTwoMember", "nsuri": "http://taylordevices.com/20190531", "presentation": [ "http://taylordevices.com/role/StockOptionPlans-StockOptionsOutstandingAndExercisableDetails" ], "xbrltype": "domainItemType" }, "tayd_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimitTwo": { "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" } } }, "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimitTwo", "nsuri": "http://taylordevices.com/20190531", "presentation": [ "http://taylordevices.com/role/StockOptionPlans-StockOptionsOutstandingAndExercisableDetails" ], "xbrltype": "perShareItemType" }, "tayd_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimitTwo": { "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" } } }, "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimitTwo", "nsuri": "http://taylordevices.com/20190531", "presentation": [ "http://taylordevices.com/role/StockOptionPlans-StockOptionsOutstandingAndExercisableDetails" ], "xbrltype": "perShareItemType" }, "tayd_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTermTwo": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Average remaining contractual term, as of a balance sheet date, until the expiration of stock options within a price range.", "label": "Weighted Average Remaining Years of Contractual Life" } } }, "localname": "SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTermTwo", "nsuri": "http://taylordevices.com/20190531", "presentation": [ "http://taylordevices.com/role/StockOptionPlans-StockOptionsOutstandingAndExercisableDetails" ], "xbrltype": "pureItemType" }, "us-gaap_AccountingPoliciesAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Accounting Policies [Abstract]" } } }, "localname": "AccountingPoliciesAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "xbrltype": "stringItemType" }, "us-gaap_AccountingStandardsUpdate201409Member": { "auth_ref": [ "r167" ], "lang": { "en-US": { "role": { "documentation": "Accounting Standards Update 2014-09 Revenue from Contracts with Customers (Topic 606).", "label": "Accounting Standards Update 2014-09 [Member]" } } }, "localname": "AccountingStandardsUpdate201409Member", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://taylordevices.com/role/RevenueImpactOnFinancialStatementsBalanceSheetDetails", "http://taylordevices.com/role/RevenueImpactOnFinancialStatementsIncomeStatementDetails" ], "xbrltype": "domainItemType" }, "us-gaap_AccountsPayableCurrent": { "auth_ref": [ "r40" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/BalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccountsPayableOtherCurrent": { "auth_ref": [ "r13", "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": "Uncleared checks" } } }, "localname": "AccountsPayableOtherCurrent", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://taylordevices.com/role/Short-termBorrowingsDetailsNarrative" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccountsReceivableGrossCurrent": { "auth_ref": [ "r124", "r125" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/AccountsReceivableTableDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccountsReceivableNetCurrent": { "auth_ref": [ "r2", "r25", "r124", "r125", "r164" ], "calculation": { "http://taylordevices.com/role/AccountsReceivableTableDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "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 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, net", "totalLabel": "Net accounts receivable" } } }, "localname": "AccountsReceivableNetCurrent", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://taylordevices.com/role/AccountsReceivableTableDetails", "http://taylordevices.com/role/BalanceSheets" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/BalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedSalesCommissionCurrent": { "auth_ref": [ "r12", "r13", "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/BalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": { "auth_ref": [ "r38", "r152" ], "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/2019-01-31", "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/2019-01-31", "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/StatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_AdditionalPaidInCapitalCommonStock": { "auth_ref": [ "r26" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/BalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AdditionalPaidInCapitalMember": { "auth_ref": [], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/StatementsOfStockholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_AdjustmentsForNewAccountingPronouncementsAxis": { "auth_ref": [ "r94" ], "lang": { "en-US": { "role": { "documentation": "Information by new accounting pronouncement.", "label": "Adjustments for New Accounting Pronouncements [Axis]" } } }, "localname": "AdjustmentsForNewAccountingPronouncementsAxis", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://taylordevices.com/role/RevenueImpactOnFinancialStatementsBalanceSheetDetails", "http://taylordevices.com/role/RevenueImpactOnFinancialStatementsIncomeStatementDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Adjustments to reconcile net income to net cash flows from" } } }, "localname": "AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "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": "Stock options issued for services" } } }, "localname": "AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://taylordevices.com/role/StatementsOfStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_AllowanceForDoubtfulAccountsReceivable": { "auth_ref": [ "r130", "r137", "r138", "r140" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/AccountsReceivableTableDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_Assets": { "auth_ref": [ "r121", "r223", "r233" ], "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": "Assets" } } }, "localname": "Assets", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/BalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_AssetsCurrent": { "auth_ref": [ "r5", "r7", "r56" ], "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/2019-01-31", "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/2019-01-31", "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/BalanceSheets", "http://taylordevices.com/role/CostsAndEstimatedEarningsOnUncompletedContractsTableDetails", "http://taylordevices.com/role/ImpactOfAdoptionOfStandardsRelatedToRevenueRecognitionDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BuildingsAndImprovementsGross": { "auth_ref": [ "r10", "r151" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/PropertyAndEquipmentTableDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member": { "auth_ref": [ "r166" ], "lang": { "en-US": { "role": { "documentation": "Calculated under guidance for revenue recognition in effect prior to change to new guidance for revenue from contract with customer when using transition method for cumulative effect in period including initial date of application.", "label": "Calculated under Revenue Guidance in Effect before Topic 606 [Member]" } } }, "localname": "CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://taylordevices.com/role/ImpactOfAdoptionOfStandardsRelatedToRevenueRecognitionDetails", "http://taylordevices.com/role/RevenueImpactOnFinancialStatementsIncomeStatementDetails" ], "xbrltype": "domainItemType" }, "us-gaap_CashAndCashEquivalentsAtCarryingValue": { "auth_ref": [ "r0", "r35", "r79" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/BalanceSheets", "http://taylordevices.com/role/StatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease": { "auth_ref": [], "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. Cash and cash equivalents are the 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. Includes effect from exchange rate changes.", "label": "Cash and Cash Equivalents, Period Increase (Decrease)", "totalLabel": "Net change in cash and cash equivalents" } } }, "localname": "CashAndCashEquivalentsPeriodIncreaseDecrease", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://taylordevices.com/role/StatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashAndCashEquivalentsPolicyTextBlock": { "auth_ref": [ "r15", "r80", "r84" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_CashFlowSupplementalDisclosuresTextBlock": { "auth_ref": [ "r82" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/CashFlowsInformation" ], "xbrltype": "textBlockItemType" }, "us-gaap_CashSurrenderValueOfLifeInsurance": { "auth_ref": [ "r8", "r39" ], "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/2019-01-31", "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/2019-01-31", "xbrltype": "stringItemType" }, "us-gaap_CommonStockMember": { "auth_ref": [], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/BalanceSheetsParenthetical", "http://taylordevices.com/role/StatementsOfStockholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_CommonStockParOrStatedValuePerShare": { "auth_ref": [ "r20" ], "lang": { "en-US": { "role": { "documentation": "Face amount or stated value per share of common stock.", "label": "Par value" } } }, "localname": "CommonStockParOrStatedValuePerShare", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://taylordevices.com/role/BalanceSheetsParenthetical" ], "xbrltype": "perShareItemType" }, "us-gaap_CommonStockSharesAuthorized": { "auth_ref": [ "r20" ], "lang": { "en-US": { "role": { "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws.", "label": "Authorized shares" } } }, "localname": "CommonStockSharesAuthorized", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://taylordevices.com/role/BalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockSharesIssued": { "auth_ref": [ "r20" ], "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": "Issued shares" } } }, "localname": "CommonStockSharesIssued", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://taylordevices.com/role/BalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockValue": { "auth_ref": [ "r20" ], "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\u00a0issued 4,029,431 and 4,017,139 shares" } } }, "localname": "CommonStockValue", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "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/2019-01-31", "xbrltype": "stringItemType" }, "us-gaap_ConsolidationPolicyTextBlock": { "auth_ref": [ "r84", "r212", "r213", "r214" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_ContractReceivableRetainageDueOneYearOrLess": { "auth_ref": [ "r24", "r219" ], "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 - retention" } } }, "localname": "ContractReceivableRetainageDueOneYearOrLess", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://taylordevices.com/role/AccountsReceivableTableDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CostOfGoodsAndServicesSold": { "auth_ref": [ "r65" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/RevenueImpactOnFinancialStatementsIncomeStatementDetails", "http://taylordevices.com/role/StatementsOfIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_CostsInExcessOfBillingsOnUncompletedContractsOrPrograms": { "auth_ref": [ "r21", "r22", "r23", "r220" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/BalanceSheets", "http://taylordevices.com/role/CostsAndEstimatedEarningsOnUncompletedContractsTableDetails", "http://taylordevices.com/role/ImpactOfAdoptionOfStandardsRelatedToRevenueRecognitionDetails", "http://taylordevices.com/role/RevenueImpactOnFinancialStatementsBalanceSheetDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CostsInExcessOfBillingsOnUncompletedContractsOrProgramsExpectedToBeCollectedWithinOneYear": { "auth_ref": [ "r47" ], "calculation": { "http://taylordevices.com/role/CostsAndEstimatedEarningsOnUncompletedContractsComponentsTableDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "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 in Excess of Billings, Current", "totalLabel": "Costs and estimated earnings not billed" } } }, "localname": "CostsInExcessOfBillingsOnUncompletedContractsOrProgramsExpectedToBeCollectedWithinOneYear", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://taylordevices.com/role/CostsAndEstimatedEarningsOnUncompletedContractsComponentsTableDetails", "http://taylordevices.com/role/CostsAndEstimatedEarningsOnUncompletedContractsTableDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption": { "auth_ref": [], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount after tax of increase (decrease) to equity or (increase) decrease to net assets, resulting from the cumulative effect adjustment of a new accounting principle applied in the period of adoption.", "label": "Cumulative Effect of New Accounting Principle in Period of Adoption", "periodStartLabel": "Adjustments Due to ASU 2014-09" } } }, "localname": "CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://taylordevices.com/role/StatementsOfStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_CurrentFederalTaxExpenseBenefit": { "auth_ref": [ "r88", "r205", "r209" ], "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) pertaining to income (loss) from continuing operations.", "label": "Federal" } } }, "localname": "CurrentFederalTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://taylordevices.com/role/IncomeTaxesTableDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CurrentIncomeTaxExpenseBenefit": { "auth_ref": [ "r88", "r205", "r209" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/IncomeTaxesTableDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CurrentStateAndLocalTaxExpenseBenefit": { "auth_ref": [ "r88", "r205", "r209" ], "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) pertaining to income (loss) from continuing operations.", "label": "State" } } }, "localname": "CurrentStateAndLocalTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://taylordevices.com/role/IncomeTaxesTableDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DebtDisclosureAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Debt Disclosure [Abstract]" } } }, "localname": "DebtDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "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/2019-01-31", "xbrltype": "stringItemType" }, "us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock": { "auth_ref": [ "r39" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/CostsAndEstimatedEarningsOnUncompletedContracts" ], "xbrltype": "textBlockItemType" }, "us-gaap_DeferredFederalIncomeTaxExpenseBenefit": { "auth_ref": [ "r88", "r206", "r209" ], "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 income tax expense (benefit) pertaining to income (loss) from continuing operations.", "label": "Deferred Federal Income Tax Expense (Benefit)", "verboseLabel": "Federal" } } }, "localname": "DeferredFederalIncomeTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://taylordevices.com/role/IncomeTaxesTableDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredIncomeTaxExpenseBenefit": { "auth_ref": [ "r77", "r88", "r206", "r209" ], "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 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/2019-01-31", "presentation": [ "http://taylordevices.com/role/StatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Deferred tax provision:" } } }, "localname": "DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://taylordevices.com/role/IncomeTaxesTableDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit": { "auth_ref": [ "r88", "r206", "r209" ], "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) pertaining to income (loss) from continuing operations.", "label": "Deferred State and Local Income Tax Expense (Benefit)", "verboseLabel": "State" } } }, "localname": "DeferredStateAndLocalIncomeTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://taylordevices.com/role/IncomeTaxesTableDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsGross": { "auth_ref": [ "r199" ], "calculation": { "http://taylordevices.com/role/NetDeferredTaxAssetsDetails": { "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/IncomeTaxesDetailsNarrative", "http://taylordevices.com/role/NetDeferredTaxAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsGrossAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Deferred tax assets:" } } }, "localname": "DeferredTaxAssetsGrossAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://taylordevices.com/role/NetDeferredTaxAssetsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DeferredTaxAssetsInventory": { "auth_ref": [ "r191", "r203", "r204" ], "calculation": { "http://taylordevices.com/role/NetDeferredTaxAssetsDetails": { "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/NetDeferredTaxAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsNet": { "auth_ref": [ "r200" ], "calculation": { "http://taylordevices.com/role/NetDeferredTaxAssetsDetails": { "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/NetDeferredTaxAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsNetCurrent": { "auth_ref": [ "r193", "r194", "r195", "r196", "r199" ], "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 of deferred tax asset attributable to deductible temporary differences and carryforwards classified as current.", "label": "Deferred income taxes" } } }, "localname": "DeferredTaxAssetsNetCurrent", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://taylordevices.com/role/BalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsTaxCreditCarryforwards": { "auth_ref": [ "r202", "r203", "r204" ], "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 credits carryforward" } } }, "localname": "DeferredTaxAssetsTaxCreditCarryforwards", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://taylordevices.com/role/IncomeTaxesDetailsNarrative" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsCompensatedAbsences": { "auth_ref": [ "r190", "r203", "r204" ], "calculation": { "http://taylordevices.com/role/NetDeferredTaxAssetsDetails": { "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/NetDeferredTaxAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost": { "auth_ref": [ "r190", "r203", "r204" ], "calculation": { "http://taylordevices.com/role/NetDeferredTaxAssetsDetails": { "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 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/2019-01-31", "presentation": [ "http://taylordevices.com/role/NetDeferredTaxAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities": { "auth_ref": [ "r190", "r203", "r204" ], "calculation": { "http://taylordevices.com/role/NetDeferredTaxAssetsDetails": { "order": 5.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 accrued liabilities.", "label": "Deferred Tax Assets, Tax Deferred Expense, Reserves and Accruals, Accrued Liabilities", "verboseLabel": "Accrued commissions" } } }, "localname": "DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://taylordevices.com/role/NetDeferredTaxAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts": { "auth_ref": [ "r190", "r203", "r204" ], "calculation": { "http://taylordevices.com/role/NetDeferredTaxAssetsDetails": { "order": 1.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 the allowance for doubtful accounts.", "label": "Allowance for doubtful receivables" } } }, "localname": "DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://taylordevices.com/role/NetDeferredTaxAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsLossReserves": { "auth_ref": [ "r190", "r203", "r204" ], "calculation": { "http://taylordevices.com/role/NetDeferredTaxAssetsDetails": { "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/NetDeferredTaxAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves": { "auth_ref": [ "r190", "r203", "r204" ], "calculation": { "http://taylordevices.com/role/NetDeferredTaxAssetsDetails": { "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/NetDeferredTaxAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxLiabilitiesAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Deferred tax liabilities:" } } }, "localname": "DeferredTaxLiabilitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://taylordevices.com/role/NetDeferredTaxAssetsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment": { "auth_ref": [ "r191", "r203", "r204" ], "calculation": { "http://taylordevices.com/role/NetDeferredTaxAssetsDetails": { "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": "Excess tax depreciation" } } }, "localname": "DeferredTaxLiabilitiesPropertyPlantAndEquipment", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://taylordevices.com/role/NetDeferredTaxAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_Depreciation": { "auth_ref": [ "r77", "r150" ], "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 expense" } } }, "localname": "Depreciation", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://taylordevices.com/role/PropertyAndEquipmentDetailsNarrative" ], "xbrltype": "monetaryItemType" }, "us-gaap_DepreciationDepletionAndAmortization": { "auth_ref": [ "r77", "r119" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/StatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member": { "auth_ref": [ "r166" ], "lang": { "en-US": { "role": { "documentation": "Effect in current period from application of guidance for revenue from contract with customer compared with guidance for revenue recognition applicable prior to change when using transition method for cumulative effect in period including initial date of application.", "label": "Difference between Revenue Guidance in Effect before and after Topic 606 [Member]" } } }, "localname": "DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://taylordevices.com/role/ImpactOfAdoptionOfStandardsRelatedToRevenueRecognitionDetails" ], "xbrltype": "domainItemType" }, "us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock": { "auth_ref": [ "r188" ], "lang": { "en-US": { "role": { "documentation": "The entire disclosure for share-based payment arrangement.", "label": "14. Stock Option Plans:" } } }, "localname": "DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://taylordevices.com/role/StockOptionPlans" ], "xbrltype": "textBlockItemType" }, "us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Share-based Payment Arrangement [Abstract]" } } }, "localname": "DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "xbrltype": "stringItemType" }, "us-gaap_EarningsPerShareAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Earnings Per Share [Abstract]" } } }, "localname": "EarningsPerShareAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "xbrltype": "stringItemType" }, "us-gaap_EarningsPerShareBasicAndDiluted": { "auth_ref": [ "r100" ], "lang": { "en-US": { "role": { "documentation": "The amount of net income or loss for the period per each share in instances when basic and diluted earnings per share are the same amount and reported as a single line item on the face of the financial statements. Basic earnings per share is the amount of net income or loss for the period per each share of common stock or unit outstanding during the reporting period. Diluted earnings per share includes the amount of net income or loss for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.", "label": "Basic and diluted earnings per common share" } } }, "localname": "EarningsPerShareBasicAndDiluted", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://taylordevices.com/role/StatementsOfIncome" ], "xbrltype": "perShareItemType" }, "us-gaap_EarningsPerShareTextBlock": { "auth_ref": [ "r103" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/EarningsPerCommonShare" ], "xbrltype": "textBlockItemType" }, "us-gaap_EffectiveIncomeTaxRateContinuingOperations": { "auth_ref": [ "r90", "r197", "r198" ], "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/2019-01-31", "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/ReconciliationOfIncomeTaxStatutoryRateToEffectiveRateDetails" ], "xbrltype": "stringItemType" }, "us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate": { "auth_ref": [ "r197", "r198", "r208" ], "lang": { "en-US": { "role": { "documentation": "Percentage of domestic federal statutory tax rate applicable to pretax income (loss).", "label": "Corporate income tax rate" } } }, "localname": "EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://taylordevices.com/role/IncomeTaxesDetailsNarrative" ], "xbrltype": "percentItemType" }, "us-gaap_EquityAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Equity [Abstract]" } } }, "localname": "EquityAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "xbrltype": "stringItemType" }, "us-gaap_EquityComponentDomain": { "auth_ref": [ "r156" ], "lang": { "en-US": { "role": { "documentation": "Components of equity are the parts of the total Equity balance including that which is allocated to common, preferred, treasury stock, retained earnings, etc." } } }, "localname": "EquityComponentDomain", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://taylordevices.com/role/BalanceSheetsParenthetical" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueOfFinancialInstrumentsPolicy": { "auth_ref": [ "r84", "r215", "r216" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/FairValueOfFinancialInstruments" ], "xbrltype": "textBlockItemType" }, "us-gaap_FurnitureAndFixturesGross": { "auth_ref": [ "r151" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/PropertyAndEquipmentTableDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_GrossProfit": { "auth_ref": [ "r64" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/StatementsOfIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": { "auth_ref": [ "r61", "r95", "r222", "r228", "r238" ], "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/2019-01-31", "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/2019-01-31", "xbrltype": "stringItemType" }, "us-gaap_IncomeTaxCreditsAndAdjustments": { "auth_ref": [ "r78" ], "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": "Income Tax Credits and Adjustments", "totalLabel": "Total deferred tax provision" } } }, "localname": "IncomeTaxCreditsAndAdjustments", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "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/2019-01-31", "xbrltype": "stringItemType" }, "us-gaap_IncomeTaxDisclosureTextBlock": { "auth_ref": [ "r211" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/IncomeTaxes" ], "xbrltype": "textBlockItemType" }, "us-gaap_IncomeTaxExpenseBenefit": { "auth_ref": [ "r88", "r120", "r210" ], "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", "totalLabel": "Total tax provision" } } }, "localname": "IncomeTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://taylordevices.com/role/IncomeTaxesTableDetails", "http://taylordevices.com/role/ReconciliationOfIncomeTaxStatutoryRateToEffectiveRateDetails", "http://taylordevices.com/role/RevenueImpactOnFinancialStatementsIncomeStatementDetails", "http://taylordevices.com/role/StatementsOfIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Current tax provision:" } } }, "localname": "IncomeTaxExpenseBenefitContinuingOperationsAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://taylordevices.com/role/IncomeTaxesTableDetails" ], "xbrltype": "stringItemType" }, "us-gaap_IncomeTaxReconciliationChangeInEnactedTaxRate": { "auth_ref": [ "r192", "r197", "r198" ], "calculation": { "http://taylordevices.com/role/ReconciliationOfIncomeTaxStatutoryRateToEffectiveRateDetails": { "order": 4.0, "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations, attributable to increase (decrease) in the income tax rates.", "label": "Tax rate change on deferred taxes", "verboseLabel": "Effect of change in tax rate" } } }, "localname": "IncomeTaxReconciliationChangeInEnactedTaxRate", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://taylordevices.com/role/IncomeTaxesDetailsNarrative", "http://taylordevices.com/role/ReconciliationOfIncomeTaxStatutoryRateToEffectiveRateDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate": { "auth_ref": [ "r87", "r197", "r198" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/ReconciliationOfIncomeTaxStatutoryRateToEffectiveRateDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeTaxReconciliationNondeductibleExpense": { "auth_ref": [ "r197", "r198" ], "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": "Other permanent differences" } } }, "localname": "IncomeTaxReconciliationNondeductibleExpense", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://taylordevices.com/role/ReconciliationOfIncomeTaxStatutoryRateToEffectiveRateDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeTaxReconciliationNondeductibleExpenseOther": { "auth_ref": [ "r197", "r198" ], "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 nondeductible expenses.", "label": "Other" } } }, "localname": "IncomeTaxReconciliationNondeductibleExpenseOther", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://taylordevices.com/role/ReconciliationOfIncomeTaxStatutoryRateToEffectiveRateDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes": { "auth_ref": [ "r87", "r197", "r198" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/ReconciliationOfIncomeTaxStatutoryRateToEffectiveRateDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeTaxReconciliationTaxCreditsResearch": { "auth_ref": [ "r197", "r198" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/ReconciliationOfIncomeTaxStatutoryRateToEffectiveRateDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeTaxesPaid": { "auth_ref": [ "r74", "r81" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/SupplementalCashFlowInformationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccountsPayableTrade": { "auth_ref": [ "r76" ], "calculation": { "http://taylordevices.com/role/StatementsOfCashFlows": { "order": 12.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/2019-01-31", "presentation": [ "http://taylordevices.com/role/StatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccountsReceivable": { "auth_ref": [ "r76" ], "calculation": { "http://taylordevices.com/role/StatementsOfCashFlows": { "order": 7.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services.", "label": "Accounts receivable" } } }, "localname": "IncreaseDecreaseInAccountsReceivable", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://taylordevices.com/role/StatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInBillingInExcessOfCostOfEarnings": { "auth_ref": [ "r76" ], "calculation": { "http://taylordevices.com/role/StatementsOfCashFlows": { "order": 15.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/2019-01-31", "presentation": [ "http://taylordevices.com/role/StatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInInventories": { "auth_ref": [ "r76" ], "calculation": { "http://taylordevices.com/role/StatementsOfCashFlows": { "order": 8.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", "verboseLabel": "Inventory" } } }, "localname": "IncreaseDecreaseInInventories", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://taylordevices.com/role/StatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInOtherAccruedLiabilities": { "auth_ref": [ "r76" ], "calculation": { "http://taylordevices.com/role/StatementsOfCashFlows": { "order": 14.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/2019-01-31", "presentation": [ "http://taylordevices.com/role/StatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInOtherOperatingLiabilities": { "auth_ref": [ "r76" ], "calculation": { "http://taylordevices.com/role/StatementsOfCashFlows": { "order": 13.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/2019-01-31", "presentation": [ "http://taylordevices.com/role/StatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInPrepaidExpense": { "auth_ref": [ "r76" ], "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 of outstanding money paid in advance for goods or services that bring economic benefits for future periods.", "label": "Increase (Decrease) in Prepaid Expense", "verboseLabel": "Prepaid expenses" } } }, "localname": "IncreaseDecreaseInPrepaidExpense", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://taylordevices.com/role/StatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInPrepaidTaxes": { "auth_ref": [ "r76" ], "calculation": { "http://taylordevices.com/role/StatementsOfCashFlows": { "order": 10.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", "verboseLabel": "Prepaid income taxes" } } }, "localname": "IncreaseDecreaseInPrepaidTaxes", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://taylordevices.com/role/StatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInUnbilledReceivables": { "auth_ref": [ "r76" ], "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 of the amount of revenue for work performed for which billing has not occurred, net of uncollectible accounts.", "label": "Increase (Decrease) in Unbilled Receivables", "verboseLabel": "Costs and estimated earnings in excess of billings" } } }, "localname": "IncreaseDecreaseInUnbilledReceivables", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://taylordevices.com/role/StatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements": { "auth_ref": [ "r99", "r102" ], "calculation": { "http://taylordevices.com/role/EarningsPerCommonShareTableDetails": { "order": 2.0, "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding", "weight": 1.0 } }, "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/EarningsPerCommonShareTableDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_InitialApplicationPeriodCumulativeEffectTransitionAxis": { "auth_ref": [ "r166" ], "lang": { "en-US": { "role": { "documentation": "Information about effect of transition method for cumulative effect in initial period of application.", "label": "Initial Application Period Cumulative Effect Transition [Axis]" } } }, "localname": "InitialApplicationPeriodCumulativeEffectTransitionAxis", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://taylordevices.com/role/ImpactOfAdoptionOfStandardsRelatedToRevenueRecognitionDetails", "http://taylordevices.com/role/RevenueImpactOnFinancialStatementsIncomeStatementDetails" ], "xbrltype": "stringItemType" }, "us-gaap_InitialApplicationPeriodCumulativeEffectTransitionDomain": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Effect of transition method for cumulative effect in initial period of application." } } }, "localname": "InitialApplicationPeriodCumulativeEffectTransitionDomain", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://taylordevices.com/role/ImpactOfAdoptionOfStandardsRelatedToRevenueRecognitionDetails", "http://taylordevices.com/role/RevenueImpactOnFinancialStatementsIncomeStatementDetails" ], "xbrltype": "domainItemType" }, "us-gaap_InterestIncomeExpenseNet": { "auth_ref": [ "r230" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/StatementsOfIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_InterestPaid": { "auth_ref": [ "r81" ], "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/2019-01-31", "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/2019-01-31", "xbrltype": "stringItemType" }, "us-gaap_InventoryDisclosureTextBlock": { "auth_ref": [ "r147" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/Inventory" ], "xbrltype": "textBlockItemType" }, "us-gaap_InventoryFinishedGoods": { "auth_ref": [ "r49" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/InventoryTableDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryForLongTermContractsOrPrograms": { "auth_ref": [ "r53" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/CostsAndEstimatedEarningsOnUncompletedContractsComponentsTableDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryGross": { "auth_ref": [ "r52" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/InventoryTableDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryNet": { "auth_ref": [ "r1", "r52", "r142" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/InventoryTableDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryNoncurrent": { "auth_ref": [ "r55" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/BalanceSheets", "http://taylordevices.com/role/MaintenanceAndOtherInventoryTableDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryPartsAndComponentsNetOfReserves": { "auth_ref": [ "r52", "r146" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/BalanceSheets", "http://taylordevices.com/role/ImpactOfAdoptionOfStandardsRelatedToRevenueRecognitionDetails", "http://taylordevices.com/role/RevenueImpactOnFinancialStatementsBalanceSheetDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryPolicyTextBlock": { "auth_ref": [ "r14", "r54", "r84", "r106", "r143", "r145" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_InventoryRawMaterials": { "auth_ref": [ "r51" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/InventoryTableDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryValuationReserves": { "auth_ref": [ "r52", "r92", "r142", "r146" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/InventoryTableDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryWorkInProcess": { "auth_ref": [ "r50" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/InventoryTableDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryWriteDown": { "auth_ref": [ "r144" ], "calculation": { "http://taylordevices.com/role/StatementsOfCashFlows": { "order": 5.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": "Provision for potentially obsolete inventory" } } }, "localname": "InventoryWriteDown", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://taylordevices.com/role/MaintenanceAndOtherInventoryDetailsNarrative", "http://taylordevices.com/role/StatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_Land": { "auth_ref": [ "r9", "r37" ], "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/2019-01-31", "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 deprecation 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/2019-01-31", "presentation": [ "http://taylordevices.com/role/PropertyAndEquipmentTableDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LegalMattersAndContingenciesTextBlock": { "auth_ref": [ "r155" ], "lang": { "en-US": { "role": { "documentation": "The entire disclosure for legal proceedings, legal contingencies, litigation, regulatory and environmental matters and other contingencies.", "label": "8. Legal Proceedings:" } } }, "localname": "LegalMattersAndContingenciesTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://taylordevices.com/role/LegalProceedings" ], "xbrltype": "textBlockItemType" }, "us-gaap_LiabilitiesAndStockholdersEquity": { "auth_ref": [ "r30", "r224", "r235" ], "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/2019-01-31", "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/BalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_LiabilitiesCurrent": { "auth_ref": [ "r44" ], "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/2019-01-31", "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/BalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_LifeInsuranceCorporateOrBankOwnedTextBlock": { "auth_ref": [ "r136" ], "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/2019-01-31", "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/Short-termBorrowingsDetailsNarrative" ], "xbrltype": "monetaryItemType" }, "us-gaap_LineOfCreditFacilityFairValueOfAmountOutstanding": { "auth_ref": [ "r217" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Fair value of the amount outstanding under the credit facility.", "label": "Line of credit outstanding balance" } } }, "localname": "LineOfCreditFacilityFairValueOfAmountOutstanding", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://taylordevices.com/role/Short-termBorrowingsDetailsNarrative" ], "xbrltype": "monetaryItemType" }, "us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock": { "auth_ref": [ "r133" ], "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 Receivable:" } } }, "localname": "LoansNotesTradeAndOtherReceivablesDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://taylordevices.com/role/AccountsReceivable" ], "xbrltype": "textBlockItemType" }, "us-gaap_LongTermContractsOrProgramsDisclosureTextBlock": { "auth_ref": [ "r57", "r162", "r221" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/CostsAndEstimatedEarningsOnUncompletedContractsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_MachineryAndEquipmentGross": { "auth_ref": [ "r10", "r151" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/PropertyAndEquipmentTableDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_MarketableSecuritiesPolicy": { "auth_ref": [ "r231" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_NatureOfOperations": { "auth_ref": [ "r108", "r116" ], "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/2019-01-31", "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/StatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_NetCashProvidedByUsedInFinancingActivities": { "auth_ref": [ "r73" ], "calculation": { "http://taylordevices.com/role/StatementsOfCashFlows": { "order": 3.0, "parentTag": "us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit.", "label": "Net Cash Provided by (Used in) Financing Activities", "totalLabel": "Net financing activities" } } }, "localname": "NetCashProvidedByUsedInFinancingActivities", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://taylordevices.com/role/StatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInInvestingActivities": { "auth_ref": [ "r73" ], "calculation": { "http://taylordevices.com/role/StatementsOfCashFlows": { "order": 2.0, "parentTag": "us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease", "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/StatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInOperatingActivities": { "auth_ref": [ "r73", "r75", "r78" ], "calculation": { "http://taylordevices.com/role/StatementsOfCashFlows": { "order": 1.0, "parentTag": "us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease", "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/2019-01-31", "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/StatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_NetIncomeLoss": { "auth_ref": [ "r58", "r59", "r62", "r78", "r102", "r229", "r237" ], "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", "totalLabel": "Net income", "verboseLabel": "Net income (loss)" } } }, "localname": "NetIncomeLoss", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://taylordevices.com/role/RevenueImpactOnFinancialStatementsIncomeStatementDetails", "http://taylordevices.com/role/StatementsOfCashFlows", "http://taylordevices.com/role/StatementsOfIncome", "http://taylordevices.com/role/StatementsOfStockholdersEquity" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_NonoperatingIncomeExpense": { "auth_ref": [ "r67" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/StatementsOfIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingIncomeLoss": { "auth_ref": [], "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" } } }, "localname": "OperatingIncomeLoss", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://taylordevices.com/role/StatementsOfIncome" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/MaintenanceAndOtherInventory" ], "xbrltype": "textBlockItemType" }, "us-gaap_OtherGeneralAndAdministrativeExpense": { "auth_ref": [ "r66" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of general and administrative expense classified as other.", "label": "Shipping and handling costs" } } }, "localname": "OtherGeneralAndAdministrativeExpense", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://taylordevices.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherIncomeAndExpensesAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Other income" } } }, "localname": "OtherIncomeAndExpensesAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://taylordevices.com/role/StatementsOfIncome" ], "xbrltype": "stringItemType" }, "us-gaap_OtherInventoryNoncurrent": { "auth_ref": [ "r55" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/MaintenanceAndOtherInventoryTableDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherLiabilitiesCurrent": { "auth_ref": [ "r11", "r12", "r42" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of liabilities classified as other, due within one year or the normal operating cycle, if longer.", "label": "Other Liabilities, Current", "verboseLabel": "Other accrued expenses" } } }, "localname": "OtherLiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://taylordevices.com/role/ImpactOfAdoptionOfStandardsRelatedToRevenueRecognitionDetails", "http://taylordevices.com/role/RevenueImpactOnFinancialStatementsBalanceSheetDetails" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_OtherNonoperatingIncomeExpense": { "auth_ref": [ "r68" ], "calculation": { "http://taylordevices.com/role/StatementsOfIncome": { "order": 2.0, "parentTag": "us-gaap_NonoperatingIncomeExpense", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of income (expense) related to nonoperating activities, classified as other.", "label": "Miscellaneous" } } }, "localname": "OtherNonoperatingIncomeExpense", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://taylordevices.com/role/StatementsOfIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherSellingGeneralAndAdministrativeExpense": { "auth_ref": [ "r66" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of selling, general and administrative expense classified as other.", "label": "Other Selling, General and Administrative Expense", "verboseLabel": "Shipping and handling costs" } } }, "localname": "OtherSellingGeneralAndAdministrativeExpense", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://taylordevices.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsForProceedsFromLifeInsurancePolicies": { "auth_ref": [ "r91" ], "calculation": { "http://taylordevices.com/role/StatementsOfCashFlows": { "order": 3.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/2019-01-31", "presentation": [ "http://taylordevices.com/role/StatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt": { "auth_ref": [ "r69", "r70", "r135" ], "calculation": { "http://taylordevices.com/role/StatementsOfCashFlows": { "order": 2.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/2019-01-31", "presentation": [ "http://taylordevices.com/role/StatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": { "auth_ref": [ "r71" ], "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/2019-01-31", "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/RetirementPlanDetailsNarrative" ], "xbrltype": "monetaryItemType" }, "us-gaap_PreferredStockSharesAuthorized": { "auth_ref": [ "r19" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/PreferredStockDetailsNarrative" ], "xbrltype": "sharesItemType" }, "us-gaap_PreferredStockTextBlock": { "auth_ref": [ "r161" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/PreferredStock" ], "xbrltype": "textBlockItemType" }, "us-gaap_PrepaidExpenseCurrent": { "auth_ref": [ "r3", "r6", "r149" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/BalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_PrepaidTaxes": { "auth_ref": [ "r4", "r6", "r148", "r149" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/BalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromIssuanceOfCommonStock": { "auth_ref": [ "r72" ], "calculation": { "http://taylordevices.com/role/StatementsOfCashFlows": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/StatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlans": { "auth_ref": [ "r72", "r186" ], "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 exercise of options" } } }, "localname": "ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlans", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://taylordevices.com/role/StockOptionPlansDetailsNarrative" ], "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/2019-01-31", "xbrltype": "stringItemType" }, "us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock": { "auth_ref": [ "r154" ], "lang": { "en-US": { "role": { "documentation": "The entire disclosure for long-lived, physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, accounting policies and methodology, roll forwards, depreciation, depletion and amortization expense, including composite depreciation, accumulated depreciation, depletion and amortization expense, useful lives and method used, income statement disclosures, assets held for sale and public utility disclosures.", "label": "6. Property and Equipment:" } } }, "localname": "PropertyPlantAndEquipmentDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://taylordevices.com/role/PropertyAndEquipment" ], "xbrltype": "textBlockItemType" }, "us-gaap_PropertyPlantAndEquipmentGross": { "auth_ref": [ "r37", "r151" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/PropertyAndEquipmentTableDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_PropertyPlantAndEquipmentNet": { "auth_ref": [ "r16", "r17", "r153", "r236" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/BalanceSheets", "http://taylordevices.com/role/PropertyAndEquipmentTableDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_PropertyPlantAndEquipmentOther": { "auth_ref": [ "r153" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/PropertyAndEquipmentTableDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_PropertyPlantAndEquipmentPolicyTextBlock": { "auth_ref": [ "r36", "r84", "r153" ], "lang": { "en-US": { "role": { "documentation": "Disclosure of accounting policy for long-lived, physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, basis of assets, depreciation and depletion methods used, including composite deprecation, estimated useful lives, capitalization policy, accounting treatment for costs incurred for repairs and maintenance, capitalized interest and the method it is calculated, disposals and impairments.", "label": "Property and Equipment:" } } }, "localname": "PropertyPlantAndEquipmentPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://taylordevices.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_PropertyPlantAndEquipmentTextBlock": { "auth_ref": [ "r16", "r153" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/PropertyAndEquipmentTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ProvisionForDoubtfulAccounts": { "auth_ref": [ "r63", "r139" ], "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": "Loss on disposal of property and equipment" } } }, "localname": "ProvisionForDoubtfulAccounts", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "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/2019-01-31", "xbrltype": "stringItemType" }, "us-gaap_ReceivablesFromCustomers": { "auth_ref": [ "r124" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/AccountsReceivableTableDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_RegulatoryIncomeTaxesPolicy": { "auth_ref": [ "r84", "r240", "r241" ], "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/2019-01-31", "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/2019-01-31", "xbrltype": "stringItemType" }, "us-gaap_RelatedPartyTransactionsDisclosureTextBlock": { "auth_ref": [ "r218" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/RelatedPartyTransactions" ], "xbrltype": "textBlockItemType" }, "us-gaap_ResearchAndDevelopmentExpense": { "auth_ref": [ "r189", "r242" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative" ], "xbrltype": "monetaryItemType" }, "us-gaap_ResearchAndDevelopmentExpensePolicy": { "auth_ref": [ "r84", "r189" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_RetainedEarningsAccumulatedDeficit": { "auth_ref": [ "r27", "r157", "r234" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/BalanceSheets", "http://taylordevices.com/role/ImpactOfAdoptionOfStandardsRelatedToRevenueRecognitionDetails", "http://taylordevices.com/role/RevenueImpactOnFinancialStatementsBalanceSheetDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_RetainedEarningsMember": { "auth_ref": [], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/StatementsOfStockholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_RevenueInitialApplicationPeriodCumulativeEffectTransitionLineItems": { "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": "Revenue, Initial Application Period Cumulative Effect Transition [Line Items]" } } }, "localname": "RevenueInitialApplicationPeriodCumulativeEffectTransitionLineItems", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://taylordevices.com/role/ImpactOfAdoptionOfStandardsRelatedToRevenueRecognitionDetails" ], "xbrltype": "stringItemType" }, "us-gaap_RevenueInitialApplicationPeriodCumulativeEffectTransitionTable": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Disclosure of information when using transition method for cumulative effect in initial period of application for revenue from contract with customer.", "label": "Revenue, Initial Application Period Cumulative Effect Transition [Table]" } } }, "localname": "RevenueInitialApplicationPeriodCumulativeEffectTransitionTable", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://taylordevices.com/role/ImpactOfAdoptionOfStandardsRelatedToRevenueRecognitionDetails" ], "xbrltype": "stringItemType" }, "us-gaap_RevenueRecognitionPolicyTextBlock": { "auth_ref": [ "r85", "r86" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_Revenues": { "auth_ref": [ "r60", "r117", "r118", "r122" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/RevenueImpactOnFinancialStatementsIncomeStatementDetails", "http://taylordevices.com/role/SalesByMajorCustomerTypeDetails", "http://taylordevices.com/role/StatementsOfIncome" ], "xbrltype": "monetaryItemType" }, "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/AccountsReceivableTables" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/CashFlowsInformationTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock": { "auth_ref": [ "r207" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/IncomeTaxesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfCostsOfRetirementPlansTableTextBlock": { "auth_ref": [ "r168" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/RetirementPlan" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock": { "auth_ref": [ "r201" ], "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": "Net deferred tax assets" } } }, "localname": "ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://taylordevices.com/role/IncomeTaxesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": { "auth_ref": [ "r102" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/EarningsPerCommonShareTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock": { "auth_ref": [ "r197" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/IncomeTaxesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": { "auth_ref": [ "r14", "r31", "r32", "r33" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/InventoryTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfInventoryNoncurrentTableTextBlock": { "auth_ref": [ "r14", "r31", "r32", "r33", "r34" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/MaintenanceAndOtherInventoryTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfLineOfCreditFacilitiesTextBlock": { "auth_ref": [ "r41", "r89" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/Short-termBorrowings" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfNewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock": { "auth_ref": [ "r94", "r96", "r104", "r105", "r107" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of changes in accounting principles, including adoption of new accounting pronouncements, that describes the new methods, amount and effects on financial statement line items.", "label": "Impact of Adoption of Standards Related to Revenue Recognition" } } }, "localname": "ScheduleOfNewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://taylordevices.com/role/SummaryOfSignificantAccountingPoliciesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock": { "auth_ref": [ "r184" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/EmployeeStockPurchasePlan" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable": { "auth_ref": [ "r185" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/StockOptionPlans-StockOptionsOutstandingAndExercisableDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock": { "auth_ref": [ "r185" ], "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": "Share-based Payment Arrangement, Option, Exercise Price Range [Table Text Block]" } } }, "localname": "ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/StockOptionPlansTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_SellingGeneralAndAdministrativeExpense": { "auth_ref": [ "r66", "r141" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/StatementsOfIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensation": { "auth_ref": [ "r76" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate": { "auth_ref": [ "r182" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/StockOptionPlansTableDetails" ], "xbrltype": "percentItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate": { "auth_ref": [ "r181" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/StockOptionPlansTableDetails" ], "xbrltype": "percentItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate": { "auth_ref": [ "r183" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/StockOptionPlansTableDetails" ], "xbrltype": "percentItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized": { "auth_ref": [ "r170" ], "lang": { "en-US": { "role": { "documentation": "Number of shares authorized for issuance under share-based payment arrangement.", "label": "Common shares reserved for stock options" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://taylordevices.com/role/StockOptionPlansDetailsNarrative" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant": { "auth_ref": [ "r185" ], "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": "Shares available" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://taylordevices.com/role/StockOptionPlansDetailsNarrative" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod": { "auth_ref": [ "r176" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/StockOptionsRollFowardDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross": { "auth_ref": [], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/StockOptionsRollFowardDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": { "auth_ref": [ "r178" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/StockOptionPlansDetailsNarrative" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValueTableTextBlock": { "auth_ref": [ "r178" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/StockOptionPlansTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue": { "auth_ref": [ "r185" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/StockOptionsRollFowardDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": { "auth_ref": [ "r173", "r185" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/StockOptionPlans-StockOptionsOutstandingAndExercisableDetails", "http://taylordevices.com/role/StockOptionsRollFowardDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice": { "auth_ref": [ "r172" ], "lang": { "en-US": { "role": { "documentation": "Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://taylordevices.com/role/StockOptionPlans-StockOptionsOutstandingAndExercisableDetails", "http://taylordevices.com/role/StockOptionsRollFowardDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice": { "auth_ref": [], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/StockOptionsRollFowardDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Weighted average price at which grantees could have acquired the underlying shares with respect to stock options of the plan that expired.", "label": "Weighted average exercise price of options expired" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://taylordevices.com/role/StockOptionsRollFowardDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice": { "auth_ref": [], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/StockOptionsRollFowardDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy": { "auth_ref": [ "r84", "r169", "r171" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis": { "auth_ref": [ "r179" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/StockOptionPlans-StockOptionsOutstandingAndExercisableDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain": { "auth_ref": [ "r184" ], "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/2019-01-31", "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/StockOptionPlans-StockOptionsOutstandingAndExercisableDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions": { "auth_ref": [ "r177" ], "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": "Number of options" } } }, "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "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": "Price per share of common" } } }, "localname": "SharePrice", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://taylordevices.com/role/StockOptionPlansDetailsNarrative" ], "xbrltype": "perShareItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1": { "auth_ref": [ "r180", "r187" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/StockOptionPlansTableDetails" ], "xbrltype": "durationItemType" }, "us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1": { "auth_ref": [ "r174" ], "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": "Weighted average exercise price" } } }, "localname": "SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://taylordevices.com/role/StockOptionPlans-StockOptionsOutstandingAndExercisableDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShippingAndHandlingCostPolicyTextBlock": { "auth_ref": [ "r83", "r84" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_ShortTermInvestments": { "auth_ref": [ "r18", "r225", "r226", "r227", "r232" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/BalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_SignificantAccountingPoliciesTextBlock": { "auth_ref": [ "r93" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/SummaryOfSignificantAccountingPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_StatementEquityComponentsAxis": { "auth_ref": [ "r46", "r156" ], "lang": { "en-US": { "role": { "documentation": "Information by component of equity.", "label": "Equity Components [Axis]" } } }, "localname": "StatementEquityComponentsAxis", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://taylordevices.com/role/BalanceSheetsParenthetical", "http://taylordevices.com/role/StatementsOfStockholdersEquity" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/BalanceSheetsParenthetical", "http://taylordevices.com/role/RevenueImpactOnFinancialStatementsBalanceSheetDetails", "http://taylordevices.com/role/RevenueImpactOnFinancialStatementsIncomeStatementDetails", "http://taylordevices.com/role/SalesByMajorCustomerTypeDetails", "http://taylordevices.com/role/StatementsOfStockholdersEquity" ], "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/2019-01-31", "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/2019-01-31", "xbrltype": "stringItemType" }, "us-gaap_StatementOfStockholdersEquityAbstract": { "auth_ref": [], "localname": "StatementOfStockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "xbrltype": "stringItemType" }, "us-gaap_StatementTable": { "auth_ref": [], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/BalanceSheetsParenthetical", "http://taylordevices.com/role/RevenueImpactOnFinancialStatementsBalanceSheetDetails", "http://taylordevices.com/role/RevenueImpactOnFinancialStatementsIncomeStatementDetails", "http://taylordevices.com/role/SalesByMajorCustomerTypeDetails", "http://taylordevices.com/role/StatementsOfStockholdersEquity" ], "xbrltype": "stringItemType" }, "us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans": { "auth_ref": [ "r19", "r20", "r156", "r157" ], "lang": { "en-US": { "role": { "documentation": "Number of shares issued during the period as a result of an employee stock purchase plan.", "label": "Common shares issued from employee stock purchase plan" } } }, "localname": "StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://taylordevices.com/role/EmployeeStockPurchasePlanDetailsNarrative" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": { "auth_ref": [ "r19", "r20", "r156", "r157", "r175" ], "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/2019-01-31", "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": "Common stock issued for employee stock option plan" } } }, "localname": "StockIssuedDuringPeriodValueEmployeeBenefitPlan", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://taylordevices.com/role/StatementsOfStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan": { "auth_ref": [ "r19", "r20", "r156", "r157" ], "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": "Common stock issued for employee stock purchase plan" } } }, "localname": "StockIssuedDuringPeriodValueEmployeeStockPurchasePlan", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://taylordevices.com/role/StatementsOfStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockOptionPlanExpense": { "auth_ref": [ "r77" ], "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 or Unit Option Plan Expense", "verboseLabel": "Stock options issued for services" } } }, "localname": "StockOptionPlanExpense", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://taylordevices.com/role/StatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockholdersEquity": { "auth_ref": [ "r20", "r28", "r29", "r132" ], "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": "Ending balance, value", "periodStartLabel": "Beginning balance, value", "totalLabel": "Total stockholders' equity" } } }, "localname": "StockholdersEquity", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://taylordevices.com/role/BalanceSheets", "http://taylordevices.com/role/StatementsOfStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Stockholders' Equity:" } } }, "localname": "StockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/BalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_SubsequentEventsPolicyPolicyTextBlock": { "auth_ref": [ "r84" ], "lang": { "en-US": { "role": { "documentation": "Disclosure of accounting policy for reporting subsequent events.", "label": "Subsequent Events:" } } }, "localname": "SubsequentEventsPolicyPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "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/2019-01-31", "xbrltype": "stringItemType" }, "us-gaap_TaxCreditCarryforwardExpirationDate": { "auth_ref": [ "r202" ], "lang": { "en-US": { "role": { "documentation": "Expiration date of the tax credit carryforward, in CCYY-MM-DD format.", "label": "Tax credit carryforward expiration date" } } }, "localname": "TaxCreditCarryforwardExpirationDate", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://taylordevices.com/role/IncomeTaxesDetailsNarrative" ], "xbrltype": "dateItemType" }, "us-gaap_TradeAndOtherAccountsReceivablePolicy": { "auth_ref": [ "r126", "r127", "r128", "r129", "r131", "r134" ], "lang": { "en-US": { "role": { "documentation": "Disclosure of accounting policy for accounts receivable.", "label": "Accounts Receivable [Policy Text Block]" } } }, "localname": "TradeAndOtherAccountsReceivablePolicy", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://taylordevices.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_TreasuryStockMember": { "auth_ref": [ "r45", "r158" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/StatementsOfStockholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_TreasuryStockShares": { "auth_ref": [ "r45", "r158" ], "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" } } }, "localname": "TreasuryStockShares", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://taylordevices.com/role/TreasuryStockDetailsNarrative" ], "xbrltype": "sharesItemType" }, "us-gaap_TreasuryStockTextBlock": { "auth_ref": [ "r160" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/TreasuryStock" ], "xbrltype": "textBlockItemType" }, "us-gaap_TreasuryStockValue": { "auth_ref": [ "r45", "r158", "r159" ], "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 - 550,872 shares at cost" } } }, "localname": "TreasuryStockValue", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://taylordevices.com/role/BalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_TypeOfAdoptionMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Adoption and early adoption of sources of change to generally accepted accounting principles (GAAP) in the United States. The FASB released the FASB Accounting Standards Codification as the authoritative source of literature effective for interim and annual periods ending after September 15, 2009. As part of the Codification process, the FASB issues Accounting Standards Updates to amend the Codification but otherwise the Accounting Standards Updates are not authoritative in their own right. All previous accounting standards (such as FASB Statements of Financial Accounting Standards, FASB Interpretations, FASB Staff Positions, Emerging Issues Task Force Consensuses, other pronouncements of the FASB or other designated bodies, or other forms of GAAP are considered accounting pronouncements) were superseded upon the adoption of the Codification. For an interim period, references to the superseded standards are included to help users transition from the previous accounting hierarchy and will be removed from future versions of this taxonomy." } } }, "localname": "TypeOfAdoptionMember", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://taylordevices.com/role/RevenueImpactOnFinancialStatementsBalanceSheetDetails", "http://taylordevices.com/role/RevenueImpactOnFinancialStatementsIncomeStatementDetails" ], "xbrltype": "domainItemType" }, "us-gaap_UseOfEstimates": { "auth_ref": [ "r109", "r110", "r111", "r112", "r113", "r114", "r115" ], "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/SummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": { "auth_ref": [ "r98", "r101" ], "calculation": { "http://taylordevices.com/role/EarningsPerCommonShareTableDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "lang": { "en-US": { "role": { "documentation": "The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.", "label": "Weighted Average Number of Shares Outstanding, Diluted", "totalLabel": "Average common shares outstanding assuming dilution" } } }, "localname": "WeightedAverageNumberOfDilutedSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2019-01-31", "presentation": [ "http://taylordevices.com/role/EarningsPerCommonShareTableDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": { "auth_ref": [ "r97", "r101" ], "calculation": { "http://taylordevices.com/role/EarningsPerCommonShareTableDetails": { "order": 1.0, "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding", "weight": 1.0 } }, "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/2019-01-31", "presentation": [ "http://taylordevices.com/role/EarningsPerCommonShareTableDetails" ], "xbrltype": "sharesItemType" } }, "unitCount": 4 } }, "std_ref": { "r0": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=118951113&loc=d3e6676-107765" }, "r1": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=118951113&loc=d3e6676-107765" }, "r10": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=118951113&loc=d3e6812-107765" }, "r100": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=117326831&loc=d3e1337-109256" }, "r101": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=6371337&loc=d3e3550-109257" }, "r102": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=6371337&loc=d3e3550-109257" }, "r103": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "260", "URI": "http://asc.fasb.org/topic&trid=2144383" }, "r104": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "270", "URI": "http://asc.fasb.org/extlink&oid=116846552&loc=d3e725-108305" }, "r105": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "270", "URI": "http://asc.fasb.org/extlink&oid=116846552&loc=d3e765-108305" }, "r106": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "270", "URI": "http://asc.fasb.org/extlink&oid=116846552&loc=d3e543-108305" }, "r107": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.10-01.(b)(6))", "Topic": "270", "URI": "http://asc.fasb.org/extlink&oid=27015980&loc=d3e46468-122699" }, "r108": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592" }, "r109": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592" }, "r11": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=118951113&loc=d3e6904-107765" }, "r110": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592" }, "r111": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6161-108592" }, "r112": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6191-108592" }, "r113": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6061-108592" }, "r114": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6132-108592" }, "r115": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6143-108592" }, "r116": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "275", "URI": "http://asc.fasb.org/topic&trid=2134479" }, "r117": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8736-108599" }, "r118": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8736-108599" }, "r119": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8736-108599" }, "r12": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=118951113&loc=d3e6911-107765" }, "r120": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8736-108599" }, "r121": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8736-108599" }, "r122": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8933-108599" }, "r123": { "Name": "Accounting Standards Codification", "Paragraph": "42", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e9054-108599" }, "r124": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=118952595&loc=d3e4428-111522" }, "r125": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=118952595&loc=d3e4531-111522" }, "r126": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=118936363&loc=d3e4975-111524" }, "r127": { "Name": "Accounting Standards Codification", "Paragraph": "11B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=118936363&loc=SL6953423-111524" }, "r128": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=118936363&loc=d3e5212-111524" }, "r129": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=118936363&loc=d3e5033-111524" }, "r13": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=118951113&loc=d3e6935-107765" }, "r130": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=118936363&loc=d3e5074-111524" }, "r131": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=118936363&loc=d3e5093-111524" }, "r132": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 4.E)", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=27010918&loc=d3e74512-122707" }, "r133": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "SubTopic": "10", "Topic": "310", "URI": "http://asc.fasb.org/subtopic&trid=2196772" }, "r134": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=84159169&loc=d3e10133-111534" }, "r135": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=118954083&loc=d3e26853-111562" }, "r136": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "325", "URI": "http://asc.fasb.org/topic&trid=2197064" }, "r137": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=118955202&loc=SL82895884-210446" }, "r138": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=119407570&loc=SL82919249-210447" }, "r139": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=119407570&loc=SL82919249-210447" }, "r14": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6361739&loc=d3e7789-107766" }, "r140": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(f)", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=119407570&loc=SL82919249-210447" }, "r141": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "30", "SubTopic": "10", "Topic": "330", "URI": "http://asc.fasb.org/extlink&oid=68048583&loc=d3e3636-108311" }, "r142": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "35", "SubTopic": "10", "Topic": "330", "URI": "http://asc.fasb.org/extlink&oid=116846819&loc=d3e3927-108312" }, "r143": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "330", "URI": "http://asc.fasb.org/extlink&oid=116847112&loc=d3e4492-108314" }, "r144": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "330", "URI": "http://asc.fasb.org/extlink&oid=116847112&loc=d3e4542-108314" }, "r145": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "330", "URI": "http://asc.fasb.org/extlink&oid=116847112&loc=d3e4556-108314" }, "r146": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB TOPIC 5.BB)", "Topic": "330", "URI": "http://asc.fasb.org/extlink&oid=27011343&loc=d3e100047-122729" }, "r147": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "330", "URI": "http://asc.fasb.org/topic&trid=2126998" }, "r148": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "05", "SubTopic": "10", "Topic": "340", "URI": "http://asc.fasb.org/extlink&oid=68074540&loc=d3e5865-108316" }, "r149": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "05", "SubTopic": "10", "Topic": "340", "URI": "http://asc.fasb.org/extlink&oid=68074540&loc=d3e5879-108316" }, "r15": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(1))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r150": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "360", "URI": "http://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229" }, "r151": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "360", "URI": "http://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229" }, "r152": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "360", "URI": "http://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229" }, "r153": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "360", "URI": "http://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229" }, "r154": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "360", "URI": "http://asc.fasb.org/topic&trid=2155823" }, "r155": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "450", "URI": "http://asc.fasb.org/topic&trid=2127136" }, "r156": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=109259400&loc=d3e21463-112644" }, "r157": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.3-04)", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=27012166&loc=d3e187085-122770" }, "r158": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=6405813&loc=d3e23239-112655" }, "r159": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=6405834&loc=d3e23315-112656" }, "r16": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(13))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r160": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "SubTopic": "30", "Topic": "505", "URI": "http://asc.fasb.org/subtopic&trid=2208821" }, "r161": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "505", "URI": "http://asc.fasb.org/topic&trid=2208762" }, "r162": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "SubTopic": "35", "Topic": "605", "URI": "http://asc.fasb.org/subtopic&trid=2197326" }, "r163": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=118956577&loc=SL49130545-203045" }, "r164": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=118956577&loc=SL49130549-203045" }, "r165": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=118944142&loc=SL49130690-203046-203046" }, "r166": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(i)(1)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=113356391&loc=SL49131195-203048" }, "r167": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=113356391&loc=SL49131195-203048" }, "r168": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920" }, "r169": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=116856206&loc=d3e5047-113901" }, "r17": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(14))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r170": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(3)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=116856206&loc=d3e5070-113901" }, "r171": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b),(f)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=116856206&loc=d3e5070-113901" }, "r172": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(i)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=116856206&loc=d3e5070-113901" }, "r173": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(i)-(ii)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=116856206&loc=d3e5070-113901" }, "r174": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iii)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=116856206&loc=d3e5070-113901" }, "r175": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=116856206&loc=d3e5070-113901" }, "r176": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(4)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=116856206&loc=d3e5070-113901" }, "r177": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(iii)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=116856206&loc=d3e5070-113901" }, "r178": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)(1)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=116856206&loc=d3e5070-113901" }, "r179": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=116856206&loc=d3e5070-113901" }, "r18": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(2))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r180": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(i)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=116856206&loc=d3e5070-113901" }, "r181": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(ii)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=116856206&loc=d3e5070-113901" }, "r182": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(iii)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=116856206&loc=d3e5070-113901" }, "r183": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(iv)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=116856206&loc=d3e5070-113901" }, "r184": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(g)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=116856206&loc=d3e5070-113901" }, "r185": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=116856206&loc=d3e5070-113901" }, "r186": { "Name": "Accounting Standards Codification", "Paragraph": "2A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=116856206&loc=SL79508275-113901" }, "r187": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 14.D.2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=115993241&loc=d3e301413-122809" }, "r188": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "718", "URI": "http://asc.fasb.org/topic&trid=2228938" }, "r189": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "730", "URI": "http://asc.fasb.org/extlink&oid=6420194&loc=d3e21568-108373" }, "r19": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(28))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r190": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "25", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=117330534&loc=d3e28680-109314" }, "r191": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "25", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=117330534&loc=d3e28680-109314" }, "r192": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=116821951&loc=d3e32059-109318" }, "r193": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=116821951&loc=d3e31917-109318" }, "r194": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=116821951&loc=d3e31928-109318" }, "r195": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=116821951&loc=d3e31931-109318" }, "r196": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=116821951&loc=d3e31958-109318" }, "r197": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32687-109319" }, "r198": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32698-109319" }, "r199": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32537-109319" }, "r2": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=118951113&loc=d3e6676-107765" }, "r20": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(29))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r200": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b),(c)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32537-109319" }, "r201": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32537-109319" }, "r202": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32559-109319" }, "r203": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32621-109319" }, "r204": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32632-109319" }, "r205": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32639-109319" }, "r206": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32639-109319" }, "r207": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32639-109319" }, "r208": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB TOPIC 6.I)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=116825942&loc=d3e330036-122817" }, "r209": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 6.I.7)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=116825942&loc=d3e330036-122817" }, "r21": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(3)(c)(2))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r210": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=109238882&loc=d3e38679-109324" }, "r211": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "740", "URI": "http://asc.fasb.org/topic&trid=2144680" }, "r212": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=109239629&loc=d3e5614-111684" }, "r213": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.3A-02)", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=116822174&loc=d3e355033-122828" }, "r214": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.3A-03)", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=116822174&loc=d3e355100-122828" }, "r215": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "60", "SubTopic": "10", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=7493716&loc=d3e21868-110260" }, "r216": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "825", "URI": "http://asc.fasb.org/extlink&oid=118260190&loc=d3e13279-108611" }, "r217": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "825", "URI": "http://asc.fasb.org/extlink&oid=118260190&loc=d3e13433-108611" }, "r218": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "850", "URI": "http://asc.fasb.org/topic&trid=2122745" }, "r219": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "310", "Topic": "910", "URI": "http://asc.fasb.org/extlink&oid=118388040&loc=d3e49370-109356" }, "r22": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(3)(c)(3))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r220": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "310", "Topic": "912", "URI": "http://asc.fasb.org/extlink&oid=118261985&loc=d3e55302-109406" }, "r221": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "912", "URI": "http://asc.fasb.org/topic&trid=2145070" }, "r222": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "25", "SubTopic": "20", "Topic": "940", "URI": "http://asc.fasb.org/extlink&oid=68072869&loc=d3e41242-110953" }, "r223": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(11))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=6876686&loc=d3e534808-122878" }, "r224": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(23))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=6876686&loc=d3e534808-122878" }, "r225": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(4))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=6876686&loc=d3e534808-122878" }, "r226": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(5))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=6876686&loc=d3e534808-122878" }, "r227": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(6))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=6876686&loc=d3e534808-122878" }, "r228": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(15))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=116637391&loc=SL114874048-224260" }, "r229": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(22))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=116637391&loc=SL114874048-224260" }, "r23": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(3)(c)(4))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r230": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04.10)", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=116637391&loc=SL114874048-224260" }, "r231": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "320", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=75019621&loc=d3e62652-112803" }, "r232": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(1)(g))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=119400593&loc=d3e572229-122910" }, "r233": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(12))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=119400593&loc=d3e572229-122910" }, "r234": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=119400593&loc=d3e572229-122910" }, "r235": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(25))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=119400593&loc=d3e572229-122910" }, "r236": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(8))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=119400593&loc=d3e572229-122910" }, "r237": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(18))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=116637232&loc=SL114874131-224263" }, "r238": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(8))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=116637232&loc=SL114874131-224263" }, "r239": { "Name": "Accounting Standards Codification", "Paragraph": "13H", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Subparagraph": "(c)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=117419784&loc=SL117783719-158441" }, "r24": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(3)(c))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r240": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "25", "SubTopic": "740", "Topic": "980", "URI": "http://asc.fasb.org/extlink&oid=6501382&loc=d3e54053-110423" }, "r241": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "25", "SubTopic": "740", "Topic": "980", "URI": "http://asc.fasb.org/extlink&oid=6501382&loc=d3e54136-110423" }, "r242": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "985", "URI": "http://asc.fasb.org/extlink&oid=6501960&loc=d3e128462-111756" }, "r243": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "b" }, "r244": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "b-23" }, "r245": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "d1-1" }, "r246": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "g" }, "r247": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12, 13, 15d" }, "r248": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "13e", "Subsection": "4c" }, "r249": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "14d", "Subsection": "2b" }, "r25": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(3))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r250": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "15", "Subsection": "d" }, "r251": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "14a", "Subsection": "12" }, "r252": { "Name": "Form 10-Q", "Number": "240", "Publisher": "SEC", "Section": "13", "Subsection": "a-13" }, "r253": { "Name": "Form 20-F", "Number": "249", "Publisher": "SEC", "Section": "220", "Subsection": "f" }, "r254": { "Name": "Form 40-F", "Number": "249", "Publisher": "SEC", "Section": "240", "Subsection": "f" }, "r255": { "Name": "Forms 10-K, 10-Q, 20-F", "Number": "240", "Publisher": "SEC", "Section": "13", "Subsection": "a-1-" }, "r256": { "Name": "Forms 10-K, 20-F, 40-F", "Number": "240", "Publisher": "SEC", "Section": "15", "Subsection": "d-1" }, "r257": { "Name": "Forms 20-F, 40-F", "Number": "249", "Publisher": "SEC", "Section": "220 and 240", "Subsection": "f" }, "r258": { "Name": "Regulation 12B", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "b-2" }, "r259": { "Name": "Regulation S-T", "Number": "232", "Publisher": "SEC", "Section": "405" }, "r26": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30)(a)(1))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r260": { "Name": "Regulation S-X (SX)", "Number": "210", "Paragraph": "i", "Publisher": "SEC", "Section": "3", "Subsection": "10" }, "r261": { "Name": "Securities Act", "Number": "230", "Publisher": "SEC", "Section": "425" }, "r262": { "Name": "Securities Act", "Number": "7A", "Publisher": "SEC", "Section": "B", "Subsection": "2" }, "r27": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30)(a)(3))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r28": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r29": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(31))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r3": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(g)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=118951113&loc=d3e6676-107765" }, "r30": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(32))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r31": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(a))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r32": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(b))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r33": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(c))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r34": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(d))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r35": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.1)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r36": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.13(a))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r37": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.13)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r38": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.14)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r39": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.17)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r4": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(g)(4)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=118951113&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": "http://asc.fasb.org/extlink&oid=6877327&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": "http://asc.fasb.org/extlink&oid=6877327&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": "http://asc.fasb.org/extlink&oid=6877327&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": "http://asc.fasb.org/extlink&oid=6877327&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": "http://asc.fasb.org/extlink&oid=6877327&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": "http://asc.fasb.org/extlink&oid=6877327&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": "http://asc.fasb.org/extlink&oid=6877327&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": "http://asc.fasb.org/extlink&oid=6877327&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": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r49": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.6(a)(1))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r5": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=118951113&loc=d3e6676-107765" }, "r50": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.6(a)(3))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r51": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.6(a)(4))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r52": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.6(a))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r53": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.6(a),(d))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r54": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.6(b))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r55": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.6(d))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r56": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.9)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682" }, "r57": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "210", "URI": "http://asc.fasb.org/topic&trid=2122208" }, "r58": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=118930883&loc=SL7669619-108580" }, "r59": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=118930883&loc=SL7669625-108580" }, "r6": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=118951113&loc=d3e6787-107765" }, "r60": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(1))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=116634182&loc=SL114868664-224227" }, "r61": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(10))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=116634182&loc=SL114868664-224227" }, "r62": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(20))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=116634182&loc=SL114868664-224227" }, "r63": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(5))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=116634182&loc=SL114868664-224227" }, "r64": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.1,2)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=116634182&loc=SL114868664-224227" }, "r65": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.2(a),(d))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=116634182&loc=SL114868664-224227" }, "r66": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.4)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=116634182&loc=SL114868664-224227" }, "r67": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.7)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=116634182&loc=SL114868664-224227" }, "r68": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.9)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=116634182&loc=SL114868664-224227" }, "r69": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3151-108585" }, "r7": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=118951113&loc=d3e6801-107765" }, "r70": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3213-108585" }, "r71": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3213-108585" }, "r72": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3255-108585" }, "r73": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3521-108585" }, "r74": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3536-108585" }, "r75": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3536-108585" }, "r76": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3602-108585" }, "r77": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3602-108585" }, "r78": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3602-108585" }, "r79": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3044-108585" }, "r8": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=118951113&loc=d3e6812-107765" }, "r80": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=98513485&loc=d3e4273-108586" }, "r81": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=98513485&loc=d3e4297-108586" }, "r82": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "230", "URI": "http://asc.fasb.org/topic&trid=2134446" }, "r83": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=84158767&loc=d3e18726-107790" }, "r84": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=84158767&loc=d3e18780-107790" }, "r85": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=84158767&loc=d3e18823-107790" }, "r86": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=84158767&loc=d3e18823-107790" }, "r87": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(h)(2))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=26873400&loc=d3e23780-122690" }, "r88": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(h))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=26873400&loc=d3e23780-122690" }, "r89": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08.(e),(f))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=26873400&loc=d3e23780-122690" }, "r9": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=118951113&loc=d3e6812-107765" }, "r90": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08.(h)(2))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=26873400&loc=d3e23780-122690" }, "r91": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.12-04(a))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=26873400&loc=d3e24072-122690" }, "r92": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.12-09)", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=26873400&loc=d3e24092-122690" }, "r93": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "235", "URI": "http://asc.fasb.org/topic&trid=2122369" }, "r94": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22499-107794" }, "r95": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22694-107794" }, "r96": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22583-107794" }, "r97": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=117326831&loc=d3e1448-109256" }, "r98": { "Name": "Accounting Standards Codification", "Paragraph": "16", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=117326831&loc=d3e1505-109256" }, "r99": { "Name": "Accounting Standards Codification", "Paragraph": "28A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=117326831&loc=d3e1500-109256" } }, "version": "2.1" } ZIP 89 0000096536-19-000026-xbrl.zip IDEA: XBRL DOCUMENT begin 644 0000096536-19-000026-xbrl.zip M4$L#!!0 ( .Y] D\Q[]@A6#4 )<& 0 4 86YN=6%LVWZGB/W2Y[%R["F'06XG750B012R$%I!]O=\::&"B>9!Y M")/*C[_GT=W3 [+C320EZ'JK-K:EF9[NT^?]?',^[%Z\+9?>G+<;+?A3X/_> M##O#B_;;-Z_Y3_CM:_WK-Z>]UBG\$_?\F2U)NN8/'3M^W/J@OC568JI@^-)0K/XI%2]UZ8P1S)QQ7Q6ZM?B(:89A)7_35 M(HK3!S[S3V(]$>#MO]@3CK][IB>-X65_WVH--J7P[+ MI<9EBW[4;/?N;U\/^RH8C7]; MW8C?Q56L$F\"^+W=%&J_U%(R%H.YC-4\\B*$'OTOY PH67 D?_O!%-*6E MFU&PD.&*%DZ4V5NYY(5C/YO@:[,98%?BP0<3Z<.NDC2&]68>,DXY'BM?Q;2^ M^6(:X49\WL:% E3MRC";RG&:Q5XX$POX[]A;X%+I/(ZRV3S*4A%EL8!G/!^V M"RN72]*/X.&EE\[%C5I9H'DAP#J4,UY^$27P?!0FU2_>7GT[$*21TG5H^>/@ M_@]Q\FL6_92(KH)EPUFY1-@PE;Y?$4LE8A)5 /\(D"$*%$%+WSI<6B)D.''N M#+X"B+",,G^"MQ<%032!7Q'\QU$,:^&_9I'T$T01N*I8R03O+0:T"3,%-P,+ M J)-O52.\+X >3[./5_!JO$-/JFO%?[T$C'VO8 ^,-5W2+N6A,2+Q0K1A8^@ M=^8BMQS!JO0 ;&TB"'MG430IEP E,Q^0#5!.G'G)&&#V"9D&F,+_<<-X(B8>_!>" I%O!]2%@$'Q9?3:%OY# MI(O00BR;,L20HP@53O#070#17KU" "R7ELADGN_M50[K)Y7:7AW "6P"V12 MTW(CBYK,&."&G^_N5_8.]RHGAT<_ 50-^M#M[QV_J(K> KD%?A!^A=BZE E\ MJ%*K[U6.3G;M=\HE^-#SP_VCRN'>'A(][.NX"AIR6GAQMW*POU\YV#TH;/#Y M_OY>9>^H9M[;V,K^T3[LI:@%ZL, ;.#2 =L4,.*1'-_XT0Q9)X(-0&78)DE[ M%XRTG?I>=4\$GN\#2RKN:'>O6K>_T_*-@!\)S8DC1QF$C@D7&;WF^X$_A!?G';+PW.E 1I";B#\@^@@RQITSY! M+@J$,H^5T@"#;TYFRL(- ',;^<34S-U/9 DF-S!;/E9_4VC#R#<\5X_ /G@ M+0[G8)\FXI2^4\%?E4OO@*1!F@".!!'@$_^.4 O?A&.+LUB"R$_&D>C)&Q]_ M!!)$G:U(Q:!$IXPGI0RA[FT]O@49%LRIRU:8)*NB2HH,.QP I1'K&;;A5O#3X#\# WT;Y+BN#D!<@JE-/%KH M^_>!ELJE^LE1#;9W&2TKN&JZ(C1(Z+>Q5<\ N#X)@6P"T"#E:,+:'5H"@2(\ MCD( EMD;$!#OK0I0'Q,4M8IJ*(R)IUQB\M/J2))3$ZU!+$DF"=XF?#E)0>.C MKZ9$N4"'7J"V'FE[P-(=\9@J&=#E(1M$=J^ 240KA;98K%!9%1-0MFC'\:RE!#<=E7/5ZE'EH3#A,3DPSI$7Z]EV^MFV_NP'RZ1@TKH?U2PP;GRYZ M?=%J?^@TVP, W67S?D!W",]^T*^=3.S">ECG4M&M]>!. MIGMVFGW1#T@NS/MU Z] $S8E?BY*@;1XB82OXOFW%-3T?ZLQAF:_:(WG0*] MQ??UQ?LD*MA_1 SF 3Q\CT+^'5(G2/[.P*8$B16%1@!VQ#(VEE(%6.>*Q7[A MK *T/Y*T6BD-U1*QY YVR9&)QA2>!CT!A"%PV3GY2CPT@7$'I-:Q$P\XA I MLN9700M!6YSH&@(++5:_9EX"NV3IX/#MHJ M03.LOI1GW*A(M!;*R"'IE.% M2I+'EGRJQO,P C/0T]ZFL5RP@#'^)K;?;J6?L4HU!DB"#1^S.R_S4W0'(MAO M%%FE\## _):-B*4">41>3ZN@;[U]=ZK0%H;KFGNS.?QNGK+O3CL#%K$7Q00^ M?7E:)2,?EM89X7XG,<+(B.);ASU,>,9<$H:%U"@/YI%*^TA2@SHCZ9^XR]U?E$N$@^<-ASYLNJ.>[ M^]7]P'@B]=+HE4!&TP0%/XW9D*N(AO&0O&ZQ=X30K),[/G+T1%5(?48R4"#Q MP<8B=P7 C?XT0/[*UYRU)E'@A=:Z77=)23^(X$S/CP-6\ND#MZ"E.[[_)CR1 M:.<<407KCT12]E(E$M7$8SL:?O$.#IN@(0NH 7#WQG/B.Q+(.48='1; [],9 M*B:$,!&[U<,7PCWM3^+Y2;46B)>[A]63%Z#"ZW=>K>WW^4'U!)_:K^Z]$/E# MSC%R'V"'77E%%*"/',,WQ!<_4:L>'@3ETLO=ZM$7OH&.0KTZ^AOTVKO5 UC[ M"(^6OZ57W-^'7]6KQU]8\-1XNO*]EDOD\ MX!?3P!6N>0G1JH=MRJ-UF?-N. MWPQ_#$KT BQ"?Z4C)PQ_Q9*<'0_LU1(OB>8 !I&?:?9?+L%&$U@ -HHK\9.O M0"=/ :7 +":[R0N(:4S9_(K->H:U:/OLCS"8?$(82L# 3$1&L5\N70\$,H0H M0,=&!GP\Q^\L7.#2J&/!3\DB-10WRB8S10XLXF+L$9S*VR@F]@4\R8^B&W;O MDV>P0D#RQL#"T+,R9>\@^2?+)39.V=6ZL?^7QO5%PL1CT08RBWZ)ZY#] CM@ MX<4N-" %BA*@:,:?QBHE"GJ%M$.T!W]N,!) 2>U?P]!8FDE@@3H @U&O&O0 M0V /T&M&L3C#=@@PS*F *\Q4! )A >P CC9#2!1\L, J)M[$_ QDPDL477"A M:+8?UXA&TB@%7BG9R\($L_5R^M3872Z!A3Z7B4?7]2L 50E M[7-'W25>(<,FT8R7[<9FD:+A,E ;&Z$\)PJ.(U3"$/%(K(=X2_A4%.[,(J0/ M"J6:(*M$AQ\BDJ0]Q6IBI)N#GY:9C%$&[$RSD)Z!ZT)O@W4? !:B2 &.M0P! MI>;>PNP0/0BX#Q*#QA]!+D\Q4DAV7H"(*9&OX3NDGR#2S96_T.H)H1UKF*#) MCC&0!U_VC;)*,;T@&\\%$KSK9H!EC(O,*KHDX8S+H5S*%I%Q$A-3FJ)KCB%" M1 O"#C5'CX2<]BTE[.T&U04X#;-R&VDB#T#X&A*5RQ5MT]\,+[MM3NV]/QT$Z-/W!KK!O.]^;6T!_G M[+)UZ_P^3?\'M?/_]L2?OR\9;3!L#$&5Z;>O>OWAX,D7PN2=TEA>H7D.PZ#J@3L5#G^CD+.<.@4BYYCLP"%1OT:XF!$1L P%== M]PR*X34?DJ,1&">#43_6='N*18)!,(G0,H'G:&781(".) FB (4A?G*NI*\= M1;CVSDAI"P,X'ZN_:%*C@%>?QZ21HM16:':"&F_\'"C.,4G@AO5_XU@RG\'T MB.4\ CF?>A3GU_$-SDK8=CP8YHDX-G4)[AHM$ PAISK5;84VB$ZZHFRW6YNE MI\%/^JG1G@!P-C9#RA%BAM17A:DS)L4+L[E$@%XH1S7-4X2*256[-=[!2*TB M6H=W9A6_0B;A *.9Z+CQ4P>.'-L&6>6'J3=)XKJV]>#UMOO_+KL][ET-WSSA3L M%G_UXQ_NFAY.@&?P33U[N_/F-2ZV\<6[9>;&=]VEC)&H&=)ZKF4:8\!=DJF5 MB%M/@C%.V93WLXW_P.K_?[-]XLZ>4H(QIL5EH8N3(BRAO M&I-H9M9G-HELKH_.QX-;16^T7?'WB[? MT_[0I4S2_.;?2W@C)*V(=,OO]_AWW./=\'XH[7M=QV7]B\(FB5*"O;9@RZWJ/$72Z1T,( QX=?,6U#@ M (TS5CDI5@W?C^Q5!W+EYB%'ML#%J6X!G$:/.2X1JT66YJYRC$4!;' O%(ZP M]2];?WWHD+6.I0?W83U=M]5_X4=LGG?:9^*L<]FX;'8:%Z)W=M9IMOOW7 ?[ MA7UV97PC/E1%=]R*0A+M)CGN#.1^B'G6C^(T?X0KX5R7D>)D"NU+HA(!4QX' MK#Z,R' AYH3,743 MN:"4&)%'NK'-TT%)LC!+)N42IB5$H<[KXB586+AKX(&2M5"0NK.ZB[70,.'./*W!%)=[4R1#]/'V!FZ=_PBS]#Q M0BOAZ!T7V%A;DB?W@,B'?P"?]\9Y7=R 4Q!>?_0P;NOD'V2AER;%K"6=W8&. M/.O^0L;OKN&F,)@]TJ9$Y1]_ M6=]]\4K[#^_(D7IY\.(55>289;G^H)"'X.ZQ7-JOK6_28AL7*$=+Q@?2HE:\ M>\0*6EFBA@)W;,N8U\!M/)B41"><."Z IW[RPJ:T%0 ,NVXDGG0V:I;1Z6Y8 M04MY>I2%A-BHL_)'"K>[N;$O;0.^_U'EH7G\^8Q2M)C:*=PNL.<& IQ_HTGD MEPQD]$0<[+U8H]4JX(;O(SE@)DB(5QJ3[QPIC(&R) 0C!<]D7U&--\8#[%Y( MP26ZQ>U.(W_RI6NB(S*9A'E))AXY)XP377.#R5LQNH[S9$&='$C15'@("Y@W>Q(%Z*B+>.0TFNPY"O!3%M.(3S:I:X?R<;."F6F]3WGJ?P#=-&X MH\-#_7NSCR]>[;:GOSCY72ZT&(70%J!"2SBOX2%9(7_X+Q62C^98% -B0>B1)D*#K'8;0)"%'"75U#K.,Q>CF0[IQ%M\"P M'8H83&C**]LXCH)6*P8?UPO:0"^0NE ^3QDK EDR.]A1*,V01/#07SMN@ADX M]KCXM'-:6W$6+3!3D0!N[=&-E!HVPM8++LLEBQY8'+M*#-N*)< M9$PLU%^WW0L0PL3/U@Q^78<;696>(ZM(,: ZT'58?<':Y!XV'=*L[]O"EUO" M*SZJ]9N(=/P8"0B/*B>W7A*AV@>_NE%J(>0(H9/FO2"LNA"K&2:G,U3#"5]\A1:VSI@.!)&(?^><>)(;&A"O"J"BP +P'B(&X8S9^"F#D&D .8 MM:A$N%FD7GBK$IN]24%M+ B--0Y[B4E\U+TKZ*E,7[<7Z!\_<) :3+(-:^?! M[:LG:DM]FWG;:/=[Z.,%(_>U:+7/VI<#S)CIM:Z;P\=)DODYFH>B"1>NTM\P ME7LS4Z8=P@)*H2-IVR]EX%H4FZ(:5/.4%##01]:;P" % DPX]7QO_X61/9RU MK#4:(-I]KE(P.AR*-"/F0*UFW1F%<+808 :Q4E.O[!WO5?9VU_3(Y_5:9;=V M4#FIU3AS&E/_^]IJM$D\"0LS*V,Y?16L4G05HXPFMRXGZ.N-!539;D4'OL7Y M-RM.JG^'6GK(;FIX:!;+8/OERUH2DQ$SB94S 54),R!3:64]6PGL-*Z^S.W M$$E?LOF]*.ZKXL*[44LO4=IYSU7P3N.NO*<67&L"[XXYK::%UE"TX M@Y0IM MQFRL\YY<1_L=?G5T^^L*@'@A$\"+K7>Z-@2VNL"R?@,8.B!ER2,P2>3JFZN4 M2WG&.]ZHU9T2DTC$>@%>FZ\+U69(Y\D\PDP+ZI1 Y!**24SN)2\>QW(*S-!S M]5[*'%K*E0F"(!9YB>['$1"K@/OC6BIWZU@0!(JI+W/UC38CV8&48!*4V?36 M7]WP3E9+[0EL! I@B0>FC;K.1 M5Z$6T02[/ICD0F"&C1'J6P-=3], <@E&/E5*&K.\%WNV@*8I%TGF*W018(F! MS$+X0XL"?N*"?Z;;?WQ08,+Z6K6E.EGD [9EBT#'8:(():3]-*J:P*%#YI!H:%:<%R91+IMQZ0&,>U8CCEP]8[M3')?MK@[ MS\MW'UNO-.A)A(Z4,$W:)/&"&"A<::X^BOR$"J&I59WM!96'SLA#1.@X02LR M'*?%;BI4>JT[#$6F(0K=_D).JN52 [XZF7BZ1H:M"\14V[\$XWN<-:(;G>QH MMW6.HM28YV-+NT*<#GN)MG-\4_%)@I^QSK3/*I?T>4&0 06DT71:)70 W#,] MB/2G3)^7(JT8XT2OBW\;S]4D\[5#LP4G"0 .3(O;CF!#QW7HZ ?4C,>H"-+M MD%DNK>E+.8;FG;),IQE]H:9:CX4-&+1LIKK5>SH]F?)B+^4MFID+,%BUW/I" MH[ERB;PM.V,?&(G]H&Z!R?UV6-G!K.G0AGQWEAA=)A=;E*4;K0[5YX6/7@ND M'6OG%OU .H@,G"KT?LWRL[I5^UN/&F#.K5E*CQ[Z?4)VV+<9QYW+UO5@V.\T M+LJE1[6)^Q&PM%2<@\$&6HCR)F07.P7]5[92N.7=>@E0Y<.Z2#!4)#Y64=:E M*'3NW(QXE+T\1K/"==,;9:8,V6GF='DD._WNIIN;X %C+,0.?(-"K')" 4YJ MJ%FKU ^/*P?'AS8K9NQ4?>^ H"4Y;Q5V#C=C,ZL)NF/-,I7:X5&E=E3/5XEE MB/7I6(KB>O^ FTL*,&"%-H>^V)= )>18*VYZ=&)SS"3W/R3B\/#%6I&$":29 M.(I1_9Y$.[ZS3VON%RG0[WMC4BT)&<@6*Y<0XFS%6[Y9; ,%FOMG@%BBM1M) MH9"=D'J*8"^2A21CFGO'4+L\356%'I($Y D^G)+81V^,Q,(*M/A88X\55R\[ MG<\XW*43_R9@"<#E4L-5L"5(\NKTNI"0G-5*2JU"6P-,FA'R?E)1HUCESARS M4R_XB"HP-]*[<^P[30!3/@G M^WX2>%^2L8"('V&^R0[A!.GMV81ZR>3X0]D-: ]1RCEI9MB.3Q?"R33%3IUN M[*-0@4XFCTX&)30;^QX'L\&XW4FC'?RSV!4 -%YD5&Q%H,;(#5(0C[. HGP) M1[,0,K:YTQ.P1[5(TCE"-L%CG3EXY$M46,@3)CI"=(L%T"_3K0[4.TYP5Y"R&SWA18R@M?KI @P!*) M>=>&R6'K28VWQG@EW"]*.LX,LJ$T("\_G><-X'46".=G<9MBMQF&/K/9CRDM M)-RC3FXZ27R\\CW=W"R@.2L?I-5@E$\IZ=3 M5712D_>-B3PL#$9<"(3];;+%1!;9=4Z(-CW<6M\FK$EYMEY # 6AK.!0V^_6 MU3R\-TXC[438X-[H[ 9T0%V;;US'24D3#J7VK3#-61V!"C@!MLVCD)$'6A!FH/'F<]%&H0.= ,;M=)],C;1&.-0H M*R8H9A3U];9.Y1+V7BHT) 0VX@$ZHH=5-W$VG=&12=GY(J9_7>YEXZ[(<)$^ ML%!B4^O]T^TH!=-V6O?NQLRD0HMTXZC+,X22;+'P=;*.%YM>,_-LMM[2VS0 MMSVEUD@M[ZML))OV9@'MH4<1H$\RC'#;5"E2+A4&2>: C[AQ]Y3V2^S2,A4F MB-4.4+&R&U[\P9^@$7/1;?T0T]_$RXLH27>Z$1,>;_-5Q<*JT I^9[,5O$TO M7(*%M@/B*R1AFE?EC I# /*Z"@O0"P ]6HX3*T M]20SH!8/A [.& #6&9AS,2*;CF8V"?/2,.>&QWF/'!_I@LC+*-WFHTQ0%4BQ MNJE5;5:YW?[Q\;&X!'*9@UX.#PU2T%U2M.)-SWK8?"I%(X1S-!O\SK#;<@F) MU:T>X.0'5$7CD><#P=VL$K#%%Y1#)2X_-7-2RN_[+JJ\;EXT+"8ANOT&!@1% M<_C &WW9P>;"<4.HA6.&(*O"1$>D"^BO3?W,FXA;1%W0$=P/2M*8=QB[4*W# MR!:@KR*/,(H]A90%0. 1='@>O&4>9E!!%[6"0W#$&*$QQNST8D60]0M39KNW MQ!F!SH0D*<*,_/H $V-)>PZ[*[P6YNS0M+YS'RR7?I9(>MM." WM>S))BP : M]=G3?GT6)5(WS;/M&NLGKD!?;_Y7\# 58$M6F;=0-!?%E(!)W9AEO9FA[M=G MH@,?80-D"&:+62PGVHG0['=A_],4,%*9Q%HOL8I(5NBAH3T785%+)PL5&Q40 M[R.WU;8[$7JA#L^8:#.B>D5[7<;1+*0PC*X\)!LVR;RT4"5I60/ZD+1;4,]? MR)V%;-*$T2UKIL4.QXZ=8&OLUDOJT)ZB^ YFV>MB/2X]T=H=YD,:\3J*&B]\% M/+3NE'_PJ,33=?EO=D]K]OI7O7YCV!:MQK#QX*!=.V%>C^_6WZ_7YQ=+W;$L M_R>PYU 0[)#%N$C4C\+\C? :'?(\P+@B9:@P/PD M"I_\9H9[KV7X','3A9@#@>-56YU^NSGL]9T8W5K3@WL$P=]SZK.J:/<[3='H M=]N7C2$P@@$V8:9NNI2X1VZ!*'YZ)_^Y=WXI3J_[[]J# 17 2@];G1C7Y6F$ M'5;A'P8"R=,#01^0O'%Q(2ZJ BR"_GL P].][\9%XY+FM5RTNZ?-_WQZ[TX% M?N*XWL7+Q1J(9JMWV;M^=_[EBN\G#HEAI]L;GG^BSK.]J_>]K\V%V3R[;;GR MUZR#/U1 GNYJ#Z>(;)NFT;ELM:_:ES3^O-]^UQD,V_UV2UQ=GUZ@/&XV>]>7 M0P"(..N H?MU#>0?37(769 CQ4_R #VT!TWHSCPQC<5 7>^A<=IKL:@V[4CVJ[_QWC_FNSL[[; M5=_([=ZU+]O]QH5 KC9H7SQ=@^I4QF-?KC!_'Z, 7^1Q3^:,8HBS,9[>(>N[ M!Z*-I=@_*TITC+[.*+?YJ(-5+,>4MX&,=&_W@7GHW9W]MXB5FE?HM7L9B=EM M7#;>M?MKR>#W]8UAK]42C0_M_J<_'!OPE+#Z>@ 6?_LCZM"_B_,,G3M]Q VMT^0;X&%W[AHB?->_[*=6[>ZTN+I';=YWNA?M ?B?7O8/+_NBDZG Z?^ MMQXVU< 9V9@:^MK\! =.Q9'_=.__LM,\[UTT!J+;Z _@+YV!^/W*=EU]^N^]ZWT"4%?3ZAT_WX!3:Z?>&Z.\=C.'"?4?< M/]UC]WNG[3ZLU3R_;'=:Q ;R4/-KW24R#SES =63A<;PO-<%<3 8]J__TWDO M?NY7 1X7..84SHRIZPKX0;1P.,33@\'[]H?.I1A<7P%G)/KO.(VM!GJFZ)/% M@%;[\A+4@(^-?O<:8YW=0N*<(Q&?+@B:_4;GG0!;8(C!_;_(#Q[*FW@OIN2P MW[@Z#?Z]UMK#%"-@D6&J4+44+2C.\*) ?(1,++NZS/U M@YKH1RM,434NF'O:OPPI5[?;$+7=VF[]OM8]KM5V#G9W=PX/]P_N*\U')Q2- M_$P]>[M<+JMC%_CXK_O:_4-@9=[J?*TN_O23^-CO#(?M2_C-OZ_;@^&C%,1C MYY6%;0>:=S_4S0JYJ"6 ;^V\+Y?&..-7B6BDF]&,5F(9X[R(D!K@*"ZNI#Z\ M)MT05X:37RG,9L;YU+ Z'@KS%HO)U16JKHE/%A%,JE!&!5 MRB4*<]1W:SNUH_WC>TIHO._K_K[:]]4>G[U@@DM[*#J79[U^EP:R/LXH!:>_ MSO\D^+> P@38!R?%3'6; M4G/T&;<5Q#1STU,_U^?#B!JF8=?YO.79KYF,4]TQ3Z5 MBS&L6@#C_.VLT> O?R7\_VGOW%[W!MT0,$M]?QZ:[H]GT!ZV$.X<;C[MKS]EW" M\9]+,;B;:"SIOLA/^! $I+^S5W^<[]3_PG<>YA[//=.?^RN4HW>___\52!?1 M\EMA=/#7]_XM(-K]IX'HGXA'_S@@W8%'?Y9!_I.UBONLEJ%^'?]F57)+I/OS M^F[UU;ZC.Z'[\8, 8OOX7^T[0FB$V/_._[X]J8(F-FX;^]NK[CZ(UK-U MV%ZO'GQG?P"'@VI]_SM"$$+4ZM_9W[<;PE&&P>EMXW^@_AU\1W>2]OL/8O9M M&__;K>[N?4>(===(T4;ZMJRWH1>H1%RJI>A' 3;1HQ]4Q+>6?SU(D@]%>]V) MRMQ<,>\$Z"5)1MU!)]AH/Z76LY@'23E5]'8AIH^]Y_K( -5@\J)U418NGU!2&\CBKYAO[RFIS:C", M@Q2ITV0H Q[89T,]=]U&A00[F4?VBD0H5C?;%_^C+4)_#2M2]Y M..@\27@0^6ZE5JM5Q64DQC*9BRC6^0@X;V"B<. U-?&C&8\3A;VT ?23O.D] MSRN)GM ["ZOZ%YW5]I/'C::_1;;I3I%'8-5&); MJU&"<#$A#W7WMPFGD\*52 'SUAQR;\*++% J=$8C(/,Q*6V0CWQMS:_Y%[-W"GOS5#DKB"8]4#G$&G7"/E*CXEMOM%]N:-=L]O,:^ M\L9SV!?G&X."@-?&FN1H7WD2Q@XW-%#7A)[QG_ MFGF)YP[\&&L%@PY^ 5^4P(3'<93H$AM02G9KM=V*_;C[$E8J^J1C8$X?/OLS MW !V(H1WCJKETE7L1;%-MH_7R9,0-R#\P5T-5_0RA7S\Y.418P9\G10"A M%MOL$5)T"KC/;>E-B7 B7G:ZS5?8??LY7 @J._CKT&= PG,8U#66G # T$- M-B9H(=ZG(-,)\Q7V:,9IHC22PAT9[6*1(3[62WG\$ ^-3&A B1DR.W'?8GI, MO,\I*I;44A@G0)9+9KIC/B ]B'1O>ZZ!9EJK(I[H<5)%0#')TXYSQ=A2'W6K M[D;1S% 4TIJ,87_8%,7IAUS!#L?87IXL"^^S9@#K"(I+6?RD!N,XJ +- &_B M 16 1N3-86E\3KROOJ_:2:UPNG,/=IID-X OW)O-#R,+V&@%@/;"0T4J\Z;P]HPF=6+0XD[_! MQ;YYW7G[&-3D8@1.1R%\.)5 TJAT8Y;VF-DX[-BMI2,>>"H!;-,TI#EX &B>BJ8'*)A4^HN+9J%I)8$2HS,N#0+4>*J\R:R' MGX/^:1=9KNVS?(MY8)KPU!MJSMXTI\@PZFH4'YMJ[1DU.)>,+85J@5VF@L4P'KG MUIK85#;^76SR0?1]U[98C:79JXM%Y-'DS<);KH\,']58\D6+B'14E$F8<+[U M#'GSRD'C!\ $44+0085N+ %O8K*-Y,PH\&O38EQ$:.5# YUA+!.Z:D]/YM*V M$_M=T6&(/[R%HS"W#@#99M),-=-3BGFJ#*NBRDZNH#$S-'DV47:DCY[B1 Y, M=^JX.QY$SZRG(9)<-\6# O7TG,I=&^--T"@^JPI5G*&#K);2,)0L7I]X_O1P MA=RZ0$P+G**%P]@0.J#>23!D:2I2N8338I@P=2]8.Z!M$6&%K*98NQK/I/-7 M>O2\&3 *JB;/?=.6NV]IEI99&<"C*8&3CV@5NC /=7]KR&MFZ*-&#!A("'*W M*Y5[ 2 65P%@^09IZCQ\A>:FR=CRD%3)@&T8HA/8N)Y/+F-?Y)2Z_$&)T*4XU!B+Q%XVV L0M@4(GH#'KBI%:K M5^AO]?T:NFUA_8;!TG+)/"P:@Y/Z0WM!_Q[6Q5X 2Z(L;1 )B&/9\3B-";4\ M68EW<90M[""VZP$V1=$D_\'R(K=M".-P V"_ CDEFCRYZN6@\:'3:+ZRT:$[ MEBF7VI_UB%5\O/VJ"MN8>'R1:(3.71P3:0:RQC"4<93%Q-R8LT0T-%S5S=;59O0I0W,LGB"$N%.Q051Q+*6.< MZVJ'5R%\[=@CPB<]+U9CP)W,O_)5[F^8B.NJBH!!!*;K",]\HQTQ2^&1E;PA MY.L-#\"+\H58J1L!_1O04X2QE[\B(]:DPSMYRR0FL2 P] MX*"Y8 5,F6PWPZ)!OM&H8AU<(9!QT(6X,YHZUC^%J+X64[E[9@A\H%SJ9GZ* M*L5(G'F^]N%I[8*'%-)\SC%(V&2:H5A>CZM0](.VBOY&?\7M",C"EW:_ZM>, M;'S,S:B*_)O&UTM^<,?5RR$3VBS(JALVWNS@/> VM_@#=K!_=A6".8ZRI8G= M9HKC7((*-%89I4/B[-I(.S-S\6=&LV^_D*!8"ES +FK<\."YSI.$/:SX[YHRJ4%M+7T5IA43V# 2$V*F2=HG0,4 MU$XT7NW?C1<)X4"[E'NV<5XC&;?39MA]\^9]HXLEQ;J91 MZ,T$2FG&KL>O22\>QW(*YN;GU0SDNHZN5H4)_.WSIFHG9$KP7BC\LNDHZQ7# MVG!)X1JO>Z="0E:CFF)2W%UA+O&R&8WFJ,-Z2>+T5:1C<.BI7-(,"=$AUQD, M>EG%F@T==/93 IJ\U2UQ#%,I@)KF$FM=6+K1@[S'*2%G$_X-;%+B!'+2F=LQ M&%'TK4^@M,Q 1X(;UXX%]);N;SV2NF#2H2MTXMT1O,)9Y,8E[(SEW(AG#:(, ME7]XR/>],(+%7!,CY/6[IPU+L6AU.A'S.FE5G()92KPB=@T5T*& ]&E M F/))B@@F9BT_(%'T6(;I, F$QS%#>@SWOYPV-_^B1$8&?<6'P)M>'VZX*.D M0KIJ\+9?%U)OTP>6Q_8?1IVKC:J)W=P1\:$@Z94*PV3EWTJ>G ZTYU!^MTI+ MV'<_@BZ'?!R;0T<^]\;*B;;)+%@9C;C@G*58B9,SULK"L%P:>D#,&)$%[0!6 MP2247"SMZGP4K4/QV5#7R+6D-0&5*U)WRL\K^%&JW3 7$N\\K:"MSGE$M/0B MBT&%3;3-"ZQKZ84['S&517YMVO?VH8BY%P4:?+3*V66*-V(4?2=F09:3U?8P M1_R.8!A2CB'S6!*KC7;+5K_.QMDCGJ0;YK/?![1<+>D(JXNFM6*36BY.T_R MZT:A"\=R:0V0W.?3Y+I,F5:.#S2MU*L@C]D F3, \"['[+/49Z'KZ1A;SNTA M>([1#:1J /C6([MF(T='#!I$OR(;*3(/XH9YB,DHF2Y*FYP]RZ*.]GCMHZ.* M ;>E)^ ?^EV9%))-\F_HE'>=T&C\K#;IG>8KH:%OFA':[QX>Z^_NK9_)_3RA M6_6L*MZ!R1VC*T$'OK;^:O,S%QPOL@AGA:P\Q/!O-R,+LQ/J\2X6$,@EX U^ M/5;(_-@J**QD^E:+H4QNF!6@D<+^'W3XQ.2,T??(M#^DL%$HVA@L!$E';UG) M" 8TV!(;_+,8HAOBLM9#"H]\5)C[%=I2APHOL\%B&'WPYR8?P8AFS5 W7N-> MW/;-2T_.9"SM=E&[EIMO-1H-=UO$U. T:/V9+5;7\-/AK("A[S#+(P0@OU,1 M#ABXDJF\\=BOS4J\3AXT0#!42=K\6O**+0#)0Q=5T3>7.U?V?HTZ X1FF/@P M!M12>:74G8$0<0:[X,J1OY."[EOQWICV_.B:MR,.-P9,/P56U1VWHC#*9G-0 M@.:1^"6B8H*U-!@/F(1.#JH!6R08/BH_Q&N,78Q)3E[.!S0YV- /JOY@ M4[N:OZ9H![&!32WA"ECS _&XRY:T50QM$@7\.F]X'N0:$)"*B2.O,Z:U1.]B MF!EIF+.[EK#,:F>*R@^KEW8' $D5)O@+QSWOA6O%%TZ-!8!EX=OHIJ#<(;!@ M4@S5HV\<_=2X:_*-:0\:^F)[.)AT*!/N/R MVHBP%9=D-Q$;&>0HHJF>3T+D6CQF[ P*Z6[F[BE;),W#@RA]OHS&21X<9(T6 M_4GD!4[5'[WZE)CP^J#Y1^'!7QQEO_VH.H@6-WGF@HT^.-PD 5T-5,,\/)C. M/UGC3/+% MQS9K(0P&.;A7!;T!XS";E,4!FF3ND9G[X8H!VZU82)9+A> U:"1+>(9*S;D5 M/ZDGS^OU6H!73(H!UH\%6X^VG'0?XL TFW:PEK2NX8^QX'729FU'^VA>@AIR MO%,_.3EZY>+U.-J9HDFBR/>ZB-5<*TUYON(@\C-&'1X;(]>5QL'../1 M[T6N=@9X,^5CFL2ZK4>._!))E;J[K,)4;"CR30V_W>XMNMY=36U8,&[SU+[\ M^X747YPC$N:.*9O]RM8;.^W1V5@5Q0.1PP#5Y70>D7GW&OX =-4_B$*;TY G MJ3WFG18_XY85F3V\/NVU/E$?F_-A]^+M_P%02P,$% @ [GT"3WN=5B]^ M!P IA\ !L !C96\S,#)C97)T:69I8V%T:6]N,C Q.2YH=&W=6>]OXD83 M_H[$_[!">JM$,B&02]4F%(F T]#F#1$XU=W'Q5[#-L;+>6T(_>O?9W;M0 C) MT2N7]YH["<+^F)F=>>:96;MYY?WWNE4N-:_<=A??C/XUO9YW[;::-?N-V5H^ MW;SH=S^QH??IVOVE$JHX/6/UXUG*/#D5FMV(!1NH*8\=.^"PH4AD6,%&;+TM M]DUY,I;Q&3NN0,7MQN2N0L_9HQC[_^A4QN-FL7^S%GJQ&5U@_Q2,_.]Z+!&%_(^R96^W"5 M2*#GLG_CK4NMAGPJH^79ER(. SONP.M=]CIMK]>_L7:2-)HJE_J7K'/5SDN)$;6RX-VX.+]HT[K/8_7KN?"CL;Q\>-O9FY5P#ODJ=YFO:,$)5.ENRW M(S94LWOEP$L)[2B7T@E/S_XE69O35.,EGJJTZD>LQR9\+E@BYE(L1,#2B=2, MQW'&(PS.5)*62RIFERJ90GOU=Z9"YO%EI!+6Q1Z?%/=B_^BM3'Y3_S2.V 77 M\ H\,%VR^U@M(A&,A6/=5/@G4- 7JY3Y,(++&/Y;LBQ.DTPPG?)43 $PI JN^[9@EC P9HG2UHRY?<"BM=D:HP%PBF7H!.F3XP2 M6N'+Q,^F6!=C/TP)1,(6$^E/F,[H8R5@(1)AI9@33*6.! ]D/&8+F4YP1#T3 MOK&0Y,Y@FPIPSCFV!6RT-(XHEZPGWB4&3E[!@&"AC.%CQ*M<6CG5 0"P'O/) M:@&3<8@DXJF$(!G[419 * *W!B4'49=)M&0S^)TP0UB*HA4H\G#HI[H)=X$D MP0Z%0F<15@ )"N$R^K0QR.=ZPL)(+70!DT2,I4X3#DVB$.SMWX:V%_VIZ3J'EN(D )&F;N&'!M(,N8% M3>R9HM!(+I=R32$TT4DW\03E5%GV4RS?&",OMO:5%K5L7:$Q"#\9,MT2Q7+I M:1@=8GJ?9_J5/9N1!^..!"*2J[(B8(JPHIM M$A%Q$^.E!2Q*P4;85"[-.-#E9Q$G5L/!C!6K0H(MMBRML0II&@E:"-[!?A&\ M05C?##ZC3?ALS=!R:4N*/D/1[LF],Y@ P+D,!)41KE7,B<>X!L"HDR#@\"0H M8@A823Z2D4R75%"VZ25,FW";2%HT/EFZUHD8NGRP)P)PLF0&+&E3 GU?)8&Q MP#0E8Q&CL$5 %&;$C+!*2]!Q6=0 TW(&QGI/N/$/F3OG468RDUPJPA"=@)S# M%[HHZ!2V9V5K!ZZQ/[<7>0,3; 1-:-M*C%26OF+"E_4YMMNP,JA3"E]I+@LS M1D439J OK"]@T#D)?T>!#D 0UH//0T'WBJ(!,%-;^Y2_00M4,Y3O9PDY?(V> MMTB=*IUBG)X70);V*4D_9Z!WR#YX84\(["!?[7)6K,XM1SLJS*4H?GK?/+1F M3;A^+&>4Z09K(C D:#R2\Q,NY9&\%U%^1=K8X/QC)^T;7]]5LWOZU6H0 M%$!U5NE)=+&.E56F4K!W=KN3-RM;*8VC8TE5HA_KBQF S"ENTZDPL-JR;:10 MO6@ND##."#@ FL [FH@-W]0S%3D@/F<2MN,,J,99[)N+U.%[[&?;N&)29R 1 M8.K=Z1K@2X&(V-I0+CU>0!>"WQ/;V\),;K)-A7F445PW_U:@\P;07IZ*G&:K ME.8!-FI!>6Y3^J6,+EH1[$%TT3 XMN1HN$1G4[A#_B4,8G(VW7HUWV>Z?R\E M!3UG&Y4C3) F#OPMS),)1,P\\0;\W'^Z"K)GV:(Z2Q2 M2X'9Q419#N!/H(-("_;5I:EXD 18'/W?2WICS\^7&_;Y\H96KWUQ[;*.>WT] MO&UW>C>__E(YKIC?M^UNM_B=6[:003HA%QS_YQQLEJ"+K_HJBOA,BS-6_$6O MOYK>H-@T)PI'_2VL2]6LDK]X:WK=#=&G/T'RC ?4Y%>Q\HS].$M7(R.5IFI* M9_GIE,9W==57O]BQ*JH:J6M#7VEU =@SUL[&\#)K.*QQ7/^Y>--3\[HO'NU# MX[L_6O.N5=.US=D-. M)$([5-AI]OX#.H HHH1*:]/#-AOWH0+".Q,I0N8^"#^CNQ'KV[Z)=#P)3@FX2,:8ACL:$#:GYN-BKV'OS*Z[7B?Q_?J;M7&3<$F*+DE;50T1 MQK,[;\\^,[NV<>Y^F W+)>/<-L=X!?UGN%-W9@^-9G[%T>9^V!C-QY?@N)P%#O":[F@!@Z5+*B@(JHN"KT=D1O&^]"JH(O% MP>"Q1@?PV

6Y M[66,^U3;:S5ZC&=1+E9+9V5BUNXP:C@-JU$N.;:EPX9VM]>J@>F .9XO M7'L,=^<7D\Y:;^&IY7F]Z!%)]]P&QUR.S O;J<\_SNS+=KAE'L- MJ+[YE @UT!J6V$6$I[G@! 2'B9 [#+K^!S):9E8#%GLDA)02"12#\.$#2:'; MKB&Z[3-0 M9Z4H@#620.]1+)%*-QN42X#_:-MR5\DSG;L3AFZ$7_2R!KD:C, MAT\4A2V5%&.NHL 8+1'-/*QEELT^1$PA0T^H;0J_-\ 1T=^B!M:6T0 ]H6O% MKBC,@P 3EAJ".VG6D$Q20UJ#*)%Q0KC2X6/ "H/*UU$S.=?"$B!R33B-Z_.; MD*9@>AFFFE,UK)1\?EXNA8U]M:@M4?U'&=%Y849TWD@#*.!;@C&:NPTA5AG/KE$N,9-@7<,O*.J5N!!HRE,<* M0=/TU^W2I_C3O]<[-9+8E2(1T_C("OAQ<'UJDW]YIT\[<,W1S ;+GLVNAY8CX/N.;.L[LP]M(W4K60BFQTYO :4_+ MC]UC7O*H.T9F]\%,-L@=Z.3G@OU1%Y^"QX^F=OK=9S9*^\8"8[ M$] >@P3C?JFJKGKJJ6K[^L[_V&M5*]=WGMO!7T;_KOVNW_-:UZ?V+V9/B^GK MFW[G,QOZGWO>K[5()=DE:YS-,N;+J=#L7BS80$UYXM@!APU%*J,:-F+K0[EO MRM.Q3"[960TJ'K8F]Q5ZQ9[$V)^3"YEH\EF-,_#?7F8R6Q:!,0D&B MZV8E5-^TO"\3.9(9.V\<27E\?7IS&'N>M:+6^F:QQSEF=-3X<\6-8P?P[ MCPV]]J=!U^]ZPVK%^[U]Y][_YC&W[=-\XY?S#\[KF^D.F=OI/_A>AZU;#,O( MH>S\K%D86ZT,W<&->^\-Z_W?>][GTL[FV5GS8&8>%,#[)&J1IUV'?>3I(_O/ M"?L8=%2B\O'$@9M2VE*M9!.>7?Z?I&U!5,V7F*K6:IRP+IOPN6"IF$NQ$"'+ M)E(SGB0YCS$X4VE6K:B$W:IT"NWU?S,5,9\O8Y6R#O8$I+B;!"=O9?*;^J=Y MPFZXAE?@@>F2/29J$8MP+!SKIM(_H8*^1&4L@!%<)O#?DN5)EN:"Z8QG8@J$ MD>,XE"/=)'P;\0!#*5-35(1,V74["Q(!!VN>+FG)E#\**%Z3J3$6"J=:@4Z8 M/C%*:$4@TR"?8EV"_3 E%"E;3&0P83JG7RL!"Y$**\6<8"IU+'@HDS%;R&R" M(^J9"(R%)'<&VU2(<\ZQ+62CI7%$M6(]\2XQ-00'7$Q;%:J%+F*1B+'66\RWA].F+_AFI]T$EJ-8D >9 !Y& ML=03RB5:-@4S$#O0*D\A !DYEYH2G5:)Q,BAGN2)(J@6K'@F%3$W M,2[X>Q4FI^ @FI2@"QBC52Q#GAE+1UJ&DJ>23B!MF3'4EY"D7!/SFZ30IDP8 M6E!:P*(,/(1-U(QK (QZ" (.3\,RAH"5 MY",9RVQ)I>0YO81I$VX328O&C:5K/8BARR_V1 !.GLZ )6V*7Q"H-#06F'9D M+!*4M!B(PHR8$59I"7HMBQI@6L[ 6.\)-\$Q\^8\SDUFDDM%%*$'D'/X0I>E MG,*V5K#V8!G[^'QA-P#!1A"$MNW#2.79B\K7U%4K+^AS;(=A95!W%'VEH2S- M&)6-EP&]L%Z 05#\P,N.32._E:-[,5W-++F74!8 M0M%9)2 1PCHR5KE( =[;XJ808@;8K;<28,B#;.,5*H M1C0:2AADMAX!-6 3372%O]0#E?@6?^02]AI$YTE@;D3'[[$]=7%7I$(O$5-J MQ:FK#Z1 $"SA5RM/-\F%X(]$X;;.&A(W/8)Y)U'>&_]2;(M^SMZ%ME*7PLY# M;-0FCVWF[B9NV5-@-<**RN_8"J+A#)U/X0CY/V% 4I#CL[?K0V;UWZ5"H'ET M40BB%)GAP-/")#)B95[:%$%U[/M)^&*NXKD@=DWXN'C[E!;)+Z:S6"T%9A<3 M91.>;X &,1;LARK-R8L.:1[XI6W3OK3="H/OWO0\UO9ZO>&#V^[>__9K[:QF MGA_<3J=\+BQ;R#";4*S._G$%7DG1']<#%<=\IL4E*_]''Y6N_4&Y:4X,BHI7 M6I>I6:WXG'7M=[9$7UQ \HR'U#[7L?*2_3S+5B,CE65J2F?YUP6-[^NJ[_Y: M8E74-7+)8K36Z@!!E\S-Q_ R:SJL>=;XI?Q\&0- MF&\NE/L?:'\G'?+HI_IT]XW_^MGQ:_ ]T7^-8Y= ?RXDY9Z47@1OR8E%9(=* M.\W>'Z KB"+*JK6><=W#@71 >GLB1<1NGRBF;[N5 ^K S[9S'S;C?FKHI/4: M;+;-7-_^<'U*7\3M)W+ZDOXG4$L#!!0 ( .Y] D^I@QU_N@P -$U ; M 9&5S8W)I<'1I;VYO9G-E8W5R:71I97,N:'1M[5MM;QLW$OXN0/^!*-I< M#&QLV4V MO$%]OSO_YS;+(JY_4\:RLU)7-C%=OS5:]+S*=1_)%I.;&V>4W&(BA ME\VX3+N5S7]2LV^PQ.7H89CTY+Y)GZO>-(_RA2^?WS79T4?.>'Z]M@M;J:>/ M-_;@[HF?'C[]B*F?J\I<5T]T:E?X&)N\,N[3*[!_E=?G\U?O+RZO+MZ]5>]^ M5N_/_W4QOWI_]O;JD?-_UL7SN9J?O_KM_<75Q?G\KY;EK]7XC]I7=KF#@UV\ MN%H;M2S2M-C:?*5\G6',3B7&Q\Z6E2UR52RGDPIO>1/7SE86"UJO\J)2<9&5 MJ:F,TGE"W_U98X&E-?B0*UMY!6VL,]5.+7;*F:5Q)H^-J@I5U$Z],@Y2V%AC M@F*I+O*X<&7A-"T:\1LO=T]2O?71=$(+Z+),\?8B-:ITQ<9ZO.=I) E')OB] MWAZ='%G0'T2@WZF?:--TW6U+IS]'ZP=Z])6.E6^ M*N(/C45>87-TOIM.8IC)^HI-]4,TF\WHO_)K[0Q_AQ9T9%:<:44@NL]8;HPR!@W)B M,@[GJG)V45?&'ZIS':_5ND@3N,EH8L(5@I$JA7L1:]3RHI&.-8^+C.ZA10 MLN&UR0I!$> <*6Q2$Q/03">8,P'DQ55!$YY!50CDZ[2*^,5FC;[KK'<'D.S /2L++90!.+S:DIC7WI+$20@2[DZFTX&^@84IG* MC&$UR(B,#WBH ]IC=W:-V2PID.D_ #1 \69[1;#^KH@]R1BZFDYD< 3-2[Q( M*8TS D# TPJ.T@$@_'IWJ"ZP7)";%@OOB['TDJV%B.#] Q&20>Y1J>1,M>Q032%'8^U9WEB)#&-[U@JU60PN*-F MAT"8^1I>J+TL:-R*7-RIU&+!I#5Y#[ C>BQ1E(K*%(#LP>0:E<7GG7PY&!>V M%AOFO:DH:6YMM2;O*\E=H/IV;>-UI.J<%&./^O@T&K46&9@-&[IOQS@>.D>O MML63:FU=XAN][G2E9H,B2&[PD0U',3G<;]7;;H18+_I+0XP]A$=U&/ M1BG?:7J+=O1]WQ_=/I4@@.CT,5H\E-PQKQ=_!. AH9V)[$;(%H./X/-(;66E&,!S@9YJ>>Q+POM$G;3UPV6$@C3 M2LN:)DC-2@)NHVW*Y)/VT!!.8,JHS0 ;\K<01;W@CB"+]T5:2Z0[!9K-Z%Z7 MX[AG3V%%%3P12^UHI>%E5.K%S9E@OY@'.B*;,W; MG!>4'$Q6]?YI,SY5&PWT>6__X:7C5 H@8X0N2I*]+@2D""VMP .XIR M8K7P24Z5'HM"FJ4K,E5!#D9/^DD0AM\35-PN0W:.;OBJ\&$>'W$!CCH>H@8D MU!H AU<6P7IY.FAH'(@YSTM"5 M2(^%4<@B*3E30^(:]AE;AQ*%Z&%,.Z^9M8-L%#Q-IGGS;"7^E5CPF!@E"9%= M; )5ZZ OV)H5SX6P<,6870[,W1*C\,Y-@>^$Q[]_0'].4+Q,=?[E0^ 9._8< M%9+)%O#,DV>1.ID=_Q#UG>@??B_?TDE1,@D>5%X!HTJ8)\"8Z> /7FI<')A MG2^U!1W2'TRQ(5Y$M5;UC9)U.5H%+W>/O!:+=,48H7J5T M5EJ8P];!;UU1E9+UFLALD/91FE#I(7O^R/&' Y1HA@/2AU9((J';0&3;Q!!6 M.&:_CREK\(RC9LCXS0/%S1'=EGEQ6G#Y.ITLFCH/[[[#=O#>R=:%MLP6.C;+ M!*[M>T WAJ+$+"WM%,R:V% "PUJ+>L=)3DK HO;8G&J-'/#X^.AD-IL=2'&? MFRW17H'#5I>A"\TE/YZI?]>YA=Z7@"\;VU(S%H]QOK%\.VKT0K<7W"PI:Q>O MJ;:7?<;BWSX[G,VX"XKE.,7LT4.DEPZG"H&-VI7L1_TF2MQ.)T:28:^',FZ_ M2M%.?K\^)T:*&0/8(9JWSU(3. M7(W]3%F>, [!!9FG$R8?PU(+KR],7("'F&N*/<_%4-LO:7WK-D-_X2GAJC/2 M'C-@DUO/$7,PQMUPQL)QQ7A+WA[&;)%3*"S!I0[(,:5Y%D L4;RUQ[-[5U#*;65URUL3 M;A/R>PN3 R]B2UQBFPN)PJ/4:%_)XGYBR2^ KAEK=16JV=@0N2F3IHWE-8C%@/)5QP^Q+T0'KAS-/<%>,R6X=>GC.X6#S49AW,$2E>K14S5SY+:DX-O\;"_;%PEFR(8:)0J*BH(4#N'76#I1+@ MZS1TY-X6(&G2?7M8(4.5/M' 7K-?SOHX',1&TTDN1H+O)B:%HSJAE_TL&0ZP MVMJ9ZEN,<.2B5:C4>O9=T&F1X1;$(%.&!@7%<7,6CT]@Y377#S*KW,V2$!HD M7\IG8:>H!D^WC0\EQ-;1Y2SQ M8>,K[AR,#E.:>UVWW $:7R'YZO;WN[TXA#IK[LL\+#<.8CKROZ'7W7%YZ6,N^H"D]Z0%!2ON$_F.0T+?W;:1[O$=PP>G%U_( MGG_BR1 ^ZZ[98O ?M4<.%G#%SY96'R."/BO7)?I^<(\L,$?CT_&U_S@?K?> M\Q-NX\R*;KY"HI8;Q9V)Y!1A97+C^)(4Z"O_88B7.A$D"V#>G.0TYT7-"5$[ M#&6'[WK374L8$Q9;K@-/AFUHK7KW]=I+??V[L^%@WDMKFLM:DZ_TBL_!J7C< MITVX,2D7"CIK$*5>$C!0\\J'NU?,S>0D0)C\K>J&XQ;N=CUJ9!-;)%'@>OL6Z#I)/9$)3%A?<[NVQ-!9J+V6L*UHR?B:X\V;RGUK M,^*-][##G5N4@(EM=YF6#EJG$SF!"ZR6TI-GS\Y,U0+6_7\Y=41_DB5_HT5_ MRO5_4$L#!!0 ( .Y] D_?:+80YPX *"H 1 =&%Y9"TR,#$Y,#4S M,2YXUZ[1C.W9&LXZEVDIO+QV(A&0T M)*""I"WUU^\!>" P#DDY>S#0;=] M>( (L[A-V>3#P9>'UL7#5:]W@'[\X3__1O#?^7];+71#B6.?H8_<:O78F'^/ M[K!+SM GPHC /A??HY^Q$\@4?D,=(M 5=Z<.\0EDA#6=H9/VXE9I_/\_-QF_ D_<_'5:UN\FKH''_N!E^@ZG!U&_U4K_IEZ M5E+XV_]-3I[?S^[IKY,^^RZXPNS:>\!'GX@U\&>___SMT6_.I7=D=T>_N_AV M?A$<_WOXZ^_O[3;5CEN6<]$AMI1N;&H)CD;"2=6?=R1V2/LD40SY%*#/&6> MCYF5D[?]I$!6^*039N9$::GHNU"4QJ(V*]HZ[+:.N[%X MX+4F&$^3(F/LC93J**.DB"=\71P2RT5;_GQ*O-("859),<89"]QR*&U?=&2Y M#@BU0(H(:B7EEA?*%_#QW$Y*P!\.%S9YHA:1 \-5+3L\D>TB#G$)\V^X<#^2 M,0X<@."O #MT3(E]@'PL)L277=V;8HM441D/&LP8A[$%PSM*D6G3*87! PG_ M.I>][$QPAPRA_4C^@#%MJ$!*=*XX3$X'B()QX4^I"A0K93894T95C=$8[J*6 M'+&!-!%^JB+GG:)P1D7@$;O/?E"_IX)X4$Z9< L)4<%(9$$A"SM6X-0KDS:E MM$B4$$.U.GB7V)'#].&1$-\+0;T3^NCCYZDU/\S?ZRD0#F]<<]6,>X)&2A)-V,_EL3 M^JDVQ,_QQN'/GLY'FF6FX5UU&J1*I'3N,?J!ZV(QA_Y.)PQ65Q9F_H5E\8#YL+D: M '(6)3$=U63-_+R7:Q_8G3C<"P2!/[IM%"E60R-5C5+=*%9^MK],16AX]\0B M] F/G.BA49)N9N"[(@-'[1AJ#Z5:]ACJ'GL">[B('@OIGV9@3XO 'K=14G:/ MX;SBGN]=,/O:\ZDKY^%K+!B,:J_/OLA5B?*ZV#!1^P);\1:@;B$C-=W#(C5O MVTC5@#"S45('BBM!G*%,-2BI9X]I_(PI\PF3*WK@I0_K>%$8*$8),T'=(D$G M;911IVA2"IL1!50,!)\2X<_E^(#EXU0N:4(*2G/,T!\5H7_71K&:<'C$BO88 M\8='+AUH1+B77 C^+">):%54EF-&_+B(^'M8 RDU0U"#4CU[#/@MF6 'NJ%% MB)V"K:6:@7Y;!/J[-E(J4$;''H/\@)UD<:]^FN$\*<)Y"OU6EMMC"$._RA#/ M8B"S"68XWVE;H<-VY*=!JOP>PQHOQ 9$7''7Y>SA$8MHQ[,@SPRVON^$C6>R MW!N$\3_0A92R/4;^GCAR*3S \/@?"LP\6/9"I5'O7IAK1E_;],N;$YC9:%#$L7JD-2W MQQ0H-/I369%$(G%&%E*-@!]I.\XN;#E#G$,E"N5][ND#0<9$"&(K5.+M2R[- M#+&V9^R>R)U+I"$$>X_Q'0J" 9AY!MY\DAE=;5O8A7UAK&#OP;TG/A4JE)#. MS84T,[S:'K#[7CX18PW[/@??8"K4ZTO]\0V5+B"*G1[S?*%>FHBFY&5"9@:T MS6$7=H=29?C>E(Q&)%I11NT>LY($X>2[9L)5C8S'E9HL"]U5N66K8OSS1SH&^K%CJN&AT[/G<)"O#^^L+GJH?+;"EA[8&%[ M401XR.\)+ <# MM>/@G;])'XF#KQHV(M%68VM7UX6)ETC<35A=]L1!4F86N? MHZA.E*D4O8FJW6/&(U@BUECB14\_O\A^;Y9C>K6B9H:UO7],6\PTRSCZ,Y^( MY#Y?:WBMPFNX'$O^KDGM@M)&=M]JGH**[$8KQ_1;H8;@BG[J"*<[+ 28\43J M>*RULF9R]1!_3=]U5!]**MQC=A D\8"3C <\R'C MK;AJ9"5U-SUAG7#'.OS78%WSLJS&>D/UBE0_\_79+N@P$Z[Y=%8D_)DWI%<. M>>7HK2QM)E)S#!5C7US%OFCS8%YSC);O0-958B97\Q.M$9%N=B751FHYS[5* MF$G57$.5 M8-?15BU[D)=JF4D:83S<>3"V*36&,SGYI8*1],E23-[&A.&M-; M!LW8,7]4OL"Y5D72S)+FG%GXT7E#DO96R.7\,_Z3BZO \[E+A"R?F]^6"9FI MT5PW2AT:S9$K%2(KTHCDF9K-]!9QLF"DE&:9\=?\+)FW=YJAL/A%GH+/LCS3 M#+WF[,B^T(.&S?,\CKS!/M^B#L5A^#L!6YT3+9>E][#Y&/+K\9A8LI?*/PO1 MMS4TF#G4_!?YNF2@AH:L^GB&O+@^!..)R"@ZB:L,4QJZ.W M2;:K(9LF 3-9FH\"5"$[_F96$H25MH:&W'Q7_K Q"9AIT ]$T%]F;!X]E=YK MS V,"G)F8C2/0.+/@?V,#*7(]QL]J;39;2X]LZ)\U%07-U+U3C]B8=F9%LV8 M6OIR:GY;8Y(PDZ,Y!4(^HA?JIE);,X!*F/#NN>/<\&*B(/CI,>LQD1%O66CIMZ*LQDZLX"?6 5&>9I ME:''-*VT85QG?(%G89F4F3?]\Y5%;^XWSZA%AP0M3L-+K+ 3 M?VF4^3 HOURH)FOF2/,H9+4B2WZ>- :]B*:*7^.S7_XC;XF[)V.D;I<[DT&3 M#P<>E2]B'$1ICS#!?SB0UY&UXAO"_@#3VC/7B46D:L/MPKL%A>KS&K-63E5N0ZG_I:2,PEV.]K]=ILP?B/ M5JJE=G\I7J]:J:O$A<)N(B]<7:/'EM_7NF([EO37Z+95M1:5CY(_Y*5IO@C4 M8=P/A'HNM7ZAS/Y,W)&\YU0V6[YN:Q:BCB,=3*!2!/)1(*_K/8-'!.7V4#W) M[$ H,PY0^&0+KZ$]L[F+*>OYQ)5B8',P\N )$DC13X('TP\'H2X*(B8K+HC@ M"ET9*F4>R3=_8>Z+M[O'[ "0I=C)M[@D_<7;JL)KE_"PLN473H"CJDVE>A>! M_\@%_9O87YA-1-%_=CF/?)]D %,'N<=L0H;//&_S%O6_.NQ@+4BVBUZNAM>& MWPT/Q%;ARU7PZM"C3]OM?+D*7AMZ#W2V5?"R^E\==O*\A^VBEZOAM>%W32>/ M_E;QR]?PVO"[HVR[,U^N@M>&WG#+8W?XFD>NL_6IKU#%:T.PO^6AV]^ED9M& MAT[;ZO.&"U D/TF-C3<(X.A7W/KZUH024^%KV\\ MJ=\;DIE_Z:C[;R)^:Q=;E38_UK$!8V\YF\BOM-)OEQ.FU"MYFIEU"NRZ@=%9 M"K5L+"FS"V8NZWWYSE=N]IHZ=@&&:P;%YK]0FZ24]=DGPB<"3Q^I=2%?]AC M7"J#GI/4TAO!W>N93P3#3C)@+WR84D:!.@,R5.Q=A0[@_O@C=ZE%9;0LQ.XE M*JX/.* ]#=NPRUC?<$'HA(4FJZMGMHQQ284OC*U^Y.@#/-P< M:I=RR81?HC MATY4$R*3^^,A][$3H[6>BIVSO_\$$Q!U255C%\J_]*BI=H1(7PR$[-=NVOM7 M*+C4UC J[<=9H_!<4L" C*B?7U^YG!$?B_D&,*AYG(J.Q3H*=A232VA7'0AJ MR*]LL26(O463?PJPFM'[XXP)T.X_2H$?)JSJRY@KLQLZXS[G4<-J]V1WM*<9"O M-%M>^ .P0_Q&L+AF=H]93F 3^'^\1NFQZYD%4MC>7,^FA,&2#5(R/JMTU5R_X*ZN'9=Z6RN[95]^2[BL MB=VJMG1WWY:CJK8<[;XMQU5M.=Y]6]Y6M>7M[MMR4M66DQVP9?6HH!X3O.7/ M1(2_*,STPV>^@>!CQ6I67-JK)NP:CE^FTW\"Q])J=@''T88,S)Q $)U0\ N1 M+^P0^^*)"#R!U9T,0,-Z*W9"5_&AY__!U!+ P04 M " #N?0)/4NSV2-$6 !>,0$ %0 '1A>60M,C Q.3 U,S%?8V%L+GAM M;.U=6W/;.+)^WZKS'[#>E]D'7Y3$R20[V2W9CJ= @N M(Q2'G\ %#@ZODCG^&_@&%^@3^!DEB, ,D[^!?\(X9[_!EU&,"#C'BV6,,D3_ MH>CX$S@].GD(P.&A =]_HB3$Y/OM5CA+\#%\P^3T]"K 9 MN[L,9GE:\SIY/2G_*\A_BJ/D]T_L?P\P18!:*TD_O:;1YX-&KR]OCS!Y/'YS MFFMN/0H?ME)>HL"%#W#AU@[0KLI>A3K*GFFT&&B'8Q"PQZ%.,=IEDZ3 M\$N:10LZFL(OD"04CG26?&=3DX?K\!PG&8&!WB=NR:Y'A;["*,E0POP?E6-& M'1\Q-K0);8^BWA"\1"1;,7M1O[)D,UDGHHJFSQG_A$EVF"&R.,.$X!<&H79^ M*VAZ%.T:/<*8FB% *#01JZM]G]:"L8'[:S;JU8VP"'H/7_4B2)KV*$@UU6\0 MH7G^ B=W3S3UT,FDINI1O%L4,X=$TZ%L=4]@DE('1+-@K=%T='U:D/+ *X1X MQG&3D^"))ME=J*QU MC^+<$P33G*R,I)$V[G789Q'A2:+)0)*W[E&<2Q@17G#/YI<1B[01C*]HD4IR MGL?JY#,D[S-!JO)JMG1 %KQRUF9!"IK1T_)^T_,!TW0S >Y9-MZ3,FU>@U8< M9F+KZ(:H/LPDZVCNKA(Q$WLGIB-5)6::F',8N$(Q$U=/V7?^;>@8Q*;#Y.*F MTZJ#8/"\W$P^$]H!WB/J.G'(-, V0K-4%RF 4ZT=L'\Q[S6]Y7Z5829T5KM=&FZOAADKN MQ'14Y0H'4O_.W&<'@^CLF>*ON A=95S'[,R,%3,EH\[Q&Q]>4_L1\+, M5KMM>(U1X1D..U/Z@46VM;H-CX$_JUFG-A8\^JZQSU9?X6^8G.=I1K-#; ^!K;1FU+TN M*2XI$]8AC*N%]\:ZN^FA?RY;#BB/?!]\2ZPV5I5Y+YG(E*8ZCD%7SH*0')8-2 MUDK:& @%OG! H!>1'%.8P?>#G%/+T\!'"Y3%#]1C%65K]AN-\>#(I MCRO\I?SUKT7^=IX3TMA4&<,'%/-N?RW;;30[=B@2)^>Z'5GMXY**G,0'KK%"03O;T#JUXR9=MTV6+Q^KL, ME7XVOT4I(L](,:O,.9B!^,XIB+;V\ Y0FI O842KG25*4J2==AW-S: Z=0J5 M4E-?<6F=(>B$HVQEAL)['U"0G(WPR/C\2]A5\N65YM_I;'X6Q7'W=[ 9N2'X MD<"% J>M&9I!^L%M3KB;M;Q#O]!95Y?XDJ]W91=2X'PS=1T^O^$DT,4>:6,_ MTG%==B"JYQT4U9=:MG:4-3_7TCQ&%8!45'ZDX9V12*^P=RBQPON.CR1JNO* MSG4T1U=)FI/R @K%*H2&U(^,6['T8*2Z=Z )GRY-"EPED1_Y=@=0!NIZ!]%U M!!^B.,HBI%^7E+7U8/WD!J[8(H+QRLEF>]?I3#<$'0LG?5]!LW$+"A+7>9 M6(KVO@%559OK^I.5HUJP M-&2N$R%CP(S4]PXT\::G,S3'!$G/Z$L^S)B1.UU XGNIF!RZ;X-"2]=QV H< M82E(KK=W(W :AOR\'(QO8!1>)>=P&;']!VOY%8[>@-9U>-X%1'/;> ?K+=LL MDJQ/+M!XEB]R?EJ25B51$"E"@@FMZT"^"ZSFMO$.UNZ; 4V"@X\NM>O#O16^ MOL'4DE(3]V1M_7.:'3!U*RK!Y-";E8UI$MK,)#VEZWEEJML&?+N6-PYK;1LU M=?>I=JGYT_&FEM?TY_&V-LHOTFWMA=VDJ+MUMJ?!.I<*: M"J_*G5B.G.2"_CM$%XUK9ZN'1*^Q?UG ;,E>"J!I?^%+KJF.W?!( M&[N>*@H--O"1(>C;K+E#?-VN>,$AIL-H&BZB)$JSXK!&N4E-4>48TKN>3>:H MV5G$OQGV#2>XK:P61 6)TSTY&2(HS5H2*3>!=%.X=AI:4(0-.VK=O?,C_!Z+ M+8:>CLZUW[ %SLP.WL&W]HJ7U )LDV24Y%3ZTFW2DJ!8_VD<*__R2CTBM7^4 M0+*ZHC9,V>8RMKT2S.:)*I7,OH)' ]=\T1[M16DSH[6/TS? 2J MM7QV:KY\UF0)-I>NA]=(?#"JI8?PQN4V^C6QCO:N-VWLC*+:$-[AQA5E MFWPO,;G ^4,VS^-JSW8W>FHJUQLR=\;0Q"C>(5F?7_N%4.M%1Y6U=7U, M96?4N@W@'5;5J1OK6D=+Z/I8>0]1T,@TWD%*Y64;C= %*OZ\2KK?2Y76L ;4 MK@^8]S!%S8VT!PA7'D=9/VG(S##]<9\PE9AE#\!L7SEB@^D.)/R[%$W^4,0-(A$.-Q/1;HSMN+B&>QN=Q;U7MDF^ MEWO,AS.%*ACL8(KA@MIPIE#Y$=].^)L]%%^+W]HB^X$]MA2E08QI"$?TA\D1 M*/GQ_;UKCF#-$E0\/PV]V5?QO;FEQH^;:KPYJN1-P9IX<'GK32UR,3]NBOGV M"-0D@PMG^0BU5(7)R:8*[XX 9PQ@$H*:-:AX YR !G=0LQ]<7=6KU'+=)INZ MG1Z!!A>N(>R6]]VFO#\> 4X)&J3#VQ?&'0Y]B#4G1^4%+("3#2ZB_$E>N;1B9*2AL?9JE ,H6 #.8W#1;Q&_3HZ] MA;2ZI\5V2GTH.U$F%UZ(AQ,:$$L6@/, 32;#&[[K-6&Y^$*"" MRB_?:\DIA+4)C6L5W4ABMI]_EJ FAEHK)6K($2]"0U[ZS-]H,%@ M>%=A5(XIR[(W8JBT*LO #]5?A[^3S4C;^_:.II:N.Y:@X(>"^>":BK6H2BO3 MBG0T\>N2126UND =35;+2E6AT=O^ZM71M%<5KBI5MRE?1U-*5L>JE+&H9D?3 M@==1*J&%'* NOD:#Y7DFRI%!##=G?*-=[H7RRIKY[-IR'F1F277E!G 4F8EM7O/2ZO_:0Q M&-/,HCB^G<$H[M!3".1%'RPUJ7HI;L(H^ZG+[ R#LBO0Z O\4/8VN"W*SDN3 M)'4*O[[XHGDUL-(&0EI0*5;9(FE4"(V+-5K7!?ND>>'IZI]5RK\3,@A#Y4MO MNKZ 9#3]S7+R4IIOD!370,JU%Y<)++/SLAM0]^,J45>"+*0;=:Y.:BX@X_]? MP^CT#:T-%?G-K,8/U'71.;U;NC[YPF_/RM.,3A^BO&NZB\+U;@4S>(3KJ-4& M\&\?2ED:K04OWD&!C^@B1[,$_1^"9$:ND>J&'RLFKK=>;(7K%F;R#FI1<9-W M5M54_DU2R6.J\N_77AA2 MICC"XD1-ZU%B4\O$)U;WD-QLY\--/K?PY2O-]0FM TPD;S=W[0WEAN^ZLT>F MJG=N;WW#$":_LQ/T.%"F(EWM7;LU.VBDROJ+S25[B. )A?S-#P-L-MJ[WH%J MAXU467^QT;Q,T&SEC?MJOBC0@4(;*F^MSSZ^<\UO48K(L_JT=3>--][+ )E. ME?U+O"P_49[3W^"$GY[3)FK"MYGU]TI4?Z]$C>^5>>-[95#U"(*ZRU[R.VJ' MD(_9D]-RQ++?_&IIAQD[//9(X$(VFAG#'?CY,&EI&7&-DT>V>=5,9R%$:!@X M<[0[@J,)C$9FZ]%7=XSFOD9Q#Z-W-#_=*[!;*N]I+.9F65_A4-[IH-6'W;L6 M\&^-9^@XJ2N<[3!K=DII3ZA%/;+;)=0^K-*^,?VR_X;LG<97]/.HSVJ.'Y! M%2./PEOG;9>:O2HZ.H=![YK:NEOPXE]=!S,SLV_$M:9B_M5*>13SBT*H-E>+ M)<'/Q9$!S3C2D+F.V=]TDTY!XOKAQ*U0TYK .] ZU>2YSQ9AMZ1S_8+B5O"9&<,[ M#%DX;KIW=<[1;NGZC<2M\P^9PMXATZF=O?RKVL=C=:G3@5#@:K+N@8?U%"=@6EF6+" M4>#.*RF=Z,6N$SE;?86_85(=$;VGW)1K+<+1'\X%/*S @O$!0#=>+ M^E;=QFS;&F$S+JZ]TDXXVQC*.[2M@?5_KMJ$E%[@:T&FVYY<3P_0_?XRWR.V.LUB/VH+%&$O7;M+MA%7U%1M&3P%:15 M-X"66XC=JGHK?^%#-##=[72C1QJ-#U&F5V=?C8$U/83%0O9]N]LO=#6)C M?X-96TMY@-8\[&W':$]#@IV=]@7O=:QCFPNIO$_62,M8N-Z_T O&W;;1+-O[ M ^_Y$TP>T57R)8'\^,&6CK^+C>L-#[W K+;1ODSD;YAEC3E-NAYB5)K#&F-W;A=+))0;:9IBNI=\?(2 M33@61#F L'JMB95ED#/QHO@25--LLNMJ[\%:7RT2_4OUNW*$5>N%_1O;.U\OJ"J\26HP/AHTKLNKW7 6'V3U'B^C MH7E-;:"_MJT/WJY+KQ'FNZ$IX^71C1._\*%# MBY9G1. C^I8O'A"9S2^B.*>_Y9JGLSQ+V=N35)?N&6K-R*%;ZI!5$)*&PBBP M5KF+C>LPLR74&]YJ*]MY%YBHDR'\V"R,&W,\G689B1YR/CWO\3H=NH$KUGC* M4NY'W?GB/GB[#E_]C)7^K.S=U[4OBV6,5PCQ]Y1O.;!:JE(\8+QF3L>]*;"B1WN(XOL0O MD(1*+83SF4TM4D#9QF#.V3A1@V-QV-2K,159JOB*2!"E6K#$,YLB6)NZXW5/ MQ2U:Z[[]A^[B@K/Z/ .5QTP?\8WZ4W8^NOI@SSDY4>:>($A% M6EGH(KY5__X(5'P:^77RV_L,16#-RZ,[SY3*NXC%,GRYC_'*5 MS#%9E'<.*'R%4*HUF8& <@-SR@Y$:WZ;_J",TNQ_#S2LT=_\!U!+ P04 M" #N?0)/ZTHN=($3 "C&P$ %0 '1A>60M,C Q.3 U,S%?9&5F+GAM;.U= MW5/C.!)_OZK['W3P"&+O+\ M\/'+WH^[P?CN_.IJ#T2Q$WI.@$+X92]$>[_^\Z]_ >3?+W\;#,"E#P/O%'Q% M[N JG*&?P;4SAZ?@-QA"[,0(_PS^Y00)_09=^@'$X!S-%P&,(?E#VO$I.!H> M/+A@,%#@^R\8>@C_N+TJ^#[%\>)T?W^Y7 Y#].PL$?XC&KI(C=U=[,1)5/ Z M>#G(_J7DOP1^^,SD5Y5)'-SHY.=EG?\V;*"H-SX M:#_]8[FI+V%= AWYIQ&3Y!MRG9CY1R,B(&Q!/PWR9@/ZU6#T8?!Q-'R)O+W< M3DS9& 7P%LX _9^8N>@U=EX#A#WX[+N0VG>^3UOLGR/BO@0NHWW"CDX.CM(._5QK%KPOBQI%/O7 /[&_3^9D34&W=/4$81TT@:AOK G/C8!C& M3S#V72=HA:R6LD.8](F#<])%-)E=D;%F#IO@B2DTP;J+D?O'$PH\,CY=_#?Q MX].]'398"6C1XH)>H27#*?._B5J,)_#/T9<:0P'KLN2L*83"PW M*/!='S:C;<6E0_A9)]$M=*'_[#P$C1XJIN@0UE7X3$R'<*,S<@T[!'&.HC@: MA]Y%%/MSXDW>A8-#8HYH$OZ@CR:;V;US%,;8<9O'Q W9=2C0=\E!@D/ M] HABSAN$NP^D>#ZAL1RC4IL(NPT4B%]3!94![0'A2"EOGVG RF<08RAQ_IJ M'D+K6G<(9XJA$R7X50E-;>-.W3[V,0L251RIOG6'<"X='[.U^61VZ=.9UG>" M*[)(Q0F+8YOP*9)W&2#E<37-,N Y6SDW1D$2&N-A>;?AN<8P70W E$;C'0E3 MY:5UQ:$&NXE.Q^I##9F@>7\K$3786S$UM"I1DT2=@^85BAK<9LJNXV_%@8%O MJB<65WVL! 3:XW(U?"JT&F-+19M*J33' HKC4"-EEUXX7Y#!;#(;>X@IA:8P MZ7X/]J)L,3-%MY",'0GAZB(R0=)67V'L^$&SQW;!O-/XEO65P0J+J'"5&RUG MPQ6%W(JI4>'2 :3XW)E\$O:*?J)(WC7@ULJ5$6E,%"A'6E*R3E<>+B)+@L!WTD5>T3,[8$<'IULR M%$_1Q6P&7:HD^E%Y];$][PY%O:8KN'1'B& 81Q$L)I$F211(]3A-6[]6(#63 M<5)4K#H'$]NO;;7=FI'N%)KJ(*U JP=J=(N"X!(M'>RUQRHFUJC701G )(G9 MD6KBLC2B>('8]:,M%+\1FUG0%H'P^J4.LZ(] 6K1*QMC,$;=&J M47>:4EP0)K1#)\@3[Z6\N^HSV8J+#+Z#W5R"NL9E&(+S]OFQ?WK0_HBA>R(L ML)L\P('G$XP1.V&0=5164<&%K#+W2=/]K,U^+0/]N(O.!AZ:DZ5O.] \M0'$ MK*?!',X?Z)V#5G"KI/JQ.D'0#B$CT(\K1/&X+;2)P0HC%/@>S>6!C![D#,R!K;\84T'^41TY^*G"[Q_Y):A;.=$#\[?/:^*@V(Z M2)RZ*(R)IUVDD0 9:.!C^C74&M:O M6= D,I"@>:>&X4.X)JM(%8Y4!! 9Y\/!F[?._:A&AJX,E(*I+81$=\?]6,NY9!"50:1^:QYD!C4:)S$3PC[_UN%^%*SK1.])7/5 M8K?^*4M17T51TLI$*<';,T\)MS"@**U?]VL6L#K7MI*J"I4U[:%L3;MB M , MY&RTKLD52RU49#A2EZ',$F0\+5@Y[9;FNZ7Y;FF^6YKOEN:[I?EN:;Y;FK_O MI?G8\YC>G.#&\;VK\-Q9^+$3-%E%2J;A\>K<1,T"".W5K\%NZ>F&<'74OLE2 M]>WOZT9QRTPD02Z7T3Y-A:AK?UPW+EEE%!%LXT_1K$O&ZM2[47F]K M?2I$ -G.N>8:QFG>XAN*)"N>2C/K+<"C54A!]?4@I(FRKPFF5VTA]E&:@\Y/ M19_!D&BV4F!(\)2H,[+>@)O((QSLK#>QL [99H;FV+T+<]=+)3+Z8<\!_.]) M%+.DZA0)HEJ6)3\CLGATCB<+579.MG).'Y+)(_)C> P:+DNU'C>\VM7!KLCSB1[P]2.ZW9!@ M2#Z,AB#CQS:[5AS!BB7(>9YJEDQ2-KLBQ>=U*3X,<[@16!'KALO7=JZ@/%E' M^7$("A+=V#8MI%V68'2P+L'A$##&P D]4+ &.6^ 0E#B#@KVNJ55*KQ=$6VT M+MK1$)2X, $9'W,FDY;FKH#_L [^> ARZM0T.;UNS-*:W17,'] M$FJP(M<-65C/NP+WPF?3L180$8#]W(&TN%5[!SL^"( M3(,9"\!X@#(3[6IOK"%>0<_-CB,R/>8\TE,W(.<"*!OM#YNHSG@9]@=N2AR1 M.3%%F](RK-J5+:A!7H'*37&C(SI-9(0I:-TXZZN35V!RD]F(S&8YG1F4@JKE M%9C<_#7Z1)^VG-"(BZI6+Z\ YV:R$9G***?T'6$4EU]FD(O*N-= 2U?C)J"NETY];) '[M;FYH2OD4%]HJDFRQ53HJNEP4[/\=+ M%V+&G$->&KXB C^OUR\-C VVS37C*_CYR5H<9AGS_$ZJQ5?$Y*;OM \:C^2] MI/<^LGZ*)76,0-85*/4%?LIZZ[-B0UZ/G4)R@O%B00(H9JAT3V9]#X>E!7(C M-5TCZ8)WKR<1-X3?<$UE6[[67&OISG>XDY%=:/YM7)MI+Z3\/LVF_'J[:-.1 ML5$G6A!ZSAOSD:9K(YMS[.?>SY;VW-8Y++\S9(]_V'SSR H?LOK6DA.X"8M8 M?Y!H&V<#\V^)[]%LP5682G0&23 /IVCAN\<'QXW7FS;FV=,]J*T'!]2A_'9. M1U]] AI#@O\,QDL(0ZE4X] ;SV*(53VF"^Y]W=#JV'DZ4X70C_J.:[*L(]US MIMG=U6W0:TC6[K;O^Y)L1-_V=O'BPBB: MS,[\(! G]"?X!J-'[,CR#1LR?'>^L8T>[)QQSC-^$V.X]M95M%>Z 0;Y7DF^OA*5C1J6;$Y4JV%9L MINQJ;.UJ;)FZ#'F)\-IU*A227]WTX9#O$;1D8W<-KHUT8EN .R4=K/:J&TMK MU+;N)S._F?J1@CR6)MNW-Y7-27)=YK0Y[[T2L3BZ\6-!+VJ2]H<')XVUHE3( M^\I(2A\MM*$*76V1B--]G[NW <(LL90FHO;L[D]EO"'ET M=RHK!AW=H4#Z/D\1C?46:8!N9W*C*!YR\4)K>>=O"9!-L;4$UEM'AMO.\'FC M5XW8;@8>K8W[*&JUS;)=C6L'8S;!UN^B\(466U8YR[H!13\]%3R3[A5QI9N* MFF>XX )B]G.U&V2R\ID4/5?$J: UC+EE";35B8]F&;GZ3ZMZ:+"HAP9+]="2 M4CTT-^\1N$67=JNF62%<4:G-%&*W%I:H61%<::H-%;%$AI716#-/*C97T6J] M;!YB9?/\MS$4J$U&7'FK+>HB&I^79.96$Y^[AJ)4+-&XH,*ZB3)_/N*.:U1* M)\*$3XP(>7L&<\@%NQ@A07+O30+O30&_N-%"$XY*%R*=UZY"O M[BL/C>B8#VE8U\[2?4D!6B.Y+"6=7SMS.)E5, HWB4A[27/#.X1RS2(5Q&:V M]8R:P6;TA4@"KLHYK?BZ!K*;65 M)9?B+;V+P/A*++;^8 $R-9BQH^?;0]0.?G:*8S I!J$\E-"=T M2WQKBM(C$$23]*-4.B[!6NV";@/YJ;RQ\P*BO!M # 5I87F8]Y1^8TH1U[2H M2_H^,"+].(I@D6:LEY/+J!(.P,M?*49E5E."O*G614>KGM*$_*HO.U*B=" X(X\,JR- M@GLV-[%OHW$2/R'L_R\[#;BNT4QM\ 83S=\ZX2/DHJZ:_*2F_OI,S;I/T$L" M$O-O(=S9*R]>4ZI7<[_VI(ZU^NAZ^MF(-=_&Y=:.-2"_VZ.EL_X2[&;<".E7 MH9&L?[_S5M,%$RV=]7,W2:>+=.:,31:R[D[36_=&*S=@WH/'&MT#ZGJF62)I MKEU7=SV]'D;G>(7,:,W0EE?7(I#.Y-MF^CKLJPC &W6V-<4)_A$&;W=YVY[^8=+:B MN]ZN(+Y)7ZNJK?/C'H9'^\<[C-%2=RN&.['>[:#XV&;JO^[C_MW&UCO8F\[9/=WC8U.YL6W=U_WOG: MIFH3N=IGNUWM(C =NY5[[.UT\)MT.$YS(I\[L=OG)F;GTJ*[^]$NQ[NYWL0I M7GN\K>:0#UI"G!WWF?OQ=(FZ=SJ57N\_O(>TR#?1D2EC&A1YH3T;J+PL/Q:+ M'GR0[W7G@]UH\$]P#NHZH0:=S$H'HK,#TX9.HX@!O',O[D.9POTT#8/J0TLRAQ EI@I6'XM0'?.W=Q"W4MW./K?T@W MIJ0*R:AAG.\)U3M_,JS1L' CLO_G@3/"&&,J)STZ>O:Z:G+CO-*OQO2N&7_9 M*YT2VP8S6W3U)_+<[M4FW*9\+^XH>R2-.*D,P,YU.U>F*/4;_UQAB=&G(5@QZN^2?[)8I+=7G.#,\Z3C@H M$B7!9I$U($M2^=,O$GP423P(LJK +'DG8MREJLQ$)O #D 2B7__GR^+F#Q1 MGK$T^<SV]/+RV](E@=)%,1I0O_Q39)^\S__ MQ__Y?Q#QOW__OXZ/R06C?-(E2_O7+92WW,<^7W[]] M^_S\_"9)GX+GE/^6O0E3-W&W>9"OLEK6NY=WY?\*]G^/6?+;]_"?^R"C1-16 MDGW_DK%_?-,H]?GCFY0_O/WP[MW[M__/CU>WX2-=!,QU49']]6ZM22Q:_,0M_0)&/?9U*]JS0,F5BSM\"_]N$/@0YC:"@[Z"@]W^!@OZM_/HJN*?Q-P0H!3J,=GW7DE4RO?6M M[ WE+(W.DW%:=[DG4E_T'9YO84"3W[L)=VD>Q*.4;W)Z5_LS'5?C&S[_-2U& M>3JNIAN<>U$[5U4>7+WZ>HWARROQJ:4B?TCC/JF^.X9OC=^_+X?O?RJ]_ M@0F2+FB2G_]KQ?(U3-["#4CR;/;"LJI :>T_OG'D>=NU!KAGO#(IX&%/O904 M;\-4S&K+_#@N6J!@G_-TX:Q*68FI(\,O\7U=3E'S0A6#02TR3K-TQ4,ZJ.&; M5@VIX5++12RXP(^CR?'7VV_^1T%*-K3D9Z#^KW]_NREA.IP)M19I'P"R$G])IBL#&B Y:)E%V0;'@),8L5$2C9DD/M"\X E-#H/ M>")6QID5:R9BGR"S*]Q$EYX2#:RLZG7Q5!&3BAH9C.XX#;(57_=/=P4UTCI.$!L!;J=_%>"F,-*210AS9R".%0+*1B&N) M$,0A:$JCKV(1S;_0)YJLZ \K%L'NYF52:']"YRFG=^F2A7]Y]Q?[6F(+@5X7 M'5L;WEJ=C):&IFML;8*RWJD%DA5()*5(4LDDPCDM>\>]%$ND7"($(YLPSIA0 MDU.A\PG-GRE-K+4S2Z+9/*?6GHE.E"\IU ZJ)R ?:[ H"K/04D^/'JI;B'94M9MF#A3RR)M ./"X./]G=7'+#0 M3STY+IQ55$^,-CQ[ LB,\C1;!B$]HW.:9-2,#!.E-TC85:VQH"?# 0*K;LI4 M4A&3MZ2DWQ,(+I-(C$:<&4[\##3>&MZD7MWD70(7]E>1OF]UU=]72QKX(F[U0^K.MV*RF8R/)(LT!2E$@V11)99GD@7)1*9+'D M9$VTO5.4O;/%LJ<^*@JS^-#[+.U@^ZE:97OKJ9NB7F=?5>SSVENA] /KKQ>B M+;UUUV9AA]I;U0K;5V?=E/0J^ZIBGL^N"H4?6D]E3_XFUF9A!]M3E0K;6T^M M2WJ=/;5KGM>>"B%DA]53;]F+MX[:*.M0^ZE27?OJIG5!K[*7=JWSV4E%V8?6 M1R%@R%\O;99VL/U4K;*]]=1-4:^SKRKV>>VM4/J!]==S]O"8>^NOK=(.M;]J MJFQ?_;51U*OLKZI]/ONK+/W ^NMGEOA;K38+.]3>JE;8OCKKIJ17V5<5\WQV M52C\P'KJG4<_^.[PO6"ENO9V5O.J/>"N=5[/:0[/^XV]+E?;Q1UJ3]55VMX< MX/B5KU@U!GIU@>,#7+->>W2!KP_? U:J:U^=]?I5^[]=ZWQVT^L=>K]0FUD5 MS9O1\,U#^O0VHJP(Y!4?NO&[XJM?3M,GRF?W6"?D:NQH_^RKL75*56W=_ U%4VL44JY; MER0$:"9IYIDH/@(5+N+@06-$YW=?#:U5JVKIUH\HFEJGD7+EIJ(A0#1M8Y_1 M+.1,3CLV:UIDWIM>HZ2"@ 8-+B"HBIGQT*"==*C_0A\83#G21ZH2EEH&-@.] M[\G JG9W=M 2HX".BX;&^:/)1&JN2=$T2Y)5$'^ARY3;0-0F\XT=G9)=R#1I M4"%%HY@1( 4M*8@GQ<5_K *>4QZO>Z&A4/I&AT'5+D Z9*@PHM?-").:' -2 M-FGM>J&BDGI?DAB4598G'3I4:#$H9UZV;!(/(L#+[2.-8]AW"9+^P45'[!LS M9H6[J%$I4>'&J)X1.9*#E"S8P'/^!!Z\<*(<36[03PDA16T;BFIBM$#J:NB( M)S.E!DD+I&T,&5;OHZ9"APHU>-R-BRDRZDAX+5,Z3R DH-=TT M,.FHJ0=)2800(FW-^@ BJ*>#Q^F*<]A29%D8Q/]) VY&B)G4VS%,C[+UB8R! M#@54>I13TZQ)W+.R9/%1"OP Q*=I&2)<*$40,JADP4E*3V\O3Z>>6N^#E,A*@9?/R49(> MK!CI_4*F1^TV<@S$B !DU]" (\%$VES3P^DR"5.^3!N'G:>0X9JO3]/([+GT M51](, #D;"HH/-A@,$?IH?.!U?H?$ - MG0]CH'/WG**"SL]M\-49-.,.&TE]<--08,/*FW%>@>:@GIZ8-RD M61[$_R];6I?L>N))0*)56 N5%B4^P.C4ZX--P4,$TW1+\!*Z<#"BO7[2^=W? M14*-6IN+A(T?44!!IY%ZD;#8;2F(IFELP"NG@6%T:/_LK:DU2M4MW?@-1T.K M"BGM+/NXH)FN4U\)2?'-8YJ80P]4$E_M;5*N:O/N[RC:W:!4M^TE&9%TD^[G MO^0TR?0#>N,W;S-^5YUZ@J]^0-'&76W4=X7*WR=ITY\XRT7YI^EBL4K*,Z/N M>UL6.E]M;56S:G< B!I^4SV'87<)M?PD+S&.ANQ+VCT M*UQ!Q$R) BJ]ZG4A(QB.PP8'*5B(Y,$ GLLL6U$^"$(:EHF 9%3> ">%'B.H M3$KV0JM@G!YAMS1?D_8<_W?^95%R3@.!S>L>#2$R5M^O%?1H;LMUHJ7Q!P:)BA08-"0I F/7J M8N)S2DI24M!.EPVGI;+&J,[OOF"@5:L"0.M'%$VOTT@9"%HM/NDD)G8.J\"(-@1BIKN]C]A 8TJ-9J7U#PZ)R%R4:4E2 ,>MG'#]J M%K+AF2:SGDRO=)G,4[Z06ER(#QI;#73>-4@ M)D ]#3I6$,..H? V?'GH<2')34@%5P59E M4ZL9-RGWIMF,+\(\?J)Q_+^3]#FYI4&6)C0J=F!TYTYV>K]Q.3UJMT-S#,0H M0.6BH2% !YB.?P,N4K&5^V<3XNF?:;Q*\H#+^^]<-TH9Z/SBQZ!F&S<=(D1X MT6MFP$E-3 KJ*:^3%]DO:A<,AL"5&20FJH.G&>9FS M9.,Y%UR37@+-*>2Y9T_T+,B#4D.CU29RW]<^;4IW[WOJ:!$!R:J@\89GS0,) M;X(*61,GON&GPA%[2"V1ZATJ_^EO%!75##@U"2*0Z/2RY,'AI**=$!&WBR". M3U892VAFGIHZ5'X1H56QC8@6"2)$Z/0R($*2DHIV0D2<+RA_$-/>#SQ]SA_+ MG)%&"PW4?A%B5;F-%"TI(L38]#,@IV(A!4^5YG-*"+ULTAX7>0+-]FI(/8/' MJ&P'.0H=)MB8E%,P$],0]F<^ISFY2\G7C)+\D1(91AN)[QOYJ@LYT[Z0$(9P M0:/PW),HX#H@V8B]OY9@5%AY,T&A1 &G7O7,[R?4'*1BF00[UP+/O+GBDZI< MYG1AO'?1S^(+1Z[*5VCJHT>!*4!&G@7E7ID7C.1^@JEXG%>"& !$. M5*U,"0 E(9&4$Z+@)$A^XZME'JYO>!I2"A%=63U^]>W:.7+[1K2\+?BS=WK59[!S"K4,^^C6YD\'U X M&- YIK!P( *@@YJF(PO)6;R5?%0]I=S@GG0-EVTR'=+H9/V%SBF'&Q!W]"4_ M$<7]9EF%./#Z7N$YF]-=\/4RHH#B4&U-R\&,- 60>XA$*T60GT$(D5*F?;EY M\XS!A?A&M_UMI/0-.X.J79!UR%!!2J^;<3^A^6:$9$ E6)+S TL+=IIX*)1 M5P^8!B%"R*C:]8&F?)QF9["I4#,/LGMIPBH[?@B"90$=&N=9]4T70^77O]3A M;]?S.B;N)BUV6JMG[#L5,8S5!\+&& . &\(W.?Y&**M$7U>L$+V_"8&LN,G/ M%?].IK_MP3G+,IIG/3#L$OD$G%[!)K3:%&A I%5+B9F51)B@4"Y3G1"AT/H' MAD%=%1\=0F0PT6MG>E,KD#S?XX#-:9 ]SI((_CG_UXH]!3&L 6;Y:<#Y6JQ M_QG$J^[-L8&\/F$UR)PFS)P8T7Y'>6+ MR^2)9KGN$HF=U*L_95&VY3]IZ-" R:*A.]MVWAQATD$3( M7M\$7 RW8@!.%\LT@3X@++N>?Z$9Y:);&.K#G=TG](8:U82A*R\:2 Y4N O/ MFAT''F\X708L.G]9TB2C]K'.0.L3:59UF[#2$J+!D$T[3>8HH"6T($8R599: MW04OQK&J33(!2EK*:< A?\>&B:92)BBP)$P7E.1 B@,.IVD&QT;G+R'-LNOY M"8MC./Z^3KZ"JLN8YE2,DXELZ<3N36RO'<:+00'<[ M_=6\[$*:7%Z*U0%;R#-$&O $1 KHBX$0BH'MU?NR(!Q]H+61X[+9,^%V6>\V MF5=LY6D>Q%>N>V2FE#D@A(2M'3(F\%2S&U5?2(4 ;;NK>RQT24R_W?Z_D5F]/+ M)%OQ0'TB;0"?[PU\)S.ZF_=6)C3(<]54NVG_!/3@.L6"0PQU)0LB$)Y!J!BG ML XJ9OW>+5@KAT_@.:C>A)R%' W8^G54PG%*#H2+U,("JXLYA4MN]L4Q.N$' M$,=PQ0*Q,F0YH[ ]*R.C']-8C)89S-+YNB>TP9W=)U:&&M5$DRLOFF%GH,+* MJT\;=NEL-07\=U*(0 =5M[@;&\-$<'2(P#%38X3,.()""G.@&]"=9P M^NEV@-TEGN+H6J^P[M"Z38D&1%;UC ?5RX(:#7CXBD:W02PZ0KI8L Q>6.O% MD(W',Y3ZU>\@RLR "5B]6FKP!3PDK.F1^&>E8NJ(:S=>1S\!M,QJ:V"E$F.# ME%%#?4J&H 05KM/HZL1I]D%? M:#D2Q(% Y\%LZE',;?B:>-SJW8MP'K7:IX(-7QT'; 9O3F#9CABV 7$ 6PZ# M-QETFPI(%H"-; +6RQ<*F=_X&;V2[<"8-@T:M!@44T-99'*&K$C.\'^3-^\^ M?!++/5Z_<._D\RF+C10=E95.<\6Y,?"30L+!ARX^T+S@"4T.B^]0['* M62U6,7B,9W0.#T(;JL&%T2?NW UIXJZ?"PWNG%7MXJYB1+8"4!V($SI/.;WC M-,A6?&T;]!QYIW7P+.;8?3T-(Z[5Q!"5;6[@?_NWOWUX_]>_R^">?$WNI1"2 MEU(*-P '6%N6V7Q$':%/&)H5;6).I?(#L.\*@"7T 88M&\2,&JJOP3;10H[) MIT_OCO[VUP^E=T>"7.Z&X("1VG&<>]C4HYG;T(5]G++N>F2M%2K%>>RM/=\? M&1: *R)C3"0&+KPY:JM'7]P)PLB,$R4.3-:)>^[@,-;8 ]M$DV1>:BFHS;$D M*=!X^EJUS'F3?I9D2-(CU6I=B24')!\W9I+0$$Z"#D51+4)J*GPHZ:IF00J0 MRI3P&1*X-'9-;@)^S:6ND?3W;BB7V5G[=Q3-G!/MS_:98MBR-;&A@9R[KNK> M5[F'BPYV10;@6;VQW&^ZRC$1S$RJ&^#5)<<(*X..ZLO)]3D IDU\Q1#YZ*XS MI"KJ2>'45MD*I8(4+XQ:^BEY18JS(4SPN90W0.KINN=DVTCM]_ZK5>7V'5@M M*1KXV/53T]+(VSH-WPI9GM(O](DF*V.RDXR*Y=IF\*1V>O>SR"#6OM!3IQH1J)! MZBH37,%\1!X*=KDK';0$( MKOUY2T"MY*+RSJU1YIMM*Z1."%E6;>-.0X1K/ MS HJ]R$JRO*F.Q+(P"V-0G?(2E+"N6?IU5 ,W8YJ:F_=(,) M8)=)3D75Y(4EI1GF-$1FKO2[76]GA8-D'H45%?V!3FBI9U$]>?%A"KSZ,!E7A!H ^%>@SQ'7F/X MX+5IEO()WML\X+FMWUOT5)J&/K $FH+4AINH='MW$6@P.4YO M6ZH%4B9* $^2EA+*7]*E?(5Y*7@/!]M%A+*H\\<@HULB7",+&\Z-Y@Y%NR+H MH#!OTGXD\I>E)$38GT6_KLH'0.]20QZ*RG^C\IT]L8Z4&QNR;JYE7\Z^P"VR MC.6TC$PJJO(+#=.'1$HTM(&WTOVF*_%:I>V<)UZ*1M.'_=JKS3M03F=9L]MG M97P>CBY^6N3T@."<^9R&^?7\,WTN,]_"L"?&OI M8WJ9%(9?SV=1890I&'$+ M@5ZC0+)-7V%1>U57PT]FCG4 M04GS]=]T3N2C1I(+W845>"E':"?/-2(:G:R_"B_@,JG#!F>A& "+#*::@[L> M6.Y*N.W;0>2T72*G9K3[3YU+ 8):C%(TI8V9G$XE!95( ^H[U+P MAH5'$-/6]N5=ZEA+/7UI_\5.M #<:R4:5GY[*1--S_1DJ,V]%:XMKPJ#B,[Z MJ#R5?X%.9"XG1, %CHY]1I="9R;')_$YIO !;F\L4IZSWP/+\K?^[& MM)_[Z^=# _0!RJH/ &Y8<<"OL=T"VZ@]][L,Q-XWR8T**ZM'A=(KC)XHOT\S MVKMZ-&EYH!M;=;S21D5<4U3XC M7U.A 9-1M;ZXQ9*-I/>9*",+J:@K'."I7N8=%A7;RS7%"\L#HF1[6+!-E6[J M'M"CRX;-C-WM>:'?X-K1;M8A;UV-V*D:+?R^3R@/Y0D/*GBRI9=U8/=]%<#:F4 M6%%8N3/,F$"KAV=:W&G4MP.NP8!MAG=15KUV5;J56/%UP^DR8)%]:Z6?;5J4 MZ8VP ZW-@Q]K6GW5-8TD0I8-QVB,O-@XM 9*)A2(:QG@A#?)<3!H:VIKPAJ^ ME8MJSM=$N)LQC3:>@3OLM+S3HL]BCAV$&D;\6#0KK4M?:'IMN/TN\7WY6C%6 MP%8>ZDVP!H/O>! -7WZTF7$L0'0&N2U!FISX06O1VK@:61:T6#$I4\S49^"- M)V:<*\4B85IT]IIFAZB1'3].^U37@)7#N1[ M5;-9#DA5F0\$IT;%]=GW@A*KV%=#)ZS,X'(N_9/K>9&WN;H+[UQ'O7*F!:ZC MF78 ]PC!#V0W Y1K]*6_VO9B0XN_BP/L[A&QP\XEM (0'!E9#!L7]XPNXPMQV&/$(06@.DK;1 M7K??G^$,TAK*:_BO%>/TIHR7@LB^'#(;5R%3IC"M 0*\QL0--JP5(>?, MC>UEZL&:JVNYX@8SQ$ ACY]3;)T]!2R&W9*+E,,#.+D-)+) M0*_87*P2LA6'2[@W:1<;!NE8 M2!'?EF)P(-FP*M!X3\.6%5H!"!9Y%L,<%GD:[H-8Y)GUUF>A4QUA'&@UN_L7 M+!&=:C>+/*LL'(L\!W/=%GD600>PR.O7OHOOF@/A(J\QX4"6,I@D8(NQ?I#6 M-&?U\WF^YN1F1N>NDYT)#1A=-=5<69%\\H:PO&$'G,5.\":5' XD&F8136\; M-@UI!2!P"BR&.3@%&NZ#< K,>NN<@KEFX,2!5K!MED3P#^R:"'<;IH8BB57W M#,=00\-$>,UH-L*X5@ZS ?RX4#M"%T\]BK>6B$:J=%XWKTJ&H(SP6>I.- EK+ME#PF;LQ!. M?13[[NA+?A*;5WZNS%[3J PRJ)56Q8D3#1P'J=N%YOLWY':U6 20LV!.&J*( M!K1(]B<:,?P]0Z"6TB<(+:HV$:DOF2Q$8!D M2*RO"&_LZ1D:K1R3) LRJZ[-&J22HX%=OX[&*]YDPX)N#-68U3=4VEDFAIEU MX+/18P9:WS#V\0VIN9 ,7E7^(GGSLGPZ@_U.H_)R<#5JSV3J%^60]]8W@VXL] M@'YDG0FVE7GH/:EO1OGV#=G81EATMDM\&RFS"J M5V#"_'!$'PA>1Z'QTQOR8\"2G"8RK&$S@F/S>HR!]CU^C0.?YR@;-S,Z439V M)C08=-54$V4C^80S 9S%V%CQHO,=C%:ZCXC#1*! J.-H.80?/V[=1]*_O"$W MS=L\M0@D RA9UTVWX2*-53*_G M5RR!"$KA(;/\(@C+[!"]9Y_N_%Z//X>:U3H!=65& \FA&G=1^M\[J# M>UXG*>?I,ZQ>D(QU$-;+BHMG$.DB$RH_T 0.99V'P($RO 87CC&O%;LT1 : MT([16O?^=RE#SM(M*9C'W2OZ$,0_!GE.N6)][PFL&Z_7$]0@<5)/>?$):/:$@HU7\(4^T61%3]8_!K^F_'25Y>E"0/A.B#2.-N-$ M>$/,2.-J' WDQX&N<4IW,?>=\/8 =DB\N_JYEP'1&Q8.SQG:^E3OY&(SD4^. M+W<=-3?M(7NU8,'L<&GLZ@_?L+%,C+.>\ TS/6:D]<;KOH/XC0IN:$:PZK#O MAO+;QZ!W^#*3^\14G])-/)EHT6"I1\$NCNK364%/) .Z\:IK4=]@9:&?$E76 M8D!:[B1GJ!,22CU1<:0XC"3<#S]1T/D@QN$O<_0=?/YO=J M@9L1[7L&=AXTJ'-45+V!(-F(Y"--1G2CF\E"=^=LD 0,R'1TW0:PH\?K ,?N MPQMBAB^2@7-CCLPT AG1Y7..I>(R#$P.]/=!!K51Y##K.YK=4JC7(]R=5$#K MJ'%8>+99RN*97I M>6Y$]3\*"HC0*!.?K._D,R_.!\X[*F6:8^F=5I'^\'HG1:#I8ONQ2YF'/@K_ MO91$I"A2R9*A;(8/=MI:*TB 0U^1ZFMC+5_A>W:&L:(5L87 >,RX^'UO$RL&\27B>A;*[G(D;F\ MUH:J<>3U"=-!YC31Z<2(!I1#M%6P^+4^^-6].[ M?^C.[CMU]Q"CNDF!77C1@'6@PLI8^MV;#4XS,7S.4[Z0KBZ2X?-SD,MMS?*Y MU#0Q/GV@(?3ZQ(%1T=93!@H5&B0955.RNTM"F' M,S%MID>#*@K^XS^:R4&V_.G MC;OJAC='7K]>W0!SVFZ= R,:* [15G7L*EY2,"-!XM=,C-A5$BK3U-@E\HDM MO8)-$+4IT*!%JU87%H((QJB:# DJ#$^XN,V';KP(WN)QF"%=&-$@;HBVQE<] MY(<&.Q)$_ACPWV@..XV;]XBM6W,V!I_8ZU>\"3@S-1J4]:JH1B76[T%?;MZ# M1H*K5I[S*E_Y)EVY%6*.O'X/<@>8TS[7=6!$@\$AVAH>EVDFI2<_%QP$1DDB MATDD^VMU$D:WN==,/DGJ<(<9UD2+!FH]"AH3TR,9WXQY[=P Y=$ <*#"IL2:*%,27K$YO4RR%8? MLQL--JR5XLB9&PU*!ZNL78#4![(@CM3RD*"US* B_(;T(6'N.\0.?'ZO&SJ: MT;YDV,.$!HFNFJI!5I*/-!B1X.[VD2V7\-QS$OTO,8H+^0\0B>.X7>S(['6_ M>)!!K0UC)TXT6!RDKKIN+ICES%VQ%T\'( 'F%YI14;.PZ70F>D^<2M_B_ 7" M'>U+9R=.OX.BLRGM8;&7#0T8W755A\:"4R*QP8L,C ^K&(2OZS1!/5N$5@Z_ MX.M5O0TZ(SDBL/7I:$X*AN881&XO7;'@ODR*//"]DSY.[X^>N)FBO'QB9T,# M.7==M2DU42%/?V.YN$8IQF_15\3PRY[D=67[(#=*DE]G<+2I;<]PL!@TR!VO MNX)DN,5T+$61IBPDL/Y,GQM/;O,T$1]#VHC8=EO3#!?C-9!OI)&M,+^!,M! M>:3B2H@@?6X^J'Z;"\\SX!&:X;F^$F.Q%X[B'R'W2G:9-&FJX#3WRU"[*62: MRU*[K"#]9:I=E("F_^S%+,757BR#,(=]UEF4%JD9Q.>ZD]5YM?*4:';%]M(% M,YXWNI_XJ]OUQ%>MFVA)!,O6Z"2(88?X]I'2W'K%< 2_CPXSVBSH"X.9)X?Y M6(U-F[45DI/&%2Z!X[R\+E/*)5(P*MP6J]U:U3'0[1$Q(7J=C+, V,J/%<,N M2JN/T93,58[JFIW\+ 7@BTC96%X%TGQ.Q3?A63+:$!O\ZTB?TQ7G?4/XE0>,=0?,Y MQ>05:#R=SP(IV[FK9@D3>ZQ]IO4XK2;VR2$]7NPSS;MU\"[-_NM].'IJ' M3UW,=GX%U29LLJV4=S"1E;%X9!5IF M%QVO) L#_*5 M]*_A1AS$5-"J7/D-MGYR5F;4%]4QRS(JHTT:4;4#N\A :=/TCE$FZSO&(%$( M^\08_=7@O9Q$U;L,T 4"*0D;T+LOM9X$&0OA<@R+5SG4P+"Y8)BTB::!,28; M9H AHA "?8S^QD>AQ4(6CDO@W=Y,O@V-:"M%'US>>!;P9*T\[31[#GA4Q)]G M/PC"/+M,1$6Q-/J)LH='43^S)\J#!RI_/!.S6)V/VZW;3*O3]-<;/%=__T4) M3PKA&0@0U(+V\@8I W*7<-<#U3BR>4X1]"SKX4L:QQ:AV^U(Q=L?]FCKP">FC M\BG/(U*))E(VD<(/(&BY[[F#@3O?PZ1-M.L]QF3#CO<040@[TQC]K4^TA)"U M:@Y/M+#-RQ;EW"I:T@G@FE65@DT9D%$L:D?I$^7V:T2L+8.UJ=E$HJ4D0AGP%(;!%8(#U M*&>/C?&9YL51[56:Z5_':A+\\A%;U>O5TQV?E>?'?Q*.:?;G/47#G2'U]?S\_2!0N9XE-.I82WN+O)*K@.UO.NP>33\J1F=WNR^!FN M#X2$E^D* GE46!8+<2)Y*E:1A]:_+U).V4-2U )37HWR7?CA]V=3A>Z_'W=+ M?N7]UV"N<@<]8T$R3:=5LU??LN0AIL):N;\D$'I]'[.':HD!:EW/[T C74UN M)2R0#VYMU?@7:6 MR.S3))/E0R>H%"!IK8&W?G M'.P[MJ!C0&_BG1#A=G,L<-8S8L6N5=L= %4@ MDCR+*>&QYF!9DRE]@FL80@%$.R _T(3R()XET2Q:B$X&+[K+':)B=6U;M_>R M>M\;<31&V2CIX9L6M"?UQB84 S4KIH:7U9(FJ\+($(;?H(G$%Q MI1A"CMUC@=$@RJJ>-G*)%)%+88.\.K3 :9-(KP,=BOJ70ICGS*1^QVP[$JW MQRH]+1I0]2BH9(*I?L>!GRJGS<:*+Q16ZL$#/5O1ZX3^IQA/K_D5S4R0&B3! MZROMPTUKO=7NSHX&B\-U-L*3'(ME;P[O1& )0%/?9?Z!IUG/H7\?DT] NAG0 MQ*"=PROLY":U;9W@I&L7;I($P@&Z.5J10"Z.TV?8H+Q(^5FZNL_GJUBUTU0A MCLQ>(3C(H!84G3C1C(2#U.VB$L9'$E02Y)Y@5,JHL3I1R(IJPV>:#QI!-O2_ M?, ^@FATU46WH!T_ZLQJ7X+G'X.<BPD$GO,U%,%E+Q!3)\"5>^SW!),@F&&LII42-^1SK@;#33WPS .=B( M=;OEK8K>2;B'>QH7Q\DDO<]C9<4W0#GIJT^2SXH&8O'=B0Q>W,D2VB( Q/$&R)QR?,!DU-@JV[KS>4#K4G!J4KHPX MALN!VFK7'/>E#$A/'*%)2BP[UF5R_@(;=M=S5T,AY"R4]WU.Z&D:Q_*/GUC^ MR)+R2-UX'+^W\OP&4NRYVMIA%WLJ#,< [\O,00]0)6DN>RS=.J^>82+XCU4@ MK^!=SQOF"9M^I2WKY);[ U=/.\8*\38UC#:PGB,&2\ Q68Q56]F*6"WN*8>; M.A6S6 B29&N).&"]*S.4 MF\"5W.H*,*FD[1OB%ZM\Q6EYH0ZFCR_UI38(6]T%X'=5A'_X[[9RU,ZP&_G( MNL9.C3)WE& !L3V$TT5Q@7A/':6^4%J77%HF\VT[]_O+Y"EE(3AH522MK@[W M6)BWSK/W"JN[T=Y*PM&A]FV>X59T,_D$>8*BX"Q(BH!5>_7F'(Z5N[R$J'FG MU+"Z,I-[OS-J45JY(*JAG1RBC@H.?!MV3X.X^8#<")D!?-Z&UB%FU*.D"Y,? M-'U7H"F18UEDW.8>H/ .XQJ\Q I8N[JN$R&+Q+:I.+"G'Y&$YM-N*WU.\]L\ MX.*W+78PFD*P;2NI!@[=5MI(F'S"V4KM+C@K.:V-)=CN7-,<7E($5LPK;SMT M=U[$8:V\+;#?L7P153\6YVT;,Y>C,?MUC:87#?_?75RDTV=?&+%D(T..&K#D'Z^F4M- MC"2EL!A9>E 5\<3,,B_ 1K V&0+:2%!3BBXHS"$"9/$V!58 M-S-\+ Q^XBRG9^FS-GF*2N5Y6>"0#,JBH[+-Q-,GED'"%-FJJ-95IH@2^GWS T2BC+-'%3SB:]63%X@B&!#%:72[$ M\/(D7UO*;/><>GA\ L%)_29"K QHH..B91=3-8\<\UF#"P?2?@S"1Y90OH9Y M\5\K)E./V6!F8_")L7[%FP S4Z-!5Z^*ZBY6R5"X$Q4+#EQ=K(1/ TL^8X%/UM'+0N\35;UJ-T%E)$:#J3X-E:=NYG-XR7)>L6%$EG#2A.N=K^%]S[S9 M5^1QCZ$B^IA\8LS-@";0[!QHT.:DIA(ULNPT G7?69#)8E M*\:I;Q:&Q6N'-#JC2TY#)L^@Q>>8P@=(?K,D@=1$>*7?&U: M$ T2X76=.<*XUAIT /_D.-Y":<4;@L?'TSDIA)!*RA$IY9!:$*DDX47S1SEF!PU@]1TN3A6 MO)^9IR1C#PF;LU"LG0D3H]83BU:0=6A7S]V,1-G[,17P'A'*W@]&V?O#0-G[ M/:#L_40H^S"F CX@0MF'P2CSNWDW&F7&?;LM4/9A(I1]'%,!'Q&A[.-@E'T\ M#)1]W /*/DZ$LF_'5,"WB%#V[6"4?7L8*/MV#RC[=B*4?1I3 9\0H>S38)1] M.@R4?=H#RC[AV+FXA$LP]"YX*1\1/J$)G;,<\NRQ9,62A^LEY?+0)IO=9S+W MGF'5/4J2WZ3CHTUMWTD9+&9RE&^ON_HH9K'%G F2]TN: 0O MLRO6&NJFE\MK?E$W$UI90NTL:##HIJ?R/%!!C@I@MWF00^3SE2AI*,SZ>"< MFYLY&LC9&;$!STE;Y09XCB=C#=.BU9V5)RXD9!T@W$5/ )%!!!<:)]%OZZRW';9K8]IDKTBJP':;2$M!RX?U4E7O8\::2?JR9+( M.(\-IJZ$[,)%GYKZ1D&X8*@-@9Q+"00 2C_08-^LV@Z",6P%Z6\V_&)0ZZNL MW90QR?BRR^K1XGT7!:!9>.S#*LW=@.4J[XYPD#LK?Z3R:@ \, 29,@N9A..; M=MO5H_C0-4PBL(._1V^MEPB)Y 2=A/@Q7,R#\\NRL\@O M[XL>A /6Y_.YZ'/LB;:ZKVZ7H?RI74$]&U$[D^ZS&^RX2IK=8T>BT72;W=JC M.&"BLU!9@DRK2/DB2& /-V+B2PZ9US,DNUB&X6.S"H!4\Z*-'H<-/SI^!!." MV2R'J4!EQO)*P%C%U=2CQ<]RL"]NUR"YZ6BP[/11J"^Z\'D2R,<>QRP,3#(0 MP-5NG@-D]0+0#,)CM-8-M>!KDU!R$>&4-WS8@6O168)F^HC$,$ ML2V5GOP-!V;=G?JM5P58%W;;K=W08'.PREU4U@*:FQIX]N2J@SUAV"S+:)G- MV3$XQL0TQ:FLW0#=.:R> PWRG-2T!JH$D@W)^EXQ1WRHOBL']^HQ.3CO"T.^ M"N)L5KT8=Y'RLW1UG\]7<75_WK7>=E#0I(#>6459.\'6I>#M.+LR3$!*Z M9A"HA75)X&3W3P'G09*O]^*]J<+Q=QY3A6S?=;J2#VG2<3>GVU\J,K&&EG0' MTUD,\^SM8\#I29#1J$D #['N?$JW%86L(XVNK-VX=.9R#G!V&FNC&G>9AK^1 M="F/,HB8JV#:@B45]$.&YC!8ORD^: <=P_&$^[$$KOL?5AT=;N04)Q+HH-1P MY-Q/OK1,$T'+8H !8AH.C"Z&64WKR5>\8<-W_-6P:>@358.E3(_'00].#12! M'+%#GX\Z?PGA 2D L.O#41/.O(WWH_IF"4DZZ:QK>.Q*1X=\QMUHV(6/^ 7O M;*N/H^G<91AUS7(GDJ>/H1I5%?W!58/$HAE/=V>+>GV2+U/>N6/6%X[U>@+N M_=XG=UCBCE-?'V0GGV(I@N]9,G7#;KWPFSY=NZ."1D\<@A<*AB,B67!,1;I= ME>):TFG ^7J>\N> 1T,VM[7<4V^Z64SJVT?3L.(%HU5?ZRJQO%A&P@8C#HAJ M;3I_6;(BUOC,[ TY%=Y>-A31!"&H>2F41H0L5_ MHNSA$2(&Q+0>/-#/J\4]Y==SN=6<-1Y+.PDR%AJJ:J ,GT =95X3LH,$H 'O M&*V58^Z"5QYS"\AFDK?Y'!X. M?DU/8?PGB4ZEI8>0LSSF[7^40L7N7;DY. M;H(U$,_@2/*!]J0&VUJPY]MF.ZJ(SDID2ZEH.L7.3-&][+OI(7#,!K+(*A$K M69(USN#(4O A<9@-0\09BR$1D3)2#!MHS%(0#/Y])CH,_R81N+89QRD_>!Z M+$EJ+*@7Y9"I-#/9)^H T;:!%%\H5EOUUP2B^3G(JJR"U[^![*]=JW?%5CJQ?NNU \ M_=63I4I6(D%Z/!>TA)7$B"YR2XOO^ROEWJ52SLLTDG>4+[KO\?HHT'MGW6O% M*;UT+Z7AZI[[-%&)701IQU(<:19)&F62^S5ITI7E$EGP$8&BB2R;- H_(E7Q M!,I'U-%W-?I5]OTSC868F.5K7[.TJ>2#G:?M5;FWF5I?+*[!P(NM:C15V76? M:NI7W('/X %/FD2^NV^[W(/OO+IJW'O7;1;ZNCNNQE)CMXU*6K)F-$9R+CNZ M4JZ+>FALH15;;+NN?',Y!]$U^ZII)UW15,CA=[T>R^QW?M =U^VP&CK;V^6?J =TZ5*]]1=;46_QD[L8.\>EL37U1JXH,RR3E+,A9*EV;_;=TM[T!'!WVU[6D\:!?V&D< K87=/E\3D2>Y MD97.7^_<_@.D"<@ND^*DSG8)>"\E'5*OM%35+ONCIIA7TQ/-MBDYJ,L.]P < M]%!6K=D@^_?A3.]2 U2=<_=5.ZC3[J[XP^G,.[=9R5)3^ E=S MXL4U#MCB7.2/U]5V76%/-"9@QB (36R3U5#GL":M%#Q]9*SJ]BVB"N=8\+SM M2%!9/^G4-E")@YK=1E7P3B>X01K@Z;]3F+W%-'=H T-O[577K^KZV]/*0EL2 MJBX^OJIVN;K4%',XG76T;7VSL> [F"[7/V(IM3#-;#Q0#52==4^5O.,9>9 . MA]/-]V/X5K,RI@$B?*31*J;EU5*E(HNUR6R5/Z:<_4ZCKW EKK%4D5RT13\?V8:;M@+8^>-V,)=7QZU'G?)5( MP>1G*?J_D/3L\;6FUMD52^AE3A?#CG.V+VSZ:7Q7%=8_66];$IZ>NT_S=MQC M03R1\K?NMGFPCF1G?/>I[(KPS8YK(WVFO*R7!W]%EYT#E] ME#=Y%_5HI')-3W8XX0>W/>/LB/S($K98;7V/QT?_^[I<^NY_NB(/L_^9*V\_ M_4\M[Q7V/Z.1 _I?\+*+_H?0;:T29I2_@'=>KOI]N"ZVT@_6L>VOTKUYNN:B M)^_7T]BKI)J6#(V]IGU.J?<[LE*UKK/]]H4N N$A) _PO#L\-; *8KCW:YM\ M<2CG=YK&8;-N0L>@V>1#!,KJ,&YC5_<(:A'D/VG ,QA;&L+(%9MCNES@K69; M+,-2Z@FG;2>TV%X)HE]F"9/?]B^9!L^99E M,W[JP/N>RV4&^2.DGZ]S'^7ZWI5./P^OY7=^YS$"XW@ M?:%")\V->$E"0+%&6CE$HTUO_.14D8WVF$.$T8"V.+WB\'\):=V!5+Y-)6XW_/DKQ9W$#.)8Z7MPQ'LEH6K!^W/0.TDD)&@(L?1 M#6]X&E(:91<"9W!?+Q 8K"R3&R:7XHL$7D*<)9&^QFR9Z'J*O7,$'-0<.O-UQ&F0KOFX89;!?2^GU[3VSJJVW]E0R-!@RZZ:\I5=2 M$DF* RLW8H@5(R7D-$TRTYJK2^1U[-$JV!IK6A1H<*%52XE$HSDKWO&2;ZS MA2B@QH&-ZL&)FX"99JDVB=\7XE3EVF^];7Y'@PF-4IH<:<7#'4M!@P4'8?$" M-LVL4.A0>7XO4*>B]AGR@@01)G1ZJ; (R[?@A:K"AX_N_.J(%H(SHH:6U_/ MS](%"UG[6NHT&OQ!(-MC_E;0C41I6<["J<$K=%@$PMKS@$.@87:=?(5Q?QG3 M'#9$BF##[)K?<*C.A6:<'"H!&7A&JJ\\T5#)(;041(I#LS0A^2,E$9N+)3P5 MK4'N:?Y,:?$U+Z H_@W3AP06]"1((OE3F&9Y)G_@D?BZ> X7?EBV<%;J"D=W M"YH_"G2)+X,P!- "Z.#W- %WGR5AO )1K"@[R#*:E\5 H50U@<$>5T@S&7IZ MS^)8?EMI&+/@7KXA0TZJGUC28+")G@3MIZ#0+(FV1_UH2;C0OZT9RGX#P&H! MT(/VUX![7R@^M:(X>54HKM0<#%I71EP8':BU&OI4!\S':]&R3RD+8925*,W( MGRH\_/G_QU@#8Y>)Z+IB<;^&0 W9-%^*H+'LL^!<<3&3Y0J^7)AP86N QO:A M#AKYJ9)1#5P"-]5O]T$,AU D>Z0"21'$P3P+U_11C(W12J"@F/$#SM?24:SE M)FER7.H!V"V4!?\Q$6*$7QNSW^'@MLAN_W>Q6/\-WE<65 )2229,F'4WI MNY^L?PQ^37GMMBM8[.7 !417=;=:VM8ELC7XN"B6-7&*)OXP^ F_G!83?QA5TV<"3]:N @'V](?![?T MQ\-JZ8^[:NG\D?$#;NAO!S?TMX?5T-_NJJ'G0O?\\7!;^M/@EOYT6"W]:6:H&_J5Y?K"!3(OQG8A*@E)#$3MS$-U_'V1'5<&%\N[8(TGT8K-B,V]X_8] ML4.#J#83Z7/Z(^U>&-YK0:\&E"Y6ZM$(J%I!TJP"EYD#,//G]'6#$V6NMM<" MU0'&=A'[=8/3US-^8DA_HP M!DLF7'\9QZ \RNWW]U^!EMTT8+I3MP!(% M<,']*@XXB6ID5N=R58@"S-[UBAW:J%S,"Z LH/!Z<4[ \FGP[.[A#YI#_19!F$"]V(4B>3$=)BG^[VGC>T^-OQPM"JVY*33>Q59?)3:FE@H+!$G!!8:SZ73Q4 M%SD))B9/0A3A)M.RS.0T[+: MQF-H:XFX,+4K$2?'\<[)9CPO6\KJ&R!61*-.2L*%YWV;V3\*UP$ %6C+W:T@YC2(UDVP"R3^@;#NZ%Q]3O/;/.!Y M.['+. FXL#E6_2'>99+F9$USDA427@-N=C)%65"U8_FX,+9LL@ MI&=T#DF*#/%:>C)D&+/IJ&PN2F^RWDBN]HZA1>1QI6PXN*<&3P@*.H@ $ U8 M1IX6F]"0&0/^VD2A!I4*Y"V)"BWDUO/F"M"1 M2.]\0?3N#P'0KI6[6\/_$<%Y'OL;0IMEO6J(:@S=&4II_,<<1<_ANJ$GG&Z* M>MTP5>S<'4I!] & ]+2Z&0CU2%FV8.%/+(D,.+-2XX**BZI^3H'"AB:"6ZI" MWI)G!ME-7_^Q4#LJ0#:'J)\8HKOG8"8\+E=?7*VC$653*/C;0A8N=&YOB"&C MTB::4GN1JA$$(>_?=:.)X%-Y&3T@F50)6"N=&E>,D6#I^HGR.[:@@X&C9\2. M$JO6^X$$$%?)=@MVEK5B;"*E7>?&;4!6*5"5-T6 MY11O>D,Z-9[E\N QC84'EYW_:\7R]0D5(QUM/0ZI:PLG1D3-,TQ?Y8GK!O=_ M)P4_N9<"B/OKF'MLQY89\LJ*KM%4*D0M9%'._B#I$9'4:'J06W?YY5LT-6]1 MSJDC5*]=R;6\6.G=!!..:(W!%9[E=FJ=/AY$O<195O,JS;3^JH8,45W;M.O6 M>4U+RL=&_P3D?YZH^C^G2=I6WO($M)$845/TZ]AMD"9'W28ETU3-LL$1W,:! ME"TL60G]2O"D25;X@XU7;<]?Q-(_Y1%+ KZ^S.E"/N<#&P*IO Q3O7BL:]@] M%H<(&CZL-#PH7/3Q8G-Z4S#9E%RYYR6]+/R(M LC56D3@?)TM5C%0MTG>CZ? MTS"_GG^FS[/ZUN$-9TG(EK&HOQNY274]GT7%*8D.<^.E(8+4#HQ0WFZK19)" M)NP$"JED(Y;46(5JIS0A-J<&9[6!"UD:NFW<:J^!IC;=5,Y$\E\X3S M/FP6T#-:_'N95*_U=9YK=V) U%AN>FIF3TE-_E3Q_1E&O 8KFG:ZX709L,@R MZ/7QH&XM@ZJ.#59R3SP:&JV2WM:@)I,E>KL7'KUJ9&=M0-VZ^U8^M*062S*=@0A:N%!0SY MBD;CVE=EQM^Z%IT'M6TI!V7+EHEZVGEZKN>Z7$JCA:!N:5?='5N\% D3BVATLOZ:P>*Y'GIF8C!W;G1M1>X]06CD= MH#D!&:02 C&\?_I:/+GRY\; O9$U4?L*]T ^4W.7SHHW9(3&0KM\#1M1.>3> M$M\N%X9H)7=N1.T[0FDEW+(4 9$ I1!223F2>WCY47T"+45A:=[94\!B< @O M4GX;Q/26ABLN 7A&[]W:V"X">P/V9@"A2 MRR*5,%P3,^QR9J,G9@TWHB8>H?3 B;D6-?W$;##V@B4"?6/;5\.-OWUM2@]L MWUK4].T+6@I? _X!)^%)3!BPY2./9;LK#NU)^ !^1&T\2FWEM!M:&-PK^:$A MYZ@ZU]:LM*8*58/EO%OLOX$44>OU::B$K<1BPG$'4V=3^M#NO7TD3]CF*3 M E$S&113]P)+,M&9@'#JBA:>D[6:Q>\8*[FIEJ6*!=DT*1<,">RODT:R_/IQ MQ4VV_&93;"?IEX^3-]J.#-"G<+#EYY_*M0>5-H<#U;L&?8;"Q!GF\*[2"3U- MXUC^\9-\T_TZH?!<@G8=L*_"$/7V_=NHK# DJEH',E6I4TV-98[[9*"\+*7R1U"*FVILUG308 MW1P[!Z(^ZJBHLN/:/C5I'YI,ZQJ5W7Q &+2= U%C.2JJWC(H7M)!& -=Q6=? MT @6IB-BU^VH?-%+)6.ZQU:Q3-Q6D MJ$I"%C/IG6T,!#]-R'NTMEH?,\8&=-:YVY;%33S8$VVTZA?HE&V11XWF/B*5 MV",R6\#&W<1#L%"M2*,D/E3?E<-'Y9D#M"%<,8@SMWC/7!R#@MS MX\W; G]-F1*#5;%'1!9\? \EM\F@;"QH-&R%Z^@PH\&V-:YM30B>2.>DWGG9 M' ]-U#(_R=3*-)H]B87* _V\@H2^U_,S%J_$MT4NZ.M-SF5=HPT4@:@]QVK> M;>I*#BD%D4(2M'0AA#2D')%2OJ;%FU]=B4_BZ^HK\1_HT^*;_P]02P,$% M @ [GT"3YX<+#[=-0 LH0# !4 !T87ED+3(P,3DP-3,Q7W!R92YX;6SM M?=MVV[B2Z/M9:_Z!)_.RY\%.G%MW>O8^L^1;CM)U%WC.B"2;Q/]Z<'+][ MXZ$X("&.'__QYOO]T>C^[.KJC9>D?ASZ$8G1/][$Y,U__)]_^5\>^^_O__OH MR+O$* I_\S?^#/WB?44QHGY*Z+][__2CC/^&7.((4>^,S.81 M2A'[A_S#OWB?CM\]!-[1D0'4X)L_^"Z&_ M)\_ 3Y#%JQ%MN9PE9/:O6#&^LI($_Y*(Y5V3P$\%T[6?\:0C^-^.RF%'_%=')^^/ M/IP^M!*HG-3EXK+9S*<+1@K\&.,I M$Z0X'04!R>*4G1:W),(!1OK56D'I)"F>,6D*+WP:,W8DX_@[5TUQ7(=G)$ZI'^CWQ);@ M.D3HFX_C%,5\_V/K&+.-CQH3VF1NATN]I62.:+K@]&+[RIQKLFZ)JCE=:OP3 MH>E1BNCLE%!*7C@+M?JMF-/ATJ[1HQ\Q,@0(A2;+DHWODEI^9+#]50=UNHWP M$W3BO^J7T#"TPX64JGZ+*+/S9R2^?V*FAVY-ZED=+N\.17Q#8N90NIA0/T[8 M!L2L8"W1=/.ZI""#018("8OC-J/!$S.N;YDMIR6B;F*GE@K[QGC.:<"_8&"D M-(_O="-%4T0I"L6W]%MHT^@.ES.AR$\RNC!:3>/@3L4^Q508B2:"U#RZP^5< M^I@*AWL\O<3\I,5^=,6<5)H).U:W/L/I71I(I5W-0P=T)CQGK16DF+-SL[Q; M\[Q',]UL 1-NC7>$S#JL7CT.LV7KYO7A?9BM3#(W, M+J5P-F>;V7@Z"HD@"@]A\DL<&B:%,S,A=XCM'1F#&A!V0/)1YRCU<:27V"Z M=VK?BF\5RXJ75N$J-EJ-AALBN170G2*7;R#+OW>&GQKNSJV^XOLW/J5,=Y[U M5PQ;0>W?$C3DD]GLWJQ"TRU!-0G.0N27S23FPFR#3*[E'8'?$<]LL6L#:Q<>GJ'8F<[O>!T?.UFK5I M8P&C:Q_[=/'-_XW0LRQ)F75()PR\H9P83N]ZP=;$54WJ,5!@;&DIIW7J>02$ MN001]G,G;_EED37'-Z<[MA5/R,5TB@).)/Y78^]C>]@=HGK#/;C\1HBM890D M:'F(Z# QF-J/T-C*M<'4W42<# EK#F$7UZ^VU+8&U'<(S723-IC;SU*3.Q)% ME^3%IZ']6N63>Z3K474!XRP5>=),9+E%\8IH@),M"-\*>(_(6A^CAO-[RP&P MMP=-9O>5(V"[6J/)O>40V*[6;':G(<4Y \(_Z$=EX+T2=S?522LHJN7/*4HX M&#[MFOUB;0IZ9=Y?B,(2$,? *D<^Q2F?4;Q=./&.^$,'D0[!?LQ'%JLIUQ.1 M8&T)$7\00#:2[OD*$K8$D?:?H.#XD3R_#1%^RXG$?Q#4.GIW4B3]_RO[U:_B MYU-"]M?<3FRJI<'-' XWRAC.XE M+)\&:[RKOYDH1KR=BXS\H^ )1TNV3RF9R6A4T(-(%EHE%_O$+FDZ8JL(^4HN M(_^QF:@;0PRI>@)!UD9L8.EZCI* XGDU@4A"WK61AE1^#TKE!MQ B%UJTQUZ MQ'S5?$'+BR_U3B&98DC^#Y![AQ);4#Z,XCCSHSLT)U1#_O61AE3_"$GU)MQ MB?U?F4]31*.%";UK@PU)_@F2Y!(,0:DN\LA%8H0)V>NC#>G^&=0XD> (2OC[ M)Q1%_,[6CXTDOFF\(?%_@B2^'$]GR'_!+[G.V<%CSH'*%$,F_.P*$VK8@O+A M%E%,0G;L4P,.U 8;TOX+).TE&#I ]8LX-*7Y;.>!(X79R14+G5:R::,@7$<;5 '9 UHS!D1$N*/ZYQ MC$Y4#&D<;LH&$-=5BZ93Q']O1_SWYL0'\5VU:#I%_ ]VQ/]@<2OE$O$_N$/\ M,_;CF$[(B^0N4#K8E/ @?JP&17BRBW-H3&\I><9Y*44=[6LS3!D Z-ZJD87G M0F$(F$A^.=*4ZH"N;C-R\-2^)4GJ1_\?SW4V9_-X4\H#.KTJ1&&"EKD,\."' M+-EC8X@IE4'\W$9T8 C+N4V1+Q?E]1&F9 5Q7IN0 :'J-8,4W3Z16!GIK8\R MI2Z(%RI#"F9#YIFAB70SJ/RS*4UA7,I--$"(^8/BE*V#/R;)XB+BDS035C+4 ME,@@KJ,2/1""WXL:"[S:PC=F45*\JCV]3NVF<<;Y0'B,IHB#;/SH"!C MV^'BY/W#A+^-D.P[M5&F% =Q%V5(@5#XADRHS]^CW2]F#R22)_\W#C2E,XAS MJ$ -A-1KJVDF\L804_*">(6-Z(#N$A>OP9,?/R)Y'D7S2%,R@WB)*N2 ]^1' MHSWYT7)/!O$694B!4CC/]F4Z-GZ(\.-:Z>%F8C=.,*4[B$=I@"K,JRWQN*/R M1O22_=!,?,E04[*#^)A*]& (GH4X16&^L(8BAA+::V<9OR0"88,ATH"7"#]0 M%/UG3%[B>^0G)$9A[B"H[A&D4TQY 7AWJ4$7D!'_)%'&:$5%\BJ5Z(-DJ"GA M >\L)>A!9HKF2=G+DRGO,:BBNVR&*?D!+R_5R()FT*6(KQP_HW,_]8MUJK@@ MFV'*!<"+3#6RP*\ Z!D[EAZ)^MY^8Z IS0'3=QM1 R3U_EN< M/SI3TK]AM"GQ 7-PY4C"%F=8%E$OR_XWTUXUWI3ZH ](Y8B"T%\4!JY:6F)) M5\SG4Z5?Z&<95W" X(4ITI G;^6-M_+@71MG2G5 I[8),<@78=E#A(/+B/A* M.WYMF"F5 3W8!K0 B7SJQ[_3;)X&BTJ_U*7^&;A1A@!,&0/HVUJ1 C+@D%?' MY84@18G<:K509=A!.<^409"/5@T0![64DM5C-A2>+NYX@5&>,#%!K^EI5&GV MV6PX&4PWY1)H^25C,H R:U5%X9+]1N)"2P>;,@*T'I,$10?(GKLWQH1?&VY* M>M!J3%(T&XC_][D;>\9!*59>.$1#CD:NT5 M\[T"0%LY*L5HZB5QM%@U7=;L$B%KQL@O$&I/!10TD Y"ZQ2 M;PL.F>#O!J>6;>-N?2H:YJUZ4[(ECZ=WC,CT&2GTR1P"6.'?%ARTI8L;W+RE M:.[C\.)UCN($:15.,ARL4' +/BDQ=HHIHH^6EA?%*+!RP>U9L(:?&Y0734"O MXHM7YKPI9,;FE=9M?&U MB&H.7!WIMFR0KL2T.<&;P[O-F#O#'9JA\-Z/ M&%9D-L,)+Z=EPB35-+@ZU%OP2D\'IUA61U'+KJ8I<%6KMV25''\WV%0&Q%8A M,AXQT[)*,PVNSG5;=AG1P0V6V:C4%KK40RWLODR*?7$-VC@#'9C_/13=[H;3 M0S'Z*YG8NAR;VDBX$MWF1-Z\4FG&U@U>C,)0>)?,S_1Q>!6?^7/,E+NR:(4! M8C 7KK!W6WZ94\0-#MZAU,)KM.9KRRJ-R#IK,A2L: MWI:#YA1Q@X-U!$_1E% THMW5BV.@V9/'VOA1Y7[161YCV=Q20U>0[=T.5 MM.E4!N#?1MT*TCZA% >5NN]K#Z4^F#^4\OZV!N_?#@^G>D=OPJ/\!H@4XW1J M6A-RU^X1-Q&JIDZYP ^FHH@7]%"]\F@8ZQA?UJ1*QH'*\JL18!>XD._9J[SX MT2LV84CSM"'RIAF3RM,[0"YMK.V.9+AC7%%)W :3) BMWJRZ$?O\ MAB1UF.J!PW(H]--/I63)XY[KF+H1=*DLC]E48RH$+12NYBVBHD*($6ODDUUY M0UT[,>6,TE'".=;EE5Q&6?I$*/YS9:\E([E48?:V[I1Y5;N@+BD:E7@(%\0<(7L%R4WO^4 M3@"]R'E&<:9Z)[@: 7RV:.A=NX]91\R5'2IA[O%70D(1D$)4Z,D]B92;E'P. M]!EBQQ,]]FYPZ2LE27)+R51UC;DV"/J\L.-# WY#CX+?(Y$;]A7%B/H1DZY1 M.,,QYF3@->>+Y]J*:('A?.BR'7:,MJ.*&\HWGB.^NO@Q1_6:--:*+T8W#H8N MW&''(P6^0U=*41DY1XL_;\RES: PF&X>=%T/2P8;4<$-Y1-M.E"2YLLMUJI\ MB"N? 5W5PXY+.LS=X(^0I1L2D_5-0WN\Z>9!E_]HH5%:*KC!L1;,VIY/O65A MV/')AD6#/.!61_8EHQ2O48+CC+=ZS+$F<9*GB^7C1,&:BU=&,<8F'/MT(2([ MO# #KVY"A*U6[D.Z,$)/'X4N2&*[:?=.__T0489ZH7JGS!=0^K72">#U3MK( MAA1Q1TX'E)JX.1O#P,N;6!X#34@.7:_*/._RMNK43W# [/MS'&6IZLY!.Q&\ M'(H==PT)X>)-A"(A<.U6XI/YK405I%? ="!UI@E7JX0YFR=LAXPY^XRY%@G- MAY0Y1]*RK@\I<\[RQN64N6&G9;5)DG,\/4OR"E/'',TTZ+O!-HPRHH0;3-M\ M>*GCEFP\],U>&S:I<7>#/VNOZG3,:1P,?9_7AC,*K-U@RXX>!,)G+_;PZFLN M>F2Q%= 4/A#1:P@)/L%1%SR"5J$\W_(\HVS_S7NGB23FB]D\(@M41AUYB5^- M?MD Q(-A[]Y!GM&@R<_0=MSN0&<,Z=?%[R6DLL-CH_"W[*BO]&$ M2&S@,LB)1(<6%">"$P*Q\5S<.=TA=LPD.$5%AF-.ASL4D,=80%2Y$CM: '0* MC;%4[9@E;LCA65XZAJ?H3:K-P"?F7%NQ!<1N1% MTO_VL_E-%8?DY: <"%17,+.ZEVJ8!>N+\07=4O*,0]Y(_#L[DZ[B98KO*&!; M4UX5LR%718]X5_!=>26JX'K=#>R0LFZ<\OTF?_3%O(XY,1AOOV*(\HPQ1@)Q M*DT(MR*952%:;JX6/R&&5#)HR=S[EZ&C0;W*U*X8YX:8GB/&O +RK"?(R1X M&(>C&:$I_M-7.PEFLZ'#3SOCZ&9K(7/2NB$,%1>8!UOTK^ DXZ%C4$ ,5Y.O MM7/QC.@#21"\ER@HQ+M37!)Z3K*'=)I%9:L1N9"H9T$'EH!$Q824;NP)RX:0 M/RA.T3EY41P'36.A8T% #):3S0VVEGWOK//]M1.A(T%@I[T108=_"DB,[TXC M%)V$(_IK5@TC85L0WHT]AY&$I[F@1671QXC',+/ZIQLL]G0#]*V85+M M09(QM5SE;WD*8E7%(,TT\'=D?;*T@4##/R'J:-Y2-/=QJ'4H]3/!W[+U*0W- M9-IC@1!/;%N(0S$/_.G;#H1AC43[* K?XP<<12A@LY]BD8 M"H+MHWQL-+.=4#]L926NSS>5D-YBE+LP%)M(MH\B(@J\+!VJ2ARLQ]7Z^UO+2!,)46GH+>?8N+7+"[:.L%'V$U]L(CZ?E(RH; MF=&",I6=WJ*G?,[2VE@M'2L"LLM%+&EU$ M>7XECP(E]FD^K<"9RDIO$=(6LK(5Y=R(C3)3O'R4$/R188J8X#-13Q<\4R#E MA3[9;^=\B.(FW0*&<8I6?YC] ] M"C(JJ'>.'FRD1@?(5'1Z"['V*CIF9-P?^6%H,FT)$ I%T<-K/&666))1WK'Q MED0X4%HA=E!,):>W>&P?DF-#P.&+C<0L:R"?M>G:",-49/I_F[RUZ:J@T?Z: MKD7KSJY,5R4X4UGI_VUS%Z:K >4<,5TKNQ]_K\TW/NZ[+VLS*7,_=5--F=IC M!N@V'*JE=9J1R@W.2C:R!KRM-_M&&*:\[O]A\-:;O8)&0]_L.;K,I^)_<+_J MF1G)_"Y)/''=#.K)Y<(.BJED]/]^V%PRVM!I/V5CQ%2$T@73!E&]PU8H:M-- MI<&E>*859?:C:L NA,&BML![ET*6QLAU(A"N5![(9C.?+L;3>_P8XRD.>'1N M54UCTUE>*T7PDW?DG>,DB CSK1'[R\FQ5\ 3A;)7$+T52*^$^0M@48(ZA@8> MD&(.Y - %=\F3"1.(Z6];SH?N*" GF.;+_NLZ.)*[7I%OOB:ZOV\J7KOCTL= M2[S59$@=J^2ZZ96K<3"@5ET3/TYN2,I$A6=BL6-!9%%4EKFBOH&2M00'K',* M#FXHVU;DQ7HWA(\I!Z6STG%PHNZA?A/%!:O LI-<90D*$UL M='5KP X\6K9%_H2%XDCYJW);@K^\LW'\=L%@_+EVM7']0G)YN; MR:=CKP)%;"D"CAO']V';D'7!;;$I_"55?E@*72:"->: K2GR^TU%_GSLE;-S MPZ"<#ZF_TL0VO88:3(6]1&Y>G95&VD$!UD]C7M8OD:U)Y8H^WC\1FAZEB,Y. M":7D92VO?TT?/VSJXT_'7CY[PF9[J^FPQ^E#:G=*-H^'#.D&3RC,(C2>,@;S M9 1V8N#TT@^*ESLF45US$.!'HHI?FT%=6\JXHF37Z-&/BE03N8)]W%2PGX\] M,=.K3(54+IX6@_,R.ORF3+PP>D0Q#ZG;Z)PE&,@X,*?^-S]EVV-MJ29Q7[/I MP"K8BJN;$6 ;0KFBE3R97***GS95\0L[Z_CP=NK'%A *&7OWJ9 P_IM?5U_X M0-QBVB1(\P[$S6K43T_YN1X=87!('@Y"$_ M@-2I"E9B+7J%DL\ U*;-11FHDF(*L![I>+*A1%K<7=&@.Q3QN[Q;GZ:+"?7C MA.'$:Q,TZU MT>7D_;%7@/ $#*\*!#;AI1DQD^P7W4S0[LO-B[,ZL:R @*>] MF/&QUJG9FDZNJ*2^=^.:3M8R84X^L'.M@.$)(%X)Q>-@0..!RX6*5SW+WH$% MN\1-C-@P'WAWP?(%J4'<<$NX3L07F]LJ2L6A>#BSF(@29391R(X^!!VK[$26 MI#'-3KGARMZRT6&C^9A_7TL .OEX7.PD^5RQC\!>+!PVDM8D.:TNW22W9UO M^[A1=$1M5S:&V_+1S/HKV[5MH9;*<_*)IP 4$_,- M1O%MU(#;SEC7&@M_I5 MLAM=X$LF0/O'C;2O70UHALH M@FS\$/1 C:LK:G"'4DS%JTVI\_F^EH1R\A,/")43P?W-ZLD\BL/5RBPOR,V! M..%)"NN#WX=5.9C8.XIF<. OS&UY+'7Z; CGBIY>^IB*U]#C:5%4PX^N8H9P M)DS.9L6M);><_'SL<4B> ,5?#"^!>15HAW?"G:"BX9E8ZT*.E>'TH;T2MJ** M*^JW+&AP%4\)G:UWI5W3N5H6R\F78X]/]\1\KP( 4LWNL_D\+^!4K^BD5SBS MVG?&5L0P"<7:\D/99-=4SC)N M4N@*DTR(X :[[K.'!/V1,1I*UY9F> &XP:JV,4;THEXYGAM,-V==;;5UK]EF1Q0U. M+FL\&.^7\AF&_.JMXJTUOW3(N\$BZ>MI8Y:90S!D86]E:JU9:$L<-UBZUG+C MC- Y87XE&M-3/_Y]_!*CT.3QI 4,0[;V5F[6FJWV!'*#L<6#-[;GD\<86[GC M!E.-?7)G^&A,#S?8=_^$YW-> C\._Z\?APS^([^ -'?-#>>;,M*=Z(H=9=S@ MYATC*EL#]X+.F1Q&1!P,%Z_\1C;0/:0P-O+VU\( MMJ36L"[E19:=Y$I^R^86WM]RX(<+^8X33162R2\#GOSX$257<74,C@,\CRSK MIG7SG:$E O1#YUY.@(2F%?EA?]N4'?:KM01EMH<[E_0BC5YB6#-5 &4ZF02OTW#JZZ]=*JF/:M!&."^?QH#OB MK,2J)*_H]R(ZO[ #8=ED/B8&M370YD+X_G%F1T91MH:GVE4G^+!E@N:/U?KQ/6-JG)[NAIYUVO MG%5 T=E!I7&UZD++MA_;*=A^]?]8;V]A9+YN!W)O.H.84,X59:FDXJE4IE[7 M9[-9B MGTUYU#:E>\HAA-<0O+L@50\+BP;<^1#DCH M1E[;"I&+Z13QDM!HB<6=GXJ7"3'OCR=X82\,;:!"1Y*V$8?V5'1-'DKWBZ&0 MNUC,1*NDZ=J+@B5 Z!C4-E+0BG:N'-S-/8I49WB]3IBR4Y$+!_J>M"RJ;#P; MRSOU$QSP5RPXRE(NB=8[MQU Z#*V=NV.MJ2;*ZJZV1U!I:3U(F'-/1)+^ 719TB+J7CBXN<-HU:[2RTR5W)(HN">4HMV@E9 8(V@?I MNU>0#3F=DX5&!1&_3499^D0HOR;ZS@Y3NGE GBXN7A$-<()N*3M*[[A*==") MJHMO0_L[(-VINF.:*R994W5EE5E6?R@FK['L@FFVY\66*X$]34%A^[BH'<#A MEF+>DH:N:/+5;,YP'$]'(1%[$3\U_3ADQV12[(D34J_?][ AMBQNU1KM:KFF(4L%V(725 MHIFB\&T7L-V0CFYTIRL)JI!G:3?#2I$]#J-7K)"(=!9FP!86+7.C/UPR'/)/[*LX7?XJ8 MLX@F9(Z#S^\^?T.S!T3E\K$-3.CXV+;:4BL&OBUYW0B2G6.V4$:^ )VB] 6A M6(G)* Y'TQ114X'I!CITH*MCT>F2Y&X(T:KLLT_SR&G)2K7N'!T2I>QLNE03,-^F#HC>=&Y'*#LYO5.+4\E4Z [N'3&S,:?W,?ZR47Q=%8+Y M6"O5:AB"*]_$R0U*\T#Q>/J5D)!? M!]PC*H(^]V2%<7/X7#9G4!%R->)N,$A2IU-U7$HF0!NZ%K=42I3=X,L-2O-U M7I-$L4]M#(,^;XQYT(A>Q]I;8-LXN/N,MO_.7 M#V)+RK1?L&^DBQ\X1)72/_%7Q*\MYT\X&%'D\[*( 9>5QU5-\DNF !=,2FCL M1V5A\F24IA0_B(J)) >;0V'73XX$9+MU=ZUK\/;;DY(F@RQO0D8/6B//>, A%B2Q>UM)C;-GZ(\&/I M&W)\QM,)2?U((C);082V$>V$H /B[8RM8V8#3? ,M>2A;#JT0;DMP]1D<*O[O M0L+?"C6#($GC8- -;[D>[@XMW2 C##9F@-=$D?*AMKVID79C9RMS\E>KS?.$ MF0M[GC$'%_TWVZ/']!JI8LY60*#=?G,.MJ"-&TRM[X=?*4GTSQET\Z"==7/6 MF5&@M2F9KW6KR#U!NFM3;)R[D.F:/+-=FU?%5,V.;=@ M3B/FCG'GDD?KGE HDIL,N+,Q'MJLW(([C9@[QAUA^1IPI1@';>QMP8TU3(=N MW"^QXHWH!/4M"D@TS($V";?@JY0"CFD:LUP->"-&0=_4;,&-"I;#-\Q%W8I1 M'%XD*9[Q//;R>7QSY8I5^1*](?]QTY 7W_+\./10^34/E8V@2>QEJP]Z0?E% M+UA^TB'[O^SA+5 Z\^>8L9.WJ+NE:.[CD!%4W.SE_;UM?(2M ;NP#UP2>DWB MQPFB,ZLR,<8 H#N[=L-]J5%E1+Z^$O#,-@(E.T6^F#T<:"^E8[:VI$*OW+7< M[K5M-?3 [>WIBZ_LDM-/7CZ70.X_^+AYGA:X3[3B]_0FH:(&_9'VIQ

D*7G$YYI-W4/#T89F]@&(+_GV&8NS(70H;]-$:;?1 MUZ%8A"I4_Z)1)[-J?S]OGND?CRN1I^6GO(M*Y*GR-6_Y.=<*_^W9B;]=Z.F& MI/>I3].5P+4+/57A[->)WY(([@<;M*SO_"M[:%WTQ(F^Y6:],IE=0&24WE), M*+^XN8B9>15$&3NOKN+FV\;&2MDXSAJ?HYLML@=F\_Y[FS;=F&K27T)8_1M1P@W'? M?$:"&-&U?4[#-=4<:'.Y+8E?^4\Z)5-,@;ZG;N37M5?F84!'E+2!2>(X9!@ 5CV,\1$AR*P]&,T!3_F3>[ MD!%%+A_=?0&ZK'9;2>J:QH[O%\KR..I9AAS^V34.F]!B^+??33$;H\#MIUI# MN\_'ZZ&;)3S7XK5[&[^I[D2JJ')UU$#C.4VH]E9X9#;#J;#N+@G-KRJ+B+#H M>!$*MZH2!)9"IQK6^(Y>DCM;J::QT-ZGSA&X^D9.X%Q>ND'.,+IHGBMNZ0[$T/V M+^E"X9E:00&_I%)Q;=-3;4$?-ZS2II5?^I@6SPB8G9W%Z3A+DY29'0P+.^ZJ M(4'OP%NSV(10;K"Y+"=_ZR_X59\( ?K.')!^A)+3Q3?_ M-T++-SD3!DUYSULKCB^@> \+;\;A>$$!R./KVO*>5V+)K3[_Y5A\77'0\0F* M\9 =S,5P8/)+*%LCOP*#E37?;7@A9GM@%HB6U @G M,QS\P''X#I.^0-7/ C%8U_9I"!0:X]Y7.C2A)F+N#>*I?G" EP66#P;(! M;"FMQK:W%Y4(X%"&W*2J]>9< MQ\DIG\@L2ECK+O#E.'>&NHL*.NH 299U'SRA,&,^[[3@[H9O*7OR8C /2JRM MO!U#7'K=JW7?/VG)@Q- ;-U1(INZZUBDF@;R.+=8E\B 2=HAA-<(ZH M$ B5@;Z)I TP\(ZW6F[67DZV)ID;OGAQE7>)&&']J(:(G+_:B=!7U/;,-*2% M4XP3 8I1'%ZS+[5@GVXZ]%5U:R::T<4I5DKV$BT/I?.@WX2U9IZ&$D-_"%$^ MXN_TO-T**/0S-'M)Z8"&;BA_B4AQZEAO J;SH5^RM6>Q&64ZKE0!* EK1U=K M>3"# OUBKKU4V%!I^+*Q1##/HN3E"$;A;\S5U[QHUVA<>EI,30301K MM=]6PWM[Y]:93]T+:T$B8;Q*6\S3H 7(\72),-_3,EZ'Z8[M;1-R,9VB@%^V M\K\JPV6U=D+KG_#(U,-Y "WU7[VD_(S'+"/V*^*A\DOY;PZ1M;Z06>>+1-)' M90AB*0^K^8P]!NAW\YGA1N.Z)+,;;H($M68K2)5:8PUH>'&\EK1R@]'+37]- M&)O\V>*?UI'4[Y&=?6!XL<&.:>N&P$BD?64A\]8(;)%/UGM"$XCAQ12MZ;,/ M#2,:43Y[\N-')OL7L2]Z=[8T)V1@AA=$;$4GI[7^AG!GA&>N/T2H,'>L&=P, M9'@!Q!8T&AQS-?7G["$-+R+8EEJ.\7I7D1X78WG[><]G;FYV8:T/,=1G3R%7 MLMEN4%K>1+!5%_7652&Z6CM%!L$+"Q B+.<+((?@6]?(U/@DJBJ:WZC+Y@TN M/&9&"#>.Q=I:.:+%[XK3HFSYQV^ @H!F?I2,HHB\\/XD^PAG6916<#" M@M$=?&MX4;/^*.ZH1"V[7EA(1F7.\,)?>@HXRBDC2;QF>UGYZZYU?1WV\&)@ MW5%T,!)R1F;\3[^H>ENX%LGRURAD-$-LX]I.6&P^,[P 62]T'HP(-1UW_$_F MA6+_@92 M;+SW3XS*IW[">\2M!O!^<7V<V2?5]W 'TW3KD(T?7IA2C?G0P]05 M["HGKU5\K'&>(9^_.,EG!26<.R$J:VW1-,4:D'%HRW7&#J3[26WW478]:1YM MRC.7XY%[U>"DDG]H5IWKY\W[HY-WQVM5$5RKW;]7=TC-%Y4;Z8%MT[8[ 3ZX MVZ@.2>K&/NUTUIU#&_NV67<']VGH]TX.-GAM=8T$35_*L+GP:\\Y4MXB>D=F, MQ"+2IB\@]F737"X!>O_XAN,EZ">CP5"TPJ?7Y._00';:AB*QJYL;.R?8>*FMA^ M5%')9)2F%#]D0ILF9!40O_47HC4?OVYYU'7@[@(VM$5L*0G=D=,-\9!(]CF. M,O;;FH!;Z[\<$+1EW,T6H"/4\&-?%[-Y1!8(W:A#6*A'U^ M5XN$?3CV2IB> .J54#T.UK7(V&KQXVGUNO .B<;=_-8POU!\J"B\R87,EG!! M6U',.Q"'S_[ OU/>%QKR*BO%SNJB;1MRK7?87'3&Q MGPE^)WB MLZ;&)E42]_1-:.>I/YGLE4D."6-7NE?B^4_"*"]Z-N]POY1]'-K%J[R-Q&-@(V\J MP!S#QN1_%,'=\*"(P,_">OH;823+UX1#7"";BG;UW8B MANH%[*]CL3OV[9W,,K^>XCC!@; 0=B*EFY\\>!1M6+0?DOB5OP!,KN(\'*[) MQ^OE8P=?P8XM Y&[Q K#GD[N+AL&(Z?=L]$1^57=!U8=WQ*'4"&&+6!! MUS/8_26KDJB.",6VVE#B!;VO6:X#NN"!FUM;*V8.1)"UJ)<)T4OD^[,*&S\& M73G!2:M0P9:!R)U>YVH8@FVAEBN!KNG@ZB;:BJ$.7H&(?*NCJA53"1'PI_,Y M'MJ$K \&"5F;]R9D]26/_>&AU;<.]RB.WJ,$3RC,(E0\:*CI4)'BGJ5/A.(_ M4?B=B2;=%+?3Q9IVW'&M$RE_BHVOY^_JMKF:_@YHL^N9=-6J(,X=TD;(U5%C MNRRZ2M',.FJX_??1_L%*:!,E1Z^X'_&4?^P@F]W2LW(U M.DRYK"-V3F8^CG>T;98?R#W,R^"OQ(O-_\FX[$SH9_0Y"^[_,Y@/0U?76OKD=W)WYR!KJ<^MX2 MV;(0;B6GN,@YWE&^B&H!>W7I*A7@75.U_ZWTH2,LZJO?R.B_0]P.PO'C&8E% MOFWF1[Q4G&;3=6-]>W7/J]^>W2"ZY#DFS'P7&AG'-OD.)'_*+5+.&(1]K#4,^ M'A=O3'-8HDN(?F?W"_>U+0H4\ M]G_ U;\('45T:^LP9) ;8GA+28!0F%PRFO):=GXVVT9/A%^EYG?]JGFMWTZ]I: <@_.-:?MXH\, MIPN#QLT;XT!UOLH:#1YNG4B+@KNG:?S>=1 MV;G>3YXN(_)R%4\)G8EO*.M _ERK UD!Y@4,FC=EX#R\@N=$K<[I1:(EPT8,'?O;A(D]>/TZ?-^ M_/1_'WH.N^=^8'ONSP?E8NF <=?T+-OM_'P0A>VCDX/_>Y;/_=0-X3UXUPU^ M/NB&8?_=V[>#P: XJ!8]O_.V?'IZ^O8!WSD0+[U[R'RO4BJ5W_[W\Z=;L\M[ MQI'M!J'AFCS^R+'='Y/'QZ?QJRW?L5.OXB]JDNK;L:'AJ95\H+]\_%8\3+T: M9KY:%Z^&ZE4[\&J5\GK[X-?<,- MVI[?,T(X0QRI?E2J'%6.M4&. FZF!H)_%SO>_^+@QV_AJ7HQ"HXZAM&/7VX;08M>E \RQH8G MON?P(/,;>I+QD>NY;M3+7I,5^F_#89^_A9>.X"WNVV;\W>R/TA^87N2&_C ; M6/(AKJ^17E_@A^/[@1\SMA(:0RM^%_[A>+[%[VV3!T73Z]$'I3J\3A>=&Q;\ MR?#_?@KMT.%G/[T5?\+3M_+Q3__GZ(A]M+ECO6.W/'S/KHT>?\<>K(?W[.J" M_O*]5"E__W;[NG+Q2[/Y%?[ :=C1T;Q?5TO?<=W?Q];[7:UW@<%J'_"KD])Q MJ?R8S^OGWSF@+6P"_O_2!7 ,SSFUZO'BXQ[JHW; M[''7@O^&'QVC\[UM. %?9*BF-M1YY/LXD!V8AO,[-_Q+U[HP0OY=//YT6QI< MWY;^^OSOGW]>9(J/VA07GAGU4G-\A%^"[PN>F@_ MO$.RPGVB._1/V[*X*\D0_@#O7@NJR4R8ES^$-\@O/OI>#^_U4>D8*%[H"=)7 M)]+GPOY@-FZ_R[RP!V?)C?WI;6J*I\TK6.C/!\!VW[4\8"Z&2W=97U'JJA^< MT?.E+B*9:A(I.#@[$B^O:-X)].'@#%]?RYP:_3@X^_C[J@\9:4K68G3";=-0^O0"[O\4]>$!QDK;,AUBE6C*O\+K_]?N[U>IY[ M&WKFC\^\U^+^ ;-!'H ;7['QGL,7]0,6N;88#X@(" X@R-C.SP>TJS.U8K6X ME2^Y:5DV#@FG:-C6E7MN].W0<"8M_WC#EG_G\(>O2\%T8.YBPL]/* MUNULG@,[K3[3MN@=X,MF%]2K%1Y;8TOW-]?AK>*V-:T_HB!$(A_<>1-(%@EJ M'V!C%I#A/G<#4J]IJ5_Z^-?@AO\9V8$=2^:916W M[3SJ10[PG'M^V6YS,_S2ON:#IDEF9]PJ[->T^PZ__OZ%%[7"=N1((C"GR6ILG?73QZWS;=ILC^OV>9O[W#5YH%Y" M'_&[@)S_,#XCC_Z[+KE^T==WI%QSQ8? .I"/T67Z\T%@ Z?E!^RM/M_(!&+. MP ,VG$Q)CHQW$A2TV2EV7>7X5)]Q\AS$O\:_VQ8^:=O<9[0;GNEBU)3\\$.#LYB+6)TWS^]S9Q"7][;[/5MT^78 MG_L&G?M*[_M$L7>[R&-*TFL\1M([68.DU]C?KHV[78TU4-71I-DSM 6MC7LVMF%L;,U>AST7VC@N],P8L&_9V(:SL35'9>VYT,9QH6?&@#T3V0R]>!UGW]C*B+PU!U2,N=(-Q\3\ M/VY]EX]VX1U>8H64XS3Z^ M2)E=(GMK-"'R#LM9$DL=,3H\&G*[:I]*4 S%Q1C%+NRVS*[ZP,,!Y^Y44#5= MJ]D.N;]'-AW9E@'#YT4[78-8"]KM*=M+HVPK1[$Q?3-.DP>AS+4,WPJ^]2T M'+Q;*YWN!C9IF=(?/7^D.(#GPE]-$D=']=!Y8+.K$NEL@_L><[8+#GFW^9KO6=F-AX(?O/AM_>/XY M;9+[DMAAE8IW4W>\QY[YXBCWV+-QV+-Y@92S:$^3^U[0-TQ^P=L ?+[#:).] MU3VU68C:[/%E3U\6H2]7K@5_\>UM=T9/Q9313>YIRD(T98\C>SHR1D=.CLJ5 M[7-J/OTFRGVO%,K4W$RGUML,9;F9S:-WIPJ7*_6=@/+"N*SVO1HHC[@F)"^9 M4+J4VG@UH[#K^?9?TJ"EU3/%>M/!A^'E _=-.^!??=OD-X;;X7<#;[MY4AP\ MLURX:(QM51#?51?)>O"VZ_,MU\VV#W,3F.]Q]PEP_.A%_AYUUXJZ"Z*[9LR-0;['W"> \=9^V"/N6A$WAO@>;Y\"10Q*V&/N>C$W@?D>=Y\ MQTN[TPWWN+M6W-5@OL?=)\#QVG;WDNYZ43Z/8"_7_;C_N[OV_ M+]7_N_VXN_?_ODS_[_9C[M[_^Q+]O]N/MWO_[\OU_RX=>R/7%JC[[?9B#)EZ M5#^;G]F!5ZN4&^_@'368>I2> D>;,+Z _,0I)+SHI4?/ >O[.F$>R[X'+!Z' M+7Y['?6X;X2>/X[$"\!@=(U9HVJ37G#7Z]GNK&EGPV5TWJR!U?,4%.8 Z%>8 M9L:1]>&O\Q_86_OA'>S$BWR3!_0C_=3EAD47Z*>WL$3X$__S4Y\%X= !2M4S M_([MOF.E@[.?WO;/T@_;@-;O6,MS+%8N]4-V!U0F8-=\P&Z\GN$6Q \%=@MW MHOV>Q6.]9W@;C@S'[L _3;B22$Z_75_=75ZPV[OFW>7MI,F6,,]/K;/;R_-O M-U=W5Y>WK'E]P2[_>_YK\_J72W;^Y?/GJ]O;JR_7/[UM3=SPO#M1?&\R"JE>NV4YFWY["V>B/ISI>OXR+ZP&_:9_13T#9=0[\%Z^'Y:.OG. M+6X?'5UX9H24]&[8Y]]-)(2EXU+Y^W<,B2G5@=7^]9_VYS_J_>/*PU<#1@2< M#0BMCV_9X0_']@/X3LL^]J#[[J6,<252O,^7 M)(!_A#>OZ<7LJUQI]H[_N#O_O7-?70)/&9T3-*VC:NWT9/WWK%<7HK8'7#.W: 2!I> Q2SS\@;_$_D?AI:WDUM M:6>4GO?@[*[Y^R>X]Q>7_[DZAVM^=7T^\0;S2S.7. M>+B2=C-1_@@YO<&O9NTJF!K[L M^6&7W7FN,< F,G/OJ9&U)Z*?7_RO("8 +9L@G30Z@Z_^;:/W7_OQPOC"TDGV M F>*)6P!\:1ZL@-7\"+K6+]Z %_G?^S^9)'SAQ]U;_AM\/%?E65C:VIV$$QJ MY4H)9)/:9)UX:8+)_$>TP+DO?IJ'$A*HS/5]0%R[#\H(?^!FA'UYX&=@@3QX M,Q5+-V4O<) ,3_)-U@&]#&8MAEX!J9@%_,1F\8\ SL[A_:[G*CM8@0%F.1'. MS@R?&[!5BPM ZO\[-VDY'*4M'R1M0?;3A DF4Y-KK^?\U2@9@_HR-!U]OH.S M1OEX N%X,]$2^,F#H_V*L)JFGWWZ]F_W\O3C/V__NPPY9'3.@[/CT]I1Z:14 M6ISNK>A:/6VP6R!?OAW:\+JP4'&?6ZP?^4&$IJK0@V^$ZE6N'+;>(/%#>W33 M#-]MZL6N+"2%KU@;TP]KA=/=NZ MS@WFE]G;6XB'=M[D*(V6'KXJE2AW0V&?WAA.A,O1-I!\Q@ Q (CWZXW@#PB!L!W'HKG[.# M($*MQPB8Q=N 0>01O8D &K5278F;V@V#2U.+VTCT_/5F:X6?" I!>KS(.XAE1U/5" M^.7/R$;R#50;PU/R.9_W/3\,LNEY%1U$\;\HVB@A[I/Q=).N\<)X>I["T_]X M3N2&AD_A,GZ0C9_]>K_^W\ZG_LU?RPO]&)EXU7CY;-1TT.7D!QW!U\/R&]8% MJHE(:C'#<1),U7&XQ>4;,&@::U/8JA'82R7) P;C8PR-8Q8\!;4)7^W[W.2D M1)4KC,(= W8(X[4]/Y\+(I#\@ZZ'H2PJ4BWL&N'HZ@=&,';5&'TL-_$&6()K ML<.*V&6+<^ :4>L/V *^3Z_"1[@,.0[&5@;Y7%M&S/6-(&2G)689PV!E%U'^ M9+OH H57BI4ZQLMEW9IT/,EYY/OPR0UM%C:!+I%HPN6Q?OWUU_"WF^"DNCSB MGCW_P=GOF+N0[81!DH!7;&MH_(2+@^@$F-2SPQ!PCSN 4;[GHO;I#/,Y1+J^ M%^ CCR*SF(H&X.PWW@KLD!>0>QCNL, XZ*U#=H4RG&&2$^#"" V&!>$B8S M:C/H+$6)/*0=W/!.Y AW^NW1'3M$<#7>5ZJ58BP4 ;^">]K'D+$Y;R>;\W+F M:5U(X13U'>D.PK^;MM1@_MX5>GV5K:E M?X$K"6#[/T='@'WKUW M[)C\EHE!5S?@CAIXQPVZ^*E_IED8QG6=]RSUOCIVI?8KI5]E%XTNMP^[.FKY MW/AQU.* T[ QPQD B5?G?Q1Z_0W=AG8X;_%TQ(%LTLU9F^QMV8'I>)B!AL3, MXL#'$4]#(BI^(FOG4\I@BC#^*R:,E=-LPBB%>KR2!NF6P ^X[0K9 M8F [#CT&\AR_44!ZA_2PQ0,4?U"JTMQUJ+Z"--5!)N *C=4FPM_WO8)H5 %O(8! ML7 M'$JL3W^GB%+Z%IW_!+Y,-@('ON;,,.&2'$58EW$"_I;VIU^5QZ>>(U92(I5UI'%27#ZX+[BMCR MAGGZCA=RSRS/@_\I&PG8_XX[ZO_?7$%+M>?91W/A'6R0ZV;1@/Z+L80B_QQV MWO'\8;:0-_RCVOSMVCB-O.5%-*:F)=='BGC1XTG2WM__=MJH';]?MTMG%IQO M)]+9T1.HI4Z OOL0!=V\?O'4N>WSQ^C_Z[KV#(7 M)X^O-L_QK>=<1O6$S?1R@N36GB(AH>@[GU$]GT-C"YE8@+BAJ W":Q0(\0JP M0&1R9^2V@H2&DSE#G'U@P]R(GRZLW$-"@G&EC;[!BS!D?;\6D/0!0E4H6<^=YCA3$Q)RG#,;XILFH\CG2!VB^-/IW@M MXT_[3]O^];>E<"HZ:6ZX;<,!"7F<26GKV3)_W!V W^ATX 3QB/%D>2B\[^IP M[CVZR*@)H6XG_VD*QST:)4,X8@ J=&D_;71$0##!80"T9B&+37Z/I:(8D8H MXY/PI]2HY)1PT&T0>(Y58-*18 ?1VM-RQ:V6R/X042%1H,UDS$T-1!YL^5N M:+R6E"?0&:$>I,P*/;2JHN76#9VA('T!->39>XOD8MQS8_.IX1?K>O!"*7R]72][]NZE_-#Q_O!U[+C-'W M(QDC8:Y1[-.&.4@A=UQ3K5P^JI;2".U&/8[ARIO&>BJF#P#N>30N)[]A]D3/!X MJN]$>1QB%T3:F=+/>KV4'2HY-D0IT1J.4AX$M?;W# M?O6--WVC9YGN&0;EB M?]<>KKJ2W^1QL[,O-UR\W32R2]^%W=G/Y\?+F\OK\_8Z%:C2 M*]DTZ_+I8ZRR6)/QPH\JU*C@6+)-"65[CK3-?\$@&1^,UN ME/2_=%/=W%M]G%WH>6;=/)#,QHJOY'*]53[6.:QYRU_G(Q%:.7P+Y-P.$&7+ MM3V*S@7=16RHRZHU^_'+S6=!5ZZN+R[_NP2.-3^S74WR\R,JE<18C% %'&[> MW+&KJ;RD7'_R+-/03O'IM'< M(Q>18,^-'?SX:)BAA\D+^ _$'B9_6=TB'XD[QWO<8>4/FX([WURLS>_<72EU_PIOV2K.;758N:J1YS5.O;#;7=]NYG+! M ].WR1?\I9UD16.?%@Q5$BJ:YS.]B%\^)\N*7,KPGQON4#@W14)T 7K<9Y^- M,,34)@PA$I44V-?(-[N&#.H0WVJ)V!ML1V@\/X%Z=CP_?EXN=JNB:A/453]] M5'&QF$9Z/@&2K2/3Y09K7 M= UG&-BD&0*YB[&2G7NN):*_\;4;'D1.2!3Q2Y\+%^\FD\(]Z@+J;HQ)]=\1 MP#DT*(<^$>T/SOZ-X?_R 2(@8IKVKJX'L&;+BT(FV#U#L^S&D4"H45"X@A M VDT.CY7B/@;)F,U1;Z5@84-@&\WD_0K_")A[0E9W6/JAF/JLECXLWGBW=#W MG*#I6F0"M@3?5S\3/47<3![N,7+#,7)C?*V?/9]?)55=#LZ^8"(BH93V\UY* MG,.,G-B1]X;DO2%Y1K!%Z7D)P(7MOB>#&PD+FUEH&&"=AAHR-U ,)J]X++9N+:5 3VJ5#[[,G"!OG7M/A6_.X<3 M,T 3_,!=#I0/E3KQ A' Q-XK;;<3W5Y[I-UPI-W*F""%G81XZ"@ M)7&,H6+ M5!%%)#4'!6G0$'R=8:Y<'TO0(-O>X^=FX^X^] M'_?"WVP=\#]*!?S/7@/<:X#3+WU]0RQ EP]=NV6CAT;]+38H)L;NV%W#;LTN MMR*'!QM'#DZ?GQQLW^WIB(ZOY\4#E8-O&^A?F,4)C5;Z]^N6[>?;NY MO-TV&O[(BU.I3FU0-[VX3'47ZLA47VP=&5A$*YZPM=*Z*:TXJ7I)\SR^%LN3 M$^GUJB1QGJR<1>;^,I4VNZP*/*L^J#^B(+3;M(_5C8UEXB3 J")AJG, *+O4 MK@EE#3+0X#2_>_X/],/_,W*&K%(IL/)IO4[2B1TP[G;@)L1?6CR Z0KPYSUW MO#[**P58DANU04G&?@SXF2C+B"H.%:JC,G.M %:!:G2!D\.WO2A@(9 9"N_K&6873M_'/CI_1G8_-B,% MH1_16H(BZ.@,Z3J%!X:>ME 5;!!P!YM Y7/\P0YHR7W?L^![AA5A .JA!DY< ML^U&,#^,)2% 566IKJ-UCP9\"T[%[+J>X\%^Y%A+0]"5E8A"KC>K3HXHE'9'N,E,4?[ MCP V:B]+[!SWW#%];QR+5B$CTK'AP@72C!SVD=-BX"#_:WITC;QTK;P>3[W MR89+AM8OH!Y]O#[PT7_LED".9.;/XE9:ZB7AZ*(]8]GDABU.7>W@E8N'H\'\$.PB]!QD5WKAX M@JKIPJZ!#@)"F"* FAM^V/TS,G[ (Y_WX. 8E0U5Y%780WW>A[\3KF.C+ZS7 M&2)J];%&D81X7,!6_OM<]4H91U3@![ ^:G-2P!K?V)A/UK2%^ZES$T1,4=P; M;B;LHWQ:J)1*>'6Z1WU &XL.VJ1C+LC#%#>J7&>JSC?#Q#EQZ("PB"7YG.0X MLH<+=P,..^6^!^3-%#<(*ZARG]1V6UPFV$MRP>SD@K7$!2.@4^\7'RE(0)@F M@9$% VU;QU1A$_\[S];@E/ @@8P?E[(VJ2U-PWH\5Q.7#Z.1$1PNO&IIY,M? M@&W;CN\9.#?>=$2#'W /S1_P#\>P'+7W#G9,HE=H+<#D'3X4%PU^1A[?#XJ" MX!@QP1DY5YA?5%F6A# %M'& B<&GP!\., (29(2B3Q\3$Q,;CTFU+3#,5/D$ M@91-4O<%8=@%0LS,H8D[UF H\,>&T>$0S4)01QHVP$+TA M"D\#G8=5X+5)RS=20HIE'/I&XJ2$Z>9XC(&T1+4P(M*5=?AH@6:V@HB,8 M+A$_!B4/J)>6E-ID>>$ UAS0Q$D;1#&]UR=(LV 84($RV7I3$!S#]@6:48UL MFA/.KAVR>[7<8L)'-&AAT6QN E]PAFHAV)FTQ['ZOIA.OJR!!8[,!]YCD ") M.;L$6M"7 #MB'IP!%3QH#20:AP! (+>7#0XE0V=M+JP;0A3 9&G];T@L+'& M%UUH6/0]G" , FL=B'OLV?&RBXI1&HI1TC@@\4JL%00#A!$C.((]^RB7HSQ< M8$A?.P(QD1ICR&Q!$TI&UXA+,^[A/E/],0(0,5TX)]RH)IVDET(P$LRXSXG\ M]9"/(F^EFY()KRUGGR#P7F"JIMV*<#NK5@W7*_=& 6$L$"7I@J+KH7A(/H>< MDL2NF,M3PHNB,1(LB!Z2('US;;CE8A.D94H)$.0]RV"&XZF&' FCJI9FCHY7 M#@3P3A=3:R3MB86+@><[%C 4@9' Z:0*)B@"K1YCT=,,7%R(1%&EQIE2(O1C M<% C@ #;M**R(\8"N=4- =I4-E0(">015AEHM#LBJ'#UD0.;?$3L^4? OL(& M;&SZ"^O.A&]RZ>D"8Y\"_@"L,("GP)>&()LA&XLCZY-ISU67%6*@!2$4 +1L M5RQ&" S8VD1(/<:0N(JL"V\'DLVZ$G1 0LJEUVH'4B3&G&67AUHG!JE'BR8) M17:AHP806B]K&VSV+I!=]&6:XUC.$\4A=4B'S*"$$3KKC&R!&")FP9Q#A$B0DQ5-CE$@) .*F M.JA_(%:Z>(%9AT(N"?6)E[5C=L7N!A[U 0>%VY5=811=2-]BM0F-_LD5T+;: M4B25,NB6X^1ZL42 %D83Q)6HA($DC(4#3P@KV-K3)]FR+SL]*=44, 'E7?PI MPY*8L"EA!X43QXH,VLP!VV$!B*2G@M]MFRBB(BM+H4HF*2;8A!2NQ5!3N M;3-RB.S!4OX)6AR Z1Q$78.8QYUA#PQ7&#'&0$'#NMBC!PVAVKA2(A6 '(; M8C Q!7X&4O<'M PECXK-D[9&)J=[H&J[X(&J;90':EV^I[7PJAMC@(&:0J=B M<:XIU7';!=;5CZ.W?-AI+[53J3$%I!OEK+?N(HK#1GI%/)XL9,WJ/"(@'^D M'0E"A0!1N>U%V@/D8[[W8/?(]5<]?LT.RXW7!78"_X5_(&K5X:]HQT'><,^= M(;4T1,E>"/_(-;%/4()PY(E03; =)T:Z9%;4C$C62AE^;5)Q'$/J5"E%Q21T M]:ERAT@;1F<:#,69L$8C&*36A\4]2#A+V9&W!'>:?CD*^VXI%VAB9UT-0]MVJ2T&WVTB7/')J\J MVI<3*H+HW_$\*XB-J2+B!%@9]E<4TK#/@:>Z(A K$*T4#?&!9MZD;K NKD.H M>TC:BOE<"B,-Y)?)^E#J)Z>(]IWH*#D^E/(8$GIBP 0R\L^@HU;+HMT;?8F- M#8L,1%'5MS:?4Z:7D'#!(-D 4=\JL@L1H1 C_?B@!0UN<%3 WD-JHFURNT_6 M'&K[$*CVDQ8[(1]9B0TX_Q$((VY:%HB]1;'?$Y81=[^\]S!'PK&%!1V!0/J2 MLGK%FOO;4:6](/Z&3$!N6-F2(SS,?$X:TH5O1?K(X),_R TI#-O27!=[86)W MR9A'<4LB@1:*M[CFRNK^2V*T:")OOS>( R?9!2H> ]FSRBK8QM@,*KQ@X$9: M/ 2,=5-2-2(<_KO-+6&9U8PYZ.,,T1R3"%&F'$QY,:0SBC ;KI[M"A>9(81C M3A>!Z.7!"Z3[DKN.1@%BD!&62.E)60*7ELF9PFE%&!E^,@0,&DK"5?;6N4@YJLQOLG@/#+QHTX0 MV\114DXVK\7JZ7X.F]B;*[$]MKP+(CNJIF(LALG[V/P8+F,[98DI!(STPOX?KG+B3T L-],(# #5@4O_E O+V!)C;0CTF"^T:^[WAG4@D MC6Z_\(XWP[')44E40-[; DJ$H?"7.AY>-<<8R/18/]Z^ M:"&PO'[(D]>E2&O!S:7PA50PAF":Q(+=>]OW!*"[(,]+Z5R]J8+41KA3(98+ MU%6/N1V9QXÐ5-1:F9(WLG%8+,<<$V6<7FLRWI@@\\^6*:4=\0KK-\3I:T M1QC^R@V'RK2%[/#O?ZO6WG^Y_;5)?WD3P]B/'.FHUW$!(->+G X9G- _PEVG5O>VIJ MI)MX>/&8:2_*;%P0GAP=&7#;&C((VJ>X,'Z$0C?=D&&,G(!1OB](GF0UMHBY MD:9@%]6Y=H2_C;AY!+%&[@%,):)@2V#Q/0\O(P7,!\I!+JFJ"%\#&AT(-:!K M_ 7[1M/QP C".%)Q?$O:B>T6@E.D@8;EVD:1%RD2Y(VX:5.1!%,DEX"GD-W M(&/ZINV3.TGW*J,;,;+L6$.E(N]C5G=AWS=L] >280 #(W311VTN$7\60VH- M 614:3B^CPEH/0.3)1(G+L2U(-$4-V5]%]R4]1?HIGR&+"F0YBX5;]E^">Y2 MQ53I)",S<$\&UFCA606TF,)G:>.B+D:A^%4&_4!CQB(L6\AS/D?ZH$I->;+" MF6#8Z+BB1 "R4:H!QHRO 5EZF<]CF1(I%1+/>,X-3*$B+$JR%%/]&%.9BLTB M%0+7>C,N+S]SZ8;*@[-;M+*3,;GO^<2(TD%0R"9T!5:%$R+.V$E%2\VR2QX_ MY$T CLTUT8ZB:FS_5!DR8OC_1(W^J"OO3A!K>7P58B"6FIRQNJ3]M42L2D"H1L#%T;[8L_H] E[#;<)8RV\Y#E7.H!R:@.\]^8(:)DB6\ M? ?:Z U.'85."*9AUT#&>HF3PJXQGR.TI95@@Y2*-_&] 1@910&82/F20,G MDJ#(=JPX(Q&#" WK#\,DH[AZ)(3K[)63VT\$G1LB/0T=>)BKTW?0M7F8WE.M M4"N56/!GA(MK1!&6I-0TK?3G_=( N<]G$: M+ 8I%O$ A3C=&EX'H/:C7I_^.FI'@=.4)F?)W0%07S#52@(PGU,0%.F6E?0Z M/* RREQI! 'OM1SIPM%7(^VI\4@R_0QP FYEEX,($OK&/:<@;^0@::I3.*![3BX(AP($[UP-#BMJ(=:HTDF M8BS*&;2'L?E\+!JYZ8I(SS%T'<&=?*XR>OQO<*.2U MCV"P(Y(?4]_"&V5*]DRM2R- ^9PW< ,IG*H* $FVIL@,5 0!+KJ+31TE#6HS M17=H)]+C/4*#R"**9UHNUC )"NU1F$:E;?[O?SNIE!OO0>1&],6%4@.W#!H' M2R>PT^63;D>Q]&21L.7:\?A9?'&3EQ21",BE1UB+P.W'N9R)*_U(W)$XQY . MHN7YY&:T..\?=3U@S99OB[0.NJZ1[TJK!%&P!#45EHE\$CMIY0!<_(?1H?H* M@NC%)BD>4F"^O?79U6FN!P=(60B2K8^XFS& S\5\&524 86TEZ5_)+H/ X7 M1M//?_];]>3]'?M@N#_2=A^Z5OBAEFXDOB)+4$'<*TG0#!&*!\@-UR"?TR[[ MZ+<4@A*%9$%5#N>DE@C2,I=H.:9F.^3U@FF 5H3DA:2H0.&L&P$#D@QU!=&Z M&:L(:(8R?$OY!1(XCD!%AP1BF\I-IELJ>D@5M)H"D[N'$=- _F"$JD^V2+N]IQ@*R+V .1'&-W%+G@K+-*7.X/AXM2II *'"XU& MP@$@3=?#U J1%RI%"I%TZ\(5]V4E55 ,;8(R "%?)(T)GC3I#GMR#?77%;4BFAH.5]'A4)/),@K^ECYKB(0#?D?D@B-#$EQTZ8PO5 JSML,GY3^-]YN7-<"JT5&+Z0Z MCZ^\_-2ZZES=D<@L;$9 .SJ"*ZA]XKV6QLGM/W#9FIQ-;@^^(V>Z>J/1N -@ MBM/G>!>K[3HX^K\&1-;F>O\JUY4 MK4[;(UW-V>RFYOG;)-$;LD9A#12Z2?P!I$W0^MA$C"H 5P$@.$9BX6GKL:E);*7X413OH$!+-D#QR&M)7994$['XQC] +BJ^MM[)MT\I^B$DBQ55(S&^F+Q3[*T M-/YV,+T M^#'&5729Y2>'N.7:6_4O"6QXX+?C8,Y)U9\YV.BV3[GY"=S%CK? M%#A7%]WJK_#"^F?]Y U>W%;GQ"$@#X;Y ^O!NA:2",]_Q_Q.Z[!2JA4JU9-" MI5Y_DX%GDG#4E/=ZA,)E8MV$#DD?;3\(L?\\LIL)?NAJ]C33*^,K'_8\2Q09 M;*\FN<'GVJ:LGU^N%(\KDP::?RW9-W0+X7%:/!VCJ2\8'.5:L;Q'#PT>I:5? MER>0OM^Z=LAG\=7%:1R(^)YK32)R"Q_58\]G 1+6*"W\\33$W+PMEHHGN[[% M6K&TZUN$4ZPM88NK%9:>2#SNR-6X-;2C6JQ,UZ&V'^O*Q?JN7ZQZL;R,B[7) M6RP72^7GI1TKDC8^>A%&=VT-Q0!IH[[CN%8JUL:$W!W;8J6(?>%V>8NGRY&* MQ_OE;60Z!8SY*_FUMJL X6SC>Y-\&LVH Y]@F+&6(^9&O1;W*>X/W7>6R/I* M8@A9T#5D5&W*"X3!4-5"K7%2.#D^C@/.M=@M;60?BR)93/@,107"=+3@V,CU MTFE,C$<[I%-PP#AM+)FIQE[=MBC?T M!JYT$&$(5&HF+*_"L2H>)@ LU?VS@O*;-N9[N=9VX?FUQTPCZ%+/$0*YI;:A M%:^PN.D 7EA8PB4NP>88LNZT7G(F'9&+V1R!2#FG0BTTDTJ4]C#(B8MB=)0T M3;4ZL?W'P/-_4%2V]'^ZB /;$@PERBR)TGM?8?_;GT<;F^E7ABO M( 0TXH-G^!81H@NJ^4V5Q62M$T-0%D&M5&5"1(]4TRV+8T2JZ6$7J7N*HXY< MK / 0N,'QU!)^(L9JG8Z?9_?BQ*$S# II](G;S&V@I%A_9YHS),F9Q0]3:4, ML; @1>53M0%9CPS33Y*U!IC)J!SBN.!"7'9([D(XU,6)*X<8TEWK9%D<&X$10E%D6B#B_0@2,$ M:@ '$W:!'1V6WU9*I=(;D6+E\@'6=A?,,-Y+>0&V$)3?;/R+5AWU^I+#P6 M7< C^NIS."Q?A)\8>)7]6*I1('3F&Q!=2'']R"3 MVG"Q128OM!&&"#MDH*XE@C:2?(%1II[/T5H*,;ZU..Z$$Q+(DK]:S#A"6J0X M<2J)&3^0&S>?DAW"K<-$42)%"-'R]!6)$CU+5X/D? ML(U7AWI=MI&^P6_4>6:166 :?(GH,TN19R*X/;K8L:0V*IG1/0 )%[,<4FUO M)DB'F&)*9=2P%H%ZH=#^*3'QC5V(B6_L8^+U?*)-KB0R MI<:2H*G4S,P-1.PL,:%5Q#X_:SY=$TF.__! MP0;CY6(=5A=XCFTEWB 9L$ONH$P?T4A8S91(Q+5/G+'_^KS[EX\5!5SZ0N>[ M_W,Y!><^ZV5L1LU$LSU#ELE^[OW<.S,6&$2Y=#MC4(;-#^J\3)U^2*29J0RDK(G:-DQ8TGJP%S:.:[]+K2_/OP/ Q MJ5$6M136\)7O8C8V_V2?'1IO?GIKG\W$Z!6*(X]'^#5()?O[ )CT&YT6MXYD M,Z@8\Q,_@8;VVG48Q?_-0__6'OW7@OX+$%J?]Z13,N[!MG)DH2+LPK6.%)[J MW0OC9(:6G:Q$J-N'U))>1*OHVV@[HG0D-DA:3>5ZQ!B:C+)@+9ZWF%J6OE-4Q3+5:.]]BP,#8- MZ31Q6_,)J=OII.-4TJ01BA(.LH?!/2;Z8;=(+^IT 2I#WW,<9G'9PE:$[,5I M^92^&?P#VZH%15U7O\5$XWZ<#HOIH.HC3$&B\A)8X($Z,(BT3>KKGEYK:LAF M1EMY*4^JG5+QB#A*C%*^5?A6:JAL3C".RZK(]NNY"O=62G.^]RS#E4^6.EQU MY+VQHEI/$F ?F]Z\I!X4Z\O'3MKCW'(1'AAWD[PP0B/5'">?.RXR]1I+ND[B MB\^_DTTH+);JV/MG! .TJ2%@H'IL8P4=WO?\4-2XH3<+^%P5:6D-6;G!SC_> M,-Q/XWVE/:E"-;QCJFX/OGBV:Z]5.C.*GE:CXWTG.5+=1R=;4]Y3:HZ\W2\KG/#>+, MAC\$X<0(Z42VJC8;$H*OOGV/18"T[DZ?X(^.\+G>8#)_CS7-D.INE4]/Z^H> M([4@02LPVIR!9-'R?/HW"13PWX'A6T>.YU&IM4 !*"CJ6:BB6)N\\MA.F$98 M#8*+Q>%C[@1<])57TY=+1_\2M5\LCPO2)9OEXACP1NCY-K61PB[S0E*C\:;L M4\P78P9\9 I::@.I Q IRHMTCRKI)/W""UBBS@I$(1J@NS14SQ@6Z"_Y'/V! M%67$#_(Z^&, MO,DM>V2&OH<-9N&<]!]!RD6HZ3]AY0C3"$+]-RPA256Z>'IR[&$:]7CJU0!_ M2.Q*Q*%1+$7TX [($H>P5L1M4D6B(ZU[6PJX*3J$SG#I.FR.'- -/6Z14T& M6R++@I!,OY\WV2O$Z56S^P* HH=MSJD5/2R^[42X(J'\P* =[L*]5"O?3L;!LY-M[6'"R*7["/0@]'I82HBL MV?!1/"3@*>I@L,,>?8.BB&O!^T"D30-+*83 Z&$7/J>J-11A$B:4 U.SQ#BP M:&PA^QX+/5&M+EH.-[NNYWB=(5$+/ ULIPY3"KE&3JN:TR7*I%Q70$@UX* L M8GT)!%Z"&3WJY>XS.+SDS.'68P9EBP\]6:Y5UU"I_& 1>_VY =5J"9TA5AN# M2T_UMP1-('H&5UJDYT18<\BQ*5L'=CWM$N"ZZ393M<08WR4:I6IQYG,6]MTU M[%X@>M*W',5$J#ZGZ%S?C^!G$W 37XGZ%M6:\U#C61<-MR M5$H6$KJR+&-FNR- $L@O,8KJ*HEB(/B:ST./2&\R ATSU7T,"AI>$GW6*[=GU8GS' 4U+(G; M!(D"ZS%B_4H/W@ J+82D2\69=Z/,3XKDD:N2*I2U8_$O(0]B_TK4&B)HL&VH M$-F FO6QSC"CPH!8WYJH(%&%;\7;HF);2*!,DXO*L@F,@3G ='W@8X+TB>'B M8TG1'9 4,U:G%.( B;V4<9&2];!D82).,9)D^HDI\8_(ZH@!2$@U1,U!*MY- M7#&0"CM0'%Q9H \&$)DX&@)%#";4[YXN>1MIK-,!(9&MH$B@J$:+"0AZ1!W,+A4I%1V'<&]M+[A2PAG:?/="8>%%DST-9$36,!%%[D M:Z_WO4"P?F)!L<[@Q3J#8K^:5!6#"Q;GQF"7>:]"",-#3;,.>A=%H0[R2?6. M?BYJDVF8$U]1T$;-2,(I6,V M31)H^**A+>)'O/U((ETXXTIFX\EV4T=YAP)0>4T.FGR<]KVM&_H"%Q3D"P=# MNK' *^ -E5?5"H3X\5:1RB):XZU62D& MD>%9#@$/I0W&C$MT=6$,H(EX]N MFT@Q%#"3&>A2$+98Z /"4N!"#4DH93XG=6I]O7)9R:);AD-R8^J*Q*845!C@ M'RV:$K0N,0HYK0RU*.5M,E!2]3MTP[GAH[U <3W8-XCKH6C @#XJ<1$,O'NT M8Q)*472U2;P/0,FAA:CZWO)*XX8C43W4I:+BJ&O&"S':HHJZ&\#:5;E^6$&' M= 0J)ZX#T"4MJQ>YDJX%245K[%#A#4:]4=+7 H02])TE [?M(D#K41F!-1ES7': ,I,S'>MQN M( H*BS,@)58>@=@HK8G(?.8!9&T/$!\5/@U7!( U"0'+LQ*50ZW5K)+H(N:SKKC$JM(& [\2+7' 5XN*Q7+5!Y:](9OJX+- M^D+D18L;EF3M%>$I"F:(:QTX:(P&'$EF>H49B:522=:UU=:5LL G]D)!!-)3 MZMA(4EXL10AE4P'4!4K(P@%'0U$/2&DWB$T("M99QR&WNN4L[,I%<8:*D^W$ M-I#_)!R#.IEX UGF7%0"RN=,+R KG\O11P9#_44'2F$%P(=DP2!Z2^O.@Q*, M'Z"_J"#_AI$"^-:6H\!G@VS0,1T2AC$[AB@(==C,A3B39_[ 7D 6H"S$@+) MP2@KM"L3H&.W^1&9')H@+A]O@Y@8I.K" MVK$29\$Z\%+;9+87;0VX?R]K.RF+'X;66M(I*@>3A#]1-D':_H.(A\>"/GH! M7.XA__4%?]WRTR4(V_KUZ%/KC<@!OHH9?"YJ8:2R $31PDJBF]<"R/' )"M2 M3"B!86"-MQ.!+2XI-P<)4+/!,7R>Q()_,6 6=@8_4%A;\1T@B M)%/&7**-]=YC=XD&M?0L'Y0<%[M 4\: M-VA&!G4(R:(TN>:*=J@;'D39,NX(2JBM3W(V&4HES:X%-N!2V]8B DCGI#YD M&'A&WE9R>L U0U'ZU]@QAV;O$9\(D0/DS.A1@+&R/".:F5@M>^LO&Q=J!9K3 MA5XQ YO@O $=7Y4;=9)W\-1>B%'39OO[W!LZL=E4X%"JA>6H W M_XQ;N<;J^$:*)D]H#R MTX>J=TI;=/VBC2JLU!X,+V;.18L="02(K!$*#5:HP*:2QE8&HLK2Z!8J+D=H= MN]8(Z.GNB)H]HL55\RU+2D%"\:";+9Y@+!=^[GB>I:&I,FVH>Q2'(>*/ MJ@N;5*)!PXJ'__O?3BKEQOM -^Z !$856G%5(.&82L$@TU:\@ E;$5)/3"E( MTA,D9)1H3 9&/H/6!4GJ01#L31S0":1PG *<@ M*@2ZV,B'4,7;#RM0Y$F&/G1G)*F,W44&X MW86 C,,JJO17]<>:JZ+-_V]+.179RFGPUM#0>)CYR^$[L#3)2F M+6U9XX+8":RJM))5:9BH+4L9W-9 ,CZ.KUVW&F>Q/[5BC::,4@<]'CFQ&-"F M43=S@2,[@&:N$%.B9("X.TPZ&">?P\\X*E>F:#DKFW?B/,:0)!AIX^_X% X% MWSEVPY3#5"U;4VF'<(/$).?A/8(NRNJ=U*<0ZL1 I#L MB\DJ2%\3NKALJ9R86,0G1J@6+P60'C<"BH*3>T.K",;NR 63NQ9IUI0;)Q=! M]B[-"(-]>M5G/)8O :GAA;Z'+801'PKJ,'S>0O41NV5;O$\QB"P6*]O" J>$ MLA%\*&( J: ;,6 PSHV!?HS]&Y.N?VB= EAVN8&D.1-"I,,3KQBA2<)"G[P> M>V.0V_5:V'=-RLE)Q*D<$WX#R$48*R8Z) =V#Y1W/Y'84CY1HIY_1A3X0 0: ML,#"@# R4D7]OD/'@G:845D4CTZ)FO$QRXVDEP!3HTT-N*GF1"8?&!Z!-)$ M&NLF >5B%@1$:.[*EJ,%8/WAM71\*= /FDM=WZR:1GH-"_+LR DCI%K0_PGG M"1+H!'82-A'P$(1C&3(@0B?4.M :D7B)4B%J\BI0="'U!27OB<]USF^[@BQ) M_X:B55(M4H-1Z$3<)1-@"3?=\9!1)6&;LHF"NB;4S%-A% P;$Q5REI&CA[Y) MPACBL#BY%@HKD+.,+@ -.8368H]P0FBH"U7[ACF18L15I/@8X9^19M+DYR>? M"_G:-(MNLHHTT2%7&'7_E&N+R1Q)CB"\>QK!*0KLFA)X2&?RY8>0*:I MSRW3Q&@\^J[$^IC19(@L^5Q:9CF>6V:9?]95VFU0%LF((6&288F#[T=^'X@. MQEWIW-O%SG3Q3052Y0BG,;82#X2;2$<,_;)C/("2%F*02*\K7.%0AEDE-"E& M6&1#TCN=$8&<1W(U"FOBPC MFFK]JL6D"+B.VM;H9"GBSA>+2.7L"2DY5$$5RM_I6LK-$O?^&8F04Y%\TBRI MUBJ.69@#A=69S%$B]&P=>L;=!,ND. HA$>1S)+O(F*)4"&+*8*K@&G0Y#V,C M.IE7)=]LWGY3MM>"S,<.9(P<5K <:P*I-WT<;0J9ADAE-D0F]GV,^T.>8GM( M::@2J?Y&%'KQ3[(F /XVHU6DL')I]0]2R=#I?V:4(Z@>K/7]F;4G:;B>.EF5;G7>] M()OI;'T+5J[K*Q="]] NY!9L0 .]3G@6PF*8!4;M^$")+:0%GO^.^9W68:54 M*U2J)X5*O?[F49@.\$6I))A^!^5P^NZ1THQ>X*SW1FJY3WXQ:\#]:B8-^ 2\ M^:UKASP#651ED./7Z;)!Y-W0XK[2RY1?U;,^FJ>$Q_AWZ5LFMOYJPK3EF=_' M+0L*U7*CT&C4)XTTWT*RSVI;@% HE^"_Y>.7#(-*H0;J[,EI>7E 6#,1'U_, M^11E+5N9G,$WIQ_98\YIGK,Y+E3KQX73X^I"'T]#RF5O:ZY9,O=V6*T<%^IS M""SCD[[9T,,J54N%6KWVQ,-: 2>;1^SY),T@-M_+/ENVFF8,KA5*M6BB5*KM(;BMU$';&A+VMI;9P5B"^GIPVMH#:CJ_@"T6<&*;I8V=Q M=)6YZ,TZC#W\*E9[,X%?!I&Q LQ[>5$JI4:A4G[, MU7]&)I,AH8BV2IO(@/>KV30">S/J$=K,NPG*7?VT4,+>A+M$*"RBMU$J>C :;G0Y1+NY 042[M,R)6 MB5%7XX6H)H5SQ&F1/5&Q[<0>]Q',8A8 "R=)"*4MF"UEW%8TKG(X_L5 MSH;[;P\_8=3J+%/')NP@KG_SFVQTT% M:G6)_MBM P+E-592G6%?,#16@1+/8Y;9$;]\HU!O5 JUTQTSV\QQZ[9[@\LZ MM^>WA>^]]5N[FKW'\5$>QWJU4J@TQCC@=A.DG:>XRSJWYZ>X>^_C-JYF[WV< MXM(Z+=1+)X7CTE,C%C=L7SM/5)=V<'.XG^:P=4_V/.R@<7T>1-APH_M'K2YB M1C[])MCAKX3_1FM,N/&FX;TI_N6:XF69Q;TQ?C;[N<7:]P4L*+&EQMAJM7!< M/BV47K1]OEPHG1X7RN6QZ.L7! /0:^N52N&T/":%;;95/H,=3S/47TI3T29J M=_O5;(S%)!N%D!>+HIS81V SE:E:H=XHXSYW2TF25EL9&5B9* M@EKC>Y!=OE1_=*I.BDUM\&%6_\U ,C0NL+E3.O2'ZT":_8'M:.PA$I>RX_V#6?O7)DDT# M3MIBRUE@SZH83!7K83P+Z]W",U'\6:$'(&:,.W&->)K>& 2J;C5,R%U#="*G MM"%X[E.1];&ZX:J:Z:";8($<7E28AK'ZAFV)-N@F%E->:UG=&8ETY9U(I"OO M$^E6U+O-P/:I>D7Z+!(%A TN&_IJL1H]O"NZ;XHBQ%&[C>WGL4*R\2 ['8NR M_K(RMXT,9 )QI1XK:_78BD"46Y;M M8JE5P,3>QEIE9M5D4JLSKD^ *7TT@VASK+6L;'''YDAL;>JT2E7Z'?L']M&A MXO@XAV@:.0'BBH]A,]LQN*@V9MC!/>9G*58O'K(=! M]A+STAN I9'_572NHS.CO,L,4&%FISHGXK^I'HOP[U>-XS+:(V2WVO$AX@1. M>%JNOV:'KTY/\(,W6G<%>50<^5M;:UZ NR_FD;ZO=UMJ!P$3IT\>*\>+X_7@,:DDQT@E!W$#1]2#) M@U!/4>A+-UP5-= #V:)4:T::;K$#URR?4\"[: #<7%(D#X9N>1D@C_"?(0:\(@A_@,W\)_O4%Z M YP%)0$8)U1]:I"^M'P/!"6?8A$$.C)JM-5#(M3W A"8F"%6@[7?L0T0=L,* MM(8IV%L':5S(2001\D0A?E=1.8*;2!*639*H+RM=4B5Z8UN8GB=O9=SC5=^+ M/%_5:T9.3'/2P>9SU=IK/(A*^;5HGB2JP0,(@"$0)3#:,'\"RZ1!^P> $G9M MDIA,8XI%I \\N7= S]PCTPBZU*X>D-\;N%1P/Y.TI7N\ ?Q$5C8 (?6Z#!*G M*US&VA>E$K,B7Q&K"I0.M"8C9ZR%6*C%$ M=$_"5GFRCU+2"$R**<*L %C->]15AIA>+%VD2EEHEAEJER*$,;@-(*2X*-5Z M@W=+VLD+B-6-(^+JDV,/,\+Y;N4)B_XQ=I#H9C-;B3\UVG!N=\T\^WAT/.:, M$"%A92"[*XC1P,C>;M"VEQV;.AK'H*<1\!ZL\:@S$9IKEBV!&3B_M6+ MM?X\H9KEC.'7$J)W,F>(WBG")\L5OMD1>O,>T)9$6!T7RM7RQ@8D//D4;A>0 MTS?R?!K'I\][.DN_&-(A*$S.4QQJ&WDAS11-T>_HH M:*X7*HXP7TTSZKUYDIXX!U V+:>S,B.G\\DJ1^-@RGB/T3!^'SVZ+5FW2$!\ MJ@:YUK.K+AL&2=[M-BPUNTOFYBVU20[!+5GL5^Z;<:;S>E(VD: N(C7(--<) MRG3U]=RZ_P*J?N8:DRS,J:K]@@F':]U I5:H"I_:EFY@'MO*PNM7YAC\^1VS M0_C67-"BI'^Z\ HTB];D<10*CI'!A=?R>F7:P91KK1&Y&7:E V HYN'>#,'[:L4ZQ.IWR^^%U"H?=L>DQTSQWG$$=-WS/(BT*7G M8L8+CA+SZ%+M9![,E_!X[.W?<##4"Z>53%'K98&A6BBO! SS4,+E@&;IY'"Q MX14ZS:2($H ;+ 2F*!XF1%=+[]$>:& 4"^JAAHC#='FH6KFLO )(9:R:S$1@ MK7 18_F!4Q8QC_%IEJ7J<5FA8Q_.'37QE"FW?6/K'^DD9S&!Y*>0#5D]BXX$P@:DQ^1RN,_1%A@6J3W]04O(A M"A>5TONOXH?#X W]4'[_A@VXSUGE^+66Y8.S.#"],S:WENW#?N,4N5T[85_5 M-+:;S\&T0[B0'# M)L %,S;4OR0LZH^ Q9W>-2^?T]OF86N^R*5\&9]W(D

G-]!0F6$Q;3=RZ M3[F/Y0Y;0_9*U/W#B'=,4FMAV8$;QQ( /G[TESK5:GM*S M'Q"?5 MJIYA<7'I?,[CR$@4J?M!:@V@&;L6_,.W#:>0HI4BD]#@OH>!)9@WA=EI;C"2 MBQL8 ^![QW6-[Z47/$*(,+.*-@"K2Y'F!"R#KD<$&6# ^0]*VN5VT+--6,/ MQM1>WPNY^ J))+>IN4IJ--*=!P!AV[&HNQ75@O!M"XD452H(R<)(Y)D_V(', M:\QX'0"!W$0P+8/5TQP^V4R\_B@8.U7*0U-PQC0FQQ9U)*14 %1EUK"8N3+Y M. ) -[L-@[KAA'$FP-H0*92"NI+7"9-Q89%MX&F>KY7%R.?*Q3>C HP%PP#L M3!9@>CSM&U]H^X:8+9)Q4.H$DZ,32:"5*4-.. T1:A4?H$S9'I]@A#FSQ_+F M$7ZL&.PDAEPKUM,.8=IN32^!0+6::CT,., M4DT I0VT[0#T[=F)-)CTE-6O=_4"_EQ9'-0)FMB"S:RN"R MM41 U8_GBX!JU$56@6*@$P(_3IX2?S,]+J62'80S5MQWZA1C=NMG6_>TT)D- M\Y"(LS_7I)=5NR".QQQTS^ 'J<^_B&?SYJ>/J*F)IA="-%TUD*J+.(M6M8A: M9=&36EY.Q!ILH21%"HD4%2"0SZ\]'Q2A)@B>@&2)G)S/U8Y?CRFK^O<@T38# M6_N$M![Z8M2L=JV)K2!G=[C7\8U^%^1[$->%\C F\6(]K+W(NQ=Y]R+O)LB1 M>Y%W"2)OBM1NC/38&#O;+1%[&]-:!6VDW(O\>(^QE+E]MT>9J]:"P1I?PU76KEF#B1*[77 M8RYDW=L]7D]SNZO)-<-4[G*!#42\0+E2QJ )Y9,@OBR\&N@JP+&7)=3T M!JS *LH@5JK%LJJ:6F3IB4Z3B>K5\8G8E'GR.7TB.,M7Y6JQFDSTZKC82!5K MU4Y>C8>US]W$@6XXH.)80YP5$*OC\R" <4Z*)Z/CT)[R.?6KMN1X:",-4/+9 M:..*VJQ8^Y?J@]:JL?LAM2N!>-IRJ="M4MKSN=BAI'F']/3T*HR;K@(K%2M* M4,=:?V,>""Q^K)UC:E<%=2ZD_Z6]7"E?E7352#=/O?)Z!!Y"@4,'Y BO>%Z384@/*QB]U M7Y!B>04IOD0AUO)'$46UOYE@7%EK681RX22[^^*6E'7 3KC;7):B?IR9ZOU2 MBE+4QHPENU*4@LQ=[/:7O_^M>O*^.;K+;:I'@*3P91>E )3R2QQ^6(@4"G- ME9>_KT@QCSUXQPM2"*O%O)1OPXL0'!=*M>-]+89ZH=)H[,$PH?3TOB#%0@4I MRC,IXKX@Q:,=P3,\?WC>?\6D+$[MW=F/[@A1[9-EO;&W;S!J"80WLS($5U*6W2]HSYEO N*HG5O M9M0ZENK/),TW8/3D=JAJ/TAG[PU Z2B0#4Y%SUGJ*"G2S&'Z^-IH"2?Y7$;" M";;9;KPNL*[AM%62#OMNJM*\-;_DZA]R^56U#)\;A;.EFUI[J-+:7<8T-+V84 M2OHW=FV1()JJ-7-RVR>XV3,ZDRX8*O"XCJB5.3NB'MZ=1 HG\X* M;UD0 NON[2=6@**7X"/$K+@/A!CE2\N&'WT4^I&5K-8T/?O%K $W:37/V",3 M%S/J_CC%NW+# Q"RS"Z1(Y#2+#M<>6O,.;EF!M0/R\>9[MPY)GVSR;LJ9_9, MF7]7ST$5,M'I3FFH0IG )"%=X%]]V]7'GP)5+*N\%P,\8I@%YG_&79:SVX"M MCPNMC)()JV@F;]K'3+\$<9'9VD-(BY[?,$*?%=+*G#JN"Y+(S M*:8&-ZWB(FP]("O5N:*M'P?()?*%#=84-VLU6]W<_C;T (N_""?8\^0,K]9# MR+I& !/@+F7%Y[YCN%A7W :UGBR,%L_GE+NMXQNB$K3HD?!G!$.W;5#/A-\! M)&=T%>CC42D[K]VV32J^_(,/&>_U'6_(9932Z4=+Q-QU_L!]TP[(.>#!9<8J%=P5KA_L:)$,@[T3Y-LBC$$KSD#%%[#_ M!7_HPP*VW$.DGVZ/&T'D!( M2N:'7=N'EWN %UU7>Q>CULV@,$9PNOBN):_I6O"VRT">*,V1##)W9 MLDM";FV$I7Z^=)K:(>=S&?> J!(,U9-!,NK*P;0_>)C;3QJ[<^8"A5S2M )^ @_6KF#-U6[:\R272TVA$@GZW%MBD(]:]4G3UCU ML]?^3",%*152UDEDHI7CQ7@IIV=(C*NNI4/!TNZO9:/&Y5K/?6O_XKZW51?V MT0O>C+MZ1SVTTMI;D@DAY5L4^4&T/4J)MGU,*=&DV<LR%>=)=GT2 M.LRWC'GJ,*_4$II6BV8DC=1V(FFDMD\:69G^"S>=+GA:757F@H'M8/P]MB[, MYSQA[Y!U0053'U-O,7T-R_0B72A(B[)IN&B);9&]@YN80D;5A=%L(-/<#-., M?,,<8J\_H$2PYQ6')S])BUQ1PNQQ(4#ZI>\ZFO5$'J]TS:%M7*UH%IV;/YC M[""Q[VWC5WJIS-M?D1RNVVHSV[<^J5A=!@5%6[#N6ANI%C[9Q+/2>/K9AI2Y M @P:Y4)CO&7<2THK*!>KU>7M?]WAP_,@LW0:CR'JYH0X9B>W;$SLYAB2S8E8 MIUL<'#P-L3[Q('@7!Q/$@00;C&#E4A:9VVX$JQ9+8T;Q+:96HTB%P2>;C%(G MCTTTV6"4 IIUG%V3?>MIUN*2W>D&(U^ELHS"N MOO7\84%U(:-29=R^1XPK4#RH"/A-_$C<\+'23"!C.K$(#D"\95-I,JJ"HT;J M&T,Q#/SB8RA;4AH-2^C(+]+C3)M11!-:<(HJKC05,)? *)^3&($C)O#J&O>< M4:2DK("$?!:';!GN#]:V7<-%2_&61Q*K:T&%=F#?%$F<7? LGXMMZQ0P]ZK6 M( 4W58SNU6FU,:'R62I(R&J?7 N1C]ON\]T!$[L))7 M]9((]Z6'.K?9\O,8A9'!7HG<;U'ZB/<0 QU!N/(YD8\OXC,-0LR"\+7$X5KR M5HU7_9$AB5A1JU1@QR4,[S^%&0"4GZX^?+D10:!])PI8I5BIOZ;C\RDLU/5T M>1/KBCD&>NA&^+[Z OLSIC]A\1>CQWF/DGMG:NNJRQ[600I&]JB* ME#E(U2ERN*\:4B9=*._4H-BTE)N1+W('#*"$'5$CL>]PJY/A_/*Y+#H)] $] M6TX^AX7"0#0;XK PWLAB<8:HA0M0-=:B(,*Z7[ T05M,#Y%>D)I^W[&3/ :B M.E0R+#6(SUT^H&6X,)(SG(C^B["K9\5^VJ@MLCD$A9"QY40?' _S0BA/A,*H MQV L\DTTVL+:(N' !"FUPR?'*V\6@-:; W6E.#N![[.!Y,.E6Q<_V3SMX047?UU+0O;4QG0'9S?&@*& Y-N&,ZG[ M7&45W<\R0\H/SHX;F74#'A])/>K]FEF3>X+':Z'RW-H>IXXQU1BQQ(6L\P0; ME=:82+I-'3*/ZW,5_WE$ MATSMXJRTY-5"U.!) T^E%C,K7BVTSJU"H=+RV^SN4>A%H5!V+_1]F]XY^.F8 M.>Q9V_0NH!AH%MC5BD_E,K#\3(O-LXG.M=DK67EB+X"E6LY4HI\-+&.1W<\ MEL-LX]Y>V'XV85MWVZ ;QZ-ZQ_8H^=A&OM>HSE\]=1?Y_O$C=SY6[&2;-GUR M,E=G]IT]]#$#YDLX],/RDV3<.9C-;HJW1^7YT&7C!-R)]8WO/%C>K#TMIQ;R M'%Z6!4=)9,?3QEQ:ORQV_%@ZMBHX+("SLX'Q!"C,I&F;C@B5 DIY>T1XZ8AP MN%CQ\R5QN&66C%\BFUML>,7I*G/";H-4N$6"RG;)T[??V'YC^XWM-_:(*==L M7&=AY+M8P7[5=M-*<1\(LG*3?7&LA,"+A?%^8]NUL=E9O)N6>+KZ&:ZTQ-.0 MO4HNA],9]K.H[*%S,CW\E6V,$^$H&S"?"P'"E&6&?UH1 M5QEG06B(7#;,VG2X2@+$1]BF1R;(L<# Q@>DM 42$I0OIQ()<=CM:OV@LBH! MUJ'M1CP0Z7-TU('C#8YZWCVE,VIIS@-*8*1,/%,D)X>86N:B+ (ZI>Q=8T4B M%Z\EFTA@^QV8V>MAT4""H)X*F4:X5V41H$T]>3)7(<:<7? RG5]KV4'?H\6T MQV8LEY-6.;6RFMUK >9Q;/RA9L[G1F:=VBVG@)6$$:MM0- D#W%&R=KZ3I2L MK>](R=HY:IS.?V^7.1CF:BU*5IJJLL"-5J/@/*X8Q#I!?O;%-^P>*E%T1^\5 X+!.,,WG^\I?D[$V)Q M)A"Z:QYN>7P3!KJ5,UG]E@2Z+0L.I4(]NY;V"X-#X;BZ"G1X:5%OY3&/]M9% MO4V@>2_"J[O?V'YC&[*Q9[1]Q(W4F.$R0[0WPXJSZ @I-]X'RNNL57^UW:Q: MT^SPXO9++ RORDA0GR//=CWFBI.%NZ'N*/+N[,:VKGC_7)$6O9;M4!*DYD\;$H MF=-Z'*=B]-2XH0$X0 6R5;A-@+$W2;5O#*L*_/7ZNQ= =)K9X?X M&W\P,)JL(*ZY]C+%WF$+X+#KCD[4G _>P (PD&ATVBP(R! T51@^ MZ'*@&N+ZWLVU9'F]VE[DAUWV9V3X(983'PG8:]L!2$4BW,H.6*W\&I8/!(!B M"C.'4(%THTT/YMF-Z+F"-$613LE44[KZ_>\N%JM4854Q+:ZO!/B)TZ>$L$R/;ZCDAW&4AE+XGW\ M',^P^FF!*!MK?6EV !\ZU-6'^XCW*@6 9Z'(RF)3QNJ43+1.KW 18^BW>6$1 MZ;.30ID0KT7KQ07N^X)P'//]9#IVJO5U5,6;9RVGM4=$.SWC3?PJ[I],Q-'/ MU';O/=L46IU2:E=NYMR$*HOU.3(VTS=R%TQEOFBQB%HD:_,!,/$1N=X4%QI; M7:6TNRP=5734$YWXJ E<6@VDSY5532EY,24)NUZ@:178>BZV4(&:GL_5:J]9 MBX-2Q5WY,EJZ4.M>DE'JV?Z*Y(EJ2K'O1 M1:_-@J[=I]^+[)O;]OPP)(2)>_6B>YB\ 21\MN*#YMQ,>I]J! M @Q\DF=DFSAJ#"?LS=13#P^'I7,:#1B!X_[I4(0.2W:=6!K2]&MF2RLNO3$V M/9F9\[F6MH2)9@[\1AII0MM7AL599L-:Z77<>!#Q,MTY<=1P1!:8M-6HP#[R MEA]A+]C*B4R1I3Q$@:S"3(/7.;&A2L5^@A4J(_-0((+/>X9-\"?C.P!%3B'[ M,H[U7BPH$Z=OT9YBHB7.#I,)[;:=&"94.\?X?FP_X1E-7L9]2J:@9^#FZ7D M)HB]N(#_S]Z7-J>M-(U^=Y7_@VZ>+:F2?1 [R3FIPA@[)-YBG/76+4I(@U$L M)*S%-OSZVSVC#1 @0&*SZGW>'!L+3<_TWM,++$ZE@O]2:%" 5@CZN94H!;WH@*UN"<5J-MVC74W*_1));*GY QR>( L@Q>$GJ'6 MT5%_TP';\"==0[T;3S@TC7SN<.1S+^H]MR\22DNODP@33BW3FQ(AQ.*B7&B! MT8;BG(MNH,)7PF=![$*DTZ^[)T[=?=+ABSQ?7JZ>+"F 39OCKR-<=#WYCNDXP^-WV]2UXM\$0H1_^ M#@F0LRCHOYV2YT4"PXKFQ)T4DZ76BA@U=(O\9C M>S8X3-,]]V/N3-%$E9.)JH 8&#C\2!O+>2%MD\87W*N!L2:"NB39QK(Y<#M! MJ3,B,4&*<@+Y- CCQ<63B\*D26EI:&:;0-[:T$PDQVT3D8X<7Q%""[5W)%)3 MY+/YU3I:;3!20YUZ!@O[=R2"EUSWGT)QJZ(U67"P0IO#;*D+$35:,ST0MXMQ M"H$OQ1:GV-43*(9'%?CF03+E?WI F,I7THPH!:RD/+A"HVU -WD6$L[ M)VD,_I?+!2ME\>7_KI0=VF*O=GSDMJ@]<"JVL,!)+ :1%1%,*(LV-CB%N[ MU_%-_A(\MHWH8X,O3NEAWC9AJ=ZXLME%SC1(WS:DKHA8?JM@RX'!.R^T/2,Z MG-0AQY3TMC5YHZ6]R!LMI7FC,0P;F4;R&._E%/F?-U]M^)LEXFR<4U!8JFYB M@QC<,#[RL6&1'E>J'G/PG&8Y#U)>#GSQ\"#P5:[:UFV\/3,>B,7=*N9#HC*8 M[20L:JWI1D]4_2.E^XF)UYOP9A4D)H@RW;#^"P<6&RE2"BNS>T9-4D!M-(&J DJC:8,= M2G\7 MCG\H6'CF%F3Z/@^>A&)Y-^+TL$1Z[0;2T,+DC>>N(G5=,J8.E'=6,=-0$N3B M*]4:)D/HJEG5Y!LLE94G=6H%=*K[&#T9_\'MI8RWXCLN>"GQ'O!%O?=WRF"$':'3WLI_LW^8W)2S#(N7T4=8;R7=503H M4/+!NDT?:5A%S[U$Y!H-H] M6Z5$PBJO>SU;4R313<&R#L8;UHYC+S^D:%$&DF9-4J,BD)NV2=K* M GO4F6[O0D]V:BPWDS77\+\;>=&0F/@QU]!@\0<61U;GT[CT]?&/;C 0R?4Z*#JSB"B_ R0!"X9 MWM:NL54H2+^&NR7'%N*.CNAG]\R?.#/$'AV$#!1A]V7Z&7P+-I0[YDY$9Z;Q MV'[&SSA+#H[4[XBI)_BG.)CMS.H-3&X.F5ANC,[B#?7>\AAB!/L;T MBQ0<=RH\*&_64!.M(&Q):[BYY2 (!YRJ/*!^9U[:Z!?&V2:",HLO"+8ZTK7$@\2L5N*I,/KT599\?!![LEMY>+LTX-RB-WF@ (SPD@0H4L_#^+?0IY9N'09 ;# MOR1U"I1&_$5'/MX8^LO #V\[[B#81#9[&N2GQH*N ?NWJFDV"-%+0JC@1XL+ M;U&[@'X,F;%W=(E*[8XKO&[%=*RLUU")AM2"WB@ C$JI/1@-W09CMJB)=+0^ MX5EG_5LJQ)DUVZ?[<-7!1 ?Z\6VZWK&3(_8RX+W#0B=7=EUO(9MQ&L)W+.;I M'A[XAS>FV,8EQG[+C&16F7./7-Z+>^3RGMPC;Y?6V">F&-. W\<4X/?=WF6( M)5I_Z2IMQ1J[D1 *QYS[%V[TULJ3Y8<'3:E+9 QZKMTX]4L5@Z6)XZ6+8R5& M&7>,>S0.FEJW.*<($61!,(7:*Z@KOO'E"^7=:O[IK<6>.B?LI5FQPE\NLS[NY3H\G=UF^N;^_>>[HU4IKY MV.;7N.'9U8R%Q0_?W0=]UT:,T0;X["^TIMV%(RPQXOV(];-9B"?\Z=TDFTVO M[Y%M-AF9$065;Y5W0=:/![C-\]2M<^_2\0%!-NL3&N(#U^9>,4$3@R=R8[=5 M10KD;P#W&;V4V5)F2X+9]I/;:G@?I"KTLL:'Y<1I>M+$F6CA11LX98WV"4BY M+>6V!+@M"79+U%H/H]X51-L9MID _1)IDKI=U?I]^D5:8M1 M8F]:NO3@!+S_Q]4?;2Q96IST4WV2\F-\_/AZV;&&Y85GK+PP9<*4"3?)A#MG MTUWI%IU;PHT8=Z'%3T<)F');&YFN__S4.&G<-?;PR:Y75165:0% ME9@^'*"=_*0&3':@]>Z#(U5\-E,5M"?4ODVPK!!3WSU^NR6T!C5@&-:00#NT MTL2-2OB\-SV]"-2?<]/,O8RG-,2U;M>P"6R^9Y3JB4 M<\/I:M@:LHLL\,%!&W3>-CZZ1U^1-FXS/U?;RG\L,IZ M2[&:'L-A^O_G,'K \21]RTEHI$Q?29E^;QAMFV!9Z?[@57 ]494>.*FLNHP6 MSA[)Q(2%19 B9?LS&>M+"+)10[=6I- LO1]A@TB.SLB_[%_04/ M^9=N/*"]X0D;'Q2AR%/@>-:\8#&#A@D^WWQA=YZ^2!,*[.4L09H"'OACF?TQ ME7?[(F.V"995[IMV3]P%!-M(J("5,R[$UO#)5S9N6AV$N"I?FR=>3)PU$,"@ M.,HOKS(CEZ&,G4T9>U^8:9M@6>'B:O?X^H0%]E!_^J"PZJ-;\J3 PN>V@I.+ M-%IM&XW+Y[+X% 9WA]G[D#A3[4'+,^5>[1N*R@EY]FG*_Z^'Y_+[&'UO:*9E MV$Z_+Q<4F718IPRZ 6KPFD2R#-7Y*N6$ON&&;8'E=T7G& M<56W"Y\/3YOUWG-[\ADTW]T0G=)<++&UL?T>;A;5((M_ X/0'N:P?KDMSZS-VGO+>J,,UC?N6^^EBP=W^B\$)U[2\1" M,US3JTG+.U?@/&W:PUJNJ /:BNK6V1*KG?9+CUV]73ZJA5 _\; R_5W#LE']A1[00T+)]EQ^70WR+7!>/ZGS(YR:QYU2CYJ-- MWRM%'=(7Z;%"K&\K9T>?"QMD,ZNG0&4O>@I47F5/@=CJL6=,AZ4,UQ%[BCIX M/QNTQ2JR-ZW@=D^,A[3)VBQ 0F9C.].TM^C\XS4U/97H MXV133.G-QMT:4(IK F5U_]@W"Q: >/,EQYX4[0_3RE42_: G2L^=42'F?@BDH+>MLE>F^4 MQHTWKYQW>/W7E=U&LRMB8?/:VMB\F.9][#Z;;7K]5Y;/ELT(V5WCIN\"PP^[I:GE\*[ MS66;7G^55@>[Q^;80QY\W+P/!^/Y,5:O]_JJ/B#$X?D;9V@XY7H^6CYG_E@8 M3P_A)K-#FD=EWH?E#"0#=Z4?<[E<[D@0\IER8/&YES(0D42#:GHF@IX1 H M9@< 4B]AI[EST^M'DP[[(Q[.G'$RV,:YI[':KA$;W!/V_4A.=$UV^1N M=%61!B-Y[,PX9\58 A><5W\[*BG"9$,DYT/(O%7>C538KU)7YI:3":E$V&6. MW/3Z$23"_@B$*W(OCOH/-Z"=<7"Z9QZ,=)9BM=E"V6T@$9 $BL9UQ"?@4!0= M__U7KOSACCL1M8"NC)+:5?Q9N#VF/NB@CDM#0/Q+;IWP_@^_!JG_@OA]SE]*IKNGV?7GY;Q5?C3Q!WR$3 MR>FS^9ZS-1"CV++JS,UDA-G_"B4^D\^E+)*R2 R:@!.!?7KX@ZRH-C+-3)9P M@GHTUGFBBO NH6]Q=&ZA%_%SXY[.WX\+\(2LV\"BBS1P=9H]SB4O@?W-!\R7+%_)Y MOI MI)(X9< IA.4TAW YUE=Z"IJC? MZ<21[A4.8S^4J:0IB2^1:D$"[H1:^/46;_F\OPY5(Q9:&4A3:68KAE M[K*?15CF*VG0>,M9([6?7RWJ=^3VKKR%MP/;GD68S^?X7"F3RMZ4 =.\P:VY MDF/^=GH-MS,,FF8/;K&?,>=:+G,LI!=RFZ;Q-&\P1?SV&3Z[['GL4-Y@ZH2D MO)AF#>Z6B\)BMFG6X$ZR F= MES+ZZL!$I"]__R5^/$[ERX93 [9CZ=>+^@CR);_=\J6FRS2CN0[\+D6>GI;' MWZ8+A^8)%SXPS1CMMJG(BFC@ $T@)42[/]$SQ?+6ET+< MB0,)9S6+*M@,-8?],>$2+ "13I7XI1L/G!3XBV[;*V2C@A M)QX)^;?BNU$R1"%6ZRH$K&!OGK!#KZF;NRM4NCMDVEF93'U-&233*756D\3A M3!'+_V*96\]8L%X>EO&$C*6@I5S+%*29(DTC4VA!RA4QJ)V_] M#JC[9B#?#+3S._6Q/-+G>FZL\ $(Y0 M?PN/7^D61D_U-'BZ#X$+8+GC9NW3]J6:_CRYO>#NQ!==TWL#4/@6T4S*2%*7 M]$3N5)=L)+*4Q':"Q&K5B]TAL9JH2J[*T5\ MK##GMF6EB#[]/T'1'/PH--L%/E>T\5C_G$N=[%Y[;;;V9-!AC M]W][O$KLA'L3".:Q5.)'6S&\F-CA@1\'YG2#$PIOY7=NVK%3^8*)R/47J2MJ MP/M5B68I"I5:ZHLG)MCK@)-$VL>X%BUX,KY"F33@3CH)EN2JP?)MT M115 /=9?_E5=^#F.]R>R%;^LUI9 M9Z1,VNJOB^M;[K3^O5&K-WFN<54[GFE;NL:.L#)PDZ;21KV-Z.KD[:W'OU.N MM6( ;D%3!]%-N57ETTQ3N_XR_P+CE^WN@,&[^=C MKJGW'_20X1M3\_@**VYHR0+_4]$BD4X\5U[#B5?M>W!YN.SDP,--A*J2BTI% M4MN,HB:)*5$UE+R">ST8G)K&E")RF[86P1J\,11-4OJB.HG--9F'J>&9KKH% M<3DW)BU@3'H^'*(F[_[6TU53K^:5>C67HO' ?3_F+J537=/M^V[JT:0>S=)G M,9V:=MQT>CTHG)( 3_.&3Q6#2):^-_Y-:A GL>K(5VS^'1K>K[4)T=QK MM#91]6>W+4P'+ 3]&2@ FT29NF;B+1N[89ML(X1D?'B@:/1C240[AL* U*VS M3S$1WN3 #,:JD%=^[?::5DW-VSTT;S_K78T[L8U[8IH[8-E&/.:UV+6+'/,M MR$]15;F+8ZZF@@VX)3/)-VM)!6F/WVW;:?YFQRD@?,.OCPBF>X>O8I.II9VN MFAIMJ=&VD#5Q=LS5#>SY:(#/*%K[8[=MW4E755%CP-X>$Q MCA'AWAMP2 HC5, S$+#R1Z%-6:=% %\?;:1&W388=7-*I')[42*5VX\2J<6+ M2.(O2UGG&\%$U V@7_%IX)J:<=71_-\+NV>"0.;^^Z]<^0-W*=6 210)Y?7% MQ0UW02QXK$M$^?_MYM&E;]ST&VO75\WZU1UW?<8UKD[K-W7X!WZ]K9\WFG?U MV_HI=_/MY*)1XZJUVO6WJ[O&U3EWUKB]C,L7;'M[:L?F7^[(.]=<)'>G<]B% M_T07#1DORUSSCG:-6K>'?R<.0&ARI^1)D? =#4U*+]\27/4<%(J*U[+O7\=^ MDRYE7FB:+(=EGNW!X8'D3,!P+LO]P4E8FSHR.8G>6L^F]GF+2E@UG MBDJX*YL.5,D.RPP-D,_R#;AON?3OK!3?J %#W3]1&1CGA'@!N MYSI]!"<'A?<7XN%++EO/-S.5_.5-C/62%3 M+&8.#Y *Z.^YK) 50@B*8_3D4&7SJ!R!MK94S..4XW/1$'NZ)F]$9\^)WDUS M!#CP ^(]T=DKQ;+$B=WIB*K.>X.B8GKO>!@C 3-M3B BOQ>!B/Q^!"(V9X\G MWA4C72!=(%T@72!=(%T@76 7%PBY-8BCE]GL..5^+1K6"HFK7IURS6\GS<9I MHWK[*QF(EMER7%="&+"_OFB<5N_JI]Q9XZIZ56M4+[CF'7QP6;^Z"^E3M\O; M#<:+UKKP!F[[-K"DM]@LI[:PPZYL8:HKNP%/UD?P@O[L?A%=NN3^++F)#(6M MZ#FZ+_=:KVG5:1#M6'!05URKA69&;-^I)$\1P);7?46CP_K8K7/8Q++=YRU,$!"? M""?:LF+1CM+PLR3I/1 Y ZQUEP)3VPX/VL[4.9-.G9MZ*TO)TVZ;BJR(QH![ MBV^ML7>^XT3ZO:!O19^''\IL:ARKI%?I_>WH\N;(M#G%&6EG!ACA?QQQ9M7A MFR2<1]?!>71>6@#F YCXD\:R B:7U-R!=;1T?V3]CD<# 4C>8ID.H4/^5.=R MW,"3U'&GX^_@PE[Q[AB.C=Y=ZXSF^!G?&SF%/AN7P75$Q5!ATXK&87%D#QXP M< WX:ZL.$O _?<(NCIE@PH\BG#P% M%DC-D"E)/2M6E_YN:Q9MLL :Y>&\Q'NBP0(J=BF7)-*GJ'!R0;YIBC>&D,)3 M[<'.)3$>L;4QM@3Q4Y7UOHNA:O,;=Z4?(QKR1YG*[HN=JLG)BBG9ILGH (=$ M?.LC*-Q;0,.[(!YX[F_EXZWSYHZA]W#&I84#/TU&SC78+X@H M(/NW=\#:$E?,%-_]_9?RT9\?D2!9$KWE717Q[&F1J]$F6-! M^"V!Z@?5%;(M447A4^$T=)JN3'$8%L"-?'FD5$#1@Z M'4PWI%C'I9".]+8E*AI:1:*I:Y0,1-.T#;JVV-9M>$>78!+KF!4VQMT=@Q $ MS+/>D"C<1WCO'3(H&V1>PP !"?_K& )[L%G6^1O,&-'F '-?![C&[ A6 QV M1;1[\9[]T=D7ZA=G7XYIIV!\2V,6HV7H*J<#/P:VP)(M 2O'7!4T95\T+#\[-M&7T?I"6]Q!!L^-B'; M?*VIH>R;(C\7V3Q2,ABG!>IH4:5 %8P'F6\6H(9B0AD#J^JY415*S MH4U4!8QI[-L'!QP0(7"<>$#4[Q;V]:8K!^6-(GQA.+(#%725#R !%#Y:64*G$Y/O&O)ED*@ZF15;B+T/8 MA^JF%)1=!&5.;E!Q+PI>BGM2\"*LGA"V*L&.(' 251-RW>_J%NSB-M[E#6_F M7^275BZ3:0F"T!J:%R_*C_YG]:=G/V9G$6F]H=[@/G=/VJ8+LY9\^L+8]H6[KWD=._!S^;TU".'5A()R4'!O= M3U11>N 0[W2?X?-!)Y)BPWH,S7MQ:'\B. "D@W_>Y'P M"Z/N=X'WO&+T[27OS$ZBW&Z$S-,?3N[$^#9F4_N*R\/LV'G[8.[CZ"96 M G))(,HI!VW\_?[A>P9,)MLBMGET+XK]HZ.J:8*ZJ+9-FOS04DY:P\<_!:5T M^]EJUK-O8M=9;+U4/:T7OS7;,(!O?31G!$#T]?UG[:M4O"_(A3F(!G8']KXW M=%N3CYSC->[;;[.9/)_-E?ELH?!N86(8%6[H]H!)PP"E-T66^7ZY,XRBN=AR M$2WSD(;/2WQS@25W?6-A5%D-4&5--+M53<;_U!]MY4E4\0*L:M5$P\#<51H; M BK--EH]L394>]76,/^K77^L?9>4+^H2U/JCJUAD>J_U C9;']_3>*M<@899 M$&@_197XX(^?F?-J',2RE&0;?8TP]S5A2/GW%*"$[(*O<_N<*R_O-5T[0RF" M%_.:V(.7.GA]'PFM;^C%/+SZEG3^>5,UKSMHKQQE"D"O9$ZY\WRHOU M7K-[LF[)1%(P@L0Y/Y@TLF-K"GO!M^;IFX\%/E,2^'(V^_=?HP!^G+;_I4XS MG#<\/$?&XX)X6B,>RJOA(X.+GSQ.YQB@_K8M[&;!*+BZ)C%PQA2$I" M#@A\IE#@"Q5A+OVM>E0S\1#UG),[QQ7Y&,XQ5^$SY?GR=''F/0U:IRR1Q;PE M$@$QU5;)%;$<&W",B8>#^NEC6?]E=?(QJO]HG.N"B7GI#IP\IQ'K5?#N+!PE MH\NSI0J?R\RGO=WDX87/+O+98H$O%_,)\/))@)=1)&F6;@QN1 .,#3 _ M]%Y?UU!$P0:O.[>$IH2,*V>C6JY^S_9OGA[O-ZFA?!4]'Q54B.EH ; &# MY_952:]TN*LJ;H'/"26^5"HDP.VU +??&*0O*G+]I4\TDX2K[)QAGLN_2M>J MN':-[8"'Z>0(W^NPLD-QD@0+YX0L#SO:4_Z-?HRK>LOY/%_,S_>5%^?4\B2G MWHDO$[KW1'S6G@VA6OGS9Y.ZUV565A7.60CI:V)8BIHD^#2;*_$9H;3??#K] M]%9ESTR6+^!-:J)F[7)U\:- MH=\;8F^JT$EUQ07T]UT(AV$G$H,P)?+FTKRYLU$-< M4:B70:(7"_/C[8OSZ]E(H F[R5F#&U74K*HF8^I)'Z^HK\@XXY[_N']Z&M[( M/RI"@NXJ1I882,P1=>%Y/4PZ"R5)<&N%WC[D\_MZ=[OP>:[(N!6^D@/6S29Q MFU,?R\=L4OD#WBO-#KON7"@=TM"<9DAC_'O]\/V^EWNN7>AK4[PT[1);E-!& M2RH !UK7@>[U,/1<1"5R8UL!MRH_WR'839Y>[DA7O:<%C5S*S8^2K99F?>IT MM+T37YCC.))=%63H,^M<:CY?FJ>5RKKCQV\^NF"N< &4AH-]@IZ!]42D0[G" M"\)\#94&?!/!WJKQ'F$%[*V60L*V%XCE4DGT5"M]?:E?G)';AW7?28\0S]]M M]PNR8O95<8"M++"%E5O!UEY8_VV!B)JH,UB[=&+'EX0@R@N\4"GRY4IQ[V71 MPFB,$TTK2IQF!_R/XX!ON?!XKW=V+SZI@#NPZMX!:%RKG\6RD38DDM/ MOXI7]6%/2WEW=&-A])D+*>&Y$0=8RS"1"5S0U=;P1R:?M;_D"GVUN+GBG3Z# M<+-QH@G-G5B]SBA"DJFVRV>R?+&R=='>B4-.\A!7+K7+%S.\D$C"?G:43PV; MR$U1!47B32T(9]>S/[7?':OYVSS?:,&L S( M3/<-9^+OPOD)N;S*J-_77B<[-]G?W<=H8K\THP1@!T.G6W*[,Y-FDI LQ5R. M+V663/K>H9CJFNYW%L??RCUY,ODK^Q-]DMIF69T<<5:HR3L!Z):K\*.68\!D^?+I3*?RWK]D&2:JT)GW+[G MCBK3BZD15/B2CM/+_LVQ:2ONMBJ92OBV;D3CVJ!C362ZPQMB-+NB 3MMM"1O MU$8KP*?.!!1&^7[;FNJ+8@:>"RQQ27IM8K2&_<;=[UI5^];NE=YPEF+AYF!Y MEK#KCH?Q XX$YJM/O&!,P>(_@>(WCEY'H?<='4#N%R>(/-:.-6P ME:O>]T;)>YC[\?M75JWE?EZ7/4S[#W.F>ZC1>&K:8LX\F#_&'_OBS^US6VW/ M7"PJ!L>7B\'R'D7=PC05":+%K-APB, 9R&3P_Q>F)G;*/,>T0?!?Q33M$,*: MB>L&_7!;'[-N)X3[=;Y-#/V[Y)'(? ;Q; MRLV_U-X9_SW2H:UZ[P"'EL_.OX5=[=:A"@8FOE94;T1%;F@UL:]8HAK88(@I M_+.<.;]^^%W)DV52 E9LY@=@@I7,20S05Q%TFX^D9.HW"^"LE+N6\3E M3G7E*LY<.6)_-I(Y$&A"!0,F6^F)D?U4^O#Y/$XZIWB$6^4L"! M &NKV1!FQH]/Z-CD.X.(IFT,7)N%W2OZL@WO%HT'I36\S1<[5Q5=%L@R,F[% MZM:IA63!;?WW7^6L4/I >U18 XZ-A>8L9X,L\K=XR=F.VCZ1\)U(^[ *+^1! MD>UM:_+E3W;5HJ\BG\\+?$E(.B=R9"=N7%^X:K1DI=4S'7E0K]M?Y"\]\_K' M,G5=R=H\=R,\SQUQA4*&+Y>R3AB"$RV:6)5:0M.ER]O93#!)(HF8/GPYBSG5 M\V_B8[)\WNVRT1,/RE:?7K8*RJ:B9-Y-Y*14#B1)H<#RDJ0>SK]=-W7SLU"/ M0U7--0^DG[1NRDJ1+OF_(4@C"^*_+,W>H]4>/9!SS7)(;2^<#U M1.->@?=G_)?WZ0O3#'L^,$YP$PH$8$Z_(^(QSQ 6A M=>'\P-T-^@!BU0#M#_+I"FP"MITY4G\6!Z8&XV+:=K4PL&00.H68G'3.B_Z8$!&>LJHX90FT9 M_-WLBY+[N^M8Y3*%EB#D6L-A7OM^;]Q>&Z<8K;9[L," /@+G[TIT[HBK!86^ M]P=:B=N@?54]!\LQ^D NJ&+?A#-U?_K /2NRU7W/53+_\0Z4A7-$V]*]CPQF MWN)G;Z*(HSDF$"7#V98HN9Q?7M]QI_7NC5F_R7..J=LQ5KTZYYK>39N.T M4;W]-5>V1K>PX40P^>^?-SD?(?E*N443'8L9H=7R7QR\J60W[P)U+E=M MZXY7LH>"Q!7%4&%Z8VN0.D^6G.D&9W4)-R"B87+8^%OF+L4!EQ/X6><5@6"6 MY>!E5PM3WO-VCY)K[C;CW<:28);W5!IM"#P_9%L9R1I\(II-3'K+]*7ZK37\ M?7]7*V:?"E<_VLD$91TKHU#\CT/4TV@E+">X<)Q'6J3-G$('/SAO+X>]?)5\ M&>>]PN+OC12*IO.FTLC_M5<1LO[DH,=W%,)^=SQ1Q?*\5>-=>=]X2VA[Q&$S#B+4QBXC#1A2//-PXGJ*0U$\BW0DE &EONUB@Q MI*Q@BR^+UL3H)6EZB$W;"64^GZOPI0A-.Z-10ZKW=EWO!5/TS@W=-&\,O8,U M5'7N6)"'9-7EC93U%^P.G[R7[IMKD_WO:): MC'[SEJPPC5V#!4@C:94%?E2^Q)=*\Q-5UG6>"V)U::S%CI78%$>!KX ED6\D3JK/4U=9.HRFC+7^N% ME\=!J9'0H+-8W21G=SQWS_9'$R#%D1U.[>Z=.E )JI]H9)>T9BJ"9@))6%ZR MSC?UI9+PI58@C1C58[94!$<[+L)(=>:NZ\Q\0&=>]PG2HG;/[M(OP&9SW2O4 MD>A>9=7OK>'MS45/:YY\^_UGF?E16^M>>=MW)A^G+E:X( LAD\3OK?A,1N!+ M$3KAO'I7*RIV8M,I17""B[GY$PE2Y;%WRB/8.):.%F(T![:-8\V8(P-)- M[_'Q\8E\2ZBYT;+9"VPLDA(A@RREA/D-8AJ8441,BQ�PE7Q*(&A/E4A?]> M->K#^Y>SUO#B\K)8-4JW=6V9Y)8H%3V+T,&D3>#N)32U)34(F,J9AO#$W=P* MF 5I]#5>_,27L5+DR\7Y>49+FP4SU-"5KNFC9I 7[YL406U+-'/YVI?G_I\U M::7H<;Y)@72IF%BB(&I$M]/07KRAO3EM3V:35OS"S@38_GES-'$W+O#9TI(# MP&) ST1CFU<=U%N")N)+DN#+$>X>XPWDA;?YFBYO:?C(%;5> .F^7*W>6E;A MNA?G /)8;UA8CPD]Q#%(A>T:[E'6*&;'(N0EOA0AF)'>FZQ-Q&Y(NF;+0 CS MTP@V?$\2P?Q,HUXQQSI.1F(=;I 5Z:\&>%K+G[L078M9? M+$,$KE$TT1@T+-(S@<*1D@V=7A"ZWII[]8(:$S5GLYMO#:WO]Y_T?$$7ZQO2 MG OU5^%/X=.OPNF? M[DEE6_V^FZ345.K_+2X5)T@I<>]/*$R9<9>Z?QMR_Q:AA/BO[ M'*U=N&'L&@*U06)+O$B8+^3SD=S*5ZB@5R>.!) ?FT;.YW.1O,V]T,C;Y/1M M%S1ANJ\:T'WN(#9WMOJ):"I259-/%=6VB-P:?G_\7CDWOS?+I]L00*7@T>(M MF0'HS5;D^L0 AL))F&S6T+9'22?$3_*Z9PZR8]9&HP.K02C=N$.K,\<1\C%V M)M Y'Y%K0=2RFF,6FH0T2_W5Z(>U9/*Q#_"/T[O!3RWA7:I%_#8=]G9!DS9C MW]B9;Z@9>WDOFK&7TV;L&^[L?MH2!+R=4G[\Z5YF:^9I8WI2S>%7[+1^V?4MNZ.Q&2 E98&-B1::8NI(W\;>:B M+^EGMP]+61F;:B^=]/-+M(7W7E5 ,4(*CMU[LFZNNCQIH7 M=57O>E=U=6BR-+$-'(#STOLML7UCUH3?O+2[7*QG_?\"YCEIU>D^$)\S8P7K-#JN)3ALZ5R MBKZ$T1<>.EFA!P>F-)>$^8DSKPAQ<_H\+(FYD#C2RKT>LGPY6^%SA4K,Z'N7 M7IFET&P?-//F'8UF-@^?OMK#YN_J=:6M;DD_.2;J_"QD6D3D1I\F@T\3,:6E;:BPA0*N4LX*65@&O^.LN<3*.U+- M&?5@BJ_M8.).%4[()HJ:2;P/*(E*J^4$:34U,E)HM@F:>2GDU'YOF*9-Y%/; M 'ES0PQ%EVFF4;W75_4!<8L0;U11:PT_#[7/5F'X:!5R6V6&U)SL<=P/I] - M47N$.)MP_J+WJ;CNPUZV6)+-]]BBHVQ!]1-;!*PHS/?C]D'K;!!7B42_A"(. MWYT_,V,?;&-J2N:!)F4&5K7S(/ MC\+PQ^GF9[$M85#UG?!W^A3)[%9;$QFK'XAFTHZ2 M5 U4L>;<4$\FT2XTF1"-,:MT32[S7ZQM:P?/EP>?ZU]^O+U?W&S;$9 M#8*8#&L&8EIFT$@SV?[B3#-TWK#=S=6BB=9L)K.(:(VCR\KK0<%,NVU-;+P- MEIZ0S?.5W/R10"EU)<'@"T7L4A0D@8*%8H-;-H%YBRVE%)I=@2:L;*! RP;* M7ME )5K90/?QXMSX=%?MW*WKUG5>D6I8*<$V9WC%D02;6$A/R&3X?'9^OOD^ M1#^20$1"90"Y_LKV",:K_*2P4X]L#C1'Y8(37 M=C#Q]'3W>^@F9>!$;OB^#TB)2JUIBME^J=(4FL7,C/PJV?JD:][9I"#:YN9O M,]-L_64SP*UD$*SF"556CU9/_\M;S?/VHT?%6D7[:DT67_==E4NO=1;"\*22>$J\?EE MAAWM( (CVA#9M!)RRL&D8:K],B!2:!8SKK(!XZIF]VQ5M)0G4N]TB&1==Z[( MEA5&*2:LMX;VU[OS;O'Z MZE-?W(IBPBFB+*S"<%Z4;U.LB"SEYF=" M1Q/PBZ,DH@Y.J6V3U)90V6$TW2(FYL. !J,J5+3PQDC1P(%71!56@ ]H>/YX&P\SA697 MH$DE<@K-ED+CD.9?EMA6"?P$/_>#HA6D:A8\C#NE!Z+RBCQSMWI/U'CV <\U MB:%T/G ]T;A7X/T9_^5]^C)XW?\Y.N+.%*+*[[D;\9Y\@.\\VD230#QG*Q\X MFD\//W)'1^YAR,J3"P)[\9&E]]]S193NS@>N*5]$/\V'./CXQ!V)!)*<&!.O M".0_'7%!:%TX/W!W@SZ 6#7$-BJ3*_"(V%ZN=(0Z6PE^ZR_W:_BG(SR'O_^" M#87LK0]O.&J#9_1PU";@#,%+1?59')@>B(MMV]G*Q))!X!!J=M(Q(SK>EU%J M!(2IJN.[44<0?S?[HN3^[EXDY#)"2Q"RK>'UGW;MXO=][U3!?H-V#Q88T$< MF:XNYXZX6E#=>W\P.;W#U42SRYVI^K/Y9O']./XY2&Y5[)N 3O>G#YPS^KF" MXZ\=7++4%=&V=.\C@_F;^-F;* HC: [!6GBO^,^;[ CD(Z;1[ #"FX]WU5\7 MU[?<:?U[HU9O\ESCJG;,5:].N>:WDV;CM%&]_17!MYX2./$ S/F8RU0N7V<+=)Z7Q[5?A2^9%64J%+ZJ> ["M M]/SBX$4BF'GM-"-QTK:>P#X@:!Y'GP7Z99FC#;/6&#,-54W5\1"47%CZ$\*4.?)X)M)Y(9VW2>&B'GY56D-?Q!SK(7/Q]LT=B2!(%)T]O;%B=Z M^WJ_C7[!=D$31D2%J8T,%=#I/;$V/.L\M(8_KR\_G_=_O'QI+D$4TX).CCE7 M*/XG0E[6O*:&XT?AO+P<]NYY"GD6SISW"HN_-]+ME/OZ[*KOC[?_G:7[]U') MM[B+]XS#664Z?2R/_U7QFP#^)@:?+%U+E<_QN=+\]LN+G<\\\90)K]>XTC4) MU%T#+&7S3L#==!KX'K !ELHR[:+FC"2*^2C'GU5X ]53:[V=$#Z4&25[V#,>[96 MY3K_Z*3NYLA;H]Z4L+J]\HN$W:JA+X3"F+PQ$6 MKW-.Z* 71/?2Z%P?NF(SHBJ5 E_)SL_SB\%R.ANO!6"%;MA>J?Z")7!D5.I4 MBU7I\S!7%_O+2)W8]%(VIB+45RJ1PC&=N R*6)?XZB70 NB)3>9$G449@\P) MUA]16]F$A:HY+DT_N1[/[\:9_EUS3>+)H30B>0 A;)B M]G535/$^IF^@F6P-.%&3.2P9[J-#EDJC<'*?10.)RZ0RGUFF.?(>BJ2(U;6% MRB+5M3&(BVI 7#2T)V DW1C\,,"2.-6?QYRBLFK)SV?J\$=MF>:K,9LG'EU3 MFT1Q0>?TMJFKQ)0P<265">$R81+1B4N"4H'/9)88'+>'HB .U,1FF10SR^%E M<4F3'PG(=(AA8/@.0Z9WXHMCA3G-_4?%CMW-]8WJ;^GQ\[8$@]WH#-N$%_@5 M7U*G:+K?/Q/C28B+WX,6^O"IM3V;TTGE909%,JNW-\ M*0LZK1)+Y&^B2-N73>69LLGU*4#VCPJEG#4LG_UZSG63=>C#Y([GYZ32)BH5 M!]"8_(6F4"CSN=P2MV2OS6)>'$_QW2IDK M2"&*Y;7)H%R>SU>6&"FW5S(H?E0EX'F5^:(PO\IA-;)F+0T%C>( MGZ9B*S(OA%#%VJ27P!?R63Z36TN6V!8+L*1P%ILE51 $/I]+^"8D&RF@?2,. M<,-WABB/>7;6]76A4&H_WIP7-VE,Y4;CV'T&;RJ1%HZ.!C&]-I%4*/'Y\A(A MC%L>VT*-E/Q7WBV2/9(I]9C]NW;\'PQ7 6H[PJ\CDA M]KF38?+J9+Z\72.=8Q,^;?7=WPD(X#:U.HSK7'8S^7'?< ML0ICEWGZX%8^&^;MKYN_S)LQ19,),F=G8R$K:49P:V4.V<;A"^$LM 43&!:F MQ37&R7+E/"]4-C<,9)Y@W;OI@VN@E-BD=BE?XC/"_*!%O,,/I_8+B]@5I:7< MM7H6$^0HT/._OK:&7Q_%'P^GPJ.0S29I>2[* .,"O9!Q&XV%=4AYO;;IW,Y4 M$6DC^;9CQ4*)+V37$NC;;1=Z1:3%)N1R8*CE2PEF<\1I/FYQ*<%V03,OF<:? MZ(=$B$V/ZRKKA(Q9C>:TIFTGK>&M>5=^>OY]_O4IT=2:Q<6!!WC:4RO.$I@; M<>#.>Y<>;<4@-TY;!FRJ854UN>YV9L">?EPS4K6$6:*K^B0J*MZDGNE&4U1)DTBV017%*6F'R*^7\XM[R_XN][]L-/-! M<"IIF%.,82ZSJQO6D46,'NV(X;0J32565!:830B)5]T4^4)F+3T$]TAJ+8&R M^&X9BWQIF99K"TFN?(CD@KV"M)8(D4WE5="8BRIU;E8A#>$.-9VX9FOY/E<<8ERF==D>JZ(M_AK MG"J%,E_*QU(E,"'7TNC\EL1CU=HPVPO=%B)Z;=&OZY>;8O?_V^U0;J M]KN&[M[H7!W:F!YWQW*[<'^P)FPP=0QC=0SG-IF>36Z).X,9/I>/R^Q/S);< M+Y8/%P>WCS5WW9^Y'HM.J MEO<&9TALWT7LA"CZ5$:O449'I\)46+\V8;TB;>RXU$Y]W2WQ8'(!I8GT6-5D M_ \F(CR)*OJY-\10='D\']Q5FU1=_L@W"\UB62AH^4U>SON:3Z+MF;V++$PF MHC\0?UNO-U8Z6RXM0@3)YS!GA1R?KZSE@GYG@Z0K8RS^,&F^6.2+0C(M>%/5 ML26J(SM7=53!Q#&, 4CH[YA*T%*:K>'G4_4K48P_RL\-)7*-&)>U:>J!.^+: MY%[1L+8I]9G6Z#-%HJ11,58UKSLQC,+@R]B .4+!3.HEKZZUA4RK=/7P2?CQ;FV]P.#=(-4OZ$DW>5]'[[WV2NJNG ME)4$OIR=WY#A%4K=U0GE]:K?Q")1XR;H%EOMVP5-,B[<5(9E'^ ?WW.*!4M( M8431)(33=(N8G*4C55-&HAU*G-L34845X .:\W&\C>>Z7="DG+6Q,__+PJ(, M^ E^[@?Y E@B"TKB3ND!G5^19^Y6[XD:SS[@N28QE,X'KB<:X/"^YS+^R_M; M_C)XW?\Y.N+.%*+*[[D;\9Y\@.\\VCB)&'L2?>"HOGK/9;FC(Q=-LO+D@L!> M?&3I_?=<$86&\X&K6HJHY'V(@X]/*!D)! 0Q)EX1"!T><4%H73@_<'>#/H!8 M-<0VRJ@KT,=L+UAD M>*FH/HL#TP-QL6T[6YE8,@@<0LU..C&J&<'!Y&G']T7*3(!5537[(M[(4:,% M?W<,$!8 92]_5F2KBYHG\Q^F>:+MU['G0/ZI8M\$#+D_O9DM0V$3(2IP!(@@ M:?ZQ34OI#,9FH@G7+-;R?-QFFC M>OO+F9 >4=0#F&%R_GE*$,\Y#8JA,=-V01T3<>'IYS'N2\#1M3]>N79"+6@G MG'EV0M.S$_[^J_UQX:.:?B)3[?U0),_2##X[3#A*;->1.70:A;6]]=L?/5YB M%OV5W8.72)$OC8@IB7U4?@:Z'*-^2A.653IP@IKEM&8&CG3+7>[@[2I%H+V@-/QOEV_///S/FJ7^WF=S9"<=1Q>1L#1&,B,7XT7HF6;9#KCC_U=Q1E^>#]].3#K:$A75XWR;/]?)-; M WH8!(@:'X9U(R&!%>[$ 9P8=TJ>% F_UM"D8^ZMU24@Z7H@Q ;OX!6:W0&' M'+9O'AY@S,Y$S@F#T@V5.Q!WB#'9ZIMB(KDMG5'TPXWU+^ M \_5#!'>@UMK:#( 8:!,/[$14'J4:N>H*M,ST^ZY9A>DP^%!M6WJ1IL^<*$\ MPCNY4X5PS;Z!+?'X[TJ;$8F_\*4H=14-P':>H>O5Z):!Q2U;M'2#G8/-*G&? M1$/1;3A ,!)I-\T>>X,!V_(:I#@8 0YC&.+AL!3 NJ(.J%_K'BEJ0*F+!\B! M=*/JR^H"XNZ[NFUQB/!OFH*?4E7&@#,)8!1. DU((!N.BB$\7HH?#RL @D&" M9")S(GNE0T/_,U%KD4 [.7@06[X.<)N3:S]W@4# 9%5QTZ/O474,)"M/N :; MMPU[5F1R?'AP*6I@@^*9<+(.;P'?GL.:C <.CI2.ZGY6X&!%)DWI09NB"@^V M#?V!:/"E9XUK#W!!>,RGI>/=YG!FZ+ABM8)CE!A1'!W50:E8@Q]P?*>**:FZ MB3)6.R?ZO2'V@5RJF#AP0PST;^!HKSNW0!":35#DUU_ Y<':&)? JA:01ML& M--[I[,5FC=++X+ISJ@,+*BIIR?V6A,HB4\P(K1:JBDPA)[2&U_:?ID:&-Z<9 MT!/P73P"^!*6>DF 8;HJ()SK>\!0TM M49T6UK3$@?Q^[3N,.2^F<74&N@V, M1=C04380.+V!C;SY6)I,WOL/VGS4_)S@'5S=.\QG.,U[HB%#8L0+BSL8-XP( MC5#V1-$P3E75-5#5&1-#-5<*3:6FD]]-Z:%NJ$6SX%%3U50 X&TDI?%MK9>$ M0F9\_LJ&"RA//8,PKO<2JB\M=7(/C1E6Y87:Y* M+4J1Y^HV=D2BQ-4$E>3]9<_$;WD+Q&_)8Y@R8YBS^N=\0S:R8D/90_&[;)+; M/.$[F2#@<4Z8["V'R][#@Y6%[]D&A>\$+>EW3]\>'K_*I6IW7X1O0@24GICUM=;P4T8QOQ1NGKY=_%E#I.(&O$M)Z:O,9QR! M; \"%I-Q6S?+0T.6!#&"KBDZ>53TTJ#9W,M=S@DI4'DKNL,-1X4XY0G%0N]4 M5\&Y!F\1WF;:;7 _%1%]\CMQ(.G E*(*CFU--_HZ"P$<'KQE'[X[YJK@U"IX M6W3D (@NJF8R]F?2O2VJ6+YILIA)FX!K2E2E!V!;+.8A!5%Z[ 6;(_!GH37, M_O[]J6H\YW\\"FN@Q?4$A $']&K,JC_1_'?*?[.9-SA,.-+W6\-2Z;&=/6M? MWCYFUW!R/E <@VH/>/+>#:2J',[<2YZ ,H Z8_214H]C@@_=_\H M^\)0WTRPH.K.P)[QL'RP0^+H@ZVA8?YX_',A-'KR.A0=K(XRVEM_3SBDC_/; MG> Q;&^*OJ):#:U0C*(^*V"IB=XU$8: 71. ^1FHL.#OI.^HD$F_ E9R3#W@ M,MKKT\20KAM1!:NR)SX0;XR397?(XKO=X#^?'<&5Q*O[IKX&@O*YS^$(!K3UC;57Z. MN6G2.XXNF*_ GBJ[1 ITDJ8QMIZND0&^_ ';.MB:;,ZL;>5TS3-B/5YR+$K. M[!)B[?I]QO3* 3@77[8H&CQOV8X9T1,'="H=E4(FO:)"DQH%C^7?LU' 9!MO MY^@A#HAHL(LPN_W'%6LN#EG2* 84-#')Q&\&S<3(F/0)IF!,_U)K>%[\+7VN?3__JN M\1IX /!F,\B@IT0BO38Q\ /A&"P> _QP90BP@ ^/B7S (V\P]T<*2-)TJIBM:W+99CX::6F)[\P:0&Q?1UU3W+BNH)I"Q I>!P?9V9;"WN1;2WL7K8UI1<710DI^#M# ME FX"N[,9NK5W8)D52A3A>KZ8&P\TO=;0U !@F$\W?PZ*<6K]D-")JN)J?'D MX-U?P,4*YZ-E#SPN;U>&MRNJ0WQS1-2<* 5Z"%ZL@[R ZK28YF@ G14%=VP;3+3 M 02*(F-(Q07DF#MQ]H):$P^%'I&"V7>!#8L=$+K!B! &<&U<'J]>=8V53#@; M!8A(!PZ!&2C<,VA#BV TJS.Q;=PG8YP\E MN;"+;A9Z+)JE&W/N-4HCX^?#O](:$DVXO[SHU9]^E]<0U?'@V .9XNT%S+J M($$*!J(%#D&G +-FD:'1G<%["C3^F>=!N81:E,=&@].2UCB]S1?K][/PBW7QNT']4Z?ES>:&L]$FW9%>T1J> M?SM]?AA>/W\]GWEZL5W7!^9>>D#M :O=\\!4] :]F'4.TG@_YQV^B??^US[];FS+W>2 M(\.-W.0*E4>WO[M0UA)/S M -T#65";,51N0I,>'IC4<)6)X7^'VK.Z1H=L1(R7%%K#SN-5[5JQ;OH/.WG) MYV0QWOII#]%3TN9^%\S AI#+?JT^W V*:R!Q!R N -$>4':5%AH1#!F# 8W#)?GCS(5FL0IRGJ?18(7";N#=_Y \VD4Q[,RJ#?^'1?Q3EG I63%=3_FT@U0(4>4=Y818*>-;OL*0-5@-30AR[ MNJ'HP3I#)MUTU9F%WE-,^G6G\!$CUL2@19HL'.#F^.(MCQ?&8#D8!NF@%VZR M*#AF"X*QY"24P'<9/05A" 0\VD ^&LW:IOD:Y,7IIXQ6D NJ<^6":1=A\!W[ M >0MQO T=L9[))K<3:?BIXYH",,Y&WA(5K!.%#Z^U\'R M] _&C72XF.-91JE)/\34<.=""1$)WJ'W>KQ6$TH?S&!FW.$!)2P*E>K5A6-/W"A'$J#7\#6*F@LN%'$\46*P;MB7]T W.1\,;%-GQ= MS=)8O6+A:3"Q8W /.'BB^+D?MSH\P&,=90B%%7NZ5W3 @.Z=%[N?I,$[>CGG MO-^KK?"A],ICZ<8-&LCGZ6O=XSP^/+AQ^7(2!B]TIO30B3=8#H*W"-#:N!5# MGQZ#F\7P&%(")P7:PSLJ\#<:FI^>@&:2/')1RT_4AU3\^I!)JZ!)\7+C+W;M M+>445%QW[K! 8VJY7?;KCQ\G.9GDOY:]B@_GJ[AGE[@"),>NPFC-@H\!_,DI M9YA#+3-+15;8X7HK[_*3$R"#]4/!8B$\.@/Q3*OD?9JE:7^SS\H)ZN);/(ZE M7W2(DUV;SZ&I\B1-G<5*4Q-51)VA^G7X4WD63MM[2%,)%12%3*=! M4JDP'E@A5>;2C'#7H^FQ6M'LE=6^ ?J')"BIQ M; ::$D^S'FC&"C,_.XHU:J?ZVYIE%XR8%KY=H3_AI@$!02-914A@TZR)!PJ> M=[SC%6%8T(^0>4 :Q/%P\#B0N;RT7YE]!0"PW,TYUFZ/B+1 P-N[I3^+ANSL MAZ9'HKD2OB&J:QT@:*C2($Y:$"8*&0_NUXCKIM'<)WBB3Q-6D%YX%UD&:0_ MO(:7R*2O #GQOGO681<'K@(;.!,&VPM9Q6$PT]@6MRX.9VEB*[A,)#Q(UHRY/NG2T$;G%WD MQ56T#O*:Z[6'>8H>.RRH=,)WLUZKI;"X126$-RO[&E6..SF2RR1KTF6SD M-'*O6XI3LP_[P%Y$"!XFSH(,Q QQ4!@WP2_[;8=DFD0H35.=SEV/HY='8TF< MV77NSKSZ.%K^@OXDDN6[8^YLY'[+JZMQDUB9V>9==HTH=@V;*'DBO*VH*DM MH5FH[&:;Z=HQI8SJ'E-;7$O"#\[3> #MSL2[R<+LN_0BT-/87JX+BS/AZK C M%P#>R28.JER'2((40DG(_[9;P^Y&RN@2J26V)MOEBCXW8,! ]G5(;Y+@>Z($SV ML) UC1U*!I6&HAJPE1FWT_1P/T+@A>8";1_<1<&V0A9A5[^WI\ #? MI#G!3%=MN)T=)\%SG!J>:]M^:)06:=%CX3W#J@DX%;Z#R- 8P.'AP1@2 MUR&%?XS8@Z'W! T7WQZ<"X@'%--]]RV0+N>@(/MI-?(BDS1Y83; M7#T[$9$(!"2\8B%<'\X9=BD#'VFNUG;J*2Q61,/,55R1!4@LUA<#:YI8XH#& M#!"%:EZ7B9RZ8YMF$@1:>]"..<[Q.NJ;79DRD4$OMJBC&N-=UFRZN9MU@\NN MX&@5HTQC'\[]BM_39.1B>:3:TY."]![:X>; '37/>AY@MR$=TVZQ'&XM.QY9 M)H&>(%*7R+9*KCL :*#+LZ%K\*/$\JNP_IF=;4,+/N,6SP?3+/R>\,$>\.,] MXKU4C'(YV& D5F!:P\YMHW%)OC1L;+%ELJ;1=-WWG-\>BSOB&L!"C(RJ >PW M7JK_O,GY6,M7BK[_WPKD45-A7?7;%;,)JS6/8>N4 M7^^\3(OJBV(&7E 358GE-7Y#4>2<];D-W O8;VCLZR=4B][IX&X6,\5+6KC8 M&@X>M8OKG%&K-_]$FT,2OK%\RX]WQ;>Q4Z>7LT1.B/4,$GGFUH#"JUA%,+[% MKYUOST!H^7*SO,H6RXEL<17 5+2(^TGYE.N/G\RZGG.&D'IZNW6\FI[V2F6@L#GA!)?*DU>D"UT5@N, M)MU'+**;YV$Q#OMR:7SR0@;^7RBFZ(P+G1M@RBR?%\I\N3+9:GE%+(9IA\Q( M1V#3 D^^3N^%KCLGSF71M?;-OS-STSK,:X/>/8H]1UE8^D7]<^=[\R*WA+*( M8Y+WFX^UA6_L=I"ZET32EFJ@(I\K%/E*SK-D^60MWV&2'9 OC'L80Z=M$&61V)&^$_H02N\.3 MMP12[_U,X4 M[_*!Z2UKL1MNQU-L=U"$S3_C+;4>LD6^4JCPF?)DY=EK4D'+XV]K+(D\7ZG$ M$L%^[4C<#!,6\WRF%#O^DK$IME@9IM#,)8:_:.+]Q_%&CWM3U*;1HA2#(#:WHF"DA&:T9H7S+6\M8K M)3X\H-T,)^M$8BS>, TK4+A1TT&@8?V8DX5*\Y7OD!I6JX?2J-;X=$M[$>$_K[!%$.*M; D6 MU"^[W>C!ROTKRJIB]2BKK]X!:.M>/34KL>4^ 6Z(\=?;"YS9,N\">AMVX,YH MXGZ BX#S8*KAUGWRM#Q>:C7W'!8MZ5SI^7EWT8L4[\58%H:LV"6_8H4 M6N(+I2R?K[SN2[\$$)+*^=W'X=8QU>83@](2E)V%)LQDR$9+)4:3H/8I7_U- M%&E03I.)$T]N7-7NY NY+)\MO6YW;8D#3[7V]N-HZYAB\UHY3=?=16C"%+*P M<+HNZN;/#:4J:TWIT]6:W?57G+&[HC3*5OA"ILP7,[$7I[^BPT_5]4ZA:_MX M98L2(=?8$WH_TCL7GLJ1VXNI'+ET*D=4JD@V=;9!LWB]Q--5LVG9LS.7 M:@UOGO3?=_FN_.-G)XX$6K::_\G.Y]!.*(7]3JK-!9IU^^ET%_W[NZ?/WRX+ M]^+>Y=.]IA3)4.RN+='V"SEO%R^:$A&DE(IVF(K.9E/11EO[/Y*2_D.L/GT] MS^X=C<67/KB*YEIW1O"9,RAGRN#9;4@2'C=Z=B!O-?.XU8&;]/1YR6;Z0S?(583_:$L_.XJV/ MY>MLT_UK"LUB=]/%L?SRZ\ZYKLN84M\DQI,"EE$3Z*$U?+XIW9#K;$[LY#^.'KZA U+HT\RB'>O& M36,<206=3/JL%3FW9<[8\N5#2R[<+%T6#W^[__:G^<3'I.#A:7H,)6C6^AD1UW MW1VS@6\@)ZBRQT\4M\G*X0%8#SV3$PW"2:IHFDI'(3+VMA4YR6V\X@Z-&PW0 M\MQS5U&Q3^[,-77;NM?Q$WR.):Q:.BIGL< M41F9W4 +)<_9F[!=_,A[')^I)84E?EYF?G8^]YK])PF$B:582"$S\(HJ9'[) MYAQ($C>H97:H[>YOU3H]>?E& MI/@.-1I H6=;\C1P>=63S?/%2E@HF9UL)Y#*98;DK6O52K7OE":O:6Y/LG3[RY3+:Q/F"0B"^!=:IR:Z1X\;C'$O MID[,4 TTRBM3O]4:/BJ?O\@_'C]_::JQJ1YZ($[6-5ULBDZ)#ZDQ5J9.60'E M?7_J]27[DTQPSH=Q>(",!Y]SA(9 F(+ <@K&HR9G.+G=V/80G^UXM7JF7ZMG MD'O1D%6G)^)SEVB<:8.H8@NBPNJ+ PQ8'(,2[Q##@/?AHB+M,PPJ#!A<]=NO MT&\81-+O-64(C[H" OT4"6'IV!;6$N(K<,B)4WW*@">@" W1&'"R-_S*Y-IL M_!7G[A87]'9"YZ\X189MT53H>QAHW!ADH_ [D,)WX'*S$/%L!K<#%:IDRY3D$?/V24#Y MMI(' M&K%&U26\B6K+$0!P2P:^4=/]-=UMCZT]N62 UX$WV+$='LBV@;YE5-U-M?WF MZD\#AN5F^+M M.@*>:[%7QEN ^27KTR+%LP:@AWR[-1P6/C_VL];SCU)['6%B=/[VQJ:I$0-[ MOL 'AF+*BF.<**#K46HS3Y>*>5T[/'!EGO.I#GST_]O[KN;4D771=U?Y/^C, MW7/O3!7V(($(:^TS540;!\ &QQ=*H 9D"PDK@.'7W^Y6! 1(*!"LASW;"Y"Z M^^LO1P%\0\5 L3RTB]P1M0/ ZH]F'&NRMP]1R7H $Y@$1ISV*\CK%$XR#&OD M>=5GMT&+'%(E^@6CU:VB_@M0*UA<4.]#H2^B#X+36TX;WEA#6=$WA_R[QA84 MN^S?1*R9SERMSCBY7,F5'P>AHYTKCK=$THN<)XPP$%2BBDA'0\"'H,6LLX%K MYJ U#)5_=)43T(12U=E"22[$A#R_K3,O/;ZJUP.VQC\T DN9C8R S@CL\/\-4C.AU &TGS?>& M\.1",PV@\6.&B" 7XL49 %AMZS.<1$Q0-R"=M'6U4];,)[P&)QAJ*M+Y\2)C M7 5/Z.K7=,CUAIHA9[PZT UC"NF"DTX2X)]TJ+ MC!%(.Z$=-.=GAEKIVK%#H,F3RSZTTE:J<_8_EJB<6I(*[6?.'A2Q#+6%:]2W MNM5]YKR!L%V/9#*3R-#KPR!.KL>\.["M^!SE_L-(*3"OZA.]%[ %YFXDJ70B M[U@@BH$6A2&RI ^Y;0V6/HG68.E3: VV2:>J=.8W[&.O==_^K+)T& [F\)2A M#:UX-&5EUT"K^#?4.&3FUG'Y): F1Q%^%UM/? M1%V\-!I5),R.<%B+,J=C:#[3DF6PV4=<']V8;(-7 CFU$4/%25(0Q[@^M(4A2#Y4=J!IP_B%^)38 MZ;CXA>Y_MTEHT](A87(CXT.,G#@D B]8^RQ! M= $D+0&#L0]_393A?:(DTO,SDDYHBNY??7@9L1.DOHH^Y[9R,L( M?^A?*&9'+WQG\+]F0SF-4)8:?FM'67P'8_3%X2 YL+AW)'*A=*$9=>1Q$VT8 M">(6.,:T@>DBRY[%E(9D.Z/ M8A9VZH7 MR&K.Q]4MC,O/'!--JOTZ'H8 ?DM:W/GI6Y]",S>%W4[N1GOG:0S*37T_3&[H%N>V\9S6)M,[I M]QQYFP?NZ>TY!TGOJUJUZFUVW&=N?E.4>U M.O.6^LJ]EMN90I,+IY>.T9X6M<(V=[$,:_U'.8CWFZ]W<_F:V1)UVVM<%;89 M;Z,\OLYE-S'G^PECO$4ZD8;WD\JFME:L^0*@,[LPK];UU7F\FG!![]-C32=0 M_7XNG?,">N_%VH6%SEF:A6P=4QNJP@Q 604- ;Q!TZHAW0%YA1F\%._F);F6 M+O9Z 19V+Q]GC8@P[P%*7F@%HEBK*(0G?/07;FO%'!09!+F.RW9%KM$@#)Z3 MIY.)3&Y[C:SCV(.@@!XX-@1UVY'?ID\VEJ/SB:R+P8:.M^F=G=EC$882;IW\ M2A)E:WAL&[(PQ61AB)O52_-V?]"9CX>ME_?6M$=U\^&H-JL'PUM#":#+=H,W M/K8928.BCL!9SN:K"H/+T(E4+I](TML[T_H%6ECM6@*'J$]*ST ]D4:=F+=" MU#M9VY.M"CPO3I&KLBI*95'M*GV57STM5E!DBZ0_WR'89OV;^^=,] H*8JX$ M8^P;>_=9?>YLF/L:I*S0RIR/F-@4+S/7%X,/3P8-86'ISR]K_M&:SXIJKD0PX-I)\[VR$SO&93_!D65%@ZH7]WJ1UI.[WMVZ-P1\73YUR2R52>3H[5: 5PAM,WZS3LSD190^:T)3 M$GMF<-'@)K,G<$/7'JZ:MT%X[OY%*UU 83?6UOH1[G5G,(<2O$M 9N ,BIT MM_K2>]S2NV<4=OUHT#?AD[SA3>23"J! E1F/OEFDZOP(O(K% M[T&J0.W5DV5L4:ND.$('UH$XX9WO/ P6DZ73B9P+-2-4[Y4#S82%"[NP*I^O M#OK&_6HJR60BD_=WX_ZX6\F)N^& JNZBU]D:Y&_UN9BM=>9=\N:S>Y>[O6=V M22%P&V\T\@;,)M<_2YW!AP\EL$LOP*_(3DRD2:SB6PV M(@7&T7N+*N]QE13JE"I-@*;$R :1M]@)?:6*DUM^O^$XA_P"L0M9/9![J,P^ MUFI\MNV7_:EG* MI5H6*,/:-2LAWYF/Q^5;AFWV>8'<%&U'6.:UG'JUIU/ @6VCLS0>;5%BQIP" M 34';%,"J/&S4>%;IM#YH/;F,]@71HP+PW8+DVU+LUJ"V,-*I'C M-(A(TR#4RCW3Z#U.Z]^9HTN#*-K2()*2,+MJ-9\:G^D0TR"*CC$.4=I 2UK0 MHU2H5!KSJGK?F7^4Y/8#/1BG4NEH7)\79%&'=H>^6HPD:_B]%;S?M@TZQ2'6 UGSMXL+4G0S5J2'8%"/7",;DMFOLZ8UHJVRHD@I%:,X;PR$=S;&3#A5C)-_Y0L-@?%0J04+. MER2WU^[\K)!R"%?E5W/+)C+99()*;V=,@?"@G,6#BAR>)N9.2Y-M7.:YPGT, MGL>%7G>74+1_+0V'H+OZ[G&K9'B+L:*V$]]RBP0A69YD+IN@J%A!VZN"Y@L' M_/*_%+1:,ZA,>(^*67*A,1F4#C6A\HV2I1M]M["IZ ,UVV(1E(QY62^X1[?> M]\C0W"P^6J/2SZ47JGYW-]AK2L]&1SIJP(QX+6"/D,/N/Q(>&CJ%8S#G(3)E M(Y 3Q\5 M@CKK+\_>A0)!'\K6%U%2)OI-C\%S!YSBTV&.F HH1(U5DA7_N2U0[+?*/F^9 M0*Z7ZD_@M+#(YC)V:,+1=L;=J< M_N[,B\-4AK^2;_G[D%1?EZ'I-72J#4!" M;@:Q;WH:XBCUCK@LY2B;0+?_Z/Z!8>Y,WX[\T)#?I\QE,?=^\VN[U7 MCG%<"P ('F9C.\M]B7G/!SDGE0$_OG_999B ?_>EL=M%+A-<^.0@+.\#*:K9 MB!FAF-"I5"*;W([[Q][O+J(VG=[OSR?WHA+)="J1W+5CH7<^5HS<]XB98).G M/RK?Q#V[#!?PSM'67-N:TM54=OHD MIK+3IS"5/8(>I@A% O4W;T?/B)<[MH6<<]X6/.Z:/YB; VW&MJPPBHJM.LA7 M/]!T;32,FA@C)HO;)^#OT)CSE#;9.(_5'\1(39_],4'H<%$LPK#$5/0=FM5DX3)TO)%,N $* MFS O#.!!!E#:-H&$V%E)/[8G#L2.._,QDYJTNV]WXFM8D\4V<1OS&,18.P=A M;/[TZSM\7V%0? 6JINAT%]0*0F?#F"_XI_&*:$<+A@CS'3C'!IAO9^MK8;IF M6M<*TZBJ"ESK$4R H +DF'L$/7$@H/XIR(CQHL2TV72K=YWKDOT(,H[=L1(& M9[X1$A@Q'+)#]LM*5ARS(7&18.XT'"=\-IU+T)3K>J2HAI6N7,WA@=YWYD2. MS"22N3"FFMJT$9V;-OHF2'1@8"^S:^9:$R8BUT.A F,FNJ&E/"OJO2P6YS?W M[!ZT%/UXR(<+[2(%UZ9.T,E03S^\8U0RUM/W?/J:2VC7';Y&0X=1O[I/C2;: MNPA4TW$QL72;IK,A!!=[N_=_+N?"!,AAT64S/#]+. 0N$BC@(0%4N'!^)D/D M@;] ?CH9=X;^+W('FE(HC[J_>O3"U46EI3 2_ Y+EUZG9_E)WRO?U-?[1W/X MT0O"XV MY9JS7\W\A/W\G9K$)W/R(@%B?1$R2QR&IO:%',"EO* M$5-.&1+,@OH'?[(,XG+H=&+,3E2NJ,SS^_WDYN,XZ<2G:9-+9/.I1#;EY*+" M-XH9&U'2"MT(@-.0<&\'R3@"CJQ#Y8F#G-'T%IR?2=II4?02RBA"' /! B6K M2B@\CYZTL(-*$GT.*3H0RHQT&6G _80T QW-K MB[>!&H)7A=:$Z1@CZ\[.5 M3 >L(#!ZW:.]YK'K.3]>9P!HW2Z FT8?&A^@C>C+H.:]#GRVXL $],/MY!HH M*$V)$R64+%<1V)I^LIK@G,OLV(E&9QV9)-FQQ87;'$2>'CT>-RF3B3C< @1; M3TN01GYZ3F0QI,=6@- ?J!5TJQK#@J?$\'7)GO8,U#]:5F0MMZLN?Z4Z$I?0L6 @^ 0\" I1/!X@]:<^E\+Z=+'U,/ N*I6;PA8E0>- MOC4K0Q1T_AA$(P/S;CVL!&W!U+Q(R0_Y6_YS8[K@\OV(^'[,T3@_(2GP@!KH MIZ2;=Y[CRD\L?W1="U(V16(PJI:[S^^/68H*L6L!M M#[_:7^+KYW5]E[K@('H2;*&W0\SGB[8!P;J+#*6):H+,9Q-Y>OLLV --W NV MPX GT/O69JD<:M;L:2+!3J6WANFU?@R?G5O4:QV6LW&,S//KH)6AJ,+#'ANA MQK,X TX9=H,+P3 <&>[H?_^X6.F)F4AG4![(GH?;'7\7 7_7Z9F)K;_.).1H MZ>WYQ@&U%,@YSMBT\3%CU"9F8A-Z>CU-J9E>CMYW)X M^D^"$(!RA$QM_VT M(E*9LBDRD7.1AGSL;"O\\OV(%*UEA2X*0)JDR.M_M@(H\)?2^!+Y20]\H6"IOBG2%-$,I#K&:%G MM T9H2N;P,YR=$AY#'<%R, 4=63?B"*7$;HKPNE MK)N3;9<)_S%FD"A4>49"AP>"S"DP<$6)@UOM#1E$=4#"T9/N##^+*)T35 18>&/:[2 F >]* M@$?3[^O\C.<$=#B)&7,0K=!V(!,=X"TQ[ 3AJ!9),?#,OD\<<9=P3X4$A(O M#, (H:T>-S5P:,C(.+PCH: -(RR:&^=G8U%!,7FXH 6UA56.'1]PKM6$DQ'X M<21KRX'/SZ808LM1OHR32O8B02HKBU/!.=S;>'HOS=FK7/.5,0-N3>>]\,8> M%&!M:VU<;$7(F!L).T1*9C<&J1P#I.1VT*W$*M\>WT?#M#!ZWR_D @OO99(; MP89.Y)!TL=I=XM)MO$P0/M77J[M'[IWS%R_S1+=^@TT;.NT$'-B!V#2&8G?6 MY!E!0>%>*&7'B'UNC\C968&7UW3FX]8=8*[2Q?YC+X+X7.:2,+:G3<8V]G;\ M8;FU8/<3C2N[N5?;;7)-]D7ZHEK)=F]C$&[A$H#QHCCV%GKL+6F7Q9-[)M]. MJ8.WXQM>3=D$8V]2!+WJZ/ISU LQ]E:R#W^':*O%V9K-0N5JWD_1G?E3X^FJ M?U^C/^]#FE-HA=K^^!?M( Z=(2B$,L0K3R0>R=[>Q M/56HJ'(\8CHHE:TV0A80-@[E*TF4Y15R3O-4NSUB9\Q]6&TIM!.8N])<%+9] MG709I]D,>=.EA%+=DDBEJ40ZM=U!&'$MN,]:S-T!ZI..W0/4._G:]<][IC?D M!"#-[+JG,^V2LRON9EJK/_2[T0RA0RY4?7>+*NV/H.'U-Q.*<$XF4OED(D,> M7#>'@"C8(SC]BF$(SB25R+B(S'NG7WO"6E65X,+0_H/'JL(]PK_6B%X:O/=G MS^5*KI8+5?0V^GT4+.@;&_N!I+OV4D*AW$0^2T/BW=Y?Z#@)UQLP_=)M(D-3 MB2P9!MG2;MP^.'ENA7:SO7+_M3&EGJ945**WH"JBICTKDMK[_!EZ\^9K"25W M-)W(D=L31X^3='< I]\T!8CE]/;T*>_$2RXYJNQ&P JY IEG@%K_S IABMIU MJ9[^+-Z#R(,ZD)E0RQ<=!@-(TW0B3?F;:7X,F5 1C8%R=65^AY#XN3)_WK:U M'%77^7&^IL6)-*Y4G_.C)]27>CX8?U>HR1,?E1*!=X72(ASB4C];H0C-'*"H M1"J72N0=DP!.6JD(S2B ($VFH%5 ;=?3O%-WP4;=A5Y/':D\2OTKHZR]'H>S MT.'?6B\@>-K"2(04.\>?KX6$-LC21OJC2:[QUN_>*]///2@DN/;$.AH$M76V M6#G9E;4$A2RA^"12B60FDTB[*(F+]9K]W[9?IPGDC_EL@MQUF*EWIEERHQ+5 M@6)3B'1.6/VJ*K/9,QJ9$XT2M(9E.>?JQ'4K@2M:$ M""GB2V40ZO>/TUR-B M<.&7L'B^.]^QU7R*3F2H[7UJXVH6=K)!; ^/3VW"3 KB>GUVX]Z2P1- MI38(&3"!Y9[G\W0B3SEUXL9 .3_;(?O\*&FEO505TQ-'(T[!_B@"%U=] J+' MC#F%X<_/\#VR.,*%*[F8\5@2OW$!&#_;U(*P9+VU*DI:1\^2]M:*[9U6BO!2 M1]Y>I0:NB6L%^OBMQF8)^UXW-U/SO+DPA#2]N1ABM4>UNZJ' M%*3.0G:<8GO@)IT+O^HAS&Y3=YP _UN2 +P0R(,YGE,X(*^K2"@[]I':\@[( MY).#<49YX?IB%.W"LI=$:PA-H0LT%9,HBI*$1Z_*45DC<0Q)OENA#0H(P[#+"9T+K"(UJ=RJ!Y-=,@K-BK'?\?Y!UC MH](RE4P0F20!^64^2;"0G]S5BHU'0L(#T'A5/C^C+BGZ3ZUS,5X95>="1BYI MA9P,-/L&#*X6A>8\J\\C65A, JA2$Q5H DE&3?9-K[I>[+MT(+2 67^+2HL! MHV$EYXB6"*]R"HJ!@N2A'M=OYY MYB3FGV<.:O[Y.J86TH_\CEL/4)*$R\E6O#HX>S*]VRR21; MCX_)JU3_/>=M5YYESZ9]!3&Y8T4 1;!%C_,25K8HB [ZL+.";.K)VN ]^Z6H MT';3;#DD=\[/K*N#8G+!I(-"T3YNX80L.U5&/1.@;20/[5T1^OK-GI]I0)H. MN=[0$JNLQ$SA8P.&$V1-H["4N"49CH:/B1/X"JAI]SY1'!WW\0!ZHVQFIG5A M$. F6/B*&5Q YN1+PH9"YV?ZL\:%09[#2!(CZ)O%4R_ JJ^BM!B5Q*WWFYHB MA'.W2E9;3!N_(8>ON?'54'W@4R9E/PD]'IK[:$P\WLE6)7+#O]0>WCV ZN=K+CKH^'3IT-E$TM''OV-X3C5?93^>"2N2ZY8>A]8-9D)$T"[J#ZS]\S"E0H4851"3=U M&4"U;X,MOE ZZ^;YSKQ> ^7>]_==74Q' #F( GA?J"Z]!P NG_I%G(01KHTQ M(P21X/$)Q]8)<4\FN ABT1(4F5@\(H_(0'/;0AK@6#1UDD?\'8L%54;->61W M!)#LS)-7K8]FB:':]^2Q$P#V%5J>)'WR0G%VSWR(DC&R4$8&TUHZR%L>48\O MZLP;=^0+K]"SV\\-C;(#@V3^DL"3G$[,$04?5Z'2HSFPL=< =;Z 2@E$ZP$/ ML1_%T,=(4$Q0)9_,C:"Z(UFMQ'#K,-SF;(1>QW+]/L!30;!7HL=H+@I$3\8H M5G.XW95C MN9X\%#]E",AL^G>"*$&-22MDJNG]N"#Y%E6T40PSOG]18#%PH&[<&J*V:X6N M+$I=]/WYV1WW!=])E#E M,:H]YF<>.:ZDL80S(7U"C76^ U>3T-=H@#!RR@B M.OF]I6JR(M"&@"D2BL&BIKY('YAR2.YJ\E7KO:6-6^Q*XB<0X%-30??TR, & M$QT[5WU/"] =,2S0.)<$S&YO!+YB;2B+<4>_S-YE# ]A +F$C"I)\)G1R1@@ MB:@_"B#^@1I('\6R+HD"@3T8>(OP9=J^-3XI@^UK(I.:0;B"6H\A.CO"UC.N M6.(B(_,]'R+IGH=N6KDS?Y@4E%'R^_$^M[E5C89I7<0\/FR$32CP[:?=JD9S M&^ZK4TVEXQ2$?Z]EZ=)]=U17V:/K69/O.$7/J:=R\:HDO$S+P4^."+<+S9I9 MY24;^SSL%C6FF9RKV"P4G9DXSZOKR)*"6A'85;7"-R=W.E:LVSJ^+K%?H'BY M!R,H8COSYW9^-%6OVC.>6QR:B1/J_E@^82AMGMF;VC,=R[WS/ I"! MW^\\H_(-Y;4VW@^NB ==^9 M.OTZ?[_*LWZP+B*N&Q16D8E\ADZ0N!JV;+^9QE^XXOJI; MU_!MZ^J/D&_OOYC+#:\,HHXCE4IDR'PBZ:++XK&SQ?"KN+RQ(A_]DE*9%.0[ M.\Z.^IG%6RTCCM(755L8S5YKLIKE4O406.VP8^?ZKO'KRXU(?@)%M>-$_RV[C-@CE*K5Z'$@6(& M;N""LN%J$U6T_.O@4/G33$3_RR%AWRV\R;7P9L2K$=UD!L7^(!!XD[[@348+ M;W*5*?RI0SOAE.+F%MS46G#WQZ\*\_'<92D^$'!3OL!-10ONU>8.)K0AEB^! MVT.(,;46W->%8E]I,^WG4CX0<*=\@3L5+;@W,1.G+,64>XBGUT(\\T25;^E& MD4T'P[_3OB">CA;BJVXD \$)"/-RVFF_D4S5WL')W5Z5PRZVE5\NR-TC=P@Y2=P7:??I= M_$Y>WQ1![V"E;DC0)E>]Z^ME;G$'F;L";-"ZOYN-K]JO[?3!RMRP@+W:82<0 M8* M#FV&@8";]@5N.DIP;U(E%S0;PDFQ<3D<,M^9/]QD[U3E M>S(C(VB3<(3#(6M"#]Y]F_G>/@PRMS#<=/UC$*_E@M3]J$]*XRB2VLGD):'M MAX ;6DYN#[-U!4I0%@748:31-R%2T;KB%($ ^ISB.S&VXMCPPO/*G7D6?E'[ M++!M0&U,C+6#DFAOGMQ('78Z[!IGMST[-NG&B^XW0S3CF/.:988W,OMUG>WV M_]AY:T$EP:XL[/?,5<>LV.+]X"7W6GI4YKGU9PXJ3=:*VF6=6-*\ZOG>6=^GVHWK@M, M+IOJ!QCLM>=?KR5&C3WF$2GJ>]V0B>V1E[C.E?7%HUQ,LO3U?E>!PBW7'7;0 MEZ;(-07?:U-= X#YEE3I]6M,H:4A3M$+?:.(]:K L&+=*T-#A. "R:F@L& S M6+WT?]GKM%P7-DX;NSQ[3I:.3T:^F8(BI_? R6'-+1^*.KM'AKK;S>_"&\-4 M4[W<;]1::CBL++W0L+P/(!C87?TW-^7/Q_+M9Y:?A31WPP5O,\X0.W "<.!4 M')!#M^36R;L14\82KL2,.W/PDFM\?4Z?Z9LP!9Q[U\W/D69_;9L7X.8R@Q=K M*+KZOW]<+'/ 3%32[>\?)]A\W'1P HY043-& M'9AJ'!9GWT%?/E&F[DL)WP&7(E>^(V'9+K*$-%YM\>?!V_7K>#H?JT)W3TZE MC:SZ]#FTYZKR\/6B?;GA27JOW/CH]>S 4"D8;ARMD]^=ES_<*.;)-3TH$!* MUX:FL3#&I#:3'>-:!DY+ME90LO7YF3[@388&E:J(TDR;WZ:(MI_9GE\9!P?Z M?:UL0GMN32?J,!/B*\8.3"Q^A#MY7 ""[XQXRC$CWOO2G7E3X8?*^#D#GOL; M4^(?5V[1=B&KM[5T#R?63'I?C:-IQR3Z(3V_I=JW=X,/:GVIR8$VCBX[ILB_ M2K-6N_B2_FY8PV6"SX@GG73=13Q?(XD*1KIDRT#\!8HSW!"H-QHE'"/?3M(@5OR) ]@-[6#IFQX2FP0>!# MV&IO)DTE:&]IM(?99MKA9@_PY@)3.WOIP?,[,K%!:Y]A0J'?E/XPZYV?=X$<,@]I7=XCQ^,7G=KH1O9 M+C#6.RS#SKAQZTSV 6,??&&-;YE,4"Z O=8K[,0.[):#L[W@E$7F:$HLI):- M,U_)9W&:ORUGPE%S'+)D(1_0[ QL5 ((:@$/9-)G5_5P'?1Z7\RR(N]MA(Q; MC\_*@QM3P():\M@/YH2ZY>V2S/+@/P(9,%)OV.'J'9;KC&1+DO53=/>6>@-S M+LCBQ?5.:5LVB+$K+,.T ;/RB5N[7=ZR7JF$3;$@^,;F?2.?&.;XI#? MSCSJHL "-%^3Z_) =Q$L\(TTUQVDWY6;ZB<3M=* QXL[Z[>'R":BX@I.5Q:V M\D#E$MD?9/ZZ!G'PIF_*%: ]Z1".Z8C;#XS);X$7U(4F^&@R_6N2#$>'<(RJ MX'V$%W%R&?"/*H%PGUP$0SIL5I)/I';--MB=O7@/V[F\KJ"N/536M?Y>@^=? M^41FU^OUQ-32GA+V,/OJBJ^IF\\7YF,:C?_#:U+>$?"T_4_G.<8,NWA2SU$G MN7DWO$H[!1M0K^#Y]T>W2JD#\J.4CBJ>8.[0'GUT2HM; \B!16N"CX[O$J"W?P/Q<71)4#//N+ M:#(#\!N^\DM%?I-?1"K[FWAF>!7^21$7%\;-L]S$V*&>/*B(XU]$!K$__0.# M)6:0T+$.9/_YV@ZN2Z](6G+K@K#OUMCG;Z(]&\,M%B2FR_5^$W6(0]I9ZB+: M=2IK?^H?XS'TU06"R'__@0=R.-L8ON&B*P'F\Z(+(.+ ES+\E)G)YA:]'5L_ MRLJ2]LVA7:.-8;PPKB@LI @SHSG\G.D(1M%Q5A/]GME'&W?;7TBG-H(2YV=( M%C*R#."OT"P :&5UH:FE<' 7D#_)G*P83VO9UI"'_5I[ C(,L@\MH]LH\H5, MNH A@!)"K//[3N9..R9S>UJU,W_LYUZ!FAQE-G[&1% M9S]:TK0A%)60.I&O:CGE5;*)TXN.]&!.&$AOPD TYD/_3+?743*%- &X5+C7 MDU2H7Q>0X&.@ E85I;*H=I6^RL/O(.:A#@1& M/X#@I.=FVJ=;!1#1C47>_MP[6ZMN8FLU80*EMRC-EMF3TE3F'[=)24*,49FR08LR?#CW#)K;^N,-A'/A]2;L,AY#EY!*7?5*9<(A=*)E/1MXYR M!S5IX^-EHB_6;GIW TZNO/ 1YC@YZB%B%UH- !<"Z??T,RG>\YV&P1E25"Z1 M_SFL(1B8^V0A*9)V51OHG8=0WG@(<@;"_] A88Y3D9<9B=E MX?VJ?]T4G_K<7G4(?&70;I\P/7R*F)-XO=DPF J==%7<=K(\Q2?T?;*7=-(5 M1_=7;KRC$::1J\W7OOU[4WI_JO"Y/>J MG1C[)"1MHS$S<7VEH=@Z25=YV3^)E;@"NU]/:-95OK1W1I(*Q-II#1D)%!D9 ML/8?E$1963%Z^!NV#MY:PN,PZN3J-0RFI8B]3T(NH3[_!K?$C+,^_VK<=>:O2K?+OC%O\V%((UQ6#^30RU_+Z_B9.AB^HC#8 M3S:3=.7+/!&E:CTX[P6W MD')E2SF-\ZZ.]&!.N)?;BGM-21Q#[)HU>6B&0&E:^5*Y,]RW5WY7;JH:D\U(%B:/&7.EA)S=M MI"809= #HRZ0"%0FF\ 5:2B)M*3JE6LW8ED8>E6YG#@_,WY+Z+U*1 $^A';)H9H: 2N(R^TR MY$NB,!+A*]'VM?Z!LG9.XRQP=_!M<.OX%^;"^#]]21P1_T4E/Z9$RKNHTU_J M_+ME_@$[[O06)E7D2 J5$M7[3[/Q!TM],9 H%$Y!EU\R][=4=;];";6GC6ZJ M9,=_D52 M=4KA/SG?_]!%_$O&IBR?"65<*XDGR07AX?,[A^[<[7QD"H.]@5P M*-A(#>"!-@Z@R+4 /S]#\0^H6G(B*T/"ASQ%0$3*]"'561PD128P35T21<@; M5!D8):ZVUIT)>\4LGG4$I0T+F09<]Z+'R$-B*D']BV#%*9Z:L[:B%CTZ$* E MC8B_)P&DYBY[)X'F7$;O6<:7PLX-4GM.$UC*/7K^H3X]5S^&)J56S%[;>M=2 M3K 1ZW].H-&D1HVL*G$Z>YT!1B( ZB1%W#,S R%RE\==_?T(X"=S,!P@JRL@.?\3%\!BF[X,(0_,\#4 M"I_G.3"!.^<4!+R1*$%U@OL$_ QM4\!KX/VN@S@C ;P^-.Z8%;C@,GO(6V7( MO50%E7,O0QYRD;&(H,(9.@.TFS%C0[Y;!;(YM#B-.CI!3%P# N%\/9MG"._C76OBYO5=.F- MF?/'?EZ'&:8K7SW$*(\F*T&PS.C8(]V5,*Z.*)UM0MQFD.LK,_Q\.X1 MDB/[$27JFI-IT*]7YM=( .(1UMI7L&%1>1@RUM.0B^ Z-]N@ +@F(TDS>#E3 M1F+QNQ91>AFOMA4+:5WA2_:7+B&:<".#9*E2K@TRIA:P$)/11Q@0]IUY1TGG MO822W95=UYM>UPNAAL7ITE\2U<%PHU[NN.\*>@-FG66L=[,Z0'4%BZ(UT#Y= M/:5O\G?5VV3?!&W;A.@"0 E@OI)@[8;1AG8G>4-9HF@GB*'70!M2&;+,##$X M("RW/W%QMC_^A;A\?J8A,T4O>Q%6Z'[Y^['5 X6L=N;O+',W?_@<";7,#DU( M]MXOIL)(2-3*32#A+ ][1QC;21<2TM8^TYF/*TJIUVN,J &]OGN(9^;YW^Z_ M)'EI;V._^;_&!L_/X!81HX)(0^"M_B+^^T_WR/LL%1D97C[0SXCL09S5#X\H MHR,B':ZGCT\\/^LB)18JIH@Y& K7A.%XK#5 K*6I$=X89O.8K M!>P%@Q2[ 5A8!3)R59$5*#K0FY$>AA[1;--+HLSQ>'HC,"]B99<2Z//0+I.] M+H6$%8M>CSH>6IK?P@,)*/AZ0Z3'R/8LPB.W?YQF$J\!W/F9 ^3@;7N!LRRK M(_2'!FRD;CI/)8ZD.5YX!DFKH+ ZACLNTM6U7GDL9=5H4)#?7^*G]=/ MV3J[L4U692U/T+8=M\L*I%U6WG&>\=/!8T]09+O JG1QS0B-RSNA.FE,V+JD/^39*79@MC3Z\Q+ M]/=D7"R_#Z5=LM@]#BU>C#!G+C%"%K;QU4/L2K2Q.TXXK8D\7708G7M- TM; M$DWN2$,KB\YO#UP>:">B[;>XAUORU?'7Z8[H7"*9SH?;>VAIXHH1U-#L"&TO M!461N*Z*Q6I;M/+CF\P,_;@@X; K^E->95/E1V7>&TQZ@_M=.@P$FABCLZW2 M KM"Q3987X"K FE!A\:^V6/,F#F0Y#__Z!0),R2SD,I2)Y]T$U&68$B7'C!O M329RV4Q413?T=J5/MX56A(TV%V:)I:;JI?H[?WTGB0>40>U6)URUM6,&&[!B MN0Z9HE(M<]E$)K5]($3,4".[Y, UTUPND:?VE?:X*4A1[,PY;ESK2[-;,ID* MS"V_;H9!U]R[S=$>O OO$? HB-ED)&76AI)2UN M6PZQ=:$,^U!F#V_IS#.C MV7-]VGQK?0\B@"))71+Z]@B\/\*^P5_''\=H+P61!92CH)UWC,^KV,ZKY;X9 MR4WR:G93'D<&%M.<-E%%LC-O7%$]_O5=GI0^]D,5FR:]Y$YBTDON^":]+*)[ M>/B ,"%0(EO8:O@T?7#+11(O7$& &Y:TE2EWA#^ I5_%5#F,0=E MRW(JA/Y24(16R\#^ M4N&B?0Y%T U@:L^-=6!B/]PEU@NX'C?6XL%Z1N+B(^=G"\^@*.Y$Y%5!P4EA M*'^2YPD CXA26LUGEX?&L7992R *4.F,LCPL,.#DU^&ZE) M8V8FB3QOJQVY) I:4"GIV+]1D<((G7%];5,O]9#E9V[FU3POJS'9 $/#. MU#%<9(4#\WN66"^C25J+ Y%M6 M4CZH7HKN1PGU8.US,I%+.=GF)LS)RR2EPSQUF2;I5: O91C!_XRUNB)^EC@_ MFP*<>86Q%[[%I&CG_%F*(A,9*FM@/7[8E!V(*?=5"4W]UM[HSJ#)=>;/E2'[ MTBH-Z^_@5,Q\RQ!O].UZD&X9HQY4\HKK7%ZG:97MN<7^WMR9%Q_+TTKII4?> M]J/0K-*7ND+5T")QF'1.0YV"R$ O*E(,*XX57)!FCSY"70:I,-,A!^4B),T1 MI^TK3G<82 MP/5!6ND*M%>U['-)_ )4Q=*)5$9RWKA&*B^PI@5P;)4( M0>\]@/3Z-1(BLS''GEBCR \9B"%Z!98&),U3I:$AQ,=/,+/K=SA[58*"0Y26 M=6S\)9G*H7(48SGK]?B%CL4Y%CIINE%"*_$Q O98CMG*RGC9+M9(O?4>7.D."=@60%8(;C0#+X=(.J.\*>AD *JH3 M=&745%:1AHR6PR\Z\N3<)[,P#8H M'F.U6S&O YL!^HL,-% 7KIR80K18YB%D$#Q$O]LKM*Q<$S2%;BG^@K]$I155 MN&WLM'16_]NS[]+=]6,I,^*W5MM$O.%0%?^G5KEI!HHNJ54>@S0[S&7T&E[3 M/EN^TO*>KW3%..B3R>OY_#67I_)'<:7!6!7V"Z4N;RV+XF3/R_Z$@!:#P_$R;7&&[:. \CAH&\+NU_@ M89'#!&I#IM30N92Q(5Q_C3Y_NFS!=:""!/7M&3%#+G>BIT)QBC@CT^1;_-)R\7+=[&ZM)6BMYGW$929!E)!G',I+F MRTRYONGG4E3NZ,I(:,+^G/(ZE)V<_-^K(; KS7M?=F\<00&YM7%G1P3G?H'-38 =-6SJ67)4)W M.])TW2"- 84VU,+)#JN\.7L[ID]5BID_B.(@O9,@7Z0&K[JS#3LO9-#[!0U1 M=%F.:G0H@$&NCNQJ.*I)K5-C,I@X8 M$;Q7D*Q<65 RP=C\L^DX,56^T6.RT+I*OMW1$8T&MK%RG .[I)"T,1=7Y$+_LEA4($'<3: JZXX[DT'-FK,[ ML?F6>9OU0IUP8W(EPW6HN71CSA3$34;+EV*V%- -A<24_/.DXVV7K]4(62$P MU('*\%A;T1S=0\WH"?"_HJD#0$OK_OA'N,&JUFK0=YP@[UP+X&:USGR>H;)= M>426FBG7GGV9P-G8?1'W;#PQU_X6%'48"A:$BW_]^W;Q>VN!YB/9K!&,(HRB M]XH1P&RB/*0C.44-U18(J,LBE@:^/6SNG?WI96>_B;.V>F9(P;;\K^P:=R%] M0"Y_R]-2"C .:@.)EBYH)#9F-:_*:_%6>'EHTGDR9R8V+K(^T5XDOG1NKPB\^,([[M$Y\V'2-P++-G4)')R_SV7D.[QYD"QZ-*.'AD2ATMWVX1 M9.[+;J!:%D/[ESBZ+;$=&^OLOYUO=3/96R,,TT>LQ$?L/H MT8HO5I-5743Y=D6VX 040(U25ZZF!;I5N:?[.3QL,.-N@S::("O^^\=D.5? M)HX;V.]10.W0Q2Y J55U6SYM=\49Y,(Z\XH9S=!U-O.8;'-K[$\35"%*)\^' MB4#X4&E7PN>PVN&YDU;%(*65<2<^!-8=R+\_E9_DS%5^%X&UBJ'1BRQ/4(A( M:F4N,]DP>OUMD!2>$78/XLWQQ-')/ _&5B""#E6VAB_F0F_6:G$O.D#CS1J[ M91*N,XNB9/ZC\L3/'F9@K9S$D/XC#(A$8N,YP"(",7NJ,C90B]#A:KQ+V>J( M>GT=-BN9 KN;E%W$[WW(6$]0B,HVS%]2H?0DC\5L]*;EAAAF[D!]FQA8(&+0)^W>U\=C(R$$.W4 M3'&W\I(XNK=-(@:)U^NB>RNE=*V'^L=+5\R#''FXHM%M&"_H=J+IU)J^90INMU=?IUU__Z./HH6^"MII/'8D,%[-+S&C9;P:K4^\U@'83).V(B#5S\R>+7"*.+@56C2*[>N(W,_1O&9&6+8'>'&*^\_KLV7TL3*6 MK:!*2Z,C&7,&3I?A\2Q,>0B UH=?G\/$# 82&*"&\^;>SL^L>E>;XF7.IC%? M:A^CV.=0CQW*O;!;JJ4GTX>HK?F4E5 MEW\3[85Y#\8(2WV@(MZ@T^28W#(S=:T)'?# M02(10$DG8TR;\;1UKN(*+/3,BQMAW" 9-MW-=?V>-+!,F*1SZJ1^TI4I4M;X M=*( J7QE9"$:1PCPD(ME" 72TF-IWM>$X7C$:*NBA$.D2[@W2$DOHY?B+3?L M6TXWG:48CT8UFFQYJ^'I^.2:AAS:E9ILR-B0/D@23>+0DDKL T+0R#U"7I[P M<+ERN?9RIJ8D]@!@9>0LJ>G#BPTPX!%D-6-F7D%@G<&[83@L_]UZG"7?*F^# M@8V?:"M:7-AR.6TEM*"V&["G:#6)B4KD'%M/KF=*Y;!N926QO3F[;PCW]?Y# MM;=?@.^:7+X";C*33D!]?2V\H4 \/Y- #UBCA!;T -1W3A-N.L&QUK1EFY)A M&[KLP&,C''8'CPF^>[S*0JWU?RXNB"KJU/F+:$+#[S=\Y9>*5)Y?1"K_6^MV M]8N@B(L+PTYBN8FQ0[U+FR*.?Q$9I##K'QA*= 996M:![#]/+NO71B>NI5ZX)S>&OX(VX3;WLR?8( M9DPJMIPVK+,59PM>Y$=D1+7!SGUP\T7G/K@A;; S_Z)I)?]93#T]?'H=BK?< M3WCF'37:;5.3IDK9ZHBQ%6!-2*!517SEV7O0"]!@/,%Y-_ MK@M(>/;(6^]<_U)7#FP7FXMA%<,J.%B%D/QH2PC).QN1?_R+>3G2@A:;33OW MS#;?Y3HA9F5=E_DP*\\9\3;LS%FS)\VYB ZCJX2Z6\++.N[W=Y@P6&DB_@A& M#"<@UO^&U5\(G9)H#:"^X_H@!M-JK_4 (!)R.K-!P?]9=G!F.J '%6!QM"ZD MX$KG6]7X[E"$4ON+@[9U>RHN1A8Z6R(9.ZN:A6].[G0".).C'CL5[P%.HIH_ M<;==Y>9J,'^TVGV9_'$QE@DURWM(52-UM"Y4HC S=DV<)##X;PJ7Z/#JA 4N MWT$V^C+IE,Z"">]B!:FK(2'UTWA\VDB=O:9*U5GYF:P.W" U\QTM4J_"_ZB1 M.G.Y/LJX8\77VI32S-;8\8YW8@1I;7:BKE"=&&U,1U.^GIY^SX-/O@\<]$=' M%K8Z2C?9M0'72:ZEFM*2(%F9V[KCS:W>V%*FJ*F(V]1O-.15%SG&?-L3(2UE ME,NTZ.*T7OCP3EJ6F#F$VSDZRM.&WY&7VX.7N*(KOUKK*%@6A;&C8"/V#"4 #/+[5F]3 M))GI*8^]V%6P'6!!V%4>G 5A>.@V!HC'INB/+-J/ YHV/7P5YLF93?%G#[2BU8EH.QQV#3 MRZNB*AE$]_)>YVOYRN-5>1@[#+;"*PBSRH._(!O["W9$Z_9=):^\?74_KM*Q MNR!\M,Y%Z"W8/JD]]A9LH8[BBW+?O:>KZC3PH1*GX"SP21BFKX".?04_Q%=@ M)R[AH=T:M^>/K3R(7051TY[F*4@=AJ=@I3$7.PKV M8<-DT\>?9)".709>T(>;F'ZZ[NAU7A[GI=<>B%T&6^$5A&T5UR-$@-9#;IH?LK'8)->C(N QMQU?@GMEIH756D'0R:V&7@C_8TET'Z7M[AO,\AT59;'E>9# MAJ5C-\$V< 71&CQV$T2 U=W>4+D>"=S,72^.'^DE"!"KR;AOP1$11T$:4:F6 M=%,2 Y^_?@I. G]T<:!I!73L(XB"M$I/W)4T2K;;SZG811 QY6D>@MQA)!50 ML8<@#/I2WX7QPV=I]CG+Q@Z"?5@OCM-2CBRGH!S["KR@#QHN8'H+/@?#Y*R: MK0MQ4H$+@ 5B67GP%R1C?\&NF%U.SHHO]]GT2XV*/0918#85^PR.BD!N7F6U MWVQ\TD4J]AH$3QL&7="I@_(;5&*_033DU>P]S"JEERI9W<$I%WL.?%*?X3OP MFS$=B.^ C'T'X= 8^'XO/76I=R'IMZ#N!WD/@K5FLL>:8!!6D?=I.@TJ"(D- MLFLPW\\/=[EO^CD;.PVV RP0T\J#TZ 8.PUVQ>R[IWFV?,=F6I5,[#2( K-3 M$3H-LK'3P#>!/!1*Z70^QWT]#F.G0?"T8=!%^K"2#0JQTR :\IHHI>_/<>^F M_[R#0?/CG09^J4]S&F0.(^%@I=].[#0(AL8^GREN#EY75.,(N"YG/A:UR4NO*KJY[R/])]8,$K$!O+@_<@%WL/=L1KM3^] M$V[[W$TA;GX8!5ZGX^Z'QT0>TU%2JPJV@..AWZ)X[/&]JG)_91M^2T(/4DO@3^Z.% G03YV M$D1!6M_7[1LF_=Q/W^X0^/SQ/@)_E'=0J07%V$40!GT],P_L]0'N)4#N3'XJW#-<8NRH#_Y$N M!#O$_!-BWI,785GWB[T([G'[KE6MENL/M=L\%SL2HL!M*NG"EV#P>T?>ODEY MZXH2/)3Y^R(/I0QZBI!%GF-_$]Z&SL5^"+_DE7^]J3YGP>WUAS5[PRYXBO[Q'A+?!&_D M45!'3^M.7I>5\L/8ZQ(068]*=]W!#7A+/7V&+*A_CFBCB2C MPZV;AMJ3FV9.OD$M5;F_'O2ZGGP<>/_'[A/QC9ST1IMNC=LBK.J?;6Z+^>UC M\H87N<'#AZOBF<.V^7^.0;Z]86%!DA#81I#E%&?63YK,#'U4F#(2JXN*AJK( M"B.@LV@&WQ**]/B7FYLGM?Q8H**V6WT<(G \,7&$2KN*=A^Z3KD6MY9')1V" M^;%J/\YGS?H@>\4P*8G]R<:7K_ Q??18[&09%<)ACIM4ZB66*7Q5BGSNO? B M'@7'W'2R4.4M:OCF%-S9IR+O(O3:AQ"YD"'QP[U0X[7HO^EGV][IGL@V/JAC MT@Y/>E@R/MB!'DRG@G\4)'7@7_#OL?U5\"U)R(':W C(1!U,B4=QQ @)[8,$ MT0(2U_]-C!AIP,'W)Q>7^X Z M>?62N.0UNA/020T_"\.(5L@,"G(61U!!^# MH) )3M#8$.0=YV=,5U0A4T7RF! U3D>(%JLC& 5:,3,B128(R,ARO];NFPH< M,MK&>X#G=8[VOW\D_\#_AO9%S_BW9^CID@6R+YX9RQ UC+]^$U..58:_B'SR M3V.S%PA+?A&,JHCF1QCEM,_^")%KZK\4F,GL-X$Q>0JTE;LBOR0!-WI*&O;K M%%C"IEKM7X_>7=R[UJ$.2@&+CW]@QP_!AVD3._GE#1A5:J;3R- >":P^RAM$ M6-Z#A%U9UZ6 77G.T*VQ V[-GC0/ CJ,KBNO\0 %L[_#A(%A$Q"Z44"8]BDQ M XPD(^C8+%7BCNN#&$Q@"?T#@4BXQHRN(Z0S?SH3=F2%>NOC$KDC#BTVK)+O MIT%KDBQEAC)]S*.THFQTW]NEISZS\@_70C-@VA^?2*$\_5!MY[G5],D^# )QU(\ M12//%IFN*, M;HHO:I\!BM)#2ML\9(I=-,=RJ> (=U^MMY;[3\:^CTTOA\\C=*3._(S&6R="&^5\?7)U M_=!N-@8NW!NQ2R,@@C%=&H?5DHN.7151$%W[-EMFWT?M5NLTVW8?,N5I[@GJ M,%IRY6*W0QCT-552S!553#&9KF>W0^QJB,[ZR>QQBGA0 \&B[_)]U$0ZE(#I M'4P5KAYZ/676J+AJ9/0SG0T6P(*PS#RX&Y;#5K&[P35BYZ^>VFHM\S!ZB!T. M42!VE+V^XXP*__31OQ=?JJ_3Z^1C+G8Z1$DT-K>#F]Y:4;D=EEMH'()A>S)N M!SOA-:6'["=S?P_Z5.QXB)SZ--<#>>EW#'(@KH>5ZNO8]1 ,C=VGTM]R7U$? M^_G8^7!@%+AH#:721SI9;+GU1^QSV/3RJJA*!G&R_5&[_UH%PE?L<=@*KB#L M,@\.A[ :J9VFP\&.U5?I>OE:++!4T57%TH_T-P2(UKD(W0WEV-W@ESIN2VKW MZP[D^M54[&V(D&0,.W]E@)SNE./Z^>BP7IT]D[&N(FO8T5T/Z M,+(D0K-J3<3K8 MR*X^:]0GR?+CO)N)G0Y1TY[F=* OLX?@=*!CIT,H%):>/Q8;K[UZ]XN.G0Z' M17^+5M ^G0X[9#=X'6!EF7!DI)Z)4Y"8+>[;'";=;6>FE>^OR6O<['(KN/P/ MTDAN<$XL^2@\F-1+!)&-?1J[$<,+W?HLMV[XQ6R-BRM.\&OE]IE*X-;,/=^KXB=#AP]T8S#YN!>I^AYRF'^K4 M"-1Z2OD5?0>021%68?UI9E*TK('TG7G^_;G_\)BIJN0@]E9L!U@@)IJ'9(JP MZI).U/%@Q^S)H#U\REPW4KET['J( K,WS9V)BS@.CT"NGY49:']_OI-DG% 1 M)=68GH?#*N-83MP[!-OV9#P/=L*['3V\R-_4,"?%KH?(B4]S/J0.HXZC$CL5 MPB&QOOPXXGI?_&B8B7,J#HP"E\PA:H\M*WWUC%@N>XR]#IM>7D%(;)!GK7[+ M5&Z&D\RUJ]F)/]+K8 -8(+:9!Z]#6)5)I^EU6,!L-?VIY$'N@7MB8Z]#%)CM M9C!H@!92['7P22 %7KT1'FZRS\UN['6(DFH,BJ$/*]^A%'L=HB&\W.TS+795 M):_$W2.BIS[-[9 ]C$J.%>]Y['8(AL9XJEH9R*T^D_^(W0X'1H%+]E"*/OZ\ MA[#F%YZF!Z+.66-T!\T666N]TZ4J$SL@ML(K$"LM[EL9 5[WTR7Q*3]1&\UL M['Z( *_3<<[#,9''Q[/8%;+\M%2*?0\1DHQ!+JG#2GA8GFE^"*;MJ;@>[%37 M8&9/@]OD5S\]C#T/4=.>YGC(Q?D.I^9XL%/8]>2N*6>?J/)U/"'CP.AOR0S* M[;'V0UQCX>7E;2L5*5WZYAOME^GWQ%4>^H]T-;2#2RB*1W)&@M4,_.:Y M7'QOU.)>E1%@=93S..,L![_$4;NCVN72[*E\/8C]#-%1S(&Z&9;GF1^"'7LJ M;@8;T='/I6&?GI2J?-RH,FK*,[(;#L+)D(Z=#&'0U\>TW$C/OZ94EHU]# =% M?4OV3_K8.CK\)L8,RT).>*&]^!=!CI6XX,)OO@QO+XBJ7]7$5/E[TBZZ:L3W M([T0=HCY)\1\[(B("+??I?Z8;37OAQE7U40_TA<1*&Y321?N"(/?._+V35I> M5Y3@H?;=A"/0?XYO)VBKDLJ$ M0?R1I)6X=?2D]N3HF0\F2E5]NF&EZ@ETP_1OYFVP\@ZG:<2<:DM@VA5K]6+J M^,W_GV.;Y[;:Y@5)0F ;0=Y1G%D_:3(S]%%ARDBLSO,;JB(KC(#.HEEX2RA2 M "]/WU_5U_=&.FI#U<RY&D;C,>1V3\?W3#ON>]N:=X:_&1KRXV#!-&";^[_)D:,-.#@-I.0L77-;7;A%L;: MUA9VLL!UJI(XTKA.YB))*B+\.V]P("#WF#$2V9(*>=4BBVQ*H \D";!8/K?A MZXH\_../A6,F[=-IUCS1F3P@"#I2\) @*))4:8$4-&)AR\%&M@OJQ?&:(UKXG6>KTOMEZ9 MJ]G$BE=;X)/QPP1C/KU-B&Y>VU'VY8,P(E"2[9I$6VQLVHY =%4%O4&65<"> MG^E'A.;YV#HVVCPQ'7*](;R9&=$%A/9S@A,(&=X8D"\)="76PX"!O]6^0I_R M/+RF"?R!"C_&+ C>M;8 $+#M#S4%@D=&.%8SY/,SQG@0KM;GOM%&9X0"%RF* M4,E :Y0Y"?0449(O353;Q&ZRG7FZ5\C?W^=D9IPZ0G;3E@ CJ])L([>Q8[[S M YTY(W\SK6FK1'T'QVS6$"KB0!F('/I.3H!U5TL51A:): M]/H5-C),AS5"XY+!["0(I\_AP(2FDXE%5^"=%7%P8E@/+38R=:NM?*.+X%Y%!>KS^@6'A M9I#M81W,_O/DLMIOA(>67I&TS)<+PKY;8Y^_B?9L#+=8D)@NU_M-U"%.:V>I MBVC7Z:3]J7^,Q]!7%P@*__T''LCA;&/XAHLN)(G/BRZ F Y?RO!39B:;6_1V M;/TH*TO:-X=VK4':C@_A8:$=$_:(@\&K,*W>$+ J#QK]DB@KD&T] @5J<PE86V(0#LZ!9W'9G0A M9[("_P:*_L+_)SL9+GA)9B3" MG1+@&WE9X2M4Y/+'SV)P3AWL6WL=51,^!3=2T1[7%;X,I):.I9AEE)O721K, MGS)6$Y+'I6O3UT=.[\TV[<)Z?[CF"ZZTDN2B)_>/?[-D@J*<]!%=OX#JQ":= MU0$X61,XNEZ<'\CM5C+_;>\W&1YLLAIL/&N.JY!))ZBL4U6?!AGX4HQ#,\!( M,@$@3K&^5#%H/@_OO]OY\L.D15'^F*@;!A:\\*DRG(3UID:_R@F,T(/SL_ ML^TN=/D3AO*\5@SU&$F:<<) YYW8Y=1CY"'F!_@/J$YR$X9'1T] 5._UM-]! MQ@O@YU Y2!#FAV-FIG\"GX:?2LBUQ7-0;^4Y!7FPF/%8$K\A(2J Z"-@3S"P MNZ#'J#(PQ)8\%"4%2295XI29_BG\FK-NX?+X-0#K_!CJ^- 72/S!%"2JK])79=*^_;CRJ;_MA_64($I6 M>7':4L=C'LL5AB]#G8(7H6$/Y'4:K[U&QNTKH#P;Y;)WH#9_NAY&P8#REP3: M&X$V)T/=39-F4!1%K?*&:JYL@?ZRW8)#8M!VYGD]NHP%./HWE,X]X]_F3>=2 MSK:-EU4[<_[IX?;NJW\[K['PXM41A-\,+_"+L)XB+@C[ZS1NV8>+0*HTKX[X MJPR@>L_+?R]3&[7]VO14!(AR/#.6H7UN_/6;F'*L,OQ%Y)-_FL8Y"BO^0O$( MT?P(!PBTS_YP$V;?DN"Z@B_K@Y[8^[%"*Q=3H.VH*_+LFD19QT@N?!-2QO[W MCY1UU^E\MN.DHHL?=YF:**3YA^$?.V_-R7&S.3,$9262^:TP\7OF5,=)\W[/ M5RN3WBQ3N>?7GWG',^4\96KLAD+;(;"^R4(X;[*.:\(^6;#Q%FQ:0RG=9#BV MPPK0,NR^2LDW;BH\6CI]H,DL.LG3F3]UC%UWMSJ,-^*:]E_C$/"7'+N,NOIZ M.:?E@J/LQ<7(/[>AY Z;<9ON8>R!"GL31MH8-K==<"C-E;G17K:CXTZ>A L9 M])#-/(4'EX&PT6"&VP .YG)W70:V[7(=4\3"OE%'%(X412-!08\HMBU:MA6E M-CM@ D"H8)!IKS5!GN2=V[9K;F5A-$W@@MV-D]PM+LC=GC@";>8;R%CTSN^Z MX@O3;.:+3UPXL;PLM-OJR.PV)F# M43KUG6T ,I4^QG003X[;*,^UN+(]N]'TT'9%=H9O;ZB,^'__/U!+ 0(4 Q0 M ( .Y] D\Q[]@A6#4 )<& 0 4 " 0 !A;FYU86QR M97!O,0$ %0 M @ &590 =&%Y9"TR,#$Y,#4S,5]C86PN>&UL4$L! A0#% @ [GT" M3^M*+G2!$P HQL! !4 ( !F7P '1A>60M,C Q.3 U,S%? M9&5F+GAM;%!+ 0(4 Q0 ( .Y] D_-Q$*+>5 !:*! 5 M " 4V0 !T87ED+3(P,3DP-3,Q7VQA8BYX;6Q02P$"% ,4 " #N?0)/ MGAPL/MTU "RA , %0 @ 'YX =&%Y9"TR,#$Y,#4S,5]P M&UL4$L! A0#% @ [GT"3V#*?(U,+P$ 0N\, \ L ( !"160R,#$Y,3!K+FAT;5!+!08 "P + .X" ""1@( ! end