Date | 12/31/2023 | 9/30/2023 | 6/30/2023 | 3/31/2023 | 12/31/2022 | 9/30/2022 | 6/30/2022 | 3/31/2022 | 12/31/2021 | 9/30/2021 | 6/30/2021 | 3/31/2021 | 12/31/2020 | 9/30/2020 | 6/30/2020 | 3/31/2020 | 12/31/2019 | 9/30/2019 | 6/30/2019 | 3/31/2019 | 12/31/2018 | 9/30/2018 | 6/30/2018 | 3/31/2018 | 12/31/2017 | 9/30/2017 | 6/30/2017 | 3/31/2017 | 12/31/2016 | 9/30/2016 | 6/30/2016 | 3/31/2016 | 12/31/2015 | 9/30/2015 | 6/30/2015 | 3/31/2015 | 12/31/2014 | 9/30/2014 | 6/30/2014 | 3/31/2014 | 12/31/2013 | 9/30/2013 | 6/30/2013 | 3/31/2013 | 12/31/2012 | 9/30/2012 | 6/30/2012 | 3/31/2012 | 12/31/2011 | 9/30/2011 | 6/30/2011 | 3/31/2011 | 12/31/2010 | 3/31/2010 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Cash and Cash Equivalents | $2,039,077.00 | $2,042,882.00 | $2,086,447.00 | $2,091,961.00 | $2,097,677.00 | $1,009,146.00 | $1,111,399.00 | $1,387,978.00 | $1,366,951.00 | $923,699.00 | $946,120.00 | $1,940,668.00 | $887,605.00 | $1,407,024.00 | $1,022,170.00 | $1,220,750.00 | $884,394.00 | $661,073.00 | $729,712.00 | $707,501.00 | $838,733.00 | $830,060.00 | $1,119,094.00 | $1,914,566.00 | $1,497,302.00 | $1,275,782.00 | $1,282,596.00 | $1,241,219.00 | $1,157,917.00 | $1,137,349.00 | $1,119,368.00 | $969,029.00 | $922,567.00 | $879,091.00 | $895,220.00 | $854,750.00 | $739,473.00 | $721,502.00 | $894,302.00 | $863,291.00 | $767,104.00 | $783,571.00 | $839,389.00 | $1,060,658.00 | $1,061,590.00 | $1,141,132.00 | $1,970,038.00 | $2,051,958.00 | $1,994,410.00 | $1,999,997.00 | $2,265,084.00 | $2,236,091.00 | $1,777,229.00 | $2,660,085.00 |
Accounts Receivable Net Current | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Inventory | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Prepaid Expenses and Other Current Assets | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Total Current Assets | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Property Plant and Equipement | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Intangible Assets Net | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Goodwill | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Other Assets | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Total Assets | $2,039,077.00 | $2,042,937.00 | $2,086,612.00 | $2,092,208.00 | $2,097,677.00 | $1,014,237.00 | $1,116,968.00 | $1,392,928.00 | $1,371,901.00 | $931,768.00 | $954,745.00 | $1,945,161.00 | $894,016.00 | $1,513,435.00 | $1,128,581.00 | $1,327,161.00 | $990,805.00 | $767,484.00 | $836,123.00 | $813,912.00 | $945,144.00 | $936,471.00 | $1,225,505.00 | $2,020,977.00 | $1,891,316.00 | $1,746,418.00 | $1,829,854.00 | $1,865,099.00 | $3,266,422.00 | $3,437,114.00 | $3,622,896.00 | $3,656,528.00 | $9,728,937.00 | $9,975,405.00 | $10,291,230.00 | $10,651,845.00 | $19,514,706.00 | $19,930,371.00 | $20,678,153.00 | $21,113,470.00 | $29,650,005.00 | $30,189,449.00 | $30,767,639.00 | $31,521,187.00 | $39,642,940.00 | $40,431,935.00 | $41,839,280.00 | $42,512,175.00 | $50,487,655.00 | -- | -- | $52,590,209.00 | -- | -- |
Accounts Payable | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Accrued Liabilities | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Total Current Liabilities | -- | -- | -- | $13,635.00 | -- | $9,832.00 | $1,062,710.00 | $1,497,102.00 | $2,652,993.00 | $7,882,659.00 | $7,755,810.00 | $8,875,948.00 | $8,719,254.00 | $9,220,351.00 | $9,054,331.00 | $9,063,038.00 | $9,055,194.00 | $8,821,047.00 | $8,591,784.00 | $8,362,521.00 | $8,333,258.00 | $8,103,995.00 | $8,140,985.00 | $8,650,237.00 | $8,792,931.00 | $8,522,272.00 | $8,256,613.00 | $7,990,955.00 | $7,725,296.00 | $7,459,637.00 | $7,193,978.00 | $6,922,553.00 | $6,638,096.00 | $6,353,639.00 | $6,069,182.00 | $5,784,725.00 | $5,500,268.00 | $5,215,811.00 | $5,056,354.00 | $4,771,897.00 | $4,487,440.00 | $4,202,983.00 | $3,918,526.00 | $3,834,069.00 | $3,549,612.00 | $3,505,819.00 | $3,996,362.00 | $3,803,559.00 | $3,687,730.00 | -- | -- | $3,095,125.00 | -- | -- |
Long Term Debt | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Additional Paid-in Capital | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Accumulated Other Comprehensive Loss | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Accumulated Deficit | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Total Stockholders' Equity | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Controlling Interest in Subsidiaries | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Total Liabilities and Equity | $2,039,077.00 | $2,042,937.00 | $2,086,612.00 | $2,092,208.00 | $2,097,677.00 | $1,014,237.00 | $1,116,968.00 | $1,392,928.00 | $1,371,901.00 | $931,768.00 | $954,745.00 | $1,945,161.00 | $894,016.00 | $1,513,435.00 | $1,128,581.00 | $1,327,161.00 | $990,805.00 | $767,484.00 | $836,123.00 | $813,912.00 | $945,144.00 | $936,471.00 | $1,225,505.00 | $2,020,977.00 | $1,891,316.00 | $1,746,418.00 | $1,829,854.00 | $1,865,099.00 | $3,266,422.00 | $3,437,114.00 | $3,622,896.00 | $3,656,528.00 | $9,728,937.00 | $9,975,405.00 | $10,291,230.00 | $10,651,845.00 | $19,514,706.00 | $19,930,371.00 | $20,678,153.00 | $21,113,470.00 | $29,650,005.00 | $30,189,449.00 | $30,767,639.00 | $31,521,187.00 | $39,642,940.00 | $40,431,935.00 | $41,839,280.00 | $42,512,175.00 | $50,487,655.00 | -- | -- | $52,590,209.00 | -- | -- |
Date | 12/31/2023 | 9/30/2023 | 6/30/2023 | 3/31/2023 | 12/31/2022 | 9/30/2022 | 6/30/2022 | 3/31/2022 | 12/31/2021 | 9/30/2021 | 6/30/2021 | 3/31/2021 | 12/31/2020 | 9/30/2020 | 6/30/2020 | 3/31/2020 | 12/31/2019 | 9/30/2019 | 6/30/2019 | 3/31/2019 | 12/31/2018 | 9/30/2018 | 6/30/2018 | 3/31/2018 | 12/31/2017 | 9/30/2017 | 6/30/2017 | 3/31/2017 | 12/31/2016 | 9/30/2016 | 6/30/2016 | 3/31/2016 | 12/31/2015 | 9/30/2015 | 6/30/2015 | 3/31/2015 | 12/31/2014 | 9/30/2014 | 6/30/2014 | 3/31/2014 | 12/31/2013 | 9/30/2013 | 6/30/2013 | 3/31/2013 | 12/31/2012 | 9/30/2012 | 6/30/2012 | 3/31/2012 | 12/31/2011 | 9/30/2011 | 6/30/2011 | 3/31/2011 | 12/31/2010 | 3/31/2010 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Total Revenues | $48,632.00 | $23,383.00 | $11,678.00 | $50,430.00 | $29,176.00 | $1,467.00 | $8,185.00 | $110,770.00 | $96,750.00 | $86,242.00 | $40,240.00 | $127,568.00 | $37,446.00 | $22,551.00 | $1,987.00 | $136,423.00 | $70,115.00 | $21,329.00 | $2,690.00 | $125,269.00 | $53,845.00 | $34,405.00 | $8,538.00 | $212,694.00 | $38,653.00 | $56,734.00 | $48,137.00 | $218,488.00 | $140,057.00 | $69,163.00 | $51,027.00 | $45,334.00 | $44,789.00 | $10,569.00 | $27,529.00 | $5,492.00 | $4,854.00 | $4,354.00 | $3,830.00 | $2,084.00 | $1,580.00 | $1,075.00 | $564.00 | $3,754.00 | $3,190.00 | $2,588.00 | $1,447.00 | $20,181.00 | $2,666.00 | $3,517.00 | $9,140.00 | $54,209.00 | $26,993.00 | -- |
Cost of Revenues | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Gross Profit | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Research and Development | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Selling, General, and Administrative | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Total Operating Expenses | $38,062.00 | $84,297.00 | $30,909.00 | $268,215.00 | $237,509.00 | $127,751.00 | $157,629.00 | $613,445.00 | $520,844.00 | $195,828.00 | $172,455.00 | $820,424.00 | $656,834.00 | $464,977.00 | $225,360.00 | $974,030.00 | $757,527.00 | $319,231.00 | $209,742.00 | $1,052,879.00 | $812,699.00 | $572,669.00 | $294,758.00 | $1,365,473.00 | $879,088.00 | $601,625.00 | $272,418.00 | $2,144,309.00 | $882,680.00 | $368,536.00 | $209,994.00 | $7,830,322.00 | $343,618.00 | $773,368.00 | $366,555.00 | $9,920,512.00 | $447,849.00 | $905,207.00 | $413,898.00 | $10,230,889.00 | $473,522.00 | $520,879.00 | $481,960.00 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Loss from Operations | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Loss Before Income Taxes | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Earnings Per Share Basic | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Weighted Average Shares Basic | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Earnings Per Share Diluted | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Weighted Average Shares Diluted | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Common Stock Shares Authorized | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Common Stock Shares Outstanding | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Common Stock Value | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Common Stock Par Or Stated Value Per Share | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Payments Of Dividends Common Stock | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Preferred Stock Shares Authorized | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Preferred Stock Shares Outstanding | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Preferred Stock Value | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Preferred Stock Par Or Stated Value Per Share | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Share Price | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |