<SEC-DOCUMENT>0001193125-24-080560.txt : 20240328
<SEC-HEADER>0001193125-24-080560.hdr.sgml : 20240328
<ACCEPTANCE-DATETIME>20240328160224
ACCESSION NUMBER:		0001193125-24-080560
CONFORMED SUBMISSION TYPE:	10-K
PUBLIC DOCUMENT COUNT:		69
CONFORMED PERIOD OF REPORT:	20231231
FILED AS OF DATE:		20240328
DATE AS OF CHANGE:		20240328

FILER:

	COMPANY DATA:	
		COMPANY CONFORMED NAME:			CHICAGO RIVET & MACHINE CO
		CENTRAL INDEX KEY:			0000019871
		STANDARD INDUSTRIAL CLASSIFICATION:	METALWORKING MACHINERY & EQUIPMENT [3540]
		ORGANIZATION NAME:           	06 Technology
		IRS NUMBER:				360904920
		STATE OF INCORPORATION:			IL
		FISCAL YEAR END:			1231

	FILING VALUES:
		FORM TYPE:		10-K
		SEC ACT:		1934 Act
		SEC FILE NUMBER:	000-01227
		FILM NUMBER:		24798716

	BUSINESS ADDRESS:	
		STREET 1:		901 FRONTENAC RD
		STREET 2:		P O BOX 3061
		CITY:			NAPERVILLE
		STATE:			IL
		ZIP:			60566
		BUSINESS PHONE:		6303578500

	MAIL ADDRESS:	
		STREET 1:		901 FRONTENAC RD
		STREET 2:		P O BOX 3061
		CITY:			NAPERVILLE
		STATE:			IL
		ZIP:			60566
</SEC-HEADER>
<DOCUMENT>
<TYPE>10-K
<SEQUENCE>1
<FILENAME>d45311d10k.htm
<DESCRIPTION>10-K
<TEXT>
<XBRL>
<?xml version='1.0' encoding='ASCII'?>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:dei="http://xbrl.sec.gov/dei/2023" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2022-03-31" xmlns:us-gaap="http://fasb.org/us-gaap/2023" xmlns:srt="http://fasb.org/srt/2023" xmlns:country="http://xbrl.sec.gov/country/2023" xmlns:fil="http://www.chicagorivet.com/20231231" xmlns:i="http://www.xbrl.org/2003/instance" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns:ix="http://www.xbrl.org/2013/inlineXBRL" xmlns:ixt="http://www.xbrl.org/inlineXBRL/transformation/2020-02-12" xmlns:ixt-sec="http://www.sec.gov/inlineXBRL/transformation/2015-08-31" xmlns:utr="http://www.xbrl.org/2009/utr" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<head>
<title>10-K</title>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type"/>
</head>

   <body> <div style="display:none"> <ix:header> <ix:hidden> <ix:nonNumeric name="dei:EntityCentralIndexKey" contextRef="Y23" id="fact1">0000019871</ix:nonNumeric> <ix:nonNumeric name="dei:CurrentFiscalYearEndDate" contextRef="Y23" id="fact2">--12-31</ix:nonNumeric> <ix:nonNumeric name="dei:EntityRegistrantName" contextRef="Y23" id="fact3">CHICAGO RIVET &amp; MACHINE CO</ix:nonNumeric> <ix:nonNumeric name="dei:SecurityExchangeName" contextRef="Y23" id="fact4">NYSEAMER</ix:nonNumeric> <ix:nonNumeric name="dei:AmendmentFlag" contextRef="Y23" id="fact5">false</ix:nonNumeric> <ix:nonNumeric name="dei:DocumentFiscalYearFocus" contextRef="Y23" id="fact6">2023</ix:nonNumeric> <ix:nonNumeric name="dei:DocumentFiscalPeriodFocus" contextRef="Y23" id="fact7">FY</ix:nonNumeric> </ix:hidden> <ix:references> <link:schemaRef xlink:arcrole="http://www.xbrl.org/2003/linkbase" xlink:href="cvr-20231231.xsd" xlink:type="simple"/> </ix:references> <ix:resources> <i:context id="Y23"> <i:entity> <i:identifier scheme="http://www.sec.gov/CIK">0000019871</i:identifier> </i:entity> <i:period> <i:startDate>2023-01-01</i:startDate> <i:endDate>2023-12-31</i:endDate> </i:period> </i:context> <i:context id="E23"> <i:entity> <i:identifier scheme="http://www.sec.gov/CIK">0000019871</i:identifier> </i:entity> <i:period> <i:instant>2023-12-31</i:instant> </i:period> </i:context> <i:context id="E23Q2"> <i:entity> <i:identifier scheme="http://www.sec.gov/CIK">0000019871</i:identifier> </i:entity> <i:period> <i:instant>2023-06-30</i:instant> </i:period> </i:context> <i:context id="I240318"> <i:entity> <i:identifier scheme="http://www.sec.gov/CIK">0000019871</i:identifier> </i:entity> <i:period> <i:instant>2024-03-18</i:instant> </i:period> </i:context> <i:context id="E22"> <i:entity> <i:identifier scheme="http://www.sec.gov/CIK">0000019871</i:identifier> </i:entity> <i:period> <i:instant>2022-12-31</i:instant> </i:period> </i:context> <i:context id="Y22"> <i:entity> <i:identifier scheme="http://www.sec.gov/CIK">0000019871</i:identifier> </i:entity> <i:period> <i:startDate>2022-01-01</i:startDate> <i:endDate>2022-12-31</i:endDate> </i:period> </i:context> <i:context id="Y23_StEqComps-RetainedEarnings"> <i:entity> <i:identifier scheme="http://www.sec.gov/CIK">0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2023-01-01</i:startDate> <i:endDate>2023-12-31</i:endDate> </i:period> </i:context> <i:context id="E21"> <i:entity> <i:identifier scheme="http://www.sec.gov/CIK">0000019871</i:identifier> </i:entity> <i:period> <i:instant>2021-12-31</i:instant> </i:period> </i:context> <i:context id="E21_StEqComps-PrefStock"> <i:entity> <i:identifier scheme="http://www.sec.gov/CIK">0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:instant>2021-12-31</i:instant> </i:period> </i:context> <i:context id="E21_StEqComps-CommonStock"> <i:entity> <i:identifier scheme="http://www.sec.gov/CIK">0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:instant>2021-12-31</i:instant> </i:period> </i:context> <i:context id="E21_StEqComps-AddPaidInCap"> <i:entity> <i:identifier scheme="http://www.sec.gov/CIK">0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:instant>2021-12-31</i:instant> </i:period> </i:context> <i:context id="E21_StEqComps-RetainedEarnings"> <i:entity> <i:identifier scheme="http://www.sec.gov/CIK">0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:instant>2021-12-31</i:instant> </i:period> </i:context> <i:context id="E21_StEqComps-TreasuryStockCommon"> <i:entity> <i:identifier scheme="http://www.sec.gov/CIK">0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:instant>2021-12-31</i:instant> </i:period> </i:context> <i:context id="Y22_StEqComps-RetainedEarnings"> <i:entity> <i:identifier scheme="http://www.sec.gov/CIK">0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2022-01-01</i:startDate> <i:endDate>2022-12-31</i:endDate> </i:period> </i:context> <i:context id="E22_StEqComps-PrefStock"> <i:entity> <i:identifier scheme="http://www.sec.gov/CIK">0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:instant>2022-12-31</i:instant> </i:period> </i:context> <i:context id="E22_StEqComps-CommonStock"> <i:entity> <i:identifier scheme="http://www.sec.gov/CIK">0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:instant>2022-12-31</i:instant> </i:period> </i:context> <i:context id="E22_StEqComps-AddPaidInCap"> <i:entity> <i:identifier scheme="http://www.sec.gov/CIK">0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:instant>2022-12-31</i:instant> </i:period> </i:context> <i:context id="E22_StEqComps-RetainedEarnings"> <i:entity> <i:identifier scheme="http://www.sec.gov/CIK">0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:instant>2022-12-31</i:instant> </i:period> </i:context> <i:context id="E22_StEqComps-TreasuryStockCommon"> <i:entity> <i:identifier scheme="http://www.sec.gov/CIK">0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:instant>2022-12-31</i:instant> </i:period> </i:context> <i:context id="E23_StEqComps-PrefStock"> <i:entity> <i:identifier scheme="http://www.sec.gov/CIK">0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:instant>2023-12-31</i:instant> </i:period> </i:context> <i:context id="E23_StEqComps-CommonStock"> <i:entity> <i:identifier scheme="http://www.sec.gov/CIK">0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:instant>2023-12-31</i:instant> </i:period> </i:context> <i:context id="E23_StEqComps-AddPaidInCap"> <i:entity> <i:identifier scheme="http://www.sec.gov/CIK">0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:instant>2023-12-31</i:instant> </i:period> </i:context> <i:context id="E23_StEqComps-RetainedEarnings"> <i:entity> <i:identifier scheme="http://www.sec.gov/CIK">0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:instant>2023-12-31</i:instant> </i:period> </i:context> <i:context id="E23_StEqComps-TreasuryStockCommon"> <i:entity> <i:identifier scheme="http://www.sec.gov/CIK">0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:instant>2023-12-31</i:instant> </i:period> </i:context> <i:context id="E23_Range-Minimum_PpeByType-LandImprovements"> <i:entity> <i:identifier scheme="http://www.sec.gov/CIK">0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandImprovementsMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:instant>2023-12-31</i:instant> </i:period> </i:context> <i:context id="E23_Range-Maximum_PpeByType-LandImprovements"> <i:entity> <i:identifier scheme="http://www.sec.gov/CIK">0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandImprovementsMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:instant>2023-12-31</i:instant> </i:period> </i:context> <i:context id="E23_Range-Minimum_PpeByType-BuildingImprovements"> <i:entity> <i:identifier scheme="http://www.sec.gov/CIK">0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingImprovementsMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:instant>2023-12-31</i:instant> </i:period> </i:context> <i:context id="E23_Range-Maximum_PpeByType-BuildingImprovements"> <i:entity> <i:identifier scheme="http://www.sec.gov/CIK">0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingImprovementsMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:instant>2023-12-31</i:instant> </i:period> </i:context> <i:context id="E23_Range-Minimum_PpeByType-MachineryAndEquipment"> <i:entity> <i:identifier scheme="http://www.sec.gov/CIK">0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:instant>2023-12-31</i:instant> </i:period> </i:context> <i:context id="E23_Range-Maximum_PpeByType-MachineryAndEquipment"> <i:entity> <i:identifier scheme="http://www.sec.gov/CIK">0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:instant>2023-12-31</i:instant> </i:period> </i:context> <i:context id="E23_Range-Minimum_PpeByType-SoftwareAndSoftwareDvlpCosts"> <i:entity> <i:identifier scheme="http://www.sec.gov/CIK">0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:SoftwareAndSoftwareDevelopmentCostsMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:instant>2023-12-31</i:instant> </i:period> </i:context> <i:context id="E23_Range-Maximum_PpeByType-SoftwareAndSoftwareDvlpCosts"> <i:entity> <i:identifier scheme="http://www.sec.gov/CIK">0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:SoftwareAndSoftwareDevelopmentCostsMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:instant>2023-12-31</i:instant> </i:period> </i:context> <i:context id="E23_Range-Minimum_PpeByType-OtherCapizedPpe"> <i:entity> <i:identifier scheme="http://www.sec.gov/CIK">0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:OtherCapitalizedPropertyPlantAndEquipmentMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:instant>2023-12-31</i:instant> </i:period> </i:context> <i:context id="E23_Range-Maximum_PpeByType-OtherCapizedPpe"> <i:entity> <i:identifier scheme="http://www.sec.gov/CIK">0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:OtherCapitalizedPropertyPlantAndEquipmentMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:instant>2023-12-31</i:instant> </i:period> </i:context> <i:context id="E22_ValuationAllowancesAndReservesType-AllowanceForCreditLoss"> <i:entity> <i:identifier scheme="http://www.sec.gov/CIK">0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:instant>2022-12-31</i:instant> </i:period> </i:context> <i:context id="E21_ValuationAllowancesAndReservesType-AllowanceForCreditLoss"> <i:entity> <i:identifier scheme="http://www.sec.gov/CIK">0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:instant>2021-12-31</i:instant> </i:period> </i:context> <i:context id="Y23_ValuationAllowancesAndReservesType-AllowanceForCreditLoss"> <i:entity> <i:identifier scheme="http://www.sec.gov/CIK">0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2023-01-01</i:startDate> <i:endDate>2023-12-31</i:endDate> </i:period> </i:context> <i:context id="Y22_ValuationAllowancesAndReservesType-AllowanceForCreditLoss"> <i:entity> <i:identifier scheme="http://www.sec.gov/CIK">0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2022-01-01</i:startDate> <i:endDate>2022-12-31</i:endDate> </i:period> </i:context> <i:context id="E23_ValuationAllowancesAndReservesType-AllowanceForCreditLoss"> <i:entity> <i:identifier scheme="http://www.sec.gov/CIK">0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:instant>2023-12-31</i:instant> </i:period> </i:context> <i:context id="E22_ValuationAllowancesAndReservesType-InventoryValuationReserve"> <i:entity> <i:identifier scheme="http://www.sec.gov/CIK">0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:InventoryValuationReserveMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:instant>2022-12-31</i:instant> </i:period> </i:context> <i:context id="E21_ValuationAllowancesAndReservesType-InventoryValuationReserve"> <i:entity> <i:identifier scheme="http://www.sec.gov/CIK">0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:InventoryValuationReserveMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:instant>2021-12-31</i:instant> </i:period> </i:context> <i:context id="Y23_ValuationAllowancesAndReservesType-InventoryValuationReserve"> <i:entity> <i:identifier scheme="http://www.sec.gov/CIK">0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:InventoryValuationReserveMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2023-01-01</i:startDate> <i:endDate>2023-12-31</i:endDate> </i:period> </i:context> <i:context id="Y22_ValuationAllowancesAndReservesType-InventoryValuationReserve"> <i:entity> <i:identifier scheme="http://www.sec.gov/CIK">0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:InventoryValuationReserveMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2022-01-01</i:startDate> <i:endDate>2022-12-31</i:endDate> </i:period> </i:context> <i:context id="E23_ValuationAllowancesAndReservesType-InventoryValuationReserve"> <i:entity> <i:identifier scheme="http://www.sec.gov/CIK">0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:InventoryValuationReserveMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:instant>2023-12-31</i:instant> </i:period> </i:context> <i:context id="Y23_StBusnSeg-Fastener"> <i:entity> <i:identifier scheme="http://www.sec.gov/CIK">0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:FastenerMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2023-01-01</i:startDate> <i:endDate>2023-12-31</i:endDate> </i:period> </i:context> <i:context id="Y23_StBusnSeg-AssemblyEquipment"> <i:entity> <i:identifier scheme="http://www.sec.gov/CIK">0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:AssemblyEquipmentMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2023-01-01</i:startDate> <i:endDate>2023-12-31</i:endDate> </i:period> </i:context> <i:context id="Y23_StBusnSeg-Corporate"> <i:entity> <i:identifier scheme="http://www.sec.gov/CIK">0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">us-gaap:CorporateMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2023-01-01</i:startDate> <i:endDate>2023-12-31</i:endDate> </i:period> </i:context> <i:context id="E23_StBusnSeg-Fastener"> <i:entity> <i:identifier scheme="http://www.sec.gov/CIK">0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:FastenerMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:instant>2023-12-31</i:instant> </i:period> </i:context> <i:context id="E23_StBusnSeg-AssemblyEquipment"> <i:entity> <i:identifier scheme="http://www.sec.gov/CIK">0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:AssemblyEquipmentMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:instant>2023-12-31</i:instant> </i:period> </i:context> <i:context id="E23_StBusnSeg-Corporate"> <i:entity> <i:identifier scheme="http://www.sec.gov/CIK">0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">us-gaap:CorporateMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:instant>2023-12-31</i:instant> </i:period> </i:context> <i:context id="Y22_StBusnSeg-Fastener"> <i:entity> <i:identifier scheme="http://www.sec.gov/CIK">0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:FastenerMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2022-01-01</i:startDate> <i:endDate>2022-12-31</i:endDate> </i:period> </i:context> <i:context id="Y22_StBusnSeg-AssemblyEquipment"> <i:entity> <i:identifier scheme="http://www.sec.gov/CIK">0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:AssemblyEquipmentMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2022-01-01</i:startDate> <i:endDate>2022-12-31</i:endDate> </i:period> </i:context> <i:context id="Y22_StBusnSeg-Corporate"> <i:entity> <i:identifier scheme="http://www.sec.gov/CIK">0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">us-gaap:CorporateMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2022-01-01</i:startDate> <i:endDate>2022-12-31</i:endDate> </i:period> </i:context> <i:context id="E22_StBusnSeg-Fastener"> <i:entity> <i:identifier scheme="http://www.sec.gov/CIK">0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:FastenerMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:instant>2022-12-31</i:instant> </i:period> </i:context> <i:context id="E22_StBusnSeg-AssemblyEquipment"> <i:entity> <i:identifier scheme="http://www.sec.gov/CIK">0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:AssemblyEquipmentMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:instant>2022-12-31</i:instant> </i:period> </i:context> <i:context id="E22_StBusnSeg-Corporate"> <i:entity> <i:identifier scheme="http://www.sec.gov/CIK">0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">us-gaap:CorporateMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:instant>2022-12-31</i:instant> </i:period> </i:context> <i:context id="Y23_ProductOrService-Automotive"> <i:entity> <i:identifier scheme="http://www.sec.gov/CIK">0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:AutomotiveMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2023-01-01</i:startDate> <i:endDate>2023-12-31</i:endDate> </i:period> </i:context> <i:context id="Y23_ProductOrService-Automotive_StBusnSeg-Fastener"> <i:entity> <i:identifier scheme="http://www.sec.gov/CIK">0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:AutomotiveMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:FastenerMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2023-01-01</i:startDate> <i:endDate>2023-12-31</i:endDate> </i:period> </i:context> <i:context id="Y23_ProductOrService-Automotive_StBusnSeg-AssemblyEquipment"> <i:entity> <i:identifier scheme="http://www.sec.gov/CIK">0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:AutomotiveMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:AssemblyEquipmentMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2023-01-01</i:startDate> <i:endDate>2023-12-31</i:endDate> </i:period> </i:context> <i:context id="Y23_ProductOrService-Nonautomotive"> <i:entity> <i:identifier scheme="http://www.sec.gov/CIK">0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:NonautomotiveMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2023-01-01</i:startDate> <i:endDate>2023-12-31</i:endDate> </i:period> </i:context> <i:context id="Y23_ProductOrService-Nonautomotive_StBusnSeg-Fastener"> <i:entity> <i:identifier scheme="http://www.sec.gov/CIK">0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:NonautomotiveMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:FastenerMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2023-01-01</i:startDate> <i:endDate>2023-12-31</i:endDate> </i:period> </i:context> <i:context id="Y23_ProductOrService-Nonautomotive_StBusnSeg-AssemblyEquipment"> <i:entity> <i:identifier scheme="http://www.sec.gov/CIK">0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:NonautomotiveMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:AssemblyEquipmentMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2023-01-01</i:startDate> <i:endDate>2023-12-31</i:endDate> </i:period> </i:context> <i:context id="Y22_ProductOrService-Automotive"> <i:entity> <i:identifier scheme="http://www.sec.gov/CIK">0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:AutomotiveMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2022-01-01</i:startDate> <i:endDate>2022-12-31</i:endDate> </i:period> </i:context> <i:context id="Y22_ProductOrService-Automotive_StBusnSeg-Fastener"> <i:entity> <i:identifier scheme="http://www.sec.gov/CIK">0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:AutomotiveMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:FastenerMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2022-01-01</i:startDate> <i:endDate>2022-12-31</i:endDate> </i:period> </i:context> <i:context id="Y22_ProductOrService-Automotive_StBusnSeg-AssemblyEquipment"> <i:entity> <i:identifier scheme="http://www.sec.gov/CIK">0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:AutomotiveMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:AssemblyEquipmentMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2022-01-01</i:startDate> <i:endDate>2022-12-31</i:endDate> </i:period> </i:context> <i:context id="Y22_ProductOrService-Nonautomotive"> <i:entity> <i:identifier scheme="http://www.sec.gov/CIK">0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:NonautomotiveMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2022-01-01</i:startDate> <i:endDate>2022-12-31</i:endDate> </i:period> </i:context> <i:context id="Y22_ProductOrService-Nonautomotive_StBusnSeg-Fastener"> <i:entity> <i:identifier scheme="http://www.sec.gov/CIK">0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:NonautomotiveMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:FastenerMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2022-01-01</i:startDate> <i:endDate>2022-12-31</i:endDate> </i:period> </i:context> <i:context id="Y22_ProductOrService-Nonautomotive_StBusnSeg-AssemblyEquipment"> <i:entity> <i:identifier scheme="http://www.sec.gov/CIK">0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:NonautomotiveMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:AssemblyEquipmentMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2022-01-01</i:startDate> <i:endDate>2022-12-31</i:endDate> </i:period> </i:context> <i:context id="Y23_StGeo-US"> <i:entity> <i:identifier scheme="http://www.sec.gov/CIK">0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2023-01-01</i:startDate> <i:endDate>2023-12-31</i:endDate> </i:period> </i:context> <i:context id="Y23_StGeo-US_StBusnSeg-Fastener"> <i:entity> <i:identifier scheme="http://www.sec.gov/CIK">0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:FastenerMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2023-01-01</i:startDate> <i:endDate>2023-12-31</i:endDate> </i:period> </i:context> <i:context id="Y23_StGeo-US_StBusnSeg-AssemblyEquipment"> <i:entity> <i:identifier scheme="http://www.sec.gov/CIK">0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:AssemblyEquipmentMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2023-01-01</i:startDate> <i:endDate>2023-12-31</i:endDate> </i:period> </i:context> <i:context id="Y23_StGeo-NonUs"> <i:entity> <i:identifier scheme="http://www.sec.gov/CIK">0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2023-01-01</i:startDate> <i:endDate>2023-12-31</i:endDate> </i:period> </i:context> <i:context id="Y23_StGeo-NonUs_StBusnSeg-Fastener"> <i:entity> <i:identifier scheme="http://www.sec.gov/CIK">0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:FastenerMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2023-01-01</i:startDate> <i:endDate>2023-12-31</i:endDate> </i:period> </i:context> <i:context id="Y23_StGeo-NonUs_StBusnSeg-AssemblyEquipment"> <i:entity> <i:identifier scheme="http://www.sec.gov/CIK">0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:AssemblyEquipmentMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2023-01-01</i:startDate> <i:endDate>2023-12-31</i:endDate> </i:period> </i:context> <i:context id="Y22_StGeo-US"> <i:entity> <i:identifier scheme="http://www.sec.gov/CIK">0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2022-01-01</i:startDate> <i:endDate>2022-12-31</i:endDate> </i:period> </i:context> <i:context id="Y22_StGeo-US_StBusnSeg-Fastener"> <i:entity> <i:identifier scheme="http://www.sec.gov/CIK">0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:FastenerMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2022-01-01</i:startDate> <i:endDate>2022-12-31</i:endDate> </i:period> </i:context> <i:context id="Y22_StGeo-US_StBusnSeg-AssemblyEquipment"> <i:entity> <i:identifier scheme="http://www.sec.gov/CIK">0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:AssemblyEquipmentMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2022-01-01</i:startDate> <i:endDate>2022-12-31</i:endDate> </i:period> </i:context> <i:context id="Y22_StGeo-NonUs"> <i:entity> <i:identifier scheme="http://www.sec.gov/CIK">0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2022-01-01</i:startDate> <i:endDate>2022-12-31</i:endDate> </i:period> </i:context> <i:context id="Y22_StGeo-NonUs_StBusnSeg-Fastener"> <i:entity> <i:identifier scheme="http://www.sec.gov/CIK">0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:FastenerMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2022-01-01</i:startDate> <i:endDate>2022-12-31</i:endDate> </i:period> </i:context> <i:context id="Y22_StGeo-NonUs_StBusnSeg-AssemblyEquipment"> <i:entity> <i:identifier scheme="http://www.sec.gov/CIK">0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:AssemblyEquipmentMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2022-01-01</i:startDate> <i:endDate>2022-12-31</i:endDate> </i:period> </i:context> <i:context id="Y23_MajCust-TIGroupAutomotiveSystems"> <i:entity> <i:identifier scheme="http://www.sec.gov/CIK">0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fil:TIGroupAutomotiveSystemsMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2023-01-01</i:startDate> <i:endDate>2023-12-31</i:endDate> </i:period> </i:context> <i:context id="Y22_MajCust-TIGroupAutomotiveSystems"> <i:entity> <i:identifier scheme="http://www.sec.gov/CIK">0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fil:TIGroupAutomotiveSystemsMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2022-01-01</i:startDate> <i:endDate>2022-12-31</i:endDate> </i:period> </i:context> <i:context id="Y23_MajCust-CooperStandardHoldingsInc"> <i:entity> <i:identifier scheme="http://www.sec.gov/CIK">0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fil:CooperStandardHoldingsIncMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2023-01-01</i:startDate> <i:endDate>2023-12-31</i:endDate> </i:period> </i:context> <i:context id="Y22_MajCust-CooperStandardHoldingsInc"> <i:entity> <i:identifier scheme="http://www.sec.gov/CIK">0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fil:CooperStandardHoldingsIncMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2022-01-01</i:startDate> <i:endDate>2022-12-31</i:endDate> </i:period> </i:context> <i:context id="Y23_MajCust-MartinreaInternationalInc"> <i:entity> <i:identifier scheme="http://www.sec.gov/CIK">0000019871</i:identifier> <i:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fil:MartinreaInternationalIncMember</xbrldi:explicitMember></i:segment> </i:entity> <i:period> <i:startDate>2023-01-01</i:startDate> <i:endDate>2023-12-31</i:endDate> </i:period> </i:context> <i:context id="D230101_230630"> <i:entity> <i:identifier scheme="http://www.sec.gov/CIK">0000019871</i:identifier> </i:entity> <i:period> <i:startDate>2023-01-01</i:startDate> <i:endDate>2023-06-30</i:endDate> </i:period> </i:context> <i:context id="D230701_231231"> <i:entity> <i:identifier scheme="http://www.sec.gov/CIK">0000019871</i:identifier> </i:entity> <i:period> <i:startDate>2023-07-01</i:startDate> <i:endDate>2023-12-31</i:endDate> </i:period> </i:context> <i:context id="D240101"> <i:entity> <i:identifier scheme="http://www.sec.gov/CIK">0000019871</i:identifier> </i:entity> <i:period> <i:startDate>2024-01-01</i:startDate> <i:endDate>2024-01-01</i:endDate> </i:period> </i:context> <i:unit id="Pure"> <i:measure>xbrli:pure</i:measure> </i:unit> <i:unit id="USD"> <i:measure>iso4217:USD</i:measure> </i:unit> <i:unit id="Shares"> <i:measure>xbrli:shares</i:measure> </i:unit> <i:unit id="UsdPerShare"> <i:divide> <i:unitNumerator> <i:measure>iso4217:USD</i:measure> </i:unitNumerator> <i:unitDenominator> <i:measure>xbrli:shares</i:measure> </i:unitDenominator> </i:divide> </i:unit> </ix:resources> </ix:header> </div> <div><p style="font:14pt Times New Roman;margin:0;text-align:center">&#160;</p> <p style="font:14pt Times New Roman;margin:0;text-align:center"><b>UNITED STATES </b></p> <p style="font:14pt Times New Roman;margin:0;text-align:center"><b>SECURITIES AND EXCHANGE COMMISSION</b></p> <p style="font:14pt Times New Roman;margin:0;text-align:center"><b>WASHINGTON, DC &#160;20549</b></p> <p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p> <p style="font:12pt Times New Roman;margin:0;text-align:center"><span style="font-size:14pt"><b>FORM</b></span><b> </b><span style="font-size:14pt"><b><ix:nonNumeric name="dei:DocumentType" contextRef="Y23" escape="true" id="ixv-5202">10-K</ix:nonNumeric></b></span></p> <p style="font:10pt Times New Roman;margin:0">&#160;</p> <p style="font:10pt Times New Roman;margin:0;text-align:center"><ix:nonNumeric name="dei:DocumentAnnualReport" contextRef="Y23" format="ixt-sec:boolballotbox" id="ixv-5203">&#9746;</ix:nonNumeric> <b> </b>ANNUAL REPORT PURSUANT TO SECTION 13 OR 15(D) OF THE SECURITIES EXCHANGE ACT OF 1934</p> <p style="font:10pt Times New Roman;margin:0">&#160;</p> <p style="font:10pt Times New Roman;margin:0;text-align:center"><b>For the fiscal year ended </b><ix:nonNumeric name="dei:DocumentPeriodEndDate" contextRef="Y23" format="ixt:date-monthname-day-year-en" id="ixv-5204">December 31, 2023</ix:nonNumeric><span style="-sec-ix-hidden:fact2"></span></p> <p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p> <p style="font:10pt Times New Roman;margin:0;text-align:center">or</p> <p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p> <p style="font:10pt Times New Roman;margin:0;text-align:center"><ix:nonNumeric name="dei:DocumentTransitionReport" contextRef="Y23" format="ixt-sec:boolballotbox" id="ixv-5205">&#9744;</ix:nonNumeric><b> &#160;</b>TRANSITION REPORT PURSUANT TO SECTION 13 OR 15(D) OF THE SECURITIES EXCHANGE ACT OF 1934</p> <p style="font:10pt Times New Roman;margin:0">&#160;</p> <p style="font:10pt Times New Roman;margin:0;text-align:center"><b>Commission file number <ix:nonNumeric name="dei:EntityFileNumber" contextRef="Y23" escape="true" id="ixv-5206">000-01227</ix:nonNumeric></b></p> <p style="font:10pt Times New Roman;margin:0">&#160;</p> <p style="font:10pt Times New Roman;margin:0;text-align:center"><b>
<img src="g45311cvr10k2023_1.jpg" style="width:74px;height:67px" alt="Picture 1" title="Picture 1"/></b>&#160;</p> <p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p> <p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="-sec-ix-hidden:fact3"><span style="font-size:16pt"><b>Chicago Rivet &amp; Machine Co.</b></span></span></p> <p style="font:10pt Times New Roman;margin:0;text-align:center">(Exact name of registrant as specified in its charter)</p> <p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
<table style="margin:0 auto;border-collapse:collapse">
<tr>
<td valign="bottom" style="width:189pt;padding-left:2pt;padding-right:2pt"><p style="font:11pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonNumeric name="dei:EntityIncorporationStateCountryCode" contextRef="Y23" format="ixt-sec:stateprovnameen" id="ixv-5207">Illinois</ix:nonNumeric>&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><br/>(State or other jurisdiction<br/>of incorporation or organization)</p> </td>
<td valign="bottom" style="width:198pt;padding-left:2pt;padding-right:2pt"><p style="font:11pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonNumeric name="dei:EntityTaxIdentificationNumber" contextRef="Y23" escape="true" id="ixv-5208">36-0904920</ix:nonNumeric>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><br/>(I.R.S. Employer<br/>Identification Number)</p> </td></tr> </table> <p style="font:10pt Times New Roman;margin:0">&#160;</p>
<table style="margin:0 auto;border-collapse:collapse">
<tr>
<td valign="bottom" style="width:201.6pt"><p style="font:10pt Times New Roman;margin:0;text-align:center"><b><ix:nonNumeric name="dei:EntityAddressAddressLine1" contextRef="Y23" escape="true" id="ixv-5209">901 Frontenac Road</ix:nonNumeric>, <ix:nonNumeric name="dei:EntityAddressCityOrTown" contextRef="Y23" escape="true" id="ixv-5210">Naperville</ix:nonNumeric>, <ix:nonNumeric name="dei:EntityAddressStateOrProvince" contextRef="Y23" format="ixt-sec:stateprovnameen" id="ixv-5211">Illinois</ix:nonNumeric></b></p> </td>
<td valign="bottom" style="width:93.6pt"><p style="font:10pt Times New Roman;margin:0;text-align:center"><b><ix:nonNumeric name="dei:EntityAddressPostalZipCode" contextRef="Y23" escape="true" id="ixv-5212">60563</ix:nonNumeric></b></p> </td></tr>
<tr>
<td valign="bottom" style="width:201.6pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">(Address of Principal Executive Offices)</p> </td>
<td valign="bottom" style="width:93.6pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">(Zip Code)</p> </td></tr> </table> <p style="font:10pt Times New Roman;margin:0">&#160;</p> <p style="font:10pt Times New Roman;margin:0;text-align:center">Registrant's telephone number, including area code: <b>(<ix:nonNumeric name="dei:CityAreaCode" contextRef="Y23" escape="true" id="ixv-5213">630</ix:nonNumeric>) <ix:nonNumeric name="dei:LocalPhoneNumber" contextRef="Y23" escape="true" id="ixv-5214">357-8500</ix:nonNumeric></b></p> <p style="font:10pt Times New Roman;margin:0">&#160;</p> <p style="font:10pt Times New Roman;margin:0">Securities registered pursuant to Section 12(b) of the Act:</p>
<table style="border-collapse:collapse">
<tr>
<td valign="top" style="width:180.9pt;border:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0">Title of each class</p> </td>
<td valign="top" style="width:94.3pt;border:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0">Trading Symbol(s)</p> </td>
<td valign="top" style="width:246.8pt;border:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0">Name of each exchange on which registered</p> </td></tr>
<tr>
<td valign="top" style="width:180.9pt;border:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><ix:nonNumeric name="dei:Security12bTitle" contextRef="Y23" escape="true" id="ixv-5215">Common Stock, par value $1.00 per share</ix:nonNumeric></p> </td>
<td valign="top" style="width:94.3pt;border:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center"><ix:nonNumeric name="dei:TradingSymbol" contextRef="Y23" escape="true" id="ixv-5216">CVR</ix:nonNumeric></p> </td>
<td valign="top" style="width:246.8pt;border:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><span style="-sec-ix-hidden:fact4">NYSE American</span> &#160;(Trading privileges only, not registered)</p> </td></tr> </table> <p style="font:10pt Times New Roman;margin:0">&#160;</p> <p style="font:10pt Times New Roman;margin:0">Indicate by check mark if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. &#160;Yes <span style="font-size:11pt"><span style="font-family:Wingdings">o</span></span> &#160;<ix:nonNumeric name="dei:EntityWellKnownSeasonedIssuer" contextRef="Y23" id="ixv-5217">No</ix:nonNumeric> <span style="font-size:11pt"><span style="font-family:Wingdings">&#253;</span></span></p> <p style="font:10pt Times New Roman;margin:0">&#160;</p> <p style="font:10pt Times New Roman;margin:0">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 <span style="font-size:11pt"><span style="font-family:Wingdings">o</span></span> &#160;<ix:nonNumeric name="dei:EntityVoluntaryFilers" contextRef="Y23" id="ixv-5218">No</ix:nonNumeric> <span style="font-size:11pt"><span style="font-family:Wingdings">&#253;</span></span></p> <p style="font:10pt Times New Roman;margin:0">&#160;</p> <p style="font:10pt Times New Roman;margin:0">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. &#160;<ix:nonNumeric name="dei:EntityCurrentReportingStatus" contextRef="Y23" id="ixv-5219">Yes</ix:nonNumeric> <span style="font-size:11pt"><span style="font-family:Wingdings">&#253;</span></span> &#160;No <span style="font-size:11pt"><span style="font-family:Wingdings">o</span></span></p> <p style="font:10pt Times New Roman;margin:0">&#160;</p> <p style="font:10pt Times New Roman;margin:0">Indicate by check mark whether the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T (&#167; 232.405 of this chapter) during the preceding 12 months (or for such shorter period that the registrant was required to submit such files). &#160;<ix:nonNumeric name="dei:EntityInteractiveDataCurrent" contextRef="Y23" id="ixv-5220">Yes</ix:nonNumeric> <span style="font-size:11pt"><span style="font-family:Wingdings">&#253;</span></span> &#160;No <span style="font-size:11pt"><span style="font-family:Wingdings">o</span></span></p> <p style="font:10pt Times New Roman;margin:0">&#160;</p> <p style="font:10pt Times New Roman;margin:0">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. &#160;See the definitions of &#8220;large accelerated filer,&#8221; &#8220;accelerated filer,&#8221; &#8220;smaller reporting company&#8221; and &#8220;emerging growth company&#8221; in Rule 12b-2 of the Exchange Act.:</p> <p style="font:10pt Times New Roman;margin:0">&#160;</p>
<table style="border-collapse:collapse;margin-left:36pt">
<tr>
<td valign="top" style="width:180pt"><p style="font:10pt Times New Roman;margin:0">Large accelerated filer &#160;<span style="font-size:11pt"><span style="font-family:Wingdings">o</span></span></p> </td>
<td valign="top" style="width:180pt"><p style="font:10pt Times New Roman;margin:0">Accelerated filer &#160;<span style="font-size:11pt"><span style="font-family:Wingdings">o</span></span></p> </td></tr>
<tr>
<td valign="top" style="width:180pt"><p style="font:10pt Times New Roman;margin:0"><ix:nonNumeric name="dei:EntityFilerCategory" contextRef="Y23" format="ixt-sec:entityfilercategoryen" id="ixv-5221">Non-accelerated filer</ix:nonNumeric> &#160;&#160;&#160;<span style="font-size:11pt"><span style="font-family:Wingdings">&#253;</span></span></p> </td>
<td valign="top" style="width:180pt"><p style="font:10pt Times New Roman;margin:0">Smaller reporting company &#160;<ix:nonNumeric name="dei:EntitySmallBusiness" contextRef="Y23" format="ixt-sec:boolballotbox" id="ixv-5222">&#9746;</ix:nonNumeric><span style="font-size:11pt"> </span></p> </td></tr>
<tr>
<td valign="top" style="width:180pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p> </td>
<td valign="top" style="width:180pt"><p style="font:10pt Times New Roman;margin:0">Emerging growth company &#160;<ix:nonNumeric name="dei:EntityEmergingGrowthCompany" contextRef="Y23" format="ixt-sec:boolballotbox" id="ixv-5223">&#9744;</ix:nonNumeric></p> </td></tr> </table> <p style="font:10pt Times New Roman;margin:0">&#160;</p> <p style="font:10pt Times New Roman;margin:0">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. <span style="font-size:11pt"><span style="font-family:Wingdings">o</span></span> &#160;</p> <p style="font:10pt Times New Roman;margin:0">&#160;</p> <p style="font:10pt Times New Roman;margin:0">Indicate by check mark whether the registrant has filed a report on and attestation to its management&#8217;s assessment of the effectiveness of its internal control over financial reporting under Section 404(b) of the Sarbanes-Oxley Act (15 U.S.C. 7262(b)) by the registered public accounting firm that prepared or issued its audit report. <ix:nonNumeric name="dei:IcfrAuditorAttestationFlag" contextRef="Y23" format="ixt-sec:boolballotbox" id="ixv-5224">&#9744;</ix:nonNumeric></p> <p style="font:10pt Times New Roman;margin:0">&#160;</p> <p style="font:10pt Times New Roman;margin:0">If securities are registered pursuant to Section 12(b) of the Act, indicate by check mark whether the financial statements of the registrant included in the filing reflect the correction of an error to previously issued financial statements. <ix:nonNumeric name="dei:DocumentFinStmtErrorCorrectionFlag" contextRef="Y23" format="ixt-sec:boolballotbox" id="ixv-5225">&#9744;</ix:nonNumeric></p> <p style="font:10pt Times New Roman;margin:0">&#160;</p> <p style="font:10pt Times New Roman;margin:0">Indicate by check mark whether any of those error corrections are restatements that required a recovery analysis of incentive based compensation received by any of the registrant&#8217;s executive officers during the relevant recovery period pursuant to &#167;240.10D-1(b). <span style="font-size:11pt"><span style="font-family:Wingdings">o</span></span></p> <p style="font:10pt Times New Roman;margin:0">&#160;</p> <p style="font:10pt Times New Roman;margin:0">Indicate by check mark whether the registrant is a shell company (as defined in Rule 12b-2 of the Exchange Act). Yes <ix:nonNumeric name="dei:EntityShellCompany" contextRef="Y23" format="ixt-sec:boolballotbox" id="ixv-5226">&#9744;</ix:nonNumeric> &#160;No <span style="font-size:11pt"><span style="font-family:Wingdings">&#253;</span></span> </p> <p style="font:10pt Times New Roman;margin:0">&#160;</p> <p style="font:10pt Times New Roman;margin:0">The aggregate market value of common stock held by non-affiliates of the Company as of June 30, 2023 was $<ix:nonFraction name="dei:EntityPublicFloat" contextRef="E23Q2" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5227">24,848,915</ix:nonFraction>.</p> <p style="font:10pt Times New Roman;margin:0">&#160;</p> <p style="font:10pt Times New Roman;margin:0">As of March 18, 2024, there were <ix:nonFraction name="dei:EntityCommonStockSharesOutstanding" contextRef="I240318" decimals="INF" unitRef="Shares" scale="0" format="ixt:num-dot-decimal" id="ixv-5228">966,132</ix:nonFraction> shares of the Company's common stock outstanding.</p> <p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p> <p style="font:10pt Times New Roman;margin:0;text-align:center"><b>Documents Incorporated By Reference</b></p> <p style="font:10pt Times New Roman;margin:0">&#160;</p> <p style="font:10pt Times New Roman;margin:0">Portions of the Company's definitive Proxy Statement which is to be filed with the Securities and Exchange Commission in connection with the Company's 2024 Annual Meeting of Shareholders are incorporated by reference in Part III of this report.</p> <p style="font:10pt Times New Roman;margin:0">&#160;</p> <hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">&#160;</p>
<table style="border-collapse:collapse">
<tr>
<td colspan="3" valign="bottom" style="width:446.4pt"><p style="font:10pt Arial;margin:0;text-align:center"><b>CHICAGO RIVET &amp; MACHINE CO.</b></p> </td></tr>
<tr>
<td colspan="3" valign="bottom" style="width:446.4pt"><p style="font:10pt Arial;margin:0;text-align:center"><b>YEAR ENDING DECEMBER 31, 2023</b></p> </td></tr>
<tr>
<td valign="bottom" style="width:36pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td valign="top" style="width:360pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td valign="top" style="width:50.4pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="width:36pt"><p style="font:10pt Arial;margin:0">Item<br/><span style="border-bottom:1px solid #000000">No.</span></p> </td>
<td valign="top" style="width:360pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td valign="top" style="width:50.4pt"><p style="font:10pt Arial;margin:0">Page<br/><span style="border-bottom:1px solid #000000">No.</span></p> </td></tr>
<tr style="height:14.4pt">
<td valign="top" style="width:36pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="width:360pt"><p style="font:10pt Arial;margin:0;text-align:center">Part I</p> </td>
<td valign="top" style="width:50.4pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td></tr>
<tr style="height:21.6pt">
<td valign="bottom" style="width:36pt"><p style="font:10pt Arial;margin:0">1.</p> </td>
<td valign="bottom" style="width:360pt"><p style="font:10pt Arial;margin:0"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="#a3" style="text-decoration:none">Business</a></span></p> </td>
<td valign="bottom" style="width:50.4pt"><p style="font:10pt Arial;margin:0">3</p> </td></tr>
<tr>
<td valign="top" style="width:36pt"><p style="font:10pt Arial;margin:0">1A.</p> </td>
<td valign="top" style="width:360pt"><p style="font:10pt Arial;margin:0"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="#a4" style="text-decoration:none">Risk Factors</a></span></p> </td>
<td valign="top" style="width:50.4pt"><p style="font:10pt Arial;margin:0">4</p> </td></tr>
<tr>
<td valign="top" style="width:36pt"><p style="font:10pt Arial;margin:0">1B.</p> </td>
<td valign="top" style="width:360pt"><p style="font:10pt Arial;margin:0"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="#a5" style="text-decoration:none">Unresolved Staff Comments</a></span></p> </td>
<td valign="top" style="width:50.4pt"><p style="font:10pt Arial;margin:0">7</p> </td></tr>
<tr>
<td valign="top" style="width:36pt"><p style="font:10pt Arial;margin:0">1C.</p> </td>
<td valign="top" style="width:360pt"><p style="font:10pt Courier New;margin:0"><span style="font-family:Arial;color:#0000FF;border-bottom:1px solid #0000FF">Cybersecurity</span></p> </td>
<td valign="top" style="width:50.4pt"><p style="font:10pt Arial;margin:0">7</p> </td></tr>
<tr>
<td valign="top" style="width:36pt"><p style="font:10pt Arial;margin:0">2.</p> </td>
<td valign="top" style="width:360pt"><p style="font:10pt Arial;margin:0"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="#a6" style="text-decoration:none">Properties</a></span></p> </td>
<td valign="top" style="width:50.4pt"><p style="font:10pt Arial;margin:0">8</p> </td></tr>
<tr>
<td valign="top" style="width:36pt"><p style="font:10pt Arial;margin:0">3.</p> </td>
<td valign="top" style="width:360pt"><p style="font:10pt Arial;margin:0"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="#a7" style="text-decoration:none">Legal Proceedings</a></span></p> </td>
<td valign="top" style="width:50.4pt"><p style="font:10pt Arial;margin:0">8</p> </td></tr>
<tr>
<td valign="top" style="width:36pt"><p style="font:10pt Arial;margin:0">4.</p> </td>
<td valign="top" style="width:360pt"><p style="font:10pt Arial;margin:0"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="#a8" style="text-decoration:none">Mine Safety Disclosures</a></span></p> </td>
<td valign="top" style="width:50.4pt"><p style="font:10pt Arial;margin:0">8</p> </td></tr>
<tr style="height:28.8pt">
<td valign="top" style="width:36pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="width:360pt"><p style="font:10pt Arial;margin:0;text-align:center">Part II</p> </td>
<td valign="top" style="width:50.4pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td></tr>
<tr style="height:28.8pt">
<td valign="middle" style="width:36pt"><p style="font:10pt Arial;margin:0">5.</p> </td>
<td valign="bottom" style="width:360pt"><p style="font:10pt Arial;margin:0"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="#a9" style="text-decoration:none">Market for Registrant&#8217;s Common Equity, Related Stockholder</a></span><br/><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="#a9" style="text-decoration:none"> &#160;Matters and Issuer Purchases of Equity Securities</a></span></p> </td>
<td valign="bottom" style="width:50.4pt"><p style="font:10pt Arial;margin:0">10</p> </td></tr>
<tr>
<td valign="top" style="width:36pt"><p style="font:10pt Arial;margin:0">6.</p> </td>
<td valign="top" style="width:360pt"><p style="font:10pt Arial;margin:0">[Reserved]</p> </td>
<td valign="top" style="width:50.4pt"><p style="font:10pt Arial;margin:0">10</p> </td></tr>
<tr>
<td valign="top" style="width:36pt"><p style="font:10pt Arial;margin:0">7.</p> </td>
<td valign="top" style="width:360pt"><p style="font:10pt Arial;margin:0"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="#a10" style="text-decoration:none">Management&#8217;s Discussion and Analysis of Financial Condition</a></span><br/><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="#a10" style="text-decoration:none"> &#160;and Results of Operations</a></span></p> </td>
<td valign="bottom" style="width:50.4pt"><p style="font:10pt Arial;margin:0">10</p> </td></tr>
<tr>
<td valign="top" style="width:36pt"><p style="font:10pt Arial;margin:0">7A.</p> </td>
<td valign="top" style="width:360pt"><p style="font:10pt Arial;margin:0"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="#a11" style="text-decoration:none">Quantitative and Qualitative Disclosures About Market Risk</a></span></p> </td>
<td valign="top" style="width:50.4pt"><p style="font:10pt Arial;margin:0">13</p> </td></tr>
<tr>
<td valign="top" style="width:36pt"><p style="font:10pt Arial;margin:0">8.</p> </td>
<td valign="top" style="width:360pt"><p style="font:10pt Arial;margin:0"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="#a12" style="text-decoration:none">Financial Statements and Supplementary Data</a></span></p> </td>
<td valign="top" style="width:50.4pt"><p style="font:10pt Arial;margin:0">14</p> </td></tr>
<tr>
<td valign="top" style="width:36pt"><p style="font:10pt Arial;margin:0">9.</p> </td>
<td valign="top" style="width:360pt"><p style="font:10pt Arial;margin:0"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="#a13" style="text-decoration:none">Changes in and Disagreements with Accountants on Accounting</a></span><br/><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="#a13" style="text-decoration:none"> &#160;and Financial Disclosure</a></span></p> </td>
<td valign="bottom" style="width:50.4pt"><p style="font:10pt Arial;margin:0">28</p> </td></tr>
<tr>
<td valign="top" style="width:36pt"><p style="font:10pt Arial;margin:0">9A.</p> </td>
<td valign="top" style="width:360pt"><p style="font:10pt Arial;margin:0"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="#a14" style="text-decoration:none">Controls and Procedures</a></span></p> </td>
<td valign="top" style="width:50.4pt"><p style="font:10pt Arial;margin:0">28</p> </td></tr>
<tr>
<td valign="top" style="width:36pt"><p style="font:10pt Arial;margin:0">9B.</p> </td>
<td valign="top" style="width:360pt"><p style="font:10pt Arial;margin:0"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="#a15" style="text-decoration:none">Other Information</a></span></p> </td>
<td valign="top" style="width:50.4pt"><p style="font:10pt Arial;margin:0">28</p> </td></tr>
<tr>
<td valign="top" style="width:36pt"><p style="font:10pt Arial;margin:0">9C.</p> </td>
<td valign="top" style="width:360pt"><p style="font:10pt Arial;margin:0"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="#a16" style="text-decoration:none">Disclosure Regarding Foreign Jurisdictions that Prevent Inspections</a></span></p> </td>
<td valign="top" style="width:50.4pt"><p style="font:10pt Arial;margin:0">28</p> </td></tr>
<tr style="height:28.8pt">
<td valign="top" style="width:36pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="width:360pt"><p style="font:10pt Arial;margin:0;text-align:center">Part III</p> </td>
<td valign="top" style="width:50.4pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td></tr>
<tr style="height:21.6pt">
<td valign="bottom" style="width:36pt"><p style="font:10pt Arial;margin:0">10.</p> </td>
<td valign="bottom" style="width:360pt"><p style="font:10pt Arial;margin:0"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="#a17" style="text-decoration:none">Directors, Executive Officers and Corporate Governance</a></span></p> </td>
<td valign="bottom" style="width:50.4pt"><p style="font:10pt Arial;margin:0">29</p> </td></tr>
<tr>
<td valign="top" style="width:36pt"><p style="font:10pt Arial;margin:0">11.</p> </td>
<td valign="top" style="width:360pt"><p style="font:10pt Arial;margin:0"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="#a18" style="text-decoration:none">Executive Compensation</a></span></p> </td>
<td valign="top" style="width:50.4pt"><p style="font:10pt Arial;margin:0">29</p> </td></tr>
<tr>
<td valign="top" style="width:36pt"><p style="font:10pt Arial;margin:0">12.</p> </td>
<td valign="top" style="width:360pt"><p style="font:10pt Arial;margin:0"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="#a19" style="text-decoration:none">Security Ownership of Certain Beneficial Owners and</a></span><br/><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="#a19" style="text-decoration:none"> &#160;Management and Related Stockholder Matters</a></span></p> </td>
<td valign="top" style="width:50.4pt"><p style="font:10pt Arial;margin:0">29</p> </td></tr>
<tr>
<td valign="top" style="width:36pt"><p style="font:10pt Arial;margin:0">13.</p> </td>
<td valign="top" style="width:360pt"><p style="font:10pt Arial;margin:0"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="#a20" style="text-decoration:none">Certain Relationships and Related Transactions,</a></span><br/><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="#a20" style="text-decoration:none"> &#160;and Director Independence</a></span></p> </td>
<td valign="top" style="width:50.4pt"><p style="font:10pt Arial;margin:0">29</p> </td></tr>
<tr>
<td valign="top" style="width:36pt"><p style="font:10pt Arial;margin:0">14.</p> </td>
<td valign="top" style="width:360pt"><p style="font:10pt Arial;margin:0"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="#a21" style="text-decoration:none">Principal Accountant Fees and Services</a></span></p> </td>
<td valign="top" style="width:50.4pt"><p style="font:10pt Arial;margin:0">29</p> </td></tr>
<tr style="height:28.8pt">
<td valign="top" style="width:36pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="width:360pt"><p style="font:10pt Arial;margin:0;text-align:center">Part IV</p> </td>
<td valign="top" style="width:50.4pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td></tr>
<tr style="height:21.6pt">
<td valign="bottom" style="width:36pt"><p style="font:10pt Arial;margin:0">15.</p> </td>
<td valign="bottom" style="width:360pt"><p style="font:10pt Arial;margin:0"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="#a22" style="text-decoration:none">Exhibits and Financial Statement Schedules</a></span></p> </td>
<td valign="bottom" style="width:50.4pt"><p style="font:10pt Arial;margin:0">30</p> </td></tr>
<tr>
<td valign="top" style="width:36pt"><p style="font:10pt Arial;margin:0">16.</p> </td>
<td valign="top" style="width:360pt"><p style="font:10pt Arial;margin:0"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="#a23" style="text-decoration:none">Form 10-K Summary</a></span></p> </td>
<td valign="top" style="width:50.4pt"><p style="font:10pt Arial;margin:0">30</p> </td></tr> </table> <hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">2</p> <hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0;text-align:center"><span style="border-bottom:1px solid #000000"><b>PART I</b></span></p> <a id="a3"></a><p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><span style="border-bottom:1px solid #000000"><b>ITEM 1 - Business</b></span></p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><kbd style="margin-left:36pt"></kbd>Chicago Rivet &amp; Machine Co. (the "Company") was incorporated under the laws of the State of Illinois in December 1927, as successor to the business of Chicago Rivet &amp; Specialty Co. &#160;The Company operates in the United States in two segments as determined by its products. &#160;The fastener segment, which comprises the Company&#8217;s wholly-owned subsidiary, H&amp;L Tool Company Inc., and the Company&#8217;s fastener operations, which consists of the manufacture and sale of rivets, cold-formed fasteners and parts, and screw machine products. &#160;The assembly equipment segment consists primarily of the manufacture of automatic rivet setting machines and parts and tools for such machines.&#160;</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><kbd style="margin-left:36pt"></kbd>The principal market for the Company&#8217;s products is the North American automotive industry. &#160;Sales are solicited by employees and by independent sales representatives.&#160;</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><kbd style="margin-left:36pt"></kbd>The segments in which the Company operates are characterized by active and substantial competition. &#160;No single company dominates the industry. &#160;The Company's competitors include both larger and smaller manufacturers, and segments or divisions of large, diversified companies with substantial financial resources. &#160;Principal competitive factors in the market for the Company's products are price, quality and service.&#160;</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><kbd style="margin-left:36pt"></kbd>The Company serves a variety of customers. &#160;Revenues are primarily derived from sales to customers involved, directly or indirectly, in the manufacture of automobiles and automotive components. &#160;The level of business activity for the Company is closely related to the overall level of industrial activity in the United States. &#160;During 2023 sales to three customers were each at least 10% of the Company&#8217;s consolidated revenues. Sales to TI Group Automotive Systems, LLC accounted for approximately 16% and 15% of the Company&#8217;s consolidated revenues in 2023 and 2022, respectively. &#160;Sales to Cooper-Standard Holdings Inc. accounted for approximately 14% of the Company&#8217;s consolidated revenues in both 2023 and 2022. &#160;Sales to Martinrea International Inc. accounted for approximately 11% of the Company&#8217;s consolidated revenues in 2023.&#160;</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><kbd style="margin-left:36pt"></kbd>The Company's business has historically been stronger during the first half of the year due to the seasonality of automotive manufacturing.&#160;</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><kbd style="margin-left:36pt"></kbd>The Company purchases raw material from a number of sources, primarily within the United States. &#160;There are numerous sources of raw material, and the Company does not have to rely on a single source for any of its requirements.&#160;</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><kbd style="margin-left:36pt"></kbd>Patents, trademarks, licenses, franchises and concessions are not of significant importance to the business of the Company.&#160;</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><kbd style="margin-left:36pt"></kbd>The Company does not engage in significant research activities, but rather in ongoing product improvement and development. &#160;The amounts spent on product development activities in the last two years were not material.&#160;</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><kbd style="margin-left:36pt"></kbd>At December 31, 2023, the Company employed 207 people.&#160;</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><kbd style="position:absolute;font:10pt Arial;margin-left:0pt"> &#160;&#160;&#160;</kbd><kbd style="margin-left:36pt"></kbd>The Company has no foreign operations. &#160;Sales to foreign customers represent approximately 18% of the Company's total sales in 2023.&#160;</p> <hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">3</p> <hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p> <p style="font:10pt Arial;margin:0"> &#160;</p> <a id="a4"></a><p style="font:10pt Arial;margin:0"><span style="border-bottom:1px solid #000000"><b>ITEM 1A </b><b>-</b><b> Risk Factors</b></span></p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><kbd style="margin-left:36pt"></kbd>Our business is subject to a number of risks and uncertainties. &#160;If any of the events contemplated by the following risks actually occur, then our business, financial condition or results of operations could be materially adversely affected. &#160;Additional risks and uncertainties not currently known to us or that we currently deem to be immaterial may also materially and adversely affect our business, financial condition and results of operations.&#160;</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><b>Our business over the last few years has been significantly affected by domestic and global economic and market conditions, including rising costs, supply chain disruptions and labor pressures.</b></p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0;text-indent:36pt">During 2022 and 2023 our business has experienced a period of significant material, labor and shipping price volatility (generally resulting from an increase in the price of commodities, energy costs, freight costs, labor costs and other input costs), as well as supply chain disruptions, in addition to an environment of rising interest rates. While some of these input cost increases moderated in fiscal 2023, other exposures will likely continue in fiscal 2024 and perhaps further into the future. This environment of significant price volatility has resulted in, and may continue to result in, increased costs that may not be, or may only be partially, offset by increasing sales prices and expense reduction. During this same period, we also experienced constrained labor availability which has resulted in inflationary wage pressures, both internally and at key vendors. &#160;Although we have developed and implemented strategies to mitigate the impact of supply chain disruptions along with the impact of higher input and other costs, these strategies, together with commercial negotiations with our customers and suppliers, typically offset only a portion (less than 100%) of the adverse impact. Additionally, our operating model typically requires long lead times between the design and development of products, the launch of production and the delivery of the final product. This lead time requires us to secure vendor supply well in advance to minimize launch and production inefficiencies. During such lead times, price commitments are subject to change and could lead to an inability to fully recover all such price changes.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><b>Labor shortages could prevent us from meeting customer demand.</b></p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0;text-align:justify"><kbd style="margin-left:36pt"></kbd>We and some of our third-party suppliers and service providers have experienced and may continue to experience a shortage of qualified labor at our and their facilities. &#160;A prolonged shortage of qualified labor could decrease our third-party vendors&#8217; ability to meet our demands and efficiently operate their facilities. &#160;Prolonged labor shortage could also lead to decreased productivity and increased labor costs from higher overtime, the need to hire temporary help to meet demand and higher wages rates in order to attract and retain employees. Any of these developments could materially increase our operating costs and have a material adverse effect on our business, results of operations and financial condition.&#160;</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><b>We are dependent on the automotive industry.</b></p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><kbd style="margin-left:36pt"></kbd>Demand for our products is directly related to conditions in the global automotive industry, which is highly cyclical and is affected by a variety of factors, including regulatory requirements, international trade policies, and consumer spending and preferences. &#160;The automotive industry is characterized by fierce competition and has undergone major restructuring in recent years. &#160;The impact of evolving technological changes, including a growing emphasis on electric vehicles, as well as any decline in the automotive industry, domestic or foreign, could have a material adverse effect on our business, results of operations and financial condition.&#160;</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><b>We face intense competition.</b></p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0;text-indent:36pt">We compete with a number of other manufacturers and distributors that produce and sell products similar to ours. &#160;Price, quality and service are the primary elements of competition. &#160;Our competitors include a large number of independent domestic and international suppliers. &#160;We are not as large as a number of these companies and do not have as many financial or other resources. &#160;Faced with intense domestic and international competition and pressure to reduce costs, many customers have expanded their sourcing of components worldwide. &#160;As a result, we have experienced competition from suppliers in other parts of the world that benefit from economic advantages, such as lower labor costs, lower health care costs and fewer regulatory burdens. &#160;There can be no assurance that we will be able to compete successfully with existing or new competitors. &#160;Increased competition could have a material adverse effect on our business, results of operations and financial condition.</p> <hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">4</p> <hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><b>We rely on sales to major customers.</b></p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0;text-indent:36pt">Our sales to three customers constituted approximately 41% of our consolidated revenues in 2023. &#160;Sales to TI Group Automotive Systems, LLC, Cooper-Standard Holdings Inc, and Martinrea International Inc. accounted for approximately 16%, 14%, and 11% of the Company's consolidated revenues in 2023, respectively. &#160;The loss of any significant portion of our sales to these customers could have a material adverse effect on our business, results of operations and financial condition.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><b>We are subject to risks related to export sales.</b></p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><kbd style="margin-left:36pt"></kbd>Our export sales have increased in recent years, and we are working to continue to expand our business relationships with customers outside of the United States.&#160; Export sales are subject to various risks, including risks related to changes in local economic, social and political conditions (particularly in emerging markets), changes in tariffs and trade policies and foreign currency exchange rate fluctuations, which could have a material adverse effect on our business, results of operations and financial condition.&#160;</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><b>Increases in our raw material costs or difficulties with our suppliers could negatively affect us.</b></p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0;text-indent:36pt">While we currently maintain alternative sources for raw materials, our business is subject to the risk of price fluctuations and periodic delays in the delivery of certain raw materials. &#160;At various times in recent years, we have been adversely impacted by increased costs for steel, our principal raw material, which we have been unable to wholly mitigate, as well as increases in other materials prices, including price increases due to inflation. &#160;Any continued fluctuation in the price or availability of our raw materials could have a material adverse impact on our business, results of operations and financial condition.</p> <p style="font:10pt Arial;margin:0;text-indent:36pt">&#160;</p> <p style="font:10pt Arial;margin:0"><b>We may be adversely affected by supply chain disruptions.</b></p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:11pt Arial;margin:0;text-indent:36pt">Many of our customers depend upon intricate just-in-time supply chain systems. &#160;A disruption in a supply chain caused by one or more suppliers, and/or an unrelated supplier, due to part shortages, work stoppages, labor shortages, economic hardships or bankruptcy, raw material shortages, transportation disruptions, natural disasters, health emergencies, tariffs, etc. could adversely impact our business, or our customers&#8217; business, which could have a material adverse effect on our business, results of operations and financial condition. </p> <p style="font:10pt Arial;margin:0;text-indent:36pt">&#160;</p> <p style="font:10pt Arial;margin:0"><b>We may be adversely affected by labor relations issues.</b></p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0;text-indent:36pt">Although none of our employees are unionized, the domestic automakers and many of their suppliers, including many of our customers, have unionized work forces. &#160;Work stoppages or slow-downs experienced by automakers or their suppliers could result in slow-downs or closures of assembly plants where our products are included in assembled components. &#160;In the event that one or more of our customers or their customers experiences a material labor relations issue, our business, results of operations and financial condition could be materially adversely affected.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><b>We may incur losses as a result of product liability, warranty or other claims that may be brought against us.</b></p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0;text-indent:36pt">We face risk of exposure to warranty and product liability claims in the event that our products fail to perform as expected or result, or are alleged to have resulted, in bodily injury, property damage or other losses. &#160;In addition, if any of our products are or are alleged to be defective, then we may be required to participate in a product recall. &#160;We may also be involved from time to time in legal proceedings and commercial or contractual disputes. &#160;Any losses or other liabilities related to these exposures could have a material adverse effect on our business, results of operations and financial condition.</p> <hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">5</p> <hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><b>We could be adversely impacted by environmental laws and regulations.</b></p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0;text-indent:36pt">Our operations are subject to environmental laws and regulations. &#160;Currently, environmental costs and liabilities with respect to our operations, and the cost of compliance with such laws and regulations, are not considered material to our business, but there can be no assurance that we will not be adversely impacted by these costs and liabilities in the future either under present laws and regulations or those that may be adopted or imposed in the future.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><b>We could be adversely impacted by the loss of the services of key employees</b>.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0;text-indent:36pt">The successful operation of our business depends, in part, upon the efforts of our executive officers and other key employees. &#160;Our current success depends, and our future success will depend, in part, upon our ability to attract and retain qualified personnel. &#160;Loss of the services of any of our key employees, or the inability to attract or retain employees could have a material adverse affect upon our business, financial condition and results of operations.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0;text-align:justify"><b>Any significant disruption, interruption or failure of our information systems could disrupt the operation of our business, result in increased costs and decreased revenues and expose us to liability.</b></p> <p style="font:10pt Arial;margin:0;text-align:justify">&#160;</p> <p style="font:10pt Arial;margin:0;text-align:justify"><kbd style="margin-left:36pt"></kbd>Cybersecurity threats are growing in number and sophistication and include, among others, malicious software, attempts to gain unauthorized access to data, and other electronic security breaches that could lead to disruptions in critical systems, unauthorized release of confidential or otherwise protected information and corruption of data.&#160;In addition to security threats, we are also subject to other systems failures, including network, software or hardware failures, whether caused by us, third-party service providers, natural disasters, power shortages, terrorist attacks or other events. The unavailability of our information systems, the failure of these systems to perform as anticipated or any significant breach of data security could cause loss of data, disrupt our operations, lead to financial losses from remedial actions, require significant management attention and resources, and negatively impact our reputation among our customers, which could have a negative impact on our business, results of operations and financial condition.&#160;</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><b>The price of our common stock is subject to volatility, and our stock is thinly-traded.</b></p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><kbd style="margin-left:36pt"></kbd>Various factors, such as general economic changes in the financial markets, announcements or significant developments with respect to the automotive industry, actual or anticipated variations in our or our competitors&#8217; quarterly or annual financial results, the introduction of new products or technologies by us or our competitors, changes in other conditions or trends in our industry or in the markets of any of our significant customers, changes in governmental regulation, or changes in securities analysts&#8217; estimates of our competitors or our industry, could cause the market price of our common stock to fluctuate substantially.<br/><br/>&#160;&#160;Our common stock is traded on NYSE American (not registered, trading privileges only). &#160;The average daily trading volume for our common stock during 2023 was less than 3,000 shares per day. &#160;As a result, shares of our common stock may be difficult to sell, and the price of our common stock may vary significantly based on trading volume.&#160;</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><b>We face risks in connection with our internal control over financial reporting, and material weaknesses were identified</b>.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><kbd style="margin-left:36pt"></kbd>As more fully disclosed in Item 9A. Controls and Procedures, material weaknesses were identified that existed as of December 31, 2023, regarding deficiencies in internal control over financial reporting related to income taxes and valuation of inventory.&#160;</p> <hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">6</p> <hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p> <p style="font:10pt Arial;margin:0">&#160;</p> <a id="a5"></a><p style="font:10pt Arial;margin:0"><span style="border-bottom:1px solid #000000"><b>ITEM 1B </b><b>-</b><b> Unresolved Staff Comments</b></span></p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0;text-indent:36pt">None.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><span style="border-bottom:1px solid #000000"><b>ITEM 1C - Cybersecurity</b></span></p> <p style="font:10pt Arial;margin-top:12pt;margin-bottom:0pt;text-indent:12pt;background-color:#FFFFFF">We have established policies and processes for assessing, identifying, and managing material risk from cybersecurity threats, and have integrated these processes into our overall risk management systems and processes. We routinely assess material risks from cybersecurity threats, including any potential unauthorized occurrence on or conducted through our information systems that may result in adverse effects on the confidentiality, integrity, or availability of our information systems or any information residing therein.</p> <p style="font:10pt Arial;margin-top:12pt;margin-bottom:0pt;text-indent:12pt;background-color:#FFFFFF">We conduct periodic risk assessments to identify cybersecurity threats, as well as assessments in the event of a material change in our business practices that may affect information systems that are vulnerable to such cybersecurity threats. These risk assessments include identification of reasonably foreseeable internal and external risks, the likelihood and potential damage that could result from such risks, and the sufficiency of existing policies, procedures, systems, and safeguards in place to manage such risks.</p> <p style="font:10pt Arial;margin-top:12pt;margin-bottom:0pt;text-indent:12pt;background-color:#FFFFFF">Following these risk assessments, we re-design, implement, and maintain reasonable safeguards to minimize identified risks; reasonably address any identified gaps in existing safeguards; and regularly monitor the effectiveness of our safeguards. Responsibility for assessing, monitoring and managing our cybersecurity risks rests with third party expert consultants in conjunction with our IT Director, both reporting to our Chief Executive Officer, to manage the risk assessment and mitigation process.</p> <p style="font:10pt Arial;margin-top:12pt;margin-bottom:0pt;text-indent:12pt;background-color:#FFFFFF">As part of our overall risk management system, we monitor and test our safeguards and train our employees on these safeguards, in collaboration with our IT Director and management. Personnel at all levels and departments are made aware of our cybersecurity policies through trainings.</p> <p style="font:10pt Arial;margin-top:12pt;margin-bottom:0pt;text-indent:12pt;background-color:#FFFFFF">We engage consultants, or other third parties in connection with our risk assessment processes. These service providers assist us with designing and implementing our cybersecurity policies and procedures, as well as monitoring and testing our safeguards. We require each third-party service provider to certify that it has the ability to implement and maintain appropriate security measures, consistent with all applicable laws, to implement and maintain reasonable security measures in connection with their work with us, and to promptly report any suspected breach of its security measures that may affect our company.&#160;&#160;</p> <p style="font:10pt Arial;margin-top:12pt;margin-bottom:0pt;text-indent:12pt;background-color:#FFFFFF">We have not encountered cybersecurity challenges that have materially impaired our operations or financial standing. For additional information regarding risks from cybersecurity threats, please refer to Item 1A, &#8220;Risk Factors,&#8221; in this Annual Report on Form 10-K.</p> <hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">7</p> <hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">&#160;</p> <a id="a6"></a><p style="font:10pt Arial;margin:0"><span style="border-bottom:1px solid #000000"><b>ITEM 2 - Properties</b></span></p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0;text-indent:36pt">The Company's headquarters is located in Naperville, Illinois. &#160;The Company conducts its manufacturing and warehousing operations at three additional facilities. &#160;The Naperville property was sold during the third quarter of 2022, and was rented for the remainder of 2022 and the entirety of 2023 as the Company continues to lease office space at the location. &#160;Each other facility is owned by the Company and considered suitable and adequate for its present use.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0;text-indent:36pt">Of the properties described below, the Madison Heights, Michigan facility is used entirely in the fastener segment. &#160;The Albia, Iowa facility is used exclusively in the assembly equipment segment. &#160;The Tyrone, Pennsylvania and the Naperville, Illinois facilities are utilized in both operating segments.</p> <p style="font:10pt Arial;margin:0"> &#160;</p>
<table style="border-collapse:collapse">
<tr>
<td valign="bottom" style="width:136.8pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="width:255.35pt"><p style="font:10pt Arial;margin:0"><span style="border-bottom:1px solid #000000">Plant Locations and Descriptions</span></p> </td></tr>
<tr>
<td valign="bottom" style="width:136.8pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="width:255.35pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td></tr>
<tr>
<td valign="top" style="width:136.8pt"><p style="font:10pt Arial;margin:0">Naperville, Illinois</p> </td>
<td valign="bottom" style="width:255.35pt"><p style="font:10pt Arial;margin:0">Brick, concrete block and partial<br/>metal construction with metal roof.</p> </td></tr>
<tr>
<td valign="bottom" style="width:136.8pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="width:255.35pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td></tr>
<tr>
<td valign="top" style="width:136.8pt"><p style="font:10pt Arial;margin:0">Tyrone, Pennsylvania</p> </td>
<td valign="bottom" style="width:255.35pt"><p style="font:10pt Arial;margin:0">Concrete block with small tapered<br/>beam type warehouse.</p> </td></tr>
<tr>
<td valign="bottom" style="width:136.8pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="width:255.35pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td></tr>
<tr>
<td valign="top" style="width:136.8pt"><p style="font:10pt Arial;margin:0">Albia, Iowa</p> </td>
<td valign="bottom" style="width:255.35pt"><p style="font:10pt Arial;margin:0">Concrete block with prestressed<br/>concrete roof construction.</p> </td></tr>
<tr>
<td valign="bottom" style="width:136.8pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="width:255.35pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td></tr>
<tr>
<td valign="top" style="width:136.8pt"><p style="font:10pt Arial;margin:0">Madison Heights, Michigan</p> </td>
<td valign="bottom" style="width:255.35pt"><p style="font:10pt Arial;margin:0">Concrete, brick and partial metal<br/>construction with metal roof.</p> </td></tr> </table> <p style="font:10pt Arial;margin:0;text-align:justify">&#160;</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">&#160;</p> <a id="a7"></a><p style="font:10pt Arial;margin:0"><span style="border-bottom:1px solid #000000"><b>ITEM 3 - Legal Proceedings</b></span></p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">The Company is, from time to time involved in litigation, including environmental claims, in the normal course of business. &#160;While it is not possible at this time to establish the ultimate amount of liability with respect to contingent liabilities, including those related to legal proceedings, management is of the opinion that the aggregate amount of any such liabilities, for which provision has not been made, will not have a material adverse effect on the Company's business, financial position, liquidity, results of operations or cash flows.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">&#160;</p> <a id="a8"></a><p style="font:10pt Arial;margin:0"><span style="border-bottom:1px solid #000000"><b>ITEM 4 </b><b>-</b><b> Mine Safety Disclosures</b></span></p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">Not applicable.</p> <hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">8</p> <hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><span style="border-bottom:1px solid #000000"><b>Information about our Executive Officers</b></span></p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"> &#160;&#160;&#160;The names, ages and positions of all executive officers of the Company, as of March 18, 2024, are listed below. &#160;Officers are elected annually by the Board of Directors at the meeting of the directors immediately following the Annual Meeting of Shareholders. &#160;The Company&#8217;s bylaws provide that officers, when elected, shall hold office for the period of one year and thereafter until their respective successors shall have been duly elected, and shall have qualified (provided that officers shall be subject to removal at any time by the affirmative vote by a majority of the Board of Directors).</p> <p style="font:10pt Arial;margin:0">&#160;</p>
<table style="border-collapse:collapse">
<tr>
<td valign="top" style="width:170.2pt"><p style="font:10pt Arial;margin:0;color:#000000"><span style="border-bottom:1px solid #000000">Name and Age of Officer</span></p> </td>
<td valign="top" style="width:170.25pt"><p style="font:10pt Arial;margin:0;color:#000000;text-align:center"><span style="border-bottom:1px solid #000000">Position</span></p> </td>
<td valign="bottom" style="width:93.6pt"><p style="font:10pt Arial;margin:0;color:#000000;text-align:center"><span style="border-bottom:1px solid #000000">Years an Officer</span></p> </td></tr>
<tr style="height:1pt">
<td valign="top" style="width:170.2pt"><p style="font:10pt Arial;margin:0;color:#000000">&#160;</p> </td>
<td valign="top" style="width:170.25pt"><p style="font:10pt Arial;margin:0;color:#000000">&#160;</p> </td>
<td valign="bottom" style="width:93.6pt"><p style="font:10pt Arial;margin:0;color:#000000;text-align:center">&#160;</p> </td></tr>
<tr>
<td valign="top" style="width:170.2pt"><p style="font:10pt Arial;margin:0;color:#000000">Gregory D. Rizzo &#160;&#160;58</p> </td>
<td valign="top" style="width:170.25pt"><p style="font:10pt Arial;margin:0;color:#000000"> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Chief Executive Officer</p> </td>
<td valign="top" style="width:93.6pt"><p style="font:10pt Arial;margin:0;color:#000000;text-align:center">10 months</p> </td></tr>
<tr>
<td valign="top" style="width:170.2pt"><p style="font:10pt Arial;margin:0;color:#000000">&#160;</p> </td>
<td valign="top" style="width:170.25pt"><p style="font:10pt Arial;margin:0;color:#000000">&#160;</p> </td>
<td valign="top" style="width:93.6pt"><p style="font:10pt Arial;margin:0;color:#000000;text-align:center">&#160;</p> </td></tr>
<tr>
<td valign="top" style="width:170.2pt"><p style="font:10pt Arial;margin:0;color:#000000">Joel M. Brown &#160;&#160;&#160;&#160;&#160;&#160;56</p> </td>
<td valign="top" style="width:170.25pt"><p style="font:10pt Arial;margin:0;color:#000000"> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Chief Financial Officer</p> </td>
<td valign="bottom" style="width:93.6pt"><p style="font:10pt Arial;margin:0;color:#000000;text-align:center">4 months</p> </td></tr> </table> <p style="font:10pt Arial;margin:0;color:#000000">&#160;</p> <p style="font:10pt Arial;margin:0;color:#000000"> &#160;&#160;&#160;Until his retirement from the Company in December 2023, Mr. Michael Bourg was President, Chief Operating Officer and Treasurer of the Company since May 2006. &#160;Prior to that, Mr. Bourg served in various executive roles since joining the Company in December 1998. &#160;He had been a director of the Company since May 2006.</p> <hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">9</p> <hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0;text-align:center"><span style="border-bottom:1px solid #000000"><b>PART II</b></span></p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">&#160;</p> <a id="a9"></a><p style="font:10pt Arial;margin:0"><span style="border-bottom:1px solid #000000"><b>ITEM 5 - Market for Registrant's Common Equity, Related</b></span></p> <p style="font:10pt Arial;margin:0"><span style="border-bottom:1px solid #000000"><b>Stockholder Matters and Issuer Purchases of Equity Securities</b></span></p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><kbd style="margin-left:36pt"></kbd>The Company's common stock is traded on NYSE American (trading privileges only, not registered). &#160;As of March 3, 2024, there were approximately 125 shareholders of record of our stock.&#160;</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0;text-indent:36pt">Under the terms of a stock repurchase authorization originally approved by the Board of Directors of the Company in February of 1990, as amended, the Company is authorized to repurchase up to an aggregate of 200,000 shares of its common stock, in the open market or in private transactions, at prices deemed reasonable by management. &#160;Cumulative purchases under the repurchase authorization have amounted to 162,996 shares at an average price of $15.66 per share. &#160;The Company has not repurchased any shares of its common stock since 2002.<br/></p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><span style="border-bottom:1px solid #000000"><b>ITEM 6 </b><b>&#8211;</b><b> </b><b>[Reserved]</b></span></p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">&#160;</p> <a id="a10"></a><p style="font:10pt Arial;margin:0"><span style="border-bottom:1px solid #000000"><b>ITEM 7 - Management's Discussion and Analysis of</b></span></p> <p style="font:10pt Arial;margin:0"><span style="border-bottom:1px solid #000000"><b> Financial Condition and Results of Operations</b></span></p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><b>Forward-Looking Statements</b></p> <p style="font:10pt Arial;margin:0;color:#000000">&#160;</p> <p style="font:10pt Arial;margin:0;color:#000000">This discussion contains certain "forward-looking statements" which are inherently subject to risks and uncertainties that may cause actual events to differ materially from those discussed herein. &#160;Factors which may cause such differences in events include those disclosed above under &#8220;Risk Factors&#8221; and elsewhere in this Form 10-K. &#160;As stated elsewhere in this filing, such factors include, among other things: risk related to conditions in the domestic and international automotive industry, upon which we rely for sales revenue, the intense competition in our markets, the concentration of our sales with major customers, risks related to export sales, the price and availability of raw materials, supply chain disruptions, labor relations issues and rising costs, losses related to product liability, warranty and recall claims, costs relating to compliance with environmental laws and regulations, information systems disruptions and the threat of cyber attacks, and the loss of the services of our key employees. &#160;Many of these factors are beyond our ability to control or predict. &#160;Readers are cautioned not to place undue reliance on these forward-looking statements. &#160;We undertake no obligation to publish revised forward-looking statements to reflect events or circumstances after the date hereof or to reflect the occurrence of unanticipated events unless required under the federal securities laws.</p> <p style="font:10pt Arial;margin:0;color:#000000">&#160;</p> <p style="font:10pt Arial;margin:0;color:#000000"><b>RESULTS OF OPERATIONS </b></p> <p style="font:10pt Arial;margin:0;color:#000000"> &#160;</p> <p style="font:10pt Arial;margin:0;color:#000000"><kbd style="margin-left:37.5pt"></kbd>Operating results for 2023 continued to be impacted by commodity and overall economic inflationary factors. &#160;While automotive demand remained relatively steady overall during 2023, our timing in obtaining economic relief under restrictive automotive contracts, which are common in the market, lagged the pace of volatility and significantly impacted our margins. &#160;Abrupt changes in market prices of certain key materials and other production costs resulted in profitability challenges as we worked with our customers to mitigate the impact. &#160;In particular, the process of obtaining updated pricing from customers, to reflect the Company&#8217;s increased operating costs, takes significant time to complete. As a result, in the interim as the Company has sought to update pricing, its margins have been negatively impacted. Additionally, non-automotive volumes declined year over year. &#160;While we have seen improvement in the labor market since the beginning of the year and raw material pricing has receded from historic highs, most of our production-related expenses remain elevated year over year. &#160; These conditions are expected to persist in the near term and our focus remains on updating pricing and improving efficiency while pursuing opportunities and relationships in the markets we serve. &#160;Fourth quarter sales were $6,780,894 compared to $6,857,154 in the fourth quarter of 2022, a decline of $76,260, or 1.1%. &#160;While the decline in sales was relatively minor our input costs remained elevated and contributed to reporting a net loss in the fourth quarter of $1,542,899, or $1.60 per share, compared to a net loss of $1,312,648, or $1.36 per share, in the fourth quarter of 2022. &#160;For the full year, net sales were $31,507,722 compared to $33,646,033 in 2022, a decline of $2,138,311, or 6.4%. &#160;Net loss for the full year was $4,401,584, or $4.56 per share, compared to net income of $2,867,629, or $2.97 per share in 2022. &#160;The positive figure for 2022 includes a pre-tax gain on the sale of our Naperville, Illinois property of $4,738,394 that was reported in the third quarter.&#160;</p> <hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">10</p> <hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p> <p style="font:10pt Arial;margin:0"><b>2023 Compared to 2022</b></p> <p style="font:10pt Arial;margin:0;color:#000000">&#160;</p> <p style="font:10pt Arial;margin:0;color:#000000"><kbd style="margin-left:36pt"></kbd>Fastener segment revenues were $5,965,995 in the fourth quarter of 2023 compared to $6,272,480 in the fourth quarter of 2022, a decline of $306,485, or 4.9%. &#160;During the quarter, sales to automotive customers decreased fractionally to $4,147,072 from $4,185,600 in the year earlier quarter. Slightly lower volumes were offset by new pricing agreements put in place during the mid to latter half of the quarter. Non-automotive revenues also decreased fractionally to $1,818,923 from $2,086,880 in the year earlier quarter. &#160;Fastener segment revenues for the full year 2023 were $28,161,362 compared to $30,291,547 in 2022, a decrease of $2,130,185, or 7.0%. &#160;For the full year 2023, sales to automotive customers were $19,297,188 compared to $18,454,238 in 2022, an increase of $842,950, or 4.6%. &#160;Sales to non-automotive customers in 2023 were $8,864,174 compared to $11,837,309 in 2022, a decline of $2,973,135, or 25%. &#160;The modest increase in automotive sales was primarily a result of new pricing agreements secured in the fourth quarter of 2023 but were more than offset by higher input costs experienced during the entire year. &#160;Overall, non-automotive fastener volume declined year over year. As a result, gross margin for the fastener segment was $(1,267,492) in 2023 compared to $3,167,104 in 2022.&#160;</p> <p style="font:10pt Arial;margin:0;color:#000000">&#160;</p> <p style="font:10pt Arial;margin:0;color:#000000"><kbd style="margin-left:37.5pt"></kbd>Assembly equipment segment revenues were $814,899 in the fourth quarter of 2023, compared to $584,674 in the fourth quarter of 2022, an increase of $230,225, or 39.3%. &#160;For the full year 2023, assembly equipment segment revenues were $3,346,360, compared to $3,354,486 reported in 2022, a decrease of $8,126, or 0.2%. &#160;While assembly equipment revenues remained flat year over year gross margins increased to $667,902 or 3.0% from $648,220 in 2022.&#160;</p> <p style="font:10pt Arial;margin:0;color:#000000">&#160;</p> <p style="font:10pt Arial;margin:0;text-indent:36pt;color:#000000">Selling and administrative expenses were $5,237,656 in 2023 compared to $4,992,521 in 2022, an increase of $245,135, or 4.9%. &#160;We incurred an increase in outside consulting of $292,625, primarily related to hiring costs to fill certain positions, an increase in employee compensation expense of $250,133 as these positions were filled and increase in rent expense of approximately $64,150, primarily related to the lease agreement entered into upon the sale of the Naperville facility in the third quarter of 2022. &#160;These, and other smaller expense increases, were offset by a reduction in director fees and commissions of $275,677 and $203,464, respectively. &#160;The remaining net change relates to various smaller items. &#160;As a percentage of net sales, selling and administrative expenses were 16.6% in 2023 compared to 14.8% in 2022.</p> <p style="font:10pt Arial;margin:0;color:#000000">&#160;</p> <p style="font:10pt Arial;margin:0;text-indent:36pt;color:#000000">As previously disclosed in a Current Report on Form 8-K filed on September 30, 2022, we sold our Naperville, Illinois facility in which the Company&#8217;s headquarters and warehouse space is located for a selling price of $5,350,000 in cash, less customary closing costs. &#160;Concurrently with the completion of the sale, the Company entered into a lease agreement with the purchaser pursuant to which the Company leased the office and warehouse portion of the Naperville facility from the purchaser until December 31, 2022 and after extension will lease the office portion until December 31, 2024. &#160;The monthly rent payable by the Company under the Lease for 2023 was $8,500. &#160;The sale was undertaken in order to take advantage of favorable market conditions and to reduce the occupancy space devoted to the Company&#8217;s administrative functions.</p> <p style="font:10pt Arial;margin:0;color:#000000">&#160;</p> <p style="font:10pt Arial;margin:0;color:#000000"><kbd style="margin-left:36pt"></kbd>Other income was $108,234 in 2023 compared to $91,433 in 2022. &#160;Other income is primarily comprised of interest income on our cash equivalents which increased modestly during the year due to higher interest rates.&#160;</p> <p style="font:10pt Arial;margin:0;color:#000000">&#160;</p> <p style="font:10pt Arial;margin:0;color:#000000"><kbd style="margin-left:36pt"></kbd>The Company&#8217;s effective income tax rates were 23.2% and 21.5% in 2023 and 2022, respectively.&#160;</p> <p style="font:10pt Arial;margin:0;color:#000000">&#160;</p> <p style="font:10pt Arial;margin:0;color:#000000"><b>DIVIDENDS</b></p> <p style="font:10pt Arial;margin:0;color:#000000">&#160;</p> <p style="font:10pt Arial;margin:0;text-indent:36pt;color:#000000">In determining to pay dividends, the Board considers current profitability, the outlook for longer-term profitability, known and potential cash requirements and the overall financial condition of the Company. &#160;The Company paid four regular quarterly dividends in 2023 totaling $0.64 per share. &#160;On February 19, 2024, the Board of Directors declared a regular quarterly dividend of $0.10 per share, payable March 20, 2024 to shareholders of record on March 5, 2024. &#160;This continues the uninterrupted record of consecutive quarterly dividends paid by the Company to its shareholders that extends over 90 years.</p> <hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">11</p> <hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p> <p style="font:10pt Arial;margin:0;color:#000000">&#160;</p> <p style="font:10pt Arial;margin:0;color:#000000"><b>PROPERTY, PLANT AND EQUIPMENT</b></p> <p style="font:10pt Arial;margin:0;color:#000000">&#160;</p> <p style="font:10pt Arial;margin:0;text-indent:36pt;color:#000000">Total capital expenditures in 2023 were $1,078,367. &#160;Of this total, $1,041,896 related to fastener segment activities, including $696,557 for cold heading and screw machine equipment, $299,502 for equipment to perform secondary operations and inspection of parts and $45,837 for general plant equipment. Assembly equipment segment additions in 2023 were $5,235 for general plant equipment. &#160;Additional investments of $31,236 were made in 2023 for facilities improvements and IT equipment that benefit both the assembly equipment segment and the fastener segment.</p> <p style="font:10pt Arial;margin:0;text-indent:36pt;color:#000000">&#160;</p> <p style="font:10pt Arial;margin:0;text-indent:36pt;color:#000000">Capital expenditures in 2022 were $969,943. &#160;Fastener segment additions accounted for $868,654 of the total, including $92,880 for cold heading and screw machine equipment, $208,028 for equipment to perform secondary operations and inspection of parts and $215,540 for general plant equipment. The remaining $352,206 of fastener segment additions related to building improvements. &#160;Assembly equipment segment additions in 2022 were $3,207 for IT equipment. &#160;Investments for the benefit of both operating segments, primarily for building improvements, totaled $98,082 during 2022.</p> <p style="font:10pt Arial;margin:0;text-indent:36pt;color:#000000">&#160;</p> <p style="font:10pt Arial;margin:0;text-indent:36pt;color:#000000">Depreciation expense was $1,275,078 in 2023 and $1,279,870 in 2022.</p> <p style="font:10pt Arial;margin:0;color:#000000">&#160;</p> <p style="font:10pt Arial;margin:0;color:#000000">&#160;</p> <p style="font:10pt Arial;margin:0;color:#000000"><b>LIQUIDITY AND CAPITAL RESOURCES</b></p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><kbd style="margin-left:36pt"></kbd>Working capital at December 31, 2023 was $13,976,864, a decrease of $6,096,225 from the beginning of the year. &#160;A decline in net accounts receivable during the year of $699,255 and a decrease in inventory of $1,793,577 had a negative impact on working capital. &#160;The Company&#8217;s investing activities in 2023 included the proceeds from the sale of property and equipment of $50,422 and the net maturities from short-term investments of $919,880 less capital expenditures of $1,078,367. &#160;The only financing activity during 2023 was the payment of $618,325 in dividends on our common stock. &#160;These changes and other cash flow activity resulted in a balance of cash, cash equivalents and certificates of deposit of $3,158,195 at the end of 2023 compared to $6,736,101 as of the beginning of the year.&#160;</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0;text-indent:36pt">Management believes that current cash, cash equivalents and operating cash flow will be sufficient to provide adequate working capital for the next twelve months.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><b>Off-Balance Sheet Arrangements</b></p> <p style="font:10pt Arial;margin:0;text-indent:36pt">&#160;</p> <p style="font:10pt Arial;margin:0;text-indent:36pt">The Company has not entered into, and has no current plans to enter into, any off-balance sheet financing arrangements. </p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0;color:#0000FF">&#160;</p> <p style="font:10pt Arial;margin:0;color:#000000"><b>CRITICAL ACCOUNTING POLICIES AND ESTIMATES</b></p> <p style="font:10pt Arial;margin:0;text-indent:36pt;color:#000000">&#160;</p> <p style="font:10pt Arial;margin:0;text-indent:36pt;color:#000000">The preparation of financial statements and related disclosures in conformity with accounting principles generally accepted in the United States of America requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities at the date of the financial statements and the amounts of revenue and expenses during the reporting period. &#160;We base our estimates and assumptions on historical experience, current trends and on various other assumptions that are believed to be reasonable under the circumstances. &#160;We evaluate our estimates and judgments required by our policies on an ongoing basis and update them as appropriate based on changing conditions. &#160;A summary of significant accounting policies can be found in Note 1 of the financial statements.</p> <p style="font:10pt Arial;margin:0;text-indent:36pt;color:#000000">&#160;</p> <p style="font:10pt Arial;margin:0;text-indent:36pt;color:#000000">Critical accounting estimates are those that require application of management&#8217;s most difficult, subjective or complex judgments, often as a result of matters that are inherently uncertain and may change in subsequent periods. &#160;We have reviewed our accounting estimates, and none were deemed to be considered critical for the accounting periods presented. &#160;While we apply our judgment based on assumptions believed to be reasonable under the circumstances, actual results could vary from these assumptions. Additionally, future facts and circumstances could change and impact our estimates and assumptions.</p> <hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">12</p> <hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p> <p style="font:10pt Arial;margin:0;color:#000000">&#160;</p> <p style="font:10pt Arial;margin:0;color:#000000"><b>NEW ACCOUNTING STANDARDS</b></p> <p style="font:10pt Arial;margin:0;color:#000000"> &#160;</p> <p style="font:10pt Arial;margin:0"><kbd style="margin-left:36pt"></kbd>The Company&#8217;s financial statements and financial condition were not, and are not expected to be, materially impacted by new, or proposed, accounting standards. &#160;A summary of recent accounting pronouncements can be found in Note 1 of the financial statements.&#160;</p> <p style="font:10pt Arial;margin:0;color:#000000;text-align:justify">&#160;</p> <p style="font:10pt Arial;margin:0;color:#000000;text-align:justify">&#160;</p> <p style="font:10pt Arial;margin:0;color:#000000;text-align:justify"><b>OUTLOOK FOR 2024</b></p> <p style="font:10pt Arial;margin:0;text-indent:36pt;color:#000000">&#160;</p> <p style="font:10pt Arial;margin:0;text-indent:36pt">Operating results for 2023 were negatively impacted by a number of factors, which the Company&#8217;s new management team has been working diligently to address. &#160;We are committed to addressing these factors and returning to profitability. &#160;Operating costs have continued to increase significantly, particularly raw material, tooling, labor, and outside processing costs. Increases that were historically transient have become persistent. As a result, we have engaged in a thorough review of existing pricing and customer contracts and management remains actively engaged with our existing customers to ensure that our pricing reflects current economic conditions. We have had success in many of these interactions in 2023, however, there is still work to be done to ensure that all of our contracts are structured to allow for a return to profitability. We are committed to these efforts to update our pricing, and in connection with these efforts, will continue to evaluate our product lines and customer relationships to seek to identify opportunities to improve our margins and profitability. &#160;In addition to the pricing actions described above, we have also initiated reviews within each of our operating segments to ensure that we have a competitive cost structure and pursue actions for further cost and inventory reduction and cash flow improvement. &#160;We are also focused on increasing sales to existing and new customers. &#160;Assembly equipment revenues and profitability were a bright spot in 2023 and will remain a focus for 2024. &#160;Automotive volumes remained steady year over year, however, non-automotive demand decreased significantly. &#160;We are committed to identifying and executing on opportunities to expand existing customer relationships and to build new customer relationships going forward. &#160;In addition, we note that we increased our capital expenditures in 2023 over the previous year and expect to see the benefits of those investments in the future. &#160;</p> <p style="font:10pt Arial;margin:0;text-indent:36pt">&#160;</p> <p style="font:10pt Arial;margin:0;text-indent:36pt">As previously disclosed in the Current Reports on Forms 8-K that we filed during 2023, a new but experienced management team has been put in place to lead the Company in the next stage of our journey. Gregory D. Rizzo was hired as the Company&#8217;s Chief Executive Officer in May 2023, and Joel Brown and Bill Stlaske joined the Company as Chief Financial Officer and Vice-President of Sales, respectively, in November of 2023. &#160;In addition, Michael J. Bourg, previously President and Chief Operating Officer of the Company, retired in December 2023. &#160;We appreciate Mr. Bourg&#8217;s efforts on behalf of the Company. With an experienced leadership team in place, the Company will focus on the pricing and cost actions discussed above, with a renewed focus on increasing sales with our existing customers as well as identifying new customers, products, and markets for existing products. </p> <p style="font:10pt Arial;margin:0;text-indent:36pt">&#160;</p> <p style="font:10pt Arial;margin:0;text-indent:36pt">We believe that our sound financial condition, long history of success in a variety of challenging circumstances, as well as our experience, quality, and customer service in a very competitive global marketplace will provide the foundation for improved operating results in the future. &#160;We are grateful for the contributions of all our dedicated employees in what was again a very challenging year. We would like to recognize two key contributors who will be retiring in 2024: Michael P. Sweitzer from the Tyrone Pennsylvania facility who has been with the Company for 47 years, including 30 years as the Plant Manager, and Kimberly A. Kirhofer, Corporate Secretary, who has been with the Company for 41 years. These individuals have exemplified loyalty, dedication and commitment to the Company that are hallmarks of our employees and that have been, and remain, critical to the Company&#8217;s success. &#160;We remain grateful to all our customers and shareholders that continue to support and believe in the Company.</p> <p style="font:10pt Arial;margin:0;color:#000000">&#160;</p> <p style="font:10pt Arial;margin:0">&#160;</p> <a id="a11"></a><p style="font:10pt Arial;margin:0"><span style="border-bottom:1px solid #000000"><b>ITEM 7A </b><b>-</b><b> Quantitative and Qualitative Disclosures About Market Risk</b></span></p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0;text-indent:36pt">As a Smaller Reporting Company as defined in Rule 12b-2 under the Securities Exchange Act of 1934, as amended (the &#8220;Exchange Act&#8221;) and in Item 10(f)(1) of Regulation S-K, we are electing scaled disclosure reporting obligations with respect to this Item and, therefore, are not required to provide the information requested by this Item 7A.</p> <hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">13</p> <hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">&#160;</p> <a id="a12"></a><p style="font:10pt Arial;margin:0"><span style="border-bottom:1px solid #000000"><b>ITEM 8 - Financial Statements and Supplementary Data</b></span></p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><span style="border-bottom:1px solid #000000"><b>CONSOLIDATED FINANCIAL STATEMENTS</b></span></p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:9pt Arial;margin:0">&#160;</p> <p style="font:9pt Arial;margin:0">Report of Independent Registered Public Accounting Firm (PCAOB ID: <ix:nonNumeric name="dei:AuditorFirmId" contextRef="Y23" escape="true" id="ixv-5229">173</ix:nonNumeric>)</p> <p style="font:10pt Arial;margin:0;margin-right:-13.5pt">&#160;</p> <p style="font:9pt Arial;margin:0"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="#a39" style="text-decoration:none">Consolidated Balance Sheets</a></span></p> <p style="font:9pt Arial;margin:0">&#160;</p> <p style="font:9pt Arial;margin:0"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="#a40" style="text-decoration:none">Consolidated Statements of </a>Operations</span></p> <p style="font:9pt Arial;margin:0">&#160;</p> <p style="font:9pt Arial;margin:0"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="#a41" style="text-decoration:none">Consolidated Statements of Shareholders&#8217; Equity</a></span></p> <p style="font:9pt Arial;margin:0">&#160;</p> <p style="font:9pt Arial;margin:0"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="#a42" style="text-decoration:none">Consolidated Statements of Cash Flows</a></span></p> <p style="font:9pt Arial;margin:0">&#160;</p> <p style="font:9pt Arial;margin:0"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="#a43" style="text-decoration:none">Notes to Consolidated Financial Statements</a></span></p> <hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">14</p> <hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:14pt Arial;margin:0"><b>Report of Independent Registered Public Accounting Firm</b></p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0;text-align:justify">Shareholders and the Board of Directors of Chicago Rivet &amp; Machine Co.</p> <p style="font:10pt Arial;margin:0;text-align:justify">Naperville, Illinois</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><b>Opinion on the Financial Statements</b></p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0;text-align:justify">We have audited the accompanying consolidated balance sheets of Chicago Rivet &amp; Machine Co. (the "Company") as of December 31, 2023 and 2022, the related consolidated statements of operations, shareholders&#8217; equity, and cash flows for the years then ended, and the related notes (collectively referred to as the "financial statements"). In our opinion, the financial statements present fairly, in all material respects, the financial position of the Company as of December 31, 2023 and 2022, and the results of its operations and its cash flows for the years then ended, in conformity with accounting principles generally accepted in the United States of America.</p> <p style="font:10pt Arial;margin:0;text-align:justify">&#160;</p> <p style="font:10pt Arial;margin:0"><b>Basis for Opinion</b></p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0;text-align:justify">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. </p> <p style="font:10pt Arial;margin:0;text-align:justify">&#160;</p> <p style="font:10pt Arial;margin:0;text-align:justify">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.</p> <p style="font:10pt Arial;margin:0;text-align:justify">&#160;</p> <p style="font:10pt Arial;margin:0;text-align:justify">Our audits included performing procedures to assess the risks of material misstatement of the financial statements, whether due to error or fraud, and performing procedures that respond to those risks. Such procedures included examining, on a test basis, evidence regarding the amounts and disclosures in the financial statements. Our audits also included evaluating the accounting principles used and significant estimates made by management, as well as evaluating the overall presentation of the financial statements. We believe that our audits provide a reasonable basis for our opinion.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><b>Critical Audit Matters</b></p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0;text-align:justify">Critical audit matters are matters arising from the current period audit of the financial statements that were communicated or required to be communicated to the audit committee and that: (1) relate to accounts or disclosures that are material to the financial statements and (2) involved our especially challenging, subjective, or complex judgments. We determined that there are no critical audit matters.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">/s/<ix:nonNumeric name="dei:AuditorName" contextRef="Y23" escape="true" id="ixv-5230">Crowe LLP</ix:nonNumeric></p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">We have served as the Company's auditor since 2014.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><ix:nonNumeric name="dei:AuditorLocation" contextRef="Y23" escape="true" id="ixv-5231">Oak Brook, Illinois</ix:nonNumeric></p> <p style="font:10pt Arial;margin:0">March 28, 2024</p> <p style="font:10pt Arial;margin:0">&#160;</p> <hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">15</p> <hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">&#160;</p> <a id="a39"></a><p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Times New Roman;margin:0">&#160;</p>
<table style="border-collapse:collapse;width:540pt">
<tr>
<td colspan="4" valign="bottom" style="background-color:#CADFF9;width:540pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:center">CHICAGO RIVET &amp; MACHINE CO.</p> </td></tr>
<tr>
<td colspan="4" valign="bottom" style="width:540pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:center">Consolidated Balance Sheets</p> </td></tr>
<tr>
<td valign="bottom" style="background-color:#CADFF9;width:387pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:72pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:9pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:72pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="width:387pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="width:72pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;text-align:center"><b>December 31, 2023</b></p> </td>
<td valign="bottom" style="width:9pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="width:72pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;text-align:center">December 31, 2022</p> </td></tr>
<tr>
<td valign="bottom" style="background-color:#CADFF9;width:387pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:center">Assets</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:72pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;text-align:center"><b>&#160;</b></p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:9pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:72pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000"><p style="font:9pt Arial;margin:0">&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="width:387pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="width:72pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:center"><b>&#160;</b></p> </td>
<td valign="bottom" style="width:9pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="width:72pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="background-color:#CADFF9;width:387pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">Current Assets</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:72pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:9pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:72pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="width:387pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0"> &#160;Cash and Cash Equivalents</p> </td>
<td valign="bottom" style="width:72pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right"><b>$ &#160;&#160;&#160;&#160;<ix:nonFraction name="us-gaap:CashAndCashEquivalentsAtCarryingValue" contextRef="E23" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5232">1,387,075</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign="bottom" style="width:9pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:72pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">$ &#160;&#160;&#160;<ix:nonFraction name="us-gaap:CashAndCashEquivalentsAtCarryingValue" contextRef="E22" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5233">4,045,101</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="background-color:#CADFF9;width:387pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0"> &#160;Short-Term Investments</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:72pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right"><b><ix:nonFraction name="us-gaap:ShortTermInvestments" contextRef="E23" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5234">1,771,120</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:9pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:72pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:ShortTermInvestments" contextRef="E22" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5235">2,691,000</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="width:387pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;color:#000000"> &#160;Accounts Receivable - Less allowances of $160,000</p> </td>
<td valign="bottom" style="width:72pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right"><b><ix:nonFraction name="us-gaap:AccountsReceivableNetCurrent" contextRef="E23" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5236">4,275,882</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign="bottom" style="width:9pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:72pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:AccountsReceivableNetCurrent" contextRef="E22" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5237">4,975,137</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="background-color:#CADFF9;width:387pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;color:#000000"> &#160;Contract Assets</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:72pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right"><b><ix:nonFraction name="us-gaap:ContractWithCustomerAssetNetCurrent" contextRef="E23" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5238">118,301</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:9pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:72pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:ContractWithCustomerAssetNetCurrent" contextRef="E22" decimals="128" unitRef="USD" format="ixt:fixed-zero" id="ixv-5239">-</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="width:387pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0"> &#160;Inventories, net</p> </td>
<td valign="bottom" style="width:72pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right"><b><ix:nonFraction name="us-gaap:InventoryNet" contextRef="E23" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5240">7,327,653</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign="bottom" style="width:9pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:72pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:InventoryNet" contextRef="E22" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5241">9,121,230</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="background-color:#CADFF9;width:387pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0"> &#160;Prepaid Income Taxes</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:72pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right"><b><ix:nonFraction name="us-gaap:PrepaidTaxes" contextRef="E23" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5242">580,287</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:9pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:72pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:PrepaidTaxes" contextRef="E22" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5243">509,119</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="width:387pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0"> &#160;Other Current Assets</p> </td>
<td valign="bottom" style="width:72pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;text-align:right"><b><ix:nonFraction name="us-gaap:OtherAssetsCurrent" contextRef="E23" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5244">380,562</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign="bottom" style="width:9pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:72pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:OtherAssetsCurrent" contextRef="E22" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5245">422,747</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="background-color:#CADFF9;width:387pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0"> &#160;Total Current Assets</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:72pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;text-align:right"><b><ix:nonFraction name="us-gaap:AssetsCurrent" contextRef="E23" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5246">15,840,880</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:9pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:72pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:AssetsCurrent" contextRef="E22" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5247">21,764,334</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="width:387pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">Property, Plant and Equipment, net</p> </td>
<td valign="bottom" style="width:72pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right"><b><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="E23" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5248">11,665,082</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign="bottom" style="width:9pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:72pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="E22" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5249">11,861,793</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="background-color:#CADFF9;width:387pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">Deferred Income Taxes, net</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:72pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right"><b><ix:nonFraction name="us-gaap:DeferredIncomeTaxAssetsNet" contextRef="E23" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5250">324,943</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:9pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:72pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:DeferredIncomeTaxAssetsNet" contextRef="E22" decimals="128" unitRef="USD" format="ixt:fixed-zero" id="ixv-5251">-</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr style="height:14.4pt">
<td valign="bottom" style="width:387pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">Total Assets</p> </td>
<td valign="bottom" style="width:72pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:9pt Arial;margin:0;text-align:right"><b>$ &#160;&#160;<ix:nonFraction name="us-gaap:Assets" contextRef="E23" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5252">27,830,905</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign="bottom" style="width:9pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:72pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:9pt Arial;margin:0;text-align:right">$ &#160;&#160;<ix:nonFraction name="us-gaap:Assets" contextRef="E22" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5253">33,626,127</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="background-color:#CADFF9;width:387pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:72pt;padding-left:2pt;padding-right:2pt;border-top:3px double #000000"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:9pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:72pt;padding-left:2pt;padding-right:2pt;border-top:3px double #000000"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="width:387pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="width:72pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:9pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:72pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="background-color:#CADFF9;width:387pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:center">Liabilities and Shareholders' Equity</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:72pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:9pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:72pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="width:387pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="width:72pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:9pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:72pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="background-color:#CADFF9;width:387pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">Current Liabilities</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:72pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:9pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:72pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="width:387pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0"> &#160;Accounts Payable</p> </td>
<td valign="bottom" style="width:72pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right"><b>$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name="us-gaap:AccountsPayableCurrent" contextRef="E23" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5254">788,974</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign="bottom" style="width:9pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:72pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">$ &#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name="us-gaap:AccountsPayableCurrent" contextRef="E22" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5255">697,235</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="background-color:#CADFF9;width:387pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0"> &#160;Accrued Wages and Salaries</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:72pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right"><b><ix:nonFraction name="us-gaap:EmployeeRelatedLiabilitiesCurrent" contextRef="E23" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5256">514,900</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:9pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:72pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:EmployeeRelatedLiabilitiesCurrent" contextRef="E22" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5257">462,332</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="width:387pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0"> &#160;Other Accrued Expenses</p> </td>
<td valign="bottom" style="width:72pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right"><b><ix:nonFraction name="us-gaap:AccruedLiabilitiesCurrent" contextRef="E23" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5258">129,963</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign="bottom" style="width:9pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:72pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:AccruedLiabilitiesCurrent" contextRef="E22" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5259">327,961</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="background-color:#CADFF9;width:387pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0"> &#160;Unearned Revenue and Customer Deposits</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:72pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;text-align:right"><b><ix:nonFraction name="us-gaap:CustomerAdvancesAndDepositsCurrent" contextRef="E23" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5260">430,179</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:9pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:72pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:CustomerAdvancesAndDepositsCurrent" contextRef="E22" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5261">203,717</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="width:387pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0"> &#160;Total Current Liabilities</p> </td>
<td valign="bottom" style="width:72pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;text-align:right"><b><ix:nonFraction name="us-gaap:LiabilitiesCurrent" contextRef="E23" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5262">1,864,016</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign="bottom" style="width:9pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:72pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:LiabilitiesCurrent" contextRef="E22" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5263">1,691,245</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="background-color:#CADFF9;width:387pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">Deferred Income Taxes, net </p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:72pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;text-align:right"><b><ix:nonFraction name="us-gaap:DeferredIncomeTaxLiabilitiesNet" contextRef="E23" decimals="128" unitRef="USD" format="ixt:fixed-zero" id="ixv-5264">-</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:9pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:72pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:DeferredIncomeTaxLiabilitiesNet" contextRef="E22" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5265">948,084</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr style="height:14.4pt">
<td valign="bottom" style="width:387pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">Total Liabilities</p> </td>
<td valign="bottom" style="width:72pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;text-align:right"><b><ix:nonFraction name="us-gaap:Liabilities" contextRef="E23" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5266">1,864,016</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign="bottom" style="width:9pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:72pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:Liabilities" contextRef="E22" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5267">2,639,329</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="background-color:#CADFF9;width:387pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:72pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:9pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:72pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="width:387pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">Commitments and Contingencies (Note 8)</p> </td>
<td valign="bottom" style="width:72pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:9pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:72pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="background-color:#CADFF9;width:387pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:72pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:9pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:72pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="width:387pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">Shareholders' Equity</p> </td>
<td valign="bottom" style="width:72pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:9pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:72pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="background-color:#CADFF9;width:387pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0"> &#160;&#160;&#160;Preferred Stock, <ix:nonFraction name="us-gaap:PreferredStockParOrStatedValuePerShare" contextRef="E23" decimals="INF" unitRef="UsdPerShare" format="ixt:fixed-zero" id="ixv-5268"><ix:nonFraction name="us-gaap:PreferredStockParOrStatedValuePerShare" contextRef="E22" decimals="INF" unitRef="UsdPerShare" format="ixt:fixed-zero" id="ixv-5269">No</ix:nonFraction></ix:nonFraction> Par Value, <ix:nonFraction name="us-gaap:PreferredStockSharesAuthorized" contextRef="E23" decimals="INF" unitRef="Shares" scale="0" format="ixt:num-dot-decimal" id="ixv-5270"><ix:nonFraction name="us-gaap:PreferredStockSharesAuthorized" contextRef="E22" decimals="INF" unitRef="Shares" scale="0" format="ixt:num-dot-decimal" id="ixv-5271">500,000</ix:nonFraction></ix:nonFraction> Shares Authorized: <ix:nonFraction name="us-gaap:PreferredStockSharesOutstanding" contextRef="E23" decimals="INF" unitRef="Shares" format="ixt-sec:numwordsen" id="ixv-5272"><ix:nonFraction name="us-gaap:PreferredStockSharesOutstanding" contextRef="E22" decimals="INF" unitRef="Shares" format="ixt-sec:numwordsen" id="ixv-5273">None</ix:nonFraction></ix:nonFraction> Outstanding</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:72pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right"><b><ix:nonFraction name="us-gaap:PreferredStockValue" contextRef="E23" decimals="128" unitRef="USD" format="ixt:fixed-zero" id="ixv-5274">-</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:9pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:72pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:PreferredStockValue" contextRef="E22" decimals="128" unitRef="USD" format="ixt:fixed-zero" id="ixv-5275">-</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="width:387pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0"><span style="color:#00B050"> &#160;&#160;&#160;</span>Common Stock, $<ix:nonFraction name="us-gaap:CommonStockParOrStatedValuePerShare" contextRef="E23" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-5276"><ix:nonFraction name="us-gaap:CommonStockParOrStatedValuePerShare" contextRef="E22" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-5277">1.00</ix:nonFraction></ix:nonFraction> Par Value, <ix:nonFraction name="us-gaap:CommonStockSharesAuthorized" contextRef="E23" decimals="INF" unitRef="Shares" scale="0" format="ixt:num-dot-decimal" id="ixv-5278"><ix:nonFraction name="us-gaap:CommonStockSharesAuthorized" contextRef="E22" decimals="INF" unitRef="Shares" scale="0" format="ixt:num-dot-decimal" id="ixv-5279">4,000,000</ix:nonFraction></ix:nonFraction> Shares Authorized: <ix:nonFraction name="us-gaap:CommonStockSharesIssued" contextRef="E23" decimals="INF" unitRef="Shares" scale="0" format="ixt:num-dot-decimal" id="ixv-5280"><ix:nonFraction name="us-gaap:CommonStockSharesIssued" contextRef="E22" decimals="INF" unitRef="Shares" scale="0" format="ixt:num-dot-decimal" id="ixv-5281">1,138,096</ix:nonFraction></ix:nonFraction> Shares Issued, <ix:nonFraction name="us-gaap:CommonStockSharesOutstanding" contextRef="E23" decimals="INF" unitRef="Shares" scale="0" format="ixt:num-dot-decimal" id="ixv-5282"><ix:nonFraction name="us-gaap:CommonStockSharesOutstanding" contextRef="E22" decimals="INF" unitRef="Shares" scale="0" format="ixt:num-dot-decimal" id="ixv-5283">966,132</ix:nonFraction></ix:nonFraction><span style="color:#0070C0"> </span>Shares Outstanding</p> </td>
<td valign="bottom" style="width:72pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right"><b><ix:nonFraction name="us-gaap:CommonStockValueOutstanding" contextRef="E23" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5284">1,138,096</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign="bottom" style="width:9pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:72pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:CommonStockValueOutstanding" contextRef="E22" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5285">1,138,096</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="background-color:#CADFF9;width:387pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0"> &#160;&#160;Additional Paid-in Capital</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:72pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right"><b><ix:nonFraction name="us-gaap:AdditionalPaidInCapital" contextRef="E23" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5286">447,134</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:9pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:72pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:AdditionalPaidInCapital" contextRef="E22" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5287">447,134</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="width:387pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0"> &#160;&#160;Retained Earnings</p> </td>
<td valign="bottom" style="width:72pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right"><b><ix:nonFraction name="us-gaap:RetainedEarningsAccumulatedDeficit" contextRef="E23" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5288">28,303,757</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign="bottom" style="width:9pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:72pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:RetainedEarningsAccumulatedDeficit" contextRef="E22" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5289">33,323,666</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="background-color:#CADFF9;width:387pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0"> &#160;&#160;Treasury Stock, 171,964 Shares at cost</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:72pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;text-align:right"><b>(<ix:nonFraction name="us-gaap:TreasuryStockValue" contextRef="E23" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5290">3,922,098</ix:nonFraction>)&#160;&#160;</b></p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:9pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:72pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;text-align:right">(<ix:nonFraction name="us-gaap:TreasuryStockValue" contextRef="E22" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5291">3,922,098</ix:nonFraction>)&#160;&#160;</p> </td></tr>
<tr style="height:14.4pt">
<td valign="bottom" style="width:387pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">Total Shareholders' Equity</p> </td>
<td valign="bottom" style="width:72pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;text-align:right"><b><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="E23" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5292">25,966,889</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign="bottom" style="width:9pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:72pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="E22" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5293">30,986,798</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="background-color:#CADFF9;width:387pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:72pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:9pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:72pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr style="height:14.4pt">
<td valign="bottom" style="width:387pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">Total Liabilities and Shareholders' Equity</p> </td>
<td valign="bottom" style="width:72pt;padding-left:2pt;padding-right:2pt;border-bottom:3px double #000000"><p style="font:9pt Arial;margin:0;text-align:right"><b>$ &#160;&#160;<ix:nonFraction name="us-gaap:LiabilitiesAndStockholdersEquity" contextRef="E23" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5294">27,830,905</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign="bottom" style="width:9pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:72pt;padding-left:2pt;padding-right:2pt;border-bottom:3px double #000000"><p style="font:9pt Arial;margin:0;text-align:right">$ &#160;&#160;<ix:nonFraction name="us-gaap:LiabilitiesAndStockholdersEquity" contextRef="E22" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5295">33,626,127</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="background-color:#CADFF9;width:387pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:72pt;padding-left:2pt;padding-right:2pt;border-top:3px double #000000"><p style="font:9pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:9pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:72pt;padding-left:2pt;padding-right:2pt;border-top:3px double #000000"><p style="font:9pt Arial;margin:0">&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="width:387pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="width:72pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="width:9pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="width:72pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">&#160;</p> </td></tr>
<tr>
<td colspan="2" valign="bottom" style="background-color:#CADFF9;width:459pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">The accompanying notes are an integral part of the Consolidated Financial Statements.</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:9pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:72pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">&#160;</p> </td></tr> </table> <p style="font:10pt Times New Roman;margin:0">&#160;</p> <hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">16</p> <hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p> <p style="font:10pt Courier New;margin:0">&#160;</p> <a id="a40"></a><p style="font:10pt Times New Roman;margin:0">&#160;</p> <p style="font:10pt Times New Roman;margin:0">&#160;</p>
<table style="border-collapse:collapse">
<tr>
<td colspan="4" valign="bottom" style="background-color:#CEE7FF;width:387pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:center">CHICAGO RIVET &amp; MACHINE CO.</p> </td></tr>
<tr>
<td colspan="4" valign="bottom" style="width:387pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:center">Consolidated Statements of Operations</p> </td></tr>
<tr>
<td valign="bottom" style="background-color:#CEE7FF;width:229.5pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:75.75pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:6.55pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:75.2pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">&#160;</p> </td></tr>
<tr style="height:36.45pt">
<td valign="bottom" style="width:229.5pt;padding-left:2pt;padding-right:2pt"/>
<td valign="bottom" style="width:75.75pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;text-align:center"><b>Year Ended December 31, 2023</b></p> </td>
<td valign="bottom" style="width:6.55pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="width:75.2pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;text-align:center">Year Ended December 31, 2022</p> </td></tr>
<tr style="height:14.4pt">
<td valign="bottom" style="background-color:#CEE7FF;width:229.5pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">Net Sales</p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:75.75pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right"><b>$ &#160;&#160;&#160;<ix:nonFraction name="us-gaap:Revenues" contextRef="Y23" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5296">31,507,722</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:6.55pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:75.2pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">$ &#160;&#160;&#160;<ix:nonFraction name="us-gaap:Revenues" contextRef="Y22" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5297">33,646,033</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="width:229.5pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">Cost of Goods Sold </p> </td>
<td valign="bottom" style="width:75.75pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;text-align:right"><b><ix:nonFraction name="us-gaap:CostOfRevenue" contextRef="Y23" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5298">32,107,312</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign="bottom" style="width:6.55pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:75.2pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:CostOfRevenue" contextRef="Y22" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5299">29,830,710</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="background-color:#CEE7FF;width:229.5pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:75.75pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:6.55pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:75.2pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="width:229.5pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">Gross Profit (Loss)</p> </td>
<td valign="bottom" style="width:75.75pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;text-align:right"><b>(<ix:nonFraction name="us-gaap:GrossProfit" contextRef="Y23" decimals="INF" unitRef="USD" sign="-" scale="0" format="ixt:num-dot-decimal" id="ixv-5300">599,590</ix:nonFraction>)&#160;&#160;&#160;</b></p> </td>
<td valign="bottom" style="width:6.55pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:75.2pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:GrossProfit" contextRef="Y22" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5301">3,815,323</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr style="height:7.2pt">
<td valign="bottom" style="background-color:#CEE7FF;width:229.5pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:75.75pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:6.55pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:75.2pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="width:229.5pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">Operating (Income) Expenses:</p> </td>
<td valign="bottom" style="width:75.75pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:6.55pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:75.2pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="background-color:#CEE7FF;width:229.5pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0"> &#160;Selling and Administrative Expenses</p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:75.75pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right"><b><ix:nonFraction name="us-gaap:SellingGeneralAndAdministrativeExpense" contextRef="Y23" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5302">5,237,656</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:6.55pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:75.2pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:SellingGeneralAndAdministrativeExpense" contextRef="Y22" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5303">4,992,521</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="width:229.5pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0"> &#160;Gain on Sale of Property</p> </td>
<td valign="bottom" style="width:75.75pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;text-align:right"><b><ix:nonFraction name="us-gaap:GainLossOnSaleOfPropertyPlantEquipment" contextRef="Y23" decimals="128" unitRef="USD" format="ixt:fixed-zero" id="ixv-5304">-</ix:nonFraction>&#160;&#160;</b></p> </td>
<td valign="bottom" style="width:6.55pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:75.2pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;text-align:right">(<ix:nonFraction name="us-gaap:GainLossOnSaleOfPropertyPlantEquipment" contextRef="Y22" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5305">4,738,394</ix:nonFraction>)&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="background-color:#CEE7FF;width:229.5pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:75.75pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:6.55pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:75.2pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="width:229.5pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0"> &#160;&#160;&#160;Total Operating Expenses</p> </td>
<td valign="bottom" style="width:75.75pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;text-align:right"><b><ix:nonFraction name="us-gaap:OperatingExpenses" contextRef="Y23" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5306">5,237,656</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign="bottom" style="width:6.55pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:75.2pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:OperatingExpenses" contextRef="Y22" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5307">254,127</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="background-color:#CEE7FF;width:229.5pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:75.75pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:6.55pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:75.2pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="width:229.5pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">Operating Profit (Loss)</p> </td>
<td valign="bottom" style="width:75.75pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right"><b>(<ix:nonFraction name="us-gaap:OperatingIncomeLoss" contextRef="Y23" decimals="INF" unitRef="USD" sign="-" scale="0" format="ixt:num-dot-decimal" id="ixv-5308">5,837,246</ix:nonFraction>)&#160;&#160;&#160;</b></p> </td>
<td valign="bottom" style="width:6.55pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:75.2pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:OperatingIncomeLoss" contextRef="Y22" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5309">3,561,196</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr style="height:10.8pt">
<td valign="bottom" style="background-color:#CEE7FF;width:229.5pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">Other Income</p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:75.75pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;text-align:right"><b><ix:nonFraction name="us-gaap:OtherNonoperatingIncomeExpense" contextRef="Y23" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5310">108,234</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:6.55pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:75.2pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:OtherNonoperatingIncomeExpense" contextRef="Y22" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5311">91,433</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="width:229.5pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="width:75.75pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:6.55pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:75.2pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="background-color:#CEE7FF;width:229.5pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">Income (Loss) Before Income Taxes</p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:75.75pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right"><b>(<ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" contextRef="Y23" decimals="INF" unitRef="USD" sign="-" scale="0" format="ixt:num-dot-decimal" id="ixv-5312">5,729,012</ix:nonFraction>)&#160;&#160;&#160;</b></p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:6.55pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:75.2pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" contextRef="Y22" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5313">3,652,629</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="width:229.5pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">Provision (Benefit) for Income Taxes</p> </td>
<td valign="bottom" style="width:75.75pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;text-align:right"><b>(<ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="Y23" decimals="INF" unitRef="USD" sign="-" scale="0" format="ixt:num-dot-decimal" id="ixv-5314">1,327,428</ix:nonFraction>)&#160;&#160;&#160;</b></p> </td>
<td valign="bottom" style="width:6.55pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:75.2pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="Y22" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5315">785,000</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr style="height:3.6pt">
<td valign="bottom" style="background-color:#CEE7FF;width:229.5pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:75.75pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:6.55pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:75.2pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="width:229.5pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">Net Income (Loss)</p> </td>
<td valign="bottom" style="width:75.75pt;padding-left:2pt;padding-right:2pt;border-bottom:3px double #000000"><p style="font:9pt Arial;margin:0;text-align:right"><b>$ &#160;&#160;&#160;(<ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="Y23" decimals="INF" unitRef="USD" sign="-" scale="0" format="ixt:num-dot-decimal" id="ixv-5316">4,401,584</ix:nonFraction>)&#160;&#160;&#160;</b></p> </td>
<td valign="bottom" style="width:6.55pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:75.2pt;padding-left:2pt;padding-right:2pt;border-bottom:3px double #000000"><p style="font:9pt Arial;margin:0;text-align:right">$ &#160;&#160;&#160;<ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="Y22" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5317">2,867,629</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="background-color:#CEE7FF;width:229.5pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:75.75pt;padding-left:2pt;padding-right:2pt;border-top:3px double #000000"><p style="font:9pt Arial;margin:0"><b>&#160;</b></p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:6.55pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:75.2pt;padding-left:2pt;padding-right:2pt;border-top:3px double #000000"><p style="font:9pt Arial;margin:0">&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="width:229.5pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">Per Share Data:</p> </td>
<td valign="bottom" style="width:75.75pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="width:6.55pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="width:75.2pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">&#160;</p> </td></tr>
<tr style="height:14.4pt">
<td valign="bottom" style="background-color:#CEE7FF;width:229.5pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">Basic net income (loss) per share</p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:75.75pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0"><b>&#160;$ &#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; (<ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsPerBasicShare" contextRef="Y23" decimals="INF" unitRef="UsdPerShare" sign="-" scale="0" format="ixt:num-dot-decimal" id="ixv-5318">4.56</ix:nonFraction>)</b></p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:6.55pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:75.2pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">&#160;$ &#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#160;&#160;<ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsPerBasicShare" contextRef="Y22" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-5319">2.97</ix:nonFraction></p> </td></tr>
<tr>
<td valign="bottom" style="width:229.5pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">Diluted net income (loss) per share</p> </td>
<td valign="bottom" style="width:75.75pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0"><b>&#160;$ &#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#160;&#160;(<ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare" contextRef="Y23" decimals="INF" unitRef="UsdPerShare" sign="-" scale="0" format="ixt:num-dot-decimal" id="ixv-5320">4.56</ix:nonFraction>)</b></p> </td>
<td valign="bottom" style="width:6.55pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="width:75.2pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">&#160;$ &#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#160;&#160;<ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare" contextRef="Y22" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-5321">2.97</ix:nonFraction></p> </td></tr>
<tr>
<td valign="bottom" style="background-color:#CEE7FF;width:229.5pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:75.75pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:6.55pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:75.2pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="width:229.5pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">Weighted Average Common Shares Outstanding:</p> </td>
<td valign="bottom" style="width:75.75pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="width:6.55pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="width:75.2pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">&#160;</p> </td></tr>
<tr style="height:14.4pt">
<td valign="bottom" style="background-color:#CEE7FF;width:229.5pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">Basic</p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:75.75pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0"> &#160;&#160;&#160;&#160;&#160;&#160;&#160; &#160;&#160; &#160;&#160;&#160;<b><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="Y23" decimals="INF" unitRef="Shares" scale="0" format="ixt:num-dot-decimal" id="ixv-5322">966,132</ix:nonFraction></b></p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:6.55pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:75.2pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0"> &#160;&#160;&#160;&#160;&#160;&#160; &#160; &#160;&#160;&#160;&#160;<ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="Y22" decimals="INF" unitRef="Shares" scale="0" format="ixt:num-dot-decimal" id="ixv-5323">966,132</ix:nonFraction></p> </td></tr>
<tr>
<td valign="bottom" style="width:229.5pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">Diluted</p> </td>
<td valign="bottom" style="width:75.75pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0"> &#160;&#160;&#160;&#160;&#160; &#160;&#160; &#160;&#160;&#160;&#160;&#160;<b><ix:nonFraction name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" contextRef="Y23" decimals="INF" unitRef="Shares" scale="0" format="ixt:num-dot-decimal" id="ixv-5324">966,132</ix:nonFraction></b></p> </td>
<td valign="bottom" style="width:6.55pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="width:75.2pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0"> &#160;&#160; &#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" contextRef="Y22" decimals="INF" unitRef="Shares" scale="0" format="ixt:num-dot-decimal" id="ixv-5325">966,132</ix:nonFraction></p> </td></tr>
<tr>
<td valign="bottom" style="background-color:#CEE7FF;width:229.5pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:75.75pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:6.55pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:75.2pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="width:229.5pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">Cash Dividends Declared Per Share</p> </td>
<td valign="bottom" style="width:75.75pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0"><b>&#160;$ &#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#160;&#160;<ix:nonFraction name="us-gaap:CommonStockDividendsPerShareDeclared" contextRef="Y23" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-5326">0.64</ix:nonFraction></b></p> </td>
<td valign="bottom" style="width:6.55pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="width:75.2pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">&#160;$ &#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#160;&#160;<ix:nonFraction name="us-gaap:CommonStockDividendsPerShareDeclared" contextRef="Y22" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-5327">0.88</ix:nonFraction></p> </td></tr>
<tr>
<td valign="bottom" style="background-color:#CEE7FF;width:229.5pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:75.75pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:6.55pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:75.2pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">&#160;</p> </td></tr>
<tr>
<td colspan="4" valign="bottom" style="width:387pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">The accompanying notes are an integral part of the Consolidated Financial Statements.</p> </td></tr> </table> <p style="font:10pt Times New Roman;margin:0">&#160;</p> <hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">17</p> <hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p> <p style="font:10pt Courier New;margin:0">&#160;</p> <a id="a41"></a><p style="font:10pt Times New Roman;margin:0">&#160;</p> <p style="font:9pt Times New Roman;margin:0">&#160;</p>
<table style="border-collapse:collapse;width:100%">
<tr style="height:6.9pt">
<td colspan="9" valign="bottom" style="background-color:#CEE7FF;width:100%;padding-left:5.75pt;padding-right:5.75pt"><p style="font:9pt Arial;margin:0;text-align:center">CHICAGO RIVET &amp; MACHINE CO.</p> </td></tr>
<tr style="height:6.9pt">
<td colspan="9" valign="bottom" style="width:100%;padding-left:5.75pt;padding-right:5.75pt"><p style="font:9pt Arial;margin:0;text-align:center">Consolidated Statements of Shareholders&#8217; Equity</p> </td></tr>
<tr style="height:6.9pt">
<td valign="top" style="background-color:#CEE7FF;width:20.58%;padding-left:5.75pt;padding-right:5.75pt"><p style="font:6pt Arial;margin:0">&#160;</p> </td>
<td valign="top" style="background-color:#CEE7FF;width:7.76%;padding-left:5.75pt;padding-right:5.75pt"><p style="font:6pt Arial;margin:0">&#160;</p> </td>
<td valign="top" style="background-color:#CEE7FF;width:9.06%;padding-left:5.75pt;padding-right:5.75pt"><p style="font:6pt Arial;margin:0">&#160;</p> </td>
<td valign="top" style="background-color:#CEE7FF;width:10.62%;padding-left:5.75pt;padding-right:5.75pt"><p style="font:6pt Arial;margin:0">&#160;</p> </td>
<td valign="top" style="background-color:#CEE7FF;width:9.96%;padding-left:5.75pt;padding-right:5.75pt"><p style="font:6pt Arial;margin:0">&#160;</p> </td>
<td valign="top" style="background-color:#CEE7FF;width:11.78%;padding-left:5.75pt;padding-right:5.75pt"><p style="font:6pt Arial;margin:0">&#160;</p> </td>
<td valign="top" style="background-color:#CEE7FF;width:7.9%;padding-left:5.75pt;padding-right:5.75pt"><p style="font:6pt Arial;margin:0">&#160;</p> </td>
<td valign="top" style="background-color:#CEE7FF;width:9.96%;padding-left:5.75pt;padding-right:5.75pt"><p style="font:6pt Arial;margin:0">&#160;</p> </td>
<td valign="top" style="background-color:#CEE7FF;width:12.36%;padding-left:5.75pt;padding-right:5.75pt"><p style="font:6pt Arial;margin:0">&#160;</p> </td></tr>
<tr style="height:6.9pt">
<td valign="bottom" style="width:20.58%;padding-left:5.75pt;padding-right:5.75pt"><p style="font:9pt Arial;margin:0">&#160;</p> </td>
<td valign="top" style="width:7.76%;padding-left:5.75pt;padding-right:5.75pt"><p style="font:9pt Arial;margin:0">&#160;</p> </td>
<td colspan="2" valign="bottom" style="width:19.68%;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;text-align:center">Common Stock</p> </td>
<td valign="top" style="width:9.96%;padding-left:5.75pt;padding-right:5.75pt"><p style="font:9pt Arial;margin:0">&#160;</p> </td>
<td valign="top" style="width:11.78%;padding-left:5.75pt;padding-right:5.75pt"><p style="font:9pt Arial;margin:0">&#160;</p> </td>
<td colspan="2" valign="bottom" style="width:17.86%;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;text-align:center">Treasury Stock, At Cost</p> </td>
<td valign="top" style="width:12.36%;padding-left:5.75pt;padding-right:5.75pt"><p style="font:9pt Arial;margin:0">&#160;</p> </td></tr>
<tr style="height:6.9pt">
<td valign="bottom" style="background-color:#CEE7FF;width:20.58%;padding-left:5.75pt;padding-right:5.75pt"/>
<td valign="bottom" style="background-color:#CEE7FF;width:7.76%;padding-left:5.75pt;padding-right:5.75pt"><p style="font:9pt Arial;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Preferred Stock</span></p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:9.06%;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Shares</span></p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:10.62%;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Amount</span></p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:9.96%;padding-left:5.75pt;padding-right:5.75pt"><p style="font:9pt Arial;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Additional Paid-In Capital</span></p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:11.78%;padding-left:5.75pt;padding-right:5.75pt"><p style="font:9pt Arial;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Retained Earnings</span></p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:7.9%;padding-left:5.75pt;padding-right:5.75pt"><p style="font:9pt Arial;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Shares</span></p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:9.96%;padding-left:5.75pt;padding-right:5.75pt"><p style="font:9pt Arial;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Amount</span></p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:12.36%;padding-left:5.75pt;padding-right:5.75pt"><p style="font:9pt Arial;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Total Shareholders&#8217; Equity</span></p> </td></tr>
<tr style="height:6.9pt">
<td valign="top" style="width:20.58%;padding-left:5.75pt;padding-right:5.75pt"><p style="font:9pt Arial;margin:0">&#160;</p> </td>
<td valign="top" style="width:7.76%;padding-left:5.75pt;padding-right:5.75pt"><p style="font:9pt Arial;margin:0">&#160;</p> </td>
<td valign="top" style="width:9.06%;padding-left:5.75pt;padding-right:5.75pt"><p style="font:9pt Arial;margin:0">&#160;</p> </td>
<td valign="top" style="width:10.62%;padding-left:5.75pt;padding-right:5.75pt"><p style="font:9pt Arial;margin:0">&#160;</p> </td>
<td valign="top" style="width:9.96%;padding-left:5.75pt;padding-right:5.75pt"><p style="font:9pt Arial;margin:0">&#160;</p> </td>
<td valign="top" style="width:11.78%;padding-left:5.75pt;padding-right:5.75pt"><p style="font:9pt Arial;margin:0">&#160;</p> </td>
<td valign="top" style="width:7.9%;padding-left:5.75pt;padding-right:5.75pt"><p style="font:9pt Arial;margin:0">&#160;</p> </td>
<td valign="top" style="width:9.96%;padding-left:5.75pt;padding-right:5.75pt"><p style="font:9pt Arial;margin:0">&#160;</p> </td>
<td valign="top" style="width:12.36%;padding-left:5.75pt;padding-right:5.75pt"><p style="font:9pt Arial;margin:0">&#160;</p> </td></tr>
<tr style="height:10.8pt">
<td valign="bottom" style="background-color:#CEE7FF;width:20.58%;padding-left:5.75pt;padding-right:5.75pt"><p style="font:9pt Arial;margin:0">Balance, January 1, 2022</p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:7.76%;padding-left:5.75pt;padding-right:5.75pt"><p style="font:9pt Arial;margin:0;text-align:right">$ <ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="E21_StEqComps-PrefStock" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5328">0</ix:nonFraction></p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:9.06%;padding-left:5.75pt;padding-right:5.75pt"><p style="font:9pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:CommonStockSharesOutstanding" contextRef="E21_StEqComps-CommonStock" decimals="INF" unitRef="Shares" scale="0" format="ixt:num-dot-decimal" id="ixv-5329">966,132</ix:nonFraction></p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:10.62%;padding-left:5.75pt;padding-right:5.75pt"><p style="font:9pt Arial;margin:0;text-align:right">$ &#160;<ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="E21_StEqComps-CommonStock" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5330">1,138,096</ix:nonFraction></p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:9.96%;padding-left:5.75pt;padding-right:5.75pt"><p style="font:9pt Arial;margin:0;text-align:right">$ &#160;&#160;<ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="E21_StEqComps-AddPaidInCap" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5331">447,134</ix:nonFraction></p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:11.78%;padding-left:5.75pt;padding-right:5.75pt"><p style="font:9pt Arial;margin:0;text-align:right">$ &#160;&#160;&#160;&#160;<ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="E21_StEqComps-RetainedEarnings" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5332">31,306,233</ix:nonFraction></p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:7.9%;padding-left:5.75pt;padding-right:5.75pt"><p style="font:9pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:TreasuryStockCommonShares" contextRef="E21_StEqComps-TreasuryStockCommon" decimals="INF" unitRef="Shares" scale="0" format="ixt:num-dot-decimal" id="ixv-5333">171,964</ix:nonFraction></p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:9.96%;padding-left:5.75pt;padding-right:5.75pt"><p style="font:9pt Arial;margin:0;text-align:right">$ &#160;(<ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="E21_StEqComps-TreasuryStockCommon" decimals="INF" unitRef="USD" sign="-" scale="0" format="ixt:num-dot-decimal" id="ixv-5334">3,922,098</ix:nonFraction>)</p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:12.36%;padding-left:5.75pt;padding-right:5.75pt"><p style="font:9pt Arial;margin:0;text-align:right">$ &#160;&#160;&#160;&#160;&#160;<ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="E21" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5335">28,969,365</ix:nonFraction></p> </td></tr>
<tr style="height:10.8pt">
<td valign="bottom" style="width:20.58%;padding-left:5.75pt;padding-right:5.75pt"><p style="font:9pt Arial;margin:0">Net Income</p> </td>
<td valign="bottom" style="width:7.76%;padding-left:5.75pt;padding-right:5.75pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:9.06%;padding-left:5.75pt;padding-right:5.75pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:10.62%;padding-left:5.75pt;padding-right:5.75pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:9.96%;padding-left:5.75pt;padding-right:5.75pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:11.78%;padding-left:5.75pt;padding-right:5.75pt"><p style="font:9pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="Y22_StEqComps-RetainedEarnings" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5336">2,867,629</ix:nonFraction></p> </td>
<td valign="bottom" style="width:7.9%;padding-left:5.75pt;padding-right:5.75pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:9.96%;padding-left:5.75pt;padding-right:5.75pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:12.36%;padding-left:5.75pt;padding-right:5.75pt"><p style="font:9pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="Y22" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5337">2,867,629</ix:nonFraction></p> </td></tr>
<tr style="height:10.8pt">
<td valign="bottom" style="background-color:#CEE7FF;width:20.58%;padding-left:5.75pt;padding-right:5.75pt"><p style="font:9pt Arial;margin:0">Dividends Declared ($<ix:nonFraction name="us-gaap:CommonStockDividendsPerShareDeclared" contextRef="Y22" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-5338">0.88</ix:nonFraction> per share)</p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:7.76%;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:9.06%;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:10.62%;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:9.96%;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:11.78%;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;text-align:right">(<ix:nonFraction name="us-gaap:Dividends" contextRef="Y22_StEqComps-RetainedEarnings" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5339">850,196</ix:nonFraction>)</p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:7.9%;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:9.96%;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:12.36%;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;text-align:right">(<ix:nonFraction name="us-gaap:Dividends" contextRef="Y22" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5340">850,196</ix:nonFraction>)</p> </td></tr>
<tr style="height:10.8pt">
<td valign="bottom" style="width:20.58%;padding-left:5.75pt;padding-right:5.75pt"><p style="font:9pt Arial;margin:0">Balance, December 31, 2022</p> </td>
<td valign="bottom" style="width:7.76%;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;text-align:right">$ <ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="E22_StEqComps-PrefStock" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5341">0</ix:nonFraction></p> </td>
<td valign="bottom" style="width:9.06%;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:CommonStockSharesOutstanding" contextRef="E22_StEqComps-CommonStock" decimals="INF" unitRef="Shares" scale="0" format="ixt:num-dot-decimal" id="ixv-5342">966,132</ix:nonFraction></p> </td>
<td valign="bottom" style="width:10.62%;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;text-align:right">$ <ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="E22_StEqComps-CommonStock" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5343">1,138,096</ix:nonFraction></p> </td>
<td valign="bottom" style="width:9.96%;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;text-align:right">$ &#160;&#160;<ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="E22_StEqComps-AddPaidInCap" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5344">447,134</ix:nonFraction></p> </td>
<td valign="bottom" style="width:11.78%;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;text-align:right">$ &#160;&#160;&#160;<ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="E22_StEqComps-RetainedEarnings" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5345">33,323,666</ix:nonFraction></p> </td>
<td valign="bottom" style="width:7.9%;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:TreasuryStockCommonShares" contextRef="E21_StEqComps-TreasuryStockCommon" decimals="INF" unitRef="Shares" scale="0" format="ixt:num-dot-decimal" id="ixv-5346">171,964</ix:nonFraction></p> </td>
<td valign="bottom" style="width:9.96%;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;text-align:right">$ &#160;(<ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="E22_StEqComps-TreasuryStockCommon" decimals="INF" unitRef="USD" sign="-" scale="0" format="ixt:num-dot-decimal" id="ixv-5347">3,922,098</ix:nonFraction>)</p> </td>
<td valign="bottom" style="width:12.36%;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;text-align:right">$ &#160;&#160;&#160;&#160;&#160;<ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="E22" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5348">30,986,798</ix:nonFraction></p> </td></tr>
<tr style="height:10.8pt">
<td valign="bottom" style="background-color:#CEE7FF;width:20.58%;padding-left:5.75pt;padding-right:5.75pt"><p style="font:9pt Arial;margin:0">Net Loss</p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:7.76%;padding-left:5.75pt;padding-right:5.75pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:9.06%;padding-left:5.75pt;padding-right:5.75pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:10.62%;padding-left:5.75pt;padding-right:5.75pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:9.96%;padding-left:5.75pt;padding-right:5.75pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:11.78%;padding-left:5.75pt;padding-right:5.75pt"><p style="font:9pt Arial;margin:0;text-align:right">(<ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="Y23_StEqComps-RetainedEarnings" decimals="INF" unitRef="USD" sign="-" scale="0" format="ixt:num-dot-decimal" id="ixv-5349">4,401,584</ix:nonFraction>)</p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:7.9%;padding-left:5.75pt;padding-right:5.75pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:9.96%;padding-left:5.75pt;padding-right:5.75pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:12.36%;padding-left:5.75pt;padding-right:5.75pt"><p style="font:9pt Arial;margin:0;text-align:right">(<ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="Y23" decimals="INF" unitRef="USD" sign="-" scale="0" format="ixt:num-dot-decimal" id="ixv-5350">4,401,584</ix:nonFraction>)</p> </td></tr>
<tr style="height:10.8pt">
<td valign="bottom" style="width:20.58%;padding-left:5.75pt;padding-right:5.75pt"><p style="font:9pt Arial;margin:0">Dividends Declared ($<ix:nonFraction name="us-gaap:CommonStockDividendsPerShareDeclared" contextRef="Y23" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-5351">0.64</ix:nonFraction> per share)</p> </td>
<td valign="bottom" style="width:7.76%;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:9.06%;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:10.62%;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:9.96%;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:11.78%;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;text-align:right">(<ix:nonFraction name="us-gaap:Dividends" contextRef="Y23_StEqComps-RetainedEarnings" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5352">618,325</ix:nonFraction>)</p> </td>
<td valign="bottom" style="width:7.9%;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:9.96%;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:12.36%;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;text-align:right">(<ix:nonFraction name="us-gaap:Dividends" contextRef="Y23" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5353">618,325</ix:nonFraction>)</p> </td></tr>
<tr style="height:10.8pt">
<td valign="bottom" style="background-color:#CEE7FF;width:20.58%;padding-left:5.75pt;padding-right:5.75pt"><p style="font:9pt Arial;margin:0">Balance, December 31, 2023</p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:7.76%;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:9pt Arial;margin:0;text-align:right"><b>$ <ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="E23_StEqComps-PrefStock" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5354">0</ix:nonFraction></b></p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:9.06%;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:9pt Arial;margin:0;text-align:right"><b><ix:nonFraction name="us-gaap:CommonStockSharesOutstanding" contextRef="E23_StEqComps-CommonStock" decimals="INF" unitRef="Shares" scale="0" format="ixt:num-dot-decimal" id="ixv-5355">966,132</ix:nonFraction></b></p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:10.62%;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:9pt Arial;margin:0;text-align:right"><b>$ <ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="E23_StEqComps-CommonStock" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5356">1,138,096</ix:nonFraction></b></p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:9.96%;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:9pt Arial;margin:0;text-align:right"><b>$ &#160;&#160;<ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="E23_StEqComps-AddPaidInCap" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5357">447,134</ix:nonFraction></b></p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:11.78%;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:9pt Arial;margin:0;text-align:right"><b>$ &#160;&#160;&#160;<ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="E23_StEqComps-RetainedEarnings" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5358">28,303,757</ix:nonFraction></b></p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:7.9%;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:9pt Arial;margin:0;text-align:right"><b><ix:nonFraction name="us-gaap:TreasuryStockCommonShares" contextRef="E23_StEqComps-TreasuryStockCommon" decimals="INF" unitRef="Shares" scale="0" format="ixt:num-dot-decimal" id="ixv-5359">171,964</ix:nonFraction></b></p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:9.96%;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:9pt Arial;margin:0;text-align:right"><b>$ &#160;(<ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="E23_StEqComps-TreasuryStockCommon" decimals="INF" unitRef="USD" sign="-" scale="0" format="ixt:num-dot-decimal" id="ixv-5360">3,922,098</ix:nonFraction>)</b></p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:12.36%;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:9pt Arial;margin:0;text-align:right"><b>$ &#160;&#160;&#160;&#160;&#160;<ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="E23" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5361">25,966,889</ix:nonFraction></b></p> </td></tr>
<tr style="height:6.9pt">
<td valign="top" style="width:20.58%;padding-left:5.75pt;padding-right:5.75pt"><p style="font:6pt Arial;margin:0">&#160;</p> </td>
<td valign="top" style="width:7.76%;padding-left:5.75pt;padding-right:5.75pt;border-top:3px double #000000"><p style="font:6pt Arial;margin:0">&#160;</p> </td>
<td valign="top" style="width:9.06%;padding-left:5.75pt;padding-right:5.75pt;border-top:3px double #000000"><p style="font:6pt Arial;margin:0">&#160;</p> </td>
<td valign="top" style="width:10.62%;padding-left:5.75pt;padding-right:5.75pt;border-top:3px double #000000"><p style="font:6pt Arial;margin:0">&#160;</p> </td>
<td valign="top" style="width:9.96%;padding-left:5.75pt;padding-right:5.75pt;border-top:3px double #000000"><p style="font:6pt Arial;margin:0">&#160;</p> </td>
<td valign="top" style="width:11.78%;padding-left:5.75pt;padding-right:5.75pt;border-top:3px double #000000"><p style="font:6pt Arial;margin:0">&#160;</p> </td>
<td valign="top" style="width:7.9%;padding-left:5.75pt;padding-right:5.75pt;border-top:3px double #000000"><p style="font:6pt Arial;margin:0">&#160;</p> </td>
<td valign="top" style="width:9.96%;padding-left:5.75pt;padding-right:5.75pt;border-top:3px double #000000"><p style="font:6pt Arial;margin:0">&#160;</p> </td>
<td valign="top" style="width:12.36%;padding-left:5.75pt;padding-right:5.75pt;border-top:3px double #000000"><p style="font:6pt Arial;margin:0">&#160;</p> </td></tr>
<tr style="height:6.9pt">
<td valign="top" style="background-color:#CEE7FF;width:20.58%;padding-left:5.75pt;padding-right:5.75pt"><p style="font:6pt Arial;margin:0">&#160;</p> </td>
<td valign="top" style="background-color:#CEE7FF;width:7.76%;padding-left:5.75pt;padding-right:5.75pt"><p style="font:6pt Arial;margin:0">&#160;</p> </td>
<td valign="top" style="background-color:#CEE7FF;width:9.06%;padding-left:5.75pt;padding-right:5.75pt"><p style="font:6pt Arial;margin:0">&#160;</p> </td>
<td valign="top" style="background-color:#CEE7FF;width:10.62%;padding-left:5.75pt;padding-right:5.75pt"><p style="font:6pt Arial;margin:0">&#160;</p> </td>
<td valign="top" style="background-color:#CEE7FF;width:9.96%;padding-left:5.75pt;padding-right:5.75pt"><p style="font:6pt Arial;margin:0">&#160;</p> </td>
<td valign="top" style="background-color:#CEE7FF;width:11.78%;padding-left:5.75pt;padding-right:5.75pt"><p style="font:6pt Arial;margin:0">&#160;</p> </td>
<td valign="top" style="background-color:#CEE7FF;width:7.9%;padding-left:5.75pt;padding-right:5.75pt"><p style="font:6pt Arial;margin:0">&#160;</p> </td>
<td valign="top" style="background-color:#CEE7FF;width:9.96%;padding-left:5.75pt;padding-right:5.75pt"><p style="font:6pt Arial;margin:0">&#160;</p> </td>
<td valign="top" style="background-color:#CEE7FF;width:12.36%;padding-left:5.75pt;padding-right:5.75pt"><p style="font:6pt Arial;margin:0">&#160;</p> </td></tr>
<tr style="height:6.9pt">
<td colspan="9" valign="top" style="width:100%;padding-left:5.75pt;padding-right:5.75pt"><p style="font:6pt Arial;margin:0"><span style="font-size:9pt">The accompanying notes are an integral part of the Consolidated Financial Statements.</span></p> </td></tr> </table> <p style="font:10pt Times New Roman;margin:0">&#160;</p> <hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">18</p> <hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p> <p style="font:10pt Courier New;margin:0">&#160;</p> <a id="a42"></a><p style="font:10pt Times New Roman;margin:0">&#160;</p> <p style="font:10pt Times New Roman;margin:0">&#160;</p>
<table style="border-collapse:collapse">
<tr>
<td colspan="4" valign="bottom" style="background-color:#CADFF9;width:437.85pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:center">CHICAGO RIVET &amp; MACHINE CO.</p> </td></tr>
<tr>
<td colspan="4" valign="bottom" style="width:437.85pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:center">Consolidated Statements of Cash Flows</p> </td></tr>
<tr>
<td valign="bottom" style="background-color:#CADFF9;width:279pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:82.25pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:6.55pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">&#160;</p> </td>
<td colspan="2" valign="bottom" style="background-color:#CADFF9;width:82.1pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">&#160;</p> </td></tr>
<tr style="height:37.8pt">
<td valign="bottom" style="width:279pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="width:82.25pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;text-align:center"><b>Year Ended December 31, 2023</b></p> </td>
<td valign="bottom" style="width:6.55pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">&#160;</p> </td>
<td colspan="2" valign="bottom" style="width:82.1pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;text-align:center">Year Ended December 31, 2022</p> </td></tr>
<tr>
<td valign="bottom" style="background-color:#CADFF9;width:279pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">Cash Flows from Operating Activities:</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:82.25pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0"><b>&#160;</b></p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:6.55pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">&#160;</p> </td>
<td colspan="2" valign="bottom" style="background-color:#CADFF9;width:82.1pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="width:279pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">Net Income (Loss)</p> </td>
<td valign="bottom" style="width:82.25pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right"><b>$ &#160;&#160;(<ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="Y23" decimals="INF" unitRef="USD" sign="-" scale="0" format="ixt:num-dot-decimal" id="ixv-5362">4,401,584</ix:nonFraction>)&#160;&#160;&#160;</b></p> </td>
<td valign="bottom" style="width:6.55pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td colspan="2" valign="bottom" style="width:82.1pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">$ &#160;&#160;&#160;&#160;&#160;<ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="Y22" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5363">2,867,629</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="background-color:#CADFF9;width:279pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">Adjustments to Reconcile Net Income to Net Cash Used in Operating Activities: </p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:82.25pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:6.55pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td colspan="2" valign="bottom" style="background-color:#CADFF9;width:82.1pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="width:279pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0"> &#160;Depreciation and Amortization</p> </td>
<td valign="bottom" style="width:82.25pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right"><b><ix:nonFraction name="us-gaap:Depreciation" contextRef="Y23" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5364">1,275,078</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign="bottom" style="width:6.55pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td colspan="2" valign="bottom" style="width:82.1pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:Depreciation" contextRef="Y22" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5365">1,279,870</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="background-color:#CADFF9;width:279pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0"> &#160;Gain on the Sale of Property and Equipment</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:82.25pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right"><b>(<ix:nonFraction name="us-gaap:GainLossOnDispositionOfAssets" contextRef="Y23" decimals="INF" unitRef="USD" sign="-" scale="0" format="ixt:num-dot-decimal" id="ixv-5366">50,422</ix:nonFraction>)&#160;&#160;&#160;</b></p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:6.55pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td colspan="2" valign="bottom" style="background-color:#CADFF9;width:82.1pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">(<ix:nonFraction name="us-gaap:GainLossOnDispositionOfAssets" contextRef="Y22" decimals="INF" unitRef="USD" sign="-" scale="0" format="ixt:num-dot-decimal" id="ixv-5367">4,741,096</ix:nonFraction>)&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="width:279pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0"><span style="color:#833C0B"> &#160;</span>Deferred Income Taxes</p> </td>
<td valign="bottom" style="width:82.25pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right"><b>(<ix:nonFraction name="us-gaap:DeferredIncomeTaxExpenseBenefit" contextRef="Y23" decimals="INF" unitRef="USD" sign="-" scale="0" format="ixt:num-dot-decimal" id="ixv-5368">1,273,027</ix:nonFraction>)&#160;&#160;&#160;</b></p> </td>
<td valign="bottom" style="width:6.55pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td colspan="2" valign="bottom" style="width:82.1pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:DeferredIncomeTaxExpenseBenefit" contextRef="Y22" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5369">22,000</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="background-color:#CADFF9;width:279pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0"><span style="color:#00B0F0"> &#160;</span>Changes in Operating Assets and Liabilities:</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:82.25pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:6.55pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td colspan="2" valign="bottom" style="background-color:#CADFF9;width:82.1pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="width:279pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0"> &#160;&#160;&#160;Accounts Receivable, net</p> </td>
<td valign="bottom" style="width:82.25pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right"><b><ix:nonFraction name="us-gaap:IncreaseDecreaseInAccountsReceivable" contextRef="Y23" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5370">699,255</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign="bottom" style="width:6.55pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td colspan="2" valign="bottom" style="width:82.1pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:IncreaseDecreaseInAccountsReceivable" contextRef="Y22" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5371">672,847</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="background-color:#CADFF9;width:279pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0"> &#160;&#160;&#160;Contract Assets</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:82.25pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right"><b>(<ix:nonFraction name="us-gaap:IncreaseDecreaseInContractWithCustomerAsset" contextRef="Y23" decimals="INF" unitRef="USD" sign="-" scale="0" format="ixt:num-dot-decimal" id="ixv-5372">118,301</ix:nonFraction>)&#160;&#160;&#160;</b></p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:6.55pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td colspan="2" valign="bottom" style="background-color:#CADFF9;width:82.1pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:IncreaseDecreaseInContractWithCustomerAsset" contextRef="Y22" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5373">0</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="width:279pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0"><span style="color:#833C0B"> &#160;&#160;&#160;</span>Inventories, net</p> </td>
<td valign="bottom" style="width:82.25pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right"><b><ix:nonFraction name="us-gaap:IncreaseDecreaseInInventories" contextRef="Y23" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5374">1,793,577</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign="bottom" style="width:6.55pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td colspan="2" valign="bottom" style="width:82.1pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInInventories" contextRef="Y22" decimals="INF" unitRef="USD" sign="-" scale="0" format="ixt:num-dot-decimal" id="ixv-5375">601,450</ix:nonFraction>)&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="background-color:#CADFF9;width:279pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0"> &#160;&#160;&#160;Other Current Assets and Prepaid Income Taxes</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:82.25pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right"><b>(<ix:nonFraction name="us-gaap:IncreaseDecreaseInOtherOperatingAssets" contextRef="Y23" decimals="INF" unitRef="USD" sign="-" scale="0" format="ixt:num-dot-decimal" id="ixv-5376">28,983</ix:nonFraction>)&#160;&#160;&#160;</b></p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:6.55pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td colspan="2" valign="bottom" style="background-color:#CADFF9;width:82.1pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInOtherOperatingAssets" contextRef="Y22" decimals="INF" unitRef="USD" sign="-" scale="0" format="ixt:num-dot-decimal" id="ixv-5377">585,190</ix:nonFraction>)&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="width:279pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0"> &#160;&#160;&#160;Accounts Payable</p> </td>
<td valign="bottom" style="width:82.25pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right"><b><ix:nonFraction name="us-gaap:IncreaseDecreaseInAccountsPayable" contextRef="Y23" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5378">91,739</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign="bottom" style="width:6.55pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td colspan="2" valign="bottom" style="width:82.1pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:IncreaseDecreaseInAccountsPayable" contextRef="Y22" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5379">4,600</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="background-color:#CADFF9;width:279pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0"> &#160;&#160;&#160;Accrued Wages and Salaries</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:82.25pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right"><b><ix:nonFraction name="us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities" contextRef="Y23" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5380">52,568</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:6.55pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td colspan="2" valign="bottom" style="background-color:#CADFF9;width:82.1pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities" contextRef="Y22" decimals="INF" unitRef="USD" sign="-" scale="0" format="ixt:num-dot-decimal" id="ixv-5381">47,000</ix:nonFraction>)&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="width:279pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0"><span style="color:#833C0B"> &#160;&#160;&#160;</span>Other Accrued Expenses</p> </td>
<td valign="bottom" style="width:82.25pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right"><b>(<ix:nonFraction name="us-gaap:IncreaseDecreaseInOtherAccruedLiabilities" contextRef="Y23" decimals="INF" unitRef="USD" sign="-" scale="0" format="ixt:num-dot-decimal" id="ixv-5382">197,998</ix:nonFraction>)&#160;&#160;&#160;</b></p> </td>
<td valign="bottom" style="width:6.55pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td colspan="2" valign="bottom" style="width:82.1pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInOtherAccruedLiabilities" contextRef="Y22" decimals="INF" unitRef="USD" sign="-" scale="0" format="ixt:num-dot-decimal" id="ixv-5383">38,457</ix:nonFraction>)&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="background-color:#CADFF9;width:279pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0"><span style="color:#833C0B"> &#160;&#160;</span> Unearned Revenue and Customer Deposits</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:82.25pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right"><b><ix:nonFraction name="us-gaap:IncreaseDecreaseInCustomerAdvancesAndDeposits" contextRef="Y23" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5384">226,462</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:6.55pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td colspan="2" valign="bottom" style="background-color:#CADFF9;width:82.1pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInCustomerAdvancesAndDeposits" contextRef="Y22" decimals="INF" unitRef="USD" sign="-" scale="0" format="ixt:num-dot-decimal" id="ixv-5385">98,707</ix:nonFraction>)&#160;&#160;&#160;</p> </td></tr>
<tr style="height:14.4pt">
<td valign="bottom" style="width:279pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0"><span style="color:#00B050"> &#160;&#160;&#160;&#160;&#160;</span>Net Cash Used in Operating Activities</p> </td>
<td valign="bottom" style="width:82.25pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;text-align:right"><b>(<ix:nonFraction name="us-gaap:NetCashProvidedByUsedInOperatingActivities" contextRef="Y23" decimals="INF" unitRef="USD" sign="-" scale="0" format="ixt:num-dot-decimal" id="ixv-5386">1,931,636</ix:nonFraction>)&#160;&#160;&#160;</b></p> </td>
<td valign="bottom" style="width:6.55pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td colspan="2" valign="bottom" style="width:82.1pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;text-align:right">(<ix:nonFraction name="us-gaap:NetCashProvidedByUsedInOperatingActivities" contextRef="Y22" decimals="INF" unitRef="USD" sign="-" scale="0" format="ixt:num-dot-decimal" id="ixv-5387">1,264,954</ix:nonFraction>)&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="background-color:#CADFF9;width:279pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:82.25pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:6.55pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td colspan="2" valign="bottom" style="background-color:#CADFF9;width:82.1pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="width:279pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">Cash Flows from Investing Activities:</p> </td>
<td valign="bottom" style="width:82.25pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:6.55pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td colspan="2" valign="bottom" style="width:82.1pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="background-color:#CADFF9;width:279pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0"> &#160;Capital Expenditures</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:82.25pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right"><b>(<ix:nonFraction name="us-gaap:PaymentsToAcquireProductiveAssets" contextRef="Y23" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5388">1,078,367</ix:nonFraction>)&#160;&#160;&#160;</b></p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:6.55pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td colspan="2" valign="bottom" style="background-color:#CADFF9;width:82.1pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">(<ix:nonFraction name="us-gaap:PaymentsToAcquireProductiveAssets" contextRef="Y22" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5389">969,943</ix:nonFraction>)&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="width:279pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0"> &#160;Proceeds from the Sale of Property and Equipment</p> </td>
<td valign="bottom" style="width:82.25pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right"><b><ix:nonFraction name="us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment" contextRef="Y23" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5390">50,422</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign="bottom" style="width:6.55pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td colspan="2" valign="bottom" style="width:82.1pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment" contextRef="Y22" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5391">5,043,240</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="background-color:#CADFF9;width:279pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0"> &#160;Proceeds from Short-Term Investments</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:82.25pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right"><b><ix:nonFraction name="us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfHeldToMaturitySecurities" contextRef="Y23" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5392">2,691,000</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:6.55pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td colspan="2" valign="bottom" style="background-color:#CADFF9;width:82.1pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfHeldToMaturitySecurities" contextRef="Y22" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5393">1,495,000</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="width:279pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0"> &#160;Purchases of Short-Term Investments</p> </td>
<td valign="bottom" style="width:82.25pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right"><b>(<ix:nonFraction name="us-gaap:PaymentsToAcquireHeldToMaturitySecurities" contextRef="Y23" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5394">1,771,120</ix:nonFraction>)&#160;&#160;&#160;</b></p> </td>
<td valign="bottom" style="width:6.55pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td colspan="2" valign="bottom" style="width:82.1pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">(<ix:nonFraction name="us-gaap:PaymentsToAcquireHeldToMaturitySecurities" contextRef="Y22" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5395">1,445,000</ix:nonFraction>)&#160;&#160;&#160;</p> </td></tr>
<tr style="height:14.4pt">
<td valign="bottom" style="background-color:#CADFF9;width:279pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0"> &#160;&#160;&#160;Net Cash Provided by (Used In) Investing Activities</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:82.25pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;text-align:right"><b>(<ix:nonFraction name="us-gaap:NetCashProvidedByUsedInInvestingActivities" contextRef="Y23" decimals="INF" unitRef="USD" sign="-" scale="0" format="ixt:num-dot-decimal" id="ixv-5396">108,065</ix:nonFraction>)&#160;&#160;&#160;</b></p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:6.55pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td colspan="2" valign="bottom" style="background-color:#CADFF9;width:82.1pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:NetCashProvidedByUsedInInvestingActivities" contextRef="Y22" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5397">4,123,297</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="width:279pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="width:82.25pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:6.55pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td colspan="2" valign="bottom" style="width:82.1pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="background-color:#CADFF9;width:279pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">Cash Flows from Financing Activities:</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:82.25pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:6.55pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td colspan="2" valign="bottom" style="background-color:#CADFF9;width:82.1pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="width:279pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0"> &#160;Cash Dividends Paid</p> </td>
<td valign="bottom" style="width:82.25pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right"><b>(<ix:nonFraction name="us-gaap:PaymentsOfDividendsCommonStock" contextRef="Y23" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5398">618,325</ix:nonFraction>)&#160;&#160;&#160;</b></p> </td>
<td valign="bottom" style="width:6.55pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td colspan="2" valign="bottom" style="width:82.1pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">(<ix:nonFraction name="us-gaap:PaymentsOfDividendsCommonStock" contextRef="Y22" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5399">850,196</ix:nonFraction>)&#160;&#160;&#160;</p> </td></tr>
<tr style="height:14.4pt">
<td valign="bottom" style="background-color:#CADFF9;width:279pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0"> &#160;&#160;&#160;Net Cash Used in Financing Activities</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:82.25pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;text-align:right"><b>(<ix:nonFraction name="us-gaap:NetCashProvidedByUsedInFinancingActivities" contextRef="Y23" decimals="INF" unitRef="USD" sign="-" scale="0" format="ixt:num-dot-decimal" id="ixv-5400">618,325</ix:nonFraction>)&#160;&#160;&#160;</b></p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:6.55pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td colspan="2" valign="bottom" style="background-color:#CADFF9;width:82.1pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;text-align:right">(<ix:nonFraction name="us-gaap:NetCashProvidedByUsedInFinancingActivities" contextRef="Y22" decimals="INF" unitRef="USD" sign="-" scale="0" format="ixt:num-dot-decimal" id="ixv-5401">850,196</ix:nonFraction>)&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="width:279pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="width:82.25pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:6.55pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td colspan="2" valign="bottom" style="width:82.1pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="background-color:#CADFF9;width:279pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">Net Increase (Decrease) in Cash and Cash Equivalents</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:82.25pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right"><b>(<ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" contextRef="Y23" decimals="INF" unitRef="USD" sign="-" scale="0" format="ixt:num-dot-decimal" id="ixv-5402">2,658,026</ix:nonFraction>)&#160;&#160;&#160;</b></p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:6.55pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td colspan="2" valign="bottom" style="background-color:#CADFF9;width:82.1pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" contextRef="Y22" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5403">2,008,147</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="width:279pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">Cash and Cash Equivalents:</p> </td>
<td valign="bottom" style="width:82.25pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:6.55pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td colspan="2" valign="bottom" style="width:82.1pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="background-color:#CADFF9;width:279pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">Beginning of Year</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:82.25pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right"><b><ix:nonFraction name="us-gaap:CashAndCashEquivalentsAtCarryingValue" contextRef="E22" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5404">4,045,101</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:6.55pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td colspan="2" valign="bottom" style="background-color:#CADFF9;width:82.1pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:CashAndCashEquivalentsAtCarryingValue" contextRef="E21" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5405">2,036,954</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="width:279pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">End of Year</p> </td>
<td valign="bottom" style="width:82.25pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:9pt Arial;margin:0;text-align:right"><b>$ &#160;&#160;<ix:nonFraction name="us-gaap:CashAndCashEquivalentsAtCarryingValue" contextRef="E23" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5406">1,387,075</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign="bottom" style="width:6.55pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td colspan="2" valign="bottom" style="width:82.1pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:9pt Arial;margin:0;text-align:right">$ &#160;&#160;&#160;&#160;<ix:nonFraction name="us-gaap:CashAndCashEquivalentsAtCarryingValue" contextRef="E22" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5407">4,045,101</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="background-color:#CADFF9;width:279pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:82.25pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;color:#FF0000;text-align:right">&#160;</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:6.55pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td colspan="2" valign="bottom" style="background-color:#CADFF9;width:82.1pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="width:279pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">Cash Paid for Income Taxes</p> </td>
<td valign="bottom" style="width:82.25pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right"><b>$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#160;<ix:nonFraction name="us-gaap:IncomeTaxesPaidNet" contextRef="Y23" decimals="128" unitRef="USD" format="ixt:fixed-zero" id="ixv-5408">-</ix:nonFraction> &#160;&#160;&#160;</b></p> </td>
<td valign="bottom" style="width:6.55pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td colspan="2" valign="bottom" style="width:82.1pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;text-align:right">$ &#160;&#160;&#160;&#160;<ix:nonFraction name="us-gaap:IncomeTaxesPaidNet" contextRef="Y22" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5409">1,271,679</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="background-color:#CADFF9;width:279pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:82.25pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:6.55pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">&#160;</p> </td>
<td colspan="2" valign="bottom" style="background-color:#CADFF9;width:82.1pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">&#160;</p> </td></tr>
<tr>
<td colspan="4" valign="bottom" style="width:437.85pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0">The accompanying notes are an integral part of the Consolidated Financial Statements.</p> </td></tr> </table> <p style="font:10pt Times New Roman;margin:0">&#160;</p> <hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">19</p> <hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p> <p style="font:10pt Times New Roman;margin:0">&#160;</p> <a id="a43"></a><p style="font:10pt Arial;margin:0;margin-right:-5.75pt;color:#000000"><b>Notes to Consolidated Financial Statements</b></p> <ix:nonNumeric name="us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" contextRef="Y23" escape="true" continuedAt="c1" id="ixv-2396"><p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><b>1 - Nature of Business and Significant Accounting Policies</b></p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><b>Nature of Business-</b>The Company operates in the fastener industry and is in the business of producing and selling rivets, cold-formed fasteners and parts, screw machine products, automatic rivet setting machines and parts and tools for such machines.</p> <p style="font:10pt Courier New;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><b>A summary of the Company&#8217;s significant accounting policies follows:</b></p> <ix:nonNumeric name="us-gaap:ConsolidationPolicyTextBlock" contextRef="Y23" escape="true" id="ixv-2406"><p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><b>Principles of Consolidation-</b>The consolidated financial statements include the accounts of Chicago Rivet &amp; Machine Co. and its wholly-owned subsidiary, H &amp; L Tool Company, Inc. (&#8220;H &amp; L Tool&#8221;). &#160;All significant intercompany accounts and transactions have been eliminated.</p> <p style="font:10pt Arial;margin:0">&#160;</p> </ix:nonNumeric><p style="font:10pt Arial;margin:0">&#160;</p> <ix:nonNumeric name="us-gaap:RevenueRecognitionAccountingPolicyGrossAndNetRevenueDisclosure" contextRef="Y23" escape="true" id="ixv-2412"><p style="font:10pt Arial;margin:0"><b>Revenue Recognition-</b> Revenue is recognized when control of the promised goods or services is transferred to our customers, generally upon shipment of goods or completion of services, in an amount that reflects the consideration we expect to receive in exchange for those goods or services. &#160;Sales taxes we may collect concurrent with revenue producing activities are excluded from revenue. &#160;Revenue is recognized net of certain sales adjustments to arrive at net sales as reported on the statement of income. &#160;These adjustments primarily relate to customer returns and allowances, which vary over time. &#160;The Company records a liability and reduction in sales for estimated product returns based upon historical experience. &#160;If we determine that our obligation under warranty claims is probable and subject to reasonable determination, an estimate of that liability is recorded as an offset against revenue at that time. &#160;As of December 31, 2023 and 2022, reserves for warranty claims were not material. &#160;</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">Cash received by the Company prior to shipment is recorded as unearned revenue. &#160;For certain assembly equipment segment transactions, revenue is recognized based on progress toward completion of the performance obligation using a labor-based measure. &#160;Labor incurred and specific material costs are compared to milestone payments per sales contract. &#160;Based on our experience, this method most accurately reflects the transfer of goods under such contracts. &#160;During 2023, the Company realized $<ix:nonFraction name="us-gaap:ContractWithCustomerLiabilityRevenueRecognized" contextRef="Y23" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5410">342,328</ix:nonFraction> of revenue related to such contracts, and has $<ix:nonFraction name="us-gaap:RevenueRemainingPerformanceObligation" contextRef="E23" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5411">123,172</ix:nonFraction> for the remaining performance obligation under such contracts which the Company expects to recognize as revenue in the first quarter of 2024. Contract assets of $<ix:nonFraction name="us-gaap:ContractWithCustomerAssetNetCurrent" contextRef="E23" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5412">118,301</ix:nonFraction> was recorded relating to these contracts. Shipping and handling fees billed to customers are recognized in net sales, and related costs as cost of sales, when incurred.</p> </ix:nonNumeric><p style="font:10pt Arial;margin:0">&#160;</p> <ix:nonNumeric name="us-gaap:ConcentrationRiskCreditRisk" contextRef="Y23" escape="true" id="ixv-2418"><p style="font:10pt Arial;margin:0"><b>Credit Risk-</b>The Company extends credit on the basis of terms that are customary within our markets to various companies doing business primarily in the automotive industry. &#160;The Company has a concentration of credit risk primarily within the automotive industry and in the Midwestern United States. &#160;The Company has established an allowance for accounts that may become uncollectible in the future. &#160;This estimated allowance is based primarily on management's evaluation of the financial condition of the customer and historical experience. &#160;The Company monitors its accounts receivable and charges to expense an amount equal to its estimate of potential credit losses. &#160;The Company considers a number of factors in determining its estimates, including the length of time its trade accounts receivable are past due, the Company's previous loss history and the customer's current ability to pay its obligation. &#160;The Company also considers current economic conditions, the economic outlook and industry-specific factors in its evaluation. &#160;Accounts receivable balances are charged off against the allowance when it is determined that the receivable will not be recovered.</p> </ix:nonNumeric><p style="font:10pt Arial;margin:0">&#160;</p> <ix:nonNumeric name="us-gaap:CashAndCashEquivalentsPolicyTextBlock" contextRef="Y23" escape="true" id="ixv-2422"><p style="font:10pt Arial;margin:0"><b>Cash and Cash Equivalents and Short-Term Investments-</b>The Company considers all highly liquid investments, including U.S. Treasury bills and certificates of deposit, with a maturity of three months or less when purchased to be cash equivalents. &#160;Certificates of deposit and treasury bills with an original maturity of greater than three months but less than one year are separately presented as Short-Term Investments at cost which approximates market value. &#160;The Company maintains cash on deposit in several financial institutions. At times, the account balances may be in excess of Federal Deposit Insurance Corporation insured limits.</p> </ix:nonNumeric><p style="font:10pt Arial;margin:0">&#160;</p> <ix:nonNumeric name="us-gaap:FairValueOfFinancialInstrumentsPolicy" contextRef="Y23" escape="true" id="ixv-2426"><p style="font:10pt Arial;margin:0"><b>Fair Value of Financial Instruments-</b>The carrying amounts reported in the consolidated balance sheets for cash and cash equivalents, certificates of deposit, treasury bills, accounts receivable and accounts payable approximate fair value based on their short-term nature.</p> </ix:nonNumeric><p style="font:10pt Arial;margin:0">&#160;</p> <ix:nonNumeric name="us-gaap:InventoryPolicyTextBlock" contextRef="Y23" escape="true" id="ixv-2430"><p style="font:10pt Arial;margin:0"><b>Inventories-</b>Inventories are stated at the lower of cost or net realizable value, cost being determined by the first-in, first-out method. &#160;The value of inventories is reduced for estimated excess and obsolete inventories based on a review of on-hand inventories compared to historical and estimated future sales and usage.</p> </ix:nonNumeric><p style="font:10pt Arial;margin:0">&#160;</p> </ix:nonNumeric><hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">20</p> <hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p> <ix:continuation id="c1" continuedAt="c2"><p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">&#160;</p> <ix:nonNumeric name="us-gaap:PropertyPlantAndEquipmentPolicyTextBlock" contextRef="Y23" escape="true" id="ixv-2441"><p style="font:10pt Arial;margin:0"><b>Property, Plant and Equipment-</b>Properties are stated at cost and are depreciated over their estimated useful lives using the straight-line method for financial reporting purposes. &#160;Accelerated methods of depreciation are used for income tax purposes. &#160;Direct costs related to developing or obtaining software for internal use are capitalized as property and equipment. &#160;Capitalized software costs are amortized over the software&#8217;s useful life when the software is placed in service. &#160;The estimated useful lives by asset category are:</p> <p style="font:10pt Courier New;margin:0">&#160;</p>
<table style="margin:0 auto;border-collapse:collapse;width:277pt">
<tr>
<td valign="top" style="width:162.55pt"><p style="font:10pt Arial;margin:0"><span style="border-bottom:1px solid #000000"><i>Asset Category</i></span></p> </td>
<td valign="top" style="width:114.45pt"><p style="font:10pt Arial;margin:0;text-align:center"><span style="border-bottom:1px solid #000000"><i>Estimated Useful Life</i></span></p> </td></tr>
<tr>
<td valign="top" style="width:162.55pt"><p style="font:10pt Arial;margin:0">Land improvements&#8230;&#8230;&#8230;&#8230;&#8230;..</p> </td>
<td valign="top" style="width:114.45pt"><p style="font:10pt Arial;margin:0;text-align:right"><ix:nonNumeric name="us-gaap:PropertyPlantAndEquipmentUsefulLife" contextRef="E23_Range-Minimum_PpeByType-LandImprovements" format="ixt-sec:duryear" id="ixv-5413">15</ix:nonNumeric> to <ix:nonNumeric name="us-gaap:PropertyPlantAndEquipmentUsefulLife" contextRef="E23_Range-Maximum_PpeByType-LandImprovements" format="ixt-sec:duryear" id="ixv-5414">40</ix:nonNumeric> years</p> </td></tr>
<tr>
<td valign="top" style="width:162.55pt"><p style="font:10pt Arial;margin:0">Buildings and improvements&#8230;&#8230;</p> </td>
<td valign="top" style="width:114.45pt"><p style="font:10pt Arial;margin:0;text-align:right"><ix:nonNumeric name="us-gaap:PropertyPlantAndEquipmentUsefulLife" contextRef="E23_Range-Minimum_PpeByType-BuildingImprovements" format="ixt-sec:duryear" id="ixv-5415">10</ix:nonNumeric> to <ix:nonNumeric name="us-gaap:PropertyPlantAndEquipmentUsefulLife" contextRef="E23_Range-Maximum_PpeByType-BuildingImprovements" format="ixt-sec:duryear" id="ixv-5416">40</ix:nonNumeric> years</p> </td></tr>
<tr>
<td valign="top" style="width:162.55pt"><p style="font:10pt Arial;margin:0">Machinery and equipment&#8230;&#8230;&#8230;</p> </td>
<td valign="top" style="width:114.45pt"><p style="font:10pt Arial;margin:0;text-align:right"><ix:nonNumeric name="us-gaap:PropertyPlantAndEquipmentUsefulLife" contextRef="E23_Range-Minimum_PpeByType-MachineryAndEquipment" format="ixt-sec:duryear" id="ixv-5417">5</ix:nonNumeric> to <ix:nonNumeric name="us-gaap:PropertyPlantAndEquipmentUsefulLife" contextRef="E23_Range-Maximum_PpeByType-MachineryAndEquipment" format="ixt-sec:duryear" id="ixv-5418">18</ix:nonNumeric> years</p> </td></tr>
<tr>
<td valign="top" style="width:162.55pt"><p style="font:10pt Arial;margin:0">Capitalized software costs&#8230;&#8230;&#8230;</p> </td>
<td valign="top" style="width:114.45pt"><p style="font:10pt Arial;margin:0;text-align:right"><ix:nonNumeric name="us-gaap:PropertyPlantAndEquipmentUsefulLife" contextRef="E23_Range-Minimum_PpeByType-SoftwareAndSoftwareDvlpCosts" format="ixt-sec:duryear" id="ixv-5419">3</ix:nonNumeric> to <ix:nonNumeric name="us-gaap:PropertyPlantAndEquipmentUsefulLife" contextRef="E23_Range-Maximum_PpeByType-SoftwareAndSoftwareDvlpCosts" format="ixt-sec:duryear" id="ixv-5420">5</ix:nonNumeric> years</p> </td></tr>
<tr>
<td valign="top" style="width:162.55pt"><p style="font:10pt Arial;margin:0">Other equipment&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</p> </td>
<td valign="top" style="width:114.45pt"><p style="font:10pt Arial;margin:0;text-align:right"><ix:nonNumeric name="us-gaap:PropertyPlantAndEquipmentUsefulLife" contextRef="E23_Range-Minimum_PpeByType-OtherCapizedPpe" format="ixt-sec:duryear" id="ixv-5421">3</ix:nonNumeric> to <ix:nonNumeric name="us-gaap:PropertyPlantAndEquipmentUsefulLife" contextRef="E23_Range-Maximum_PpeByType-OtherCapizedPpe" format="ixt-sec:duryear" id="ixv-5422">10</ix:nonNumeric> years</p> </td></tr> </table> <p style="font:10pt Courier New;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">The Company reviews the carrying value of property, plant and equipment for impairment whenever events and circumstances indicate that the carrying value of an asset may not be recoverable from the estimated future cash flows expected to result from its use and eventual disposition. &#160;In cases where undiscounted expected future cash flows are less than the carrying value, an impairment loss is recognized equal to an amount by which the carrying value exceeds the fair value of assets. &#160;There were no triggering events requiring assessment of impairment as of December 31, 2023 and 2022.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">When properties are retired or sold, the related cost and accumulated depreciation are removed from the respective accounts, and any gain or loss on disposition is recognized in current operations. &#160;Maintenance, repairs and minor betterments that do not improve the related asset or extend its useful life are charged to operations as incurred. </p> </ix:nonNumeric><p style="font:10pt Arial;margin:0">&#160;</p> <ix:nonNumeric name="us-gaap:IncomeTaxPolicyTextBlock" contextRef="Y23" escape="true" id="ixv-2485"><p style="font:10pt Arial;margin:0"><b>Income Taxes&#8212;</b>Deferred income taxes are determined under the asset and liability method. &#160;Deferred income taxes arise from temporary differences between the income tax basis of assets and liabilities and their reported amounts in the financial statements. &#160;Deferred taxes are shown on the balance sheet as a net long-term asset or liability.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">The Company applies a comprehensive model for the financial statement recognition, measurement, classification and disclosure of uncertain tax positions.&#160; In the first step of the two-step process, the Company evaluates the tax position for recognition by determining if the weight of available evidence indicates that it is more likely than not that the position will be sustained on audit, including resolution of related appeals or litigation processes, if any. In the second step, the Company measures the tax benefit as the largest amount that is more than 50% likely of being realized upon settlement.&#160; As of December 31, 2023 and 2022, the Company determined that there are <ix:nonFraction name="us-gaap:LiabilityForUncertainTaxPositionsCurrent" contextRef="E23" decimals="INF" unitRef="USD" format="ixt:fixed-zero" id="ixv-5423"><ix:nonFraction name="us-gaap:LiabilityForUncertainTaxPositionsCurrent" contextRef="E22" decimals="INF" unitRef="USD" format="ixt:fixed-zero" id="ixv-5424">no</ix:nonFraction></ix:nonFraction> uncertain tax positions with a more than 50% likelihood of being realized upon settlement.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">The Company classifies interest and penalties related to unrecognized tax benefits as a component of income tax expense. &#160;There were <ix:nonFraction name="us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense" contextRef="Y23" decimals="INF" unitRef="USD" format="ixt:fixed-zero" id="ixv-5425"><ix:nonFraction name="us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense" contextRef="Y22" decimals="INF" unitRef="USD" format="ixt:fixed-zero" id="ixv-5426">no</ix:nonFraction></ix:nonFraction> such expenses in 2023 or 2022.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">The Company&#8217;s federal income tax returns for the 2020 through 2022 tax years are subject to examination by the Internal Revenue Service (&#8220;IRS&#8221;). &#160;While it may be possible that a reduction could occur with respect to the Company&#8217;s unrecognized tax benefits as an outcome of an IRS examination, management does not anticipate any adjustments that would result in a material change to the results of operations or financial condition of the Company.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">No statutes have been extended on any of the Company&#8217;s federal income tax filings. The statute of limitations on the Company&#8217;s 2020, 2021 and 2022 federal income tax returns will expire on September 15, 2024, 2025 and 2026, respectively.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">The Company&#8217;s state income tax returns for the 2020 through 2022 tax years are subject to examination by various state authorities with the latest closing period on October 31, 2026. &#160;The Company is currently not under examination by any state authority for income tax purposes and no statutes for state income tax filings have been extended.</p> </ix:nonNumeric></ix:continuation><hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">21</p> <hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p> <ix:continuation id="c2"><p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">&#160;</p> <ix:nonNumeric name="us-gaap:SegmentReportingPolicyPolicyTextBlock" contextRef="Y23" escape="true" id="ixv-2505"><p style="font:10pt Arial;margin:0"><b>Segment Information-</b>The Company reports segment information based on the internal structure and reporting of the Company&#8217;s operations.</p> </ix:nonNumeric><p style="font:10pt Arial;margin:0">&#160;</p> <ix:nonNumeric name="us-gaap:EarningsPerSharePolicyTextBlock" contextRef="Y23" escape="true" id="ixv-2509"><p style="font:10pt Arial;margin:0"><b>Net Income Per Share-</b> Net income per share of common stock is based on the weighted average number of shares outstanding of <ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="Y23" decimals="INF" unitRef="Shares" scale="0" format="ixt:num-dot-decimal" id="ixv-5427"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="Y22" decimals="INF" unitRef="Shares" scale="0" format="ixt:num-dot-decimal" id="ixv-5428">966,132</ix:nonFraction></ix:nonFraction> in 2023 and 2022.</p> </ix:nonNumeric><p style="font:10pt Arial;margin:0">&#160;</p> <ix:nonNumeric name="us-gaap:UseOfEstimates" contextRef="Y23" escape="true" id="ixv-2513"><p style="font:10pt Times New Roman;margin:0"><span style="font-family:Arial"><b>Use of Estimates-</b>The preparation of financial statements in conformity with generally accepted accounting principles requires management to make estimates and assumptions that affect the amounts reported in the consolidated financial statements and the accompanying notes. &#160;Significant items subject to estimates and assumptions include depreciable lives, deferred taxes and valuation allowances for accounts receivable and inventory obsolescence. &#160;Actual results could differ from those estimates.</span></p> </ix:nonNumeric><p style="font:10pt Arial;margin:0">&#160;</p> <ix:nonNumeric name="us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock" contextRef="Y23" escape="true" id="ixv-2518"><p style="font:10pt Arial;margin:0"><b>Recent Accounting Pronouncements-</b> In June 2016, the FASB issued ASU No. 2016-13, Financial Instruments&#160;- Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments and in November 2018 issued an amendment, ASU 2018-19, Codification Improvements to Topic 326, Financial Instruments &#8211;&#160;Credit Losses. &#160;ASU 2016-13 amends the impairment model by requiring entities to use a forward-looking approach based on expected losses rather than incurred losses to estimate credit losses on certain types of financial instruments, including trade receivables. This may result in the earlier recognition of allowances for losses. ASU 2016-13 and ASU 2018-19 should be applied on either a prospective transition or modified-retrospective approach depending on the subtopic. &#160;ASU 2016-13 is effective for annual periods beginning after December 15, 2022, including interim periods within those fiscal years, with early adoption permitted. The Company adopted this ASU on January 1, 2023. &#160;The impact of the adoption on our consolidated financial statements was not material and primarily resulted in new/enhanced disclosures only.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">In November 2023, the FASB issued ASU No. 2023-07, Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures, which requires a public entity to disclose its significant segment expense categories and amounts for each reportable segment. &#160;The new guidance is effective for fiscal years beginning after December 15, 2023, and interim periods in fiscal years beginning after December 15, 2024. &#160;The Company is evaluating the impact of this ASU. &#160;</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">In December 2023, the FASB issued ASU No. 2023-09, Income Taxes (Topic 740): Improvements to Income Tax Disclosures, to enhance the transparency and decision usefulness of income tax disclosures providing investors with information to better assess how an entity&#8217;s operations and related tax risks and tax planning and operational opportunities affect its tax rate and prospects for future cash flows. The new guidance is effective for annual periods beginning after December 31, 2024. &#160;The Company is evaluating the impact that it will have on our consolidated financial statements and disclosures.</p> </ix:nonNumeric><p style="font:10pt Arial;margin:0">&#160;</p> </ix:continuation><hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">22</p> <hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0;text-align:justify">&#160;</p> <ix:nonNumeric name="us-gaap:SupplementalBalanceSheetDisclosuresTextBlock" contextRef="Y23" escape="true" id="ixv-2532"><p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><b>2 - Balance Sheet Details</b></p> <ix:nonNumeric name="us-gaap:ScheduleOfInventoryCurrentTableTextBlock" contextRef="Y23" escape="true" id="ixv-2536"><p style="font:10pt Courier New;margin:0">&#160;</p>
<table style="border-collapse:collapse">
<tr>
<td valign="bottom" style="background-color:#CEE7FF;width:216pt"/>
<td valign="bottom" style="background-color:#CEE7FF;width:90pt"><p style="font:10pt Arial;margin:0;text-align:center"><b>December 31,</b></p> <p style="font:10pt Arial;margin:0;text-align:center"><b>2023</b></p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:90pt"><p style="font:10pt Arial;margin:0;text-align:center">December 31,</p> <p style="font:10pt Arial;margin:0;text-align:center">2022</p> </td></tr>
<tr>
<td valign="top" style="width:216pt"><p style="font:10pt Arial;margin:0">Inventories:</p> </td>
<td valign="bottom" style="width:90pt"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:90pt"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="background-color:#CEE7FF;width:216pt"><p style="font:10pt Arial;margin:0">Raw materials</p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:90pt"><p style="font:10pt Arial;margin:0;text-align:right"><b>$&#160;<ix:nonFraction name="us-gaap:InventoryRawMaterials" contextRef="E23" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5429">2,878,869</ix:nonFraction></b></p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:90pt"><p style="font:10pt Arial;margin:0;text-align:right">$&#160;<ix:nonFraction name="us-gaap:InventoryRawMaterials" contextRef="E22" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5430">4,460,071</ix:nonFraction></p> </td></tr>
<tr>
<td valign="bottom" style="width:216pt"><p style="font:10pt Arial;margin:0">Work in process</p> </td>
<td valign="bottom" style="width:90pt"><p style="font:10pt Arial;margin:0;text-align:right"><b><ix:nonFraction name="us-gaap:InventoryWorkInProcess" contextRef="E23" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5431">2,374,795</ix:nonFraction></b></p> </td>
<td valign="bottom" style="width:90pt"><p style="font:10pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:InventoryWorkInProcess" contextRef="E22" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5432">2,747,427</ix:nonFraction></p> </td></tr>
<tr>
<td valign="bottom" style="background-color:#CEE7FF;width:216pt"><p style="font:10pt Arial;margin:0">Finished goods</p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:90pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Arial;margin:0;text-align:right"><b><ix:nonFraction name="us-gaap:InventoryFinishedGoods" contextRef="E23" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5433">2,614,989</ix:nonFraction></b></p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:90pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:InventoryFinishedGoods" contextRef="E22" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5434">2,534,732</ix:nonFraction></p> </td></tr>
<tr>
<td valign="bottom" style="width:216pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="width:90pt;border-top:0.5pt solid #000000"><p style="font:10pt Arial;margin:0;text-align:right"><b>7,868,653</b></p> </td>
<td valign="bottom" style="width:90pt;border-top:0.5pt solid #000000"><p style="font:10pt Arial;margin:0;text-align:right">9,742,230</p> </td></tr>
<tr>
<td valign="bottom" style="background-color:#CEE7FF;width:216pt"><p style="font:10pt Arial;margin:0">Valuation reserves</p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:90pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Arial;margin:0;text-align:right"><b>(<ix:nonFraction name="us-gaap:InventoryValuationReserves" contextRef="E23" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5435">541,000</ix:nonFraction>)</b></p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:90pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Arial;margin:0;text-align:right">(<ix:nonFraction name="us-gaap:InventoryValuationReserves" contextRef="E22" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5436">621,000</ix:nonFraction>)</p> </td></tr>
<tr>
<td valign="top" style="width:216pt"/>
<td valign="bottom" style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:10pt Arial;margin:0;text-align:right"><b>$&#160;<ix:nonFraction name="us-gaap:InventoryNet" contextRef="E23" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5437">7,327,653</ix:nonFraction></b></p> </td>
<td valign="bottom" style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:10pt Arial;margin:0;text-align:right">$&#160;<ix:nonFraction name="us-gaap:InventoryNet" contextRef="E22" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5438">9,121,230</ix:nonFraction></p> </td></tr> </table> <p style="font:10pt Courier New;margin:0">&#160;</p> </ix:nonNumeric><p style="font:10pt Courier New;margin:0">&#160;</p> <ix:nonNumeric name="us-gaap:PropertyPlantAndEquipmentTextBlock" contextRef="Y23" escape="true" id="ixv-2605"><p style="font:10pt Courier New;margin:0">&#160;</p>
<table style="border-collapse:collapse">
<tr>
<td valign="bottom" style="background-color:#CEE7FF;width:216pt"/>
<td valign="bottom" style="background-color:#CEE7FF;width:90pt"><p style="font:10pt Arial;margin:0;text-align:center"><b>December 31,</b></p> <p style="font:10pt Arial;margin:0;text-align:center"><b>2023</b></p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:90pt"><p style="font:10pt Arial;margin:0;text-align:center">December 31,</p> <p style="font:10pt Arial;margin:0;text-align:center">2022</p> </td></tr>
<tr style="height:13.95pt">
<td valign="bottom" style="width:216pt"><p style="font:10pt Arial;margin:0">Property, Plant and Equipment, net:</p> </td>
<td valign="top" style="width:90pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td valign="top" style="width:90pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="background-color:#CEE7FF;width:216pt"><p style="font:10pt Arial;margin:0">Land and improvements</p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:90pt"><p style="font:10pt Arial;margin:0;text-align:right"><b>$&#160;<ix:nonFraction name="us-gaap:LandAndLandImprovements" contextRef="E23" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5439">1,510,513</ix:nonFraction></b></p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:90pt"><p style="font:10pt Arial;margin:0;text-align:right">$&#160;<ix:nonFraction name="us-gaap:LandAndLandImprovements" contextRef="E22" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5440">1,510,513</ix:nonFraction></p> </td></tr>
<tr>
<td valign="bottom" style="width:216pt"><p style="font:10pt Arial;margin:0">Buildings and improvements</p> </td>
<td valign="bottom" style="width:90pt"><p style="font:10pt Arial;margin:0;text-align:right"><b><ix:nonFraction name="us-gaap:BuildingsAndImprovementsGross" contextRef="E23" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5441">6,835,619</ix:nonFraction></b></p> </td>
<td valign="bottom" style="width:90pt"><p style="font:10pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:BuildingsAndImprovementsGross" contextRef="E22" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5442">6,818,066</ix:nonFraction></p> </td></tr>
<tr>
<td valign="bottom" style="background-color:#CEE7FF;width:216pt"><p style="font:10pt Arial;margin:0">Machinery and equipment</p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:90pt"><p style="font:10pt Arial;margin:0;text-align:right"><b><ix:nonFraction name="us-gaap:MachineryAndEquipmentGross" contextRef="E23" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5443">37,019,453</ix:nonFraction></b></p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:90pt"><p style="font:10pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:MachineryAndEquipmentGross" contextRef="E22" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5444">35,982,194</ix:nonFraction></p> </td></tr>
<tr>
<td valign="bottom" style="width:216pt"><p style="font:10pt Arial;margin:0">Capitalized software and other</p> </td>
<td valign="bottom" style="width:90pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Arial;margin:0;text-align:right"><b><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentOther" contextRef="E23" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5445">933,449</ix:nonFraction></b></p> </td>
<td valign="bottom" style="width:90pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentOther" contextRef="E22" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5446">1,038,768</ix:nonFraction></p> </td></tr>
<tr>
<td valign="top" style="background-color:#CEE7FF;width:216pt"><p style="font:13pt Arial Narrow;margin:0">&#160;</p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:90pt;border-top:0.5pt solid #000000"><p style="font:10pt Arial;margin:0;text-align:right"><b>46,299,034</b></p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:90pt;border-top:0.5pt solid #000000"><p style="font:10pt Arial;margin:0;text-align:right">45,349,541</p> </td></tr>
<tr>
<td valign="bottom" style="width:216pt"><p style="font:10pt Arial;margin:0">Accumulated depreciation</p> </td>
<td valign="bottom" style="width:90pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Arial;margin:0;text-align:right"><b>(<ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="E23" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5447">34,633,952</ix:nonFraction>)</b></p> </td>
<td valign="bottom" style="width:90pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Arial;margin:0;text-align:right">(<ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="E22" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5448">33,487,748</ix:nonFraction>)</p> </td></tr>
<tr>
<td valign="top" style="background-color:#CEE7FF;width:216pt"/>
<td valign="bottom" style="background-color:#CEE7FF;width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:10pt Arial;margin:0;text-align:right"><b>$&#160;<ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentOtherNet" contextRef="E23" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5449">11,665,082</ix:nonFraction></b></p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:10pt Arial;margin:0;text-align:right">$&#160;<ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentOtherNet" contextRef="E22" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5450">11,861,793</ix:nonFraction></p> </td></tr> </table> <p style="font:10pt Courier New;margin:0">&#160;</p> </ix:nonNumeric><p style="font:10pt Courier New;margin:0">&#160;</p> <ix:nonNumeric name="us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock" contextRef="Y23" escape="true" id="ixv-2682"><p style="font:10pt Courier New;margin:0">&#160;</p>
<table style="border-collapse:collapse">
<tr>
<td valign="bottom" style="background-color:#CEE7FF;width:216pt"/>
<td valign="bottom" style="background-color:#CEE7FF;width:90pt"><p style="font:10pt Arial;margin:0;text-align:center"><b>December 31,</b></p> <p style="font:10pt Arial;margin:0;text-align:center"><b>2023</b></p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:90pt"><p style="font:10pt Arial;margin:0;text-align:center">December 31,</p> <p style="font:10pt Arial;margin:0;text-align:center">2022</p> </td></tr>
<tr>
<td valign="top" style="width:216pt"><p style="font:10pt Arial;margin:0">Other Accrued Expenses:</p> </td>
<td valign="top" style="width:90pt"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="top" style="width:90pt"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td valign="top" style="background-color:#CEE7FF;width:216pt"><p style="font:10pt Arial;margin:0">Profit sharing plan contribution</p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:90pt"><p style="font:10pt Arial;margin:0;text-align:right"><b>$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name="us-gaap:OtherEmployeeRelatedLiabilitiesCurrent" contextRef="E23" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5451">0</ix:nonFraction></b></p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:90pt"><p style="font:10pt Arial;margin:0;text-align:right">$&#160;<ix:nonFraction name="us-gaap:OtherEmployeeRelatedLiabilitiesCurrent" contextRef="E22" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5452">170,000</ix:nonFraction></p> </td></tr>
<tr>
<td valign="top" style="width:216pt"><p style="font:10pt Arial;margin:0">Property taxes</p> </td>
<td valign="bottom" style="width:90pt"><p style="font:10pt Arial;margin:0;text-align:right"><b><ix:nonFraction name="us-gaap:AccrualForTaxesOtherThanIncomeTaxesCurrent" contextRef="E23" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5453">20,342</ix:nonFraction></b></p> </td>
<td valign="bottom" style="width:90pt"><p style="font:10pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:AccrualForTaxesOtherThanIncomeTaxesCurrent" contextRef="E22" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5454">41,497</ix:nonFraction></p> </td></tr>
<tr>
<td valign="top" style="background-color:#CEE7FF;width:216pt"><p style="font:10pt Arial;margin:0">All other items </p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:90pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Arial;margin:0;text-align:right"><b><ix:nonFraction name="us-gaap:OtherAccruedLiabilitiesCurrent" contextRef="E23" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5455">109,621</ix:nonFraction></b></p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:90pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:OtherAccruedLiabilitiesCurrent" contextRef="E22" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5456">116,464</ix:nonFraction></p> </td></tr>
<tr>
<td valign="top" style="width:216pt"/>
<td valign="bottom" style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:10pt Arial;margin:0;text-align:right"><b>$&#160;<ix:nonFraction name="us-gaap:AccruedLiabilitiesCurrent" contextRef="E23" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5457">129,963</ix:nonFraction></b></p> </td>
<td valign="bottom" style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:10pt Arial;margin:0;text-align:right">$&#160;<ix:nonFraction name="us-gaap:AccruedLiabilitiesCurrent" contextRef="E22" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5458">327,961</ix:nonFraction></p> </td></tr> </table> <p style="font:10pt Courier New;margin:0">&#160;</p> </ix:nonNumeric><p style="font:10pt Courier New;margin:0">&#160;</p> <ix:nonNumeric name="srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock" contextRef="Y23" escape="true" id="ixv-2735"><p style="font:10pt Courier New;margin:0">&#160;</p>
<table style="border-collapse:collapse">
<tr>
<td valign="top" style="background-color:#CEE7FF;width:216pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:90pt"><p style="font:10pt Arial;margin:0;text-align:center"><b>December 31,</b></p> <p style="font:10pt Arial;margin:0;text-align:center"><b>2023</b></p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:90pt"><p style="font:10pt Arial;margin:0;text-align:center">December 31,</p> <p style="font:10pt Arial;margin:0;text-align:center">2022</p> </td></tr>
<tr>
<td valign="top" style="width:216pt"><p style="font:10pt Arial;margin:0">Allowance for Credit Losses:</p> </td>
<td valign="top" style="width:90pt"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="top" style="width:90pt"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td valign="top" style="background-color:#CEE7FF;width:216pt"><p style="font:10pt Arial;margin:0"> &#160;Balance at beginning of year</p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:90pt"><p style="font:10pt Arial;margin:0;text-align:right"><b>$ <ix:nonFraction name="us-gaap:ValuationAllowancesAndReservesBalance" contextRef="E22_ValuationAllowancesAndReservesType-AllowanceForCreditLoss" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5459">160,000</ix:nonFraction></b></p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:90pt"><p style="font:10pt Arial;margin:0;text-align:right">$ <ix:nonFraction name="us-gaap:ValuationAllowancesAndReservesBalance" contextRef="E21_ValuationAllowancesAndReservesType-AllowanceForCreditLoss" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5460">170,000</ix:nonFraction></p> </td></tr>
<tr>
<td valign="top" style="width:216pt"><p style="font:10pt Arial;margin:0"> &#160;Charges to statement of operations</p> </td>
<td valign="bottom" style="width:90pt"><p style="font:10pt Arial;margin:0;text-align:right"><b> <ix:nonFraction name="us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense" contextRef="Y23_ValuationAllowancesAndReservesType-AllowanceForCreditLoss" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5461">13,804</ix:nonFraction></b></p> </td>
<td valign="bottom" style="width:90pt"><p style="font:10pt Arial;margin:0;text-align:right">(<ix:nonFraction name="us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense" contextRef="Y22_ValuationAllowancesAndReservesType-AllowanceForCreditLoss" decimals="INF" unitRef="USD" sign="-" scale="0" format="ixt:num-dot-decimal" id="ixv-5462">1,660</ix:nonFraction>)</p> </td></tr>
<tr>
<td valign="top" style="background-color:#CEE7FF;width:216pt"><p style="font:10pt Arial;margin:0"> &#160;Write-offs, net of recoveries</p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:90pt"><p style="font:10pt Arial;margin:0;text-align:right"><b> (<ix:nonFraction name="us-gaap:ValuationAllowancesAndReservesDeductions" contextRef="Y23_ValuationAllowancesAndReservesType-AllowanceForCreditLoss" decimals="INF" unitRef="USD" sign="-" scale="0" format="ixt:num-dot-decimal" id="ixv-5463">13,804</ix:nonFraction>)</b></p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:90pt"><p style="font:10pt Arial;margin:0;text-align:right">(<ix:nonFraction name="us-gaap:ValuationAllowancesAndReservesDeductions" contextRef="Y22_ValuationAllowancesAndReservesType-AllowanceForCreditLoss" decimals="INF" unitRef="USD" sign="-" scale="0" format="ixt:num-dot-decimal" id="ixv-5464">8,340</ix:nonFraction>)</p> </td></tr>
<tr>
<td valign="top" style="width:216pt"><p style="font:10pt Arial;margin:0"> &#160;Balance at end of year</p> </td>
<td valign="bottom" style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:10pt Arial;margin:0;text-align:right"><b>$ &#160;<ix:nonFraction name="us-gaap:ValuationAllowancesAndReservesBalance" contextRef="E23_ValuationAllowancesAndReservesType-AllowanceForCreditLoss" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5465">160,000</ix:nonFraction></b></p> </td>
<td valign="bottom" style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:10pt Arial;margin:0;text-align:right">$ <ix:nonFraction name="us-gaap:ValuationAllowancesAndReservesBalance" contextRef="E22_ValuationAllowancesAndReservesType-AllowanceForCreditLoss" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5466">160,000</ix:nonFraction></p> </td></tr> </table> <p style="font:10pt Courier New;margin:0">&#160;</p>
<table style="border-collapse:collapse">
<tr>
<td valign="top" style="background-color:#CEE7FF;width:216pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:90pt"><p style="font:10pt Arial;margin:0;text-align:center"><b>December 31,</b></p> <p style="font:10pt Arial;margin:0;text-align:center"><b>2023</b></p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:90pt"><p style="font:10pt Arial;margin:0;text-align:center">December 31,</p> <p style="font:10pt Arial;margin:0;text-align:center">2022</p> </td></tr>
<tr>
<td valign="top" style="width:216pt"><p style="font:10pt Arial;margin:0">Inventory Valuation Reserves:</p> </td>
<td valign="top" style="width:90pt"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="top" style="width:90pt"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td valign="top" style="background-color:#CEE7FF;width:216pt"><p style="font:10pt Arial;margin:0"> &#160;Balance at beginning of year</p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:90pt"><p style="font:10pt Arial;margin:0;text-align:right"><b>$ &#160; <ix:nonFraction name="us-gaap:ValuationAllowancesAndReservesBalance" contextRef="E22_ValuationAllowancesAndReservesType-InventoryValuationReserve" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5467">621,000</ix:nonFraction></b></p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:90pt"><p style="font:10pt Arial;margin:0;text-align:right">$ &#160; <ix:nonFraction name="us-gaap:ValuationAllowancesAndReservesBalance" contextRef="E21_ValuationAllowancesAndReservesType-InventoryValuationReserve" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5468">612,000</ix:nonFraction></p> </td></tr>
<tr>
<td valign="top" style="width:216pt"><p style="font:10pt Arial;margin:0"> &#160;Charges to statement of operations</p> </td>
<td valign="bottom" style="width:90pt"><p style="font:10pt Arial;margin:0;text-align:right"><b><ix:nonFraction name="us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense" contextRef="Y23_ValuationAllowancesAndReservesType-InventoryValuationReserve" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5469">143,233</ix:nonFraction></b></p> </td>
<td valign="bottom" style="width:90pt"><p style="font:10pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense" contextRef="Y22_ValuationAllowancesAndReservesType-InventoryValuationReserve" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5470">17,070</ix:nonFraction></p> </td></tr>
<tr>
<td valign="top" style="background-color:#CEE7FF;width:216pt"><p style="font:10pt Arial;margin:0"> &#160;Write-offs</p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:90pt"><p style="font:10pt Arial;margin:0;text-align:right"><b> (<ix:nonFraction name="us-gaap:ValuationAllowancesAndReservesDeductions" contextRef="Y23_ValuationAllowancesAndReservesType-InventoryValuationReserve" decimals="INF" unitRef="USD" sign="-" scale="0" format="ixt:num-dot-decimal" id="ixv-5471">223,233</ix:nonFraction>)</b></p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:90pt"><p style="font:10pt Arial;margin:0;text-align:right"> (<ix:nonFraction name="us-gaap:ValuationAllowancesAndReservesDeductions" contextRef="Y22_ValuationAllowancesAndReservesType-InventoryValuationReserve" decimals="INF" unitRef="USD" sign="-" scale="0" format="ixt:num-dot-decimal" id="ixv-5472">8,070</ix:nonFraction>)</p> </td></tr>
<tr>
<td valign="top" style="width:216pt"><p style="font:10pt Arial;margin:0"> &#160;Balance at end of year</p> </td>
<td valign="bottom" style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:10pt Arial;margin:0;text-align:right"><b>$ &#160; <ix:nonFraction name="us-gaap:ValuationAllowancesAndReservesBalance" contextRef="E23_ValuationAllowancesAndReservesType-InventoryValuationReserve" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5473">541,000</ix:nonFraction></b></p> </td>
<td valign="bottom" style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:10pt Arial;margin:0;text-align:right">$ &#160;&#160;<ix:nonFraction name="us-gaap:ValuationAllowancesAndReservesBalance" contextRef="E22_ValuationAllowancesAndReservesType-InventoryValuationReserve" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5474">621,000</ix:nonFraction></p> </td></tr> </table> <p style="font:10pt Courier New;margin:0">&#160;</p> </ix:nonNumeric></ix:nonNumeric><hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">23</p> <hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">&#160;</p> <ix:nonNumeric name="us-gaap:IncomeTaxDisclosureTextBlock" contextRef="Y23" escape="true" id="ixv-2847"><p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Times New Roman;margin:0"><span style="font-family:Arial"><b>3</b><b> - </b><b>Income Taxes&#8212;</b>The provision (benefit) for income tax expense consists of the following</span><span style="font-family:Arial;color:#833C0B">:</span></p> <ix:nonNumeric name="us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" contextRef="Y23" escape="true" id="ixv-2855"><p style="font:10pt Arial;margin:0">&#160;</p>
<table style="border-collapse:collapse">
<tr>
<td valign="bottom" style="background-color:#CEE7FF;width:151.9pt"/>
<td valign="bottom" style="background-color:#CEE7FF;width:72pt"><p style="font:10pt Arial;margin:0;text-align:center"><span style="border-bottom:1px solid #000000"><b>20</b><b>23</b></span></p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:72pt"><p style="font:10pt Arial;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2022</span></p> </td></tr>
<tr>
<td valign="bottom" style="width:151.9pt"><p style="font:10pt Arial;margin:0">Current:</p> </td>
<td valign="top" style="width:72pt"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="top" style="width:72pt"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="background-color:#CEE7FF;width:151.9pt"><p style="font:10pt Arial;margin:0">Federal</p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:72pt"><p style="font:10pt Arial;margin:0;text-align:right"><b>$ &#160;&#160;&#160;&#160;&#160;&#160;(<ix:nonFraction name="us-gaap:FederalIncomeTaxExpenseBenefitContinuingOperations" contextRef="Y23" decimals="INF" unitRef="USD" sign="-" scale="0" format="ixt:num-dot-decimal" id="ixv-5475">1,569</ix:nonFraction>)</b></p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:72pt"><p style="font:10pt Arial;margin:0;text-align:right">$ &#160;&#160;&#160;<ix:nonFraction name="us-gaap:FederalIncomeTaxExpenseBenefitContinuingOperations" contextRef="Y22" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5476">723,000</ix:nonFraction></p> </td></tr>
<tr>
<td valign="bottom" style="width:151.9pt"><p style="font:10pt Arial;margin:0">State</p> </td>
<td valign="bottom" style="width:72pt"><p style="font:10pt Arial;margin:0;text-align:right"><b>(<ix:nonFraction name="us-gaap:CurrentStateAndLocalTaxExpenseBenefit" contextRef="Y23" decimals="INF" unitRef="USD" sign="-" scale="0" format="ixt:num-dot-decimal" id="ixv-5477">52,832</ix:nonFraction>)</b></p> </td>
<td valign="bottom" style="width:72pt"><p style="font:10pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:CurrentStateAndLocalTaxExpenseBenefit" contextRef="Y22" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5478">40,000</ix:nonFraction></p> </td></tr>
<tr>
<td valign="bottom" style="background-color:#CEE7FF;width:151.9pt"><p style="font:10pt Arial;margin:0">Deferred</p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:72pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Arial;margin:0;text-align:right"><b>(<ix:nonFraction name="us-gaap:DeferredIncomeTaxExpenseBenefit" contextRef="Y23" decimals="INF" unitRef="USD" sign="-" scale="0" format="ixt:num-dot-decimal" id="ixv-5479">1,273,027</ix:nonFraction>)</b></p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:72pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:DeferredIncomeTaxExpenseBenefit" contextRef="Y22" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5480">22,000</ix:nonFraction></p> </td></tr>
<tr style="height:7.2pt">
<td valign="top" style="width:151.9pt"/>
<td valign="bottom" style="width:72pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:10pt Arial;margin:0;text-align:right"><b>$ (<ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="Y23" decimals="INF" unitRef="USD" sign="-" scale="0" format="ixt:num-dot-decimal" id="ixv-5481">1,327,428</ix:nonFraction>)</b></p> </td>
<td valign="bottom" style="width:72pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:10pt Arial;margin:0;text-align:right">$ &#160;&#160; <ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="Y22" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5482">785,000</ix:nonFraction></p> </td></tr> </table> <p style="font:10pt Courier New;margin:0">&#160;</p> </ix:nonNumeric><p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">The following is a reconciliation of the statutory federal income tax rate to the actual effective tax rate:</p> <ix:nonNumeric name="us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" contextRef="Y23" escape="true" id="ixv-2909"><p style="font:10pt Courier New;margin:0">&#160;</p>
<table style="border-collapse:collapse">
<tr>
<td valign="top" style="background-color:#CEE7FF;width:216pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td colspan="3" valign="bottom" style="background-color:#CEE7FF;width:118.35pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Arial;margin:0;text-align:center"><b>2023</b></p> </td>
<td valign="top" style="background-color:#CEE7FF;width:11.1pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td colspan="3" valign="bottom" style="background-color:#CEE7FF;width:120.05pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Arial;margin:0;text-align:center">2022</p> </td></tr>
<tr>
<td valign="top" style="width:216pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="width:72pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Arial;margin:0;text-align:center"><b>Amount</b></p> </td>
<td valign="bottom" style="width:11.8pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Arial;margin:0;text-align:center">&#160;</p> </td>
<td valign="bottom" style="width:34.55pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Arial;margin:0;text-align:center"><b>%</b></p> </td>
<td valign="bottom" style="width:11.1pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Arial;margin:0;text-align:center">&#160;</p> </td>
<td valign="bottom" style="width:72pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Arial;margin:0;text-align:center">Amount</p> </td>
<td valign="bottom" style="width:11.1pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Arial;margin:0;text-align:center">&#160;</p> </td>
<td valign="bottom" style="width:36.95pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Arial;margin:0;text-align:center">%</p> </td></tr>
<tr>
<td valign="bottom" style="background-color:#CEE7FF;width:216pt"><p style="font:10pt Arial;margin:0">Expected tax at U.S. statutory rate</p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:72pt;border-top:0.5pt solid #000000"><p style="font:10pt Arial;margin:0;color:#000000;text-align:right"><b>$ (<ix:nonFraction name="us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" contextRef="Y23" decimals="INF" unitRef="USD" sign="-" scale="0" format="ixt:num-dot-decimal" id="ixv-5483">1,203,000</ix:nonFraction>)</b></p> </td>
<td valign="top" style="background-color:#CEE7FF;width:11.8pt;border-top:0.5pt solid #000000"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:34.55pt;border-top:0.5pt solid #000000"><p style="font:10pt Arial;margin:0;text-align:right"><b>(<ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" contextRef="Y23" decimals="INF" unitRef="Pure" scale="-2" format="ixt:num-dot-decimal" id="ixv-5484">21.0</ix:nonFraction>)</b></p> </td>
<td valign="top" style="background-color:#CEE7FF;width:11.1pt;border-top:0.5pt solid #000000"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:72pt;border-top:0.5pt solid #000000"><p style="font:10pt Arial;margin:0;text-align:right">$ &#160;&#160;&#160; <ix:nonFraction name="us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" contextRef="Y22" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5485">767,000</ix:nonFraction></p> </td>
<td valign="top" style="background-color:#CEE7FF;width:11.1pt;border-top:0.5pt solid #000000"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:36.95pt;border-top:0.5pt solid #000000"><p style="font:10pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" contextRef="Y22" decimals="INF" unitRef="Pure" scale="-2" format="ixt:num-dot-decimal" id="ixv-5486">21.0</ix:nonFraction></p> </td></tr>
<tr>
<td valign="bottom" style="width:216pt"><p style="font:10pt Arial;margin:0">Permanent differences</p> </td>
<td valign="bottom" style="width:72pt"><p style="font:10pt Arial;margin:0;text-align:right"><b> (<ix:nonFraction name="us-gaap:IncomeTaxReconciliationOtherAdjustments" contextRef="Y23" decimals="INF" unitRef="USD" sign="-" scale="0" format="ixt:num-dot-decimal" id="ixv-5487">3,428</ix:nonFraction>)</b></p> </td>
<td valign="top" style="width:11.8pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="width:34.55pt"><p style="font:10pt Arial;margin:0;text-align:right"><b>(<ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments" contextRef="Y23" decimals="INF" unitRef="Pure" sign="-" scale="-2" format="ixt:num-dot-decimal" id="ixv-5488">0.1</ix:nonFraction>)</b></p> </td>
<td valign="top" style="width:11.1pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="width:72pt"><p style="font:10pt Arial;margin:0;text-align:right"> (<ix:nonFraction name="us-gaap:IncomeTaxReconciliationOtherAdjustments" contextRef="Y22" decimals="INF" unitRef="USD" sign="-" scale="0" format="ixt:num-dot-decimal" id="ixv-5489">14,000</ix:nonFraction>)</p> </td>
<td valign="top" style="width:11.1pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="width:36.95pt"><p style="font:10pt Arial;margin:0;text-align:right"> (<ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments" contextRef="Y22" decimals="INF" unitRef="Pure" sign="-" scale="-2" format="ixt:num-dot-decimal" id="ixv-5490">0.4</ix:nonFraction>)</p> </td></tr>
<tr>
<td valign="bottom" style="background-color:#CEE7FF;width:216pt"><p style="font:10pt Arial;margin:0">State taxes, net of federal benefit</p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:72pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Arial;margin:0;text-align:right"><b>(<ix:nonFraction name="us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes" contextRef="Y23" decimals="INF" unitRef="USD" sign="-" scale="0" format="ixt:num-dot-decimal" id="ixv-5491">121,000</ix:nonFraction>)</b></p> </td>
<td valign="top" style="background-color:#CEE7FF;width:11.8pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:34.55pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Arial;margin:0;text-align:right"><b>(<ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" contextRef="Y23" decimals="INF" unitRef="Pure" sign="-" scale="-2" format="ixt:num-dot-decimal" id="ixv-5492">2.1</ix:nonFraction>)</b></p> </td>
<td valign="top" style="background-color:#CEE7FF;width:11.1pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:72pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes" contextRef="Y22" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5493">32,000</ix:nonFraction></p> </td>
<td valign="top" style="background-color:#CEE7FF;width:11.1pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:36.95pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" contextRef="Y22" decimals="INF" unitRef="Pure" scale="-2" format="ixt:num-dot-decimal" id="ixv-5494">0.9</ix:nonFraction></p> </td></tr>
<tr>
<td valign="bottom" style="width:216pt"><p style="font:10pt Arial;margin:0">Income tax expense (benefit)</p> </td>
<td valign="bottom" style="width:72pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:10pt Arial;margin:0;text-align:right"><b>$ (<ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="Y23" decimals="INF" unitRef="USD" sign="-" scale="0" format="ixt:num-dot-decimal" id="ixv-5495">1,327,428</ix:nonFraction>)</b></p> </td>
<td valign="top" style="width:11.8pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="width:34.55pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:10pt Arial;margin:0;text-align:right"><b>(<ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" contextRef="Y23" decimals="INF" unitRef="Pure" sign="-" scale="-2" format="ixt:num-dot-decimal" id="ixv-5496">23.2</ix:nonFraction>)</b></p> </td>
<td valign="top" style="width:11.1pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="width:72pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:10pt Arial;margin:0;text-align:right">$ &#160;&#160; <ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="Y22" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5497">785,000</ix:nonFraction></p> </td>
<td valign="top" style="width:11.1pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="width:36.95pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:10pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" contextRef="Y22" decimals="INF" unitRef="Pure" scale="-2" format="ixt:num-dot-decimal" id="ixv-5498">21.5</ix:nonFraction></p> </td></tr> </table> <p style="font:10pt Courier New;margin:0">&#160;</p> </ix:nonNumeric><p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">The deferred tax assets (liabilites) consist of the following:</p> <ix:nonNumeric name="us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" contextRef="Y23" escape="true" id="ixv-3020"><p style="font:10pt Courier New;margin:0">&#160;</p>
<table style="border-collapse:collapse">
<tr style="height:18pt">
<td valign="bottom" style="background-color:#CADFF9"><p style="font:10pt Arial;margin:0;text-align:center">&#160;</p> </td>
<td valign="bottom" style="background-color:#CADFF9"><p style="font:10pt Arial;margin:0;text-align:center"><span style="border-bottom:1px solid #000000"><b>20</b><b>23</b></span></p> </td>
<td valign="bottom" style="background-color:#CADFF9"><p style="font:10pt Arial;margin:0;text-align:center">&#160;</p> </td>
<td valign="bottom" style="background-color:#CADFF9"><p style="font:10pt Arial;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2022</span></p> </td></tr>
<tr>
<td valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td valign="top"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="top"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="top"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td valign="top" style="background-color:#CADFF9"><p style="font:10pt Arial;margin:0">Depreciation and amortization</p> </td>
<td valign="bottom" style="background-color:#CADFF9"><p style="font:10pt Arial;margin:0;text-align:right"><b>$&#160;(<ix:nonFraction name="us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment" contextRef="E23" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5499">1,254,472</ix:nonFraction>)&#160;&#160;</b></p> </td>
<td valign="bottom" style="background-color:#CADFF9"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="background-color:#CADFF9"><p style="font:10pt Arial;margin:0;text-align:right">$&#160;(<ix:nonFraction name="us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment" contextRef="E22" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5500">1,216,451</ix:nonFraction>)&#160;&#160;</p> </td></tr>
<tr>
<td valign="top"><p style="font:10pt Arial;margin:0">Inventory</p> </td>
<td valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b><ix:nonFraction name="us-gaap:DeferredTaxAssetsInventory" contextRef="E23" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5501">157,307</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:DeferredTaxAssetsInventory" contextRef="E22" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5502">157,687</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign="top" style="background-color:#CADFF9"><p style="font:10pt Arial;margin:0">Accrued vacation</p> </td>
<td valign="bottom" style="background-color:#CADFF9"><p style="font:10pt Arial;margin:0;text-align:right"><b><ix:nonFraction name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsCompensatedAbsences" contextRef="E23" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5503">66,240</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign="bottom" style="background-color:#CADFF9"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="background-color:#CADFF9"><p style="font:10pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsCompensatedAbsences" contextRef="E22" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5504">71,923</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign="top"><p style="font:10pt Arial;margin:0">Allowance for credit losses</p> </td>
<td valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b><ix:nonFraction name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" contextRef="E23" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5505">33,600</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" contextRef="E22" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5506">38,250</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign="top" style="background-color:#CADFF9"><p style="font:10pt Arial;margin:0">Net operating losses</p> </td>
<td valign="bottom" style="background-color:#CADFF9"><p style="font:10pt Arial;margin:0;text-align:right"><b><ix:nonFraction name="us-gaap:DeferredTaxAssetsOperatingLossCarryforwards" contextRef="E23" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5507">1,262,621</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign="bottom" style="background-color:#CADFF9"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="background-color:#CADFF9"><p style="font:10pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:DeferredTaxAssetsOperatingLossCarryforwards" contextRef="E22" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5508">0</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign="top"><p style="font:10pt Arial;margin:0">Other, net &#160;</p> </td>
<td valign="bottom" style="border-bottom:0.5pt solid #000000"><p style="font:10pt Arial;margin:0;text-align:right"><b><ix:nonFraction name="us-gaap:DeferredTaxAssetsOther" contextRef="E23" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5509">59,647</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="border-bottom:0.5pt solid #000000"><p style="font:10pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:DeferredTaxAssetsOther" contextRef="E22" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5510">507</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign="top" style="background-color:#CADFF9"><p style="font:13pt Arial Narrow;margin:0;color:#339966">&#160;</p> </td>
<td valign="bottom" style="background-color:#CADFF9;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:10pt Arial;margin:0;text-align:right"><b>$ &#160;&#160;&#160;&#160;&#160;<ix:nonFraction name="us-gaap:DeferredTaxAssetsNet" contextRef="E23" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5511">324,943</ix:nonFraction>&#160;&#160;</b></p> </td>
<td valign="bottom" style="background-color:#CADFF9"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="background-color:#CADFF9;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:10pt Arial;margin:0;text-align:right">$&#160;(<ix:nonFraction name="us-gaap:DeferredTaxLiabilities" contextRef="E22" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5512">948,084</ix:nonFraction>)&#160;&#160;</p> </td></tr> </table> <p style="font:10pt Arial;margin:0">&#160;</p> </ix:nonNumeric><p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">At December 31, 2023, the Company had federal net operating loss carryforwards of approximately $<ix:nonFraction name="us-gaap:OperatingLossCarryforwards" contextRef="E23" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5513">6,045,000</ix:nonFraction>. &#160;The net operating loss carryforwards are not subject to expiration, however are subject to annual utilization limitations for U.S. federal income tax purposes. &#160;&#160;The Company believes it is more-likely-than-not that its deferred tax assets will be realized, based primarily on its expectation of future taxable income and considering future reversals of existing taxable temporary differences. &#160;The Company reviews the need for a valuation allowance on a quarterly basis for each of its tax jurisdictions.</p> <p style="font:10pt Arial;margin:0">&#160;</p> </ix:nonNumeric><hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">24</p> <hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">&#160;</p> <ix:nonNumeric name="us-gaap:CompensationAndEmployeeBenefitPlansOtherThanShareBasedCompensationTextBlock" contextRef="Y23" escape="true" id="ixv-3125"><p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><b>4 - Profit Sharing Plan- </b>The Company has a noncontributory profit sharing plan covering substantially all employees. &#160;Total expenses relating to the profit sharing plan were <ix:nonFraction name="us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount" contextRef="Y23" decimals="INF" unitRef="USD" format="ixt:fixed-zero" id="ixv-5514">zero</ix:nonFraction> in 2023 and $<ix:nonFraction name="us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount" contextRef="Y22" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5515">170,000</ix:nonFraction> in 2022.</p> <p style="font:10pt Arial;margin:0">&#160;</p> </ix:nonNumeric><p style="font:10pt Arial;margin:0">&#160;</p> <ix:nonNumeric name="us-gaap:InterestAndOtherIncomeTextBlock" contextRef="Y23" escape="true" id="ixv-3131"><p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><b>5 - Other Income- </b>consists of the following:</p> <ix:nonNumeric name="us-gaap:InterestAndOtherIncomeTableTextBlock" contextRef="Y23" escape="true" id="ixv-3135"><p style="font:10pt Arial;margin:0">&#160;</p>
<table style="border-collapse:collapse">
<tr>
<td valign="bottom" style="background-color:#CEE7FF;width:159.15pt"/>
<td valign="bottom" style="background-color:#CEE7FF;width:63.65pt"><p style="font:10pt Arial;margin:0;text-align:center"><span style="border-bottom:1px solid #000000"><b>20</b><b>23</b></span></p> </td>
<td valign="top" style="background-color:#CEE7FF;width:11.8pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:68.55pt"><p style="font:10pt Arial;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2022</span></p> </td></tr>
<tr style="height:14.4pt">
<td valign="bottom" style="width:159.15pt"><p style="font:10pt Arial;margin:0">Interest income</p> </td>
<td valign="bottom" style="width:63.65pt"><p style="font:10pt Arial;margin:0;text-align:right"><b>$&#160;<ix:nonFraction name="us-gaap:InvestmentIncomeInterest" contextRef="Y23" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5516">103,230</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign="bottom" style="width:11.8pt"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:68.55pt"><p style="font:10pt Arial;margin:0;text-align:right">$&#160; <ix:nonFraction name="us-gaap:InvestmentIncomeInterest" contextRef="Y22" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5517">55,333</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="background-color:#CEE7FF;width:159.15pt"><p style="font:10pt Arial;margin:0">Other</p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:63.65pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Arial;margin:0;text-align:right"><b><ix:nonFraction name="us-gaap:OtherNonoperatingIncome" contextRef="Y23" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5518">5,004</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:11.8pt"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:68.55pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:OtherNonoperatingIncome" contextRef="Y22" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5519">36,100</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="width:159.15pt"/>
<td valign="bottom" style="width:63.65pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:10pt Arial;margin:0;text-align:right"><b>$&#160;<ix:nonFraction name="us-gaap:OtherNonoperatingIncomeExpense" contextRef="Y23" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5520">108,234</ix:nonFraction>&#160;&#160;&#160;</b></p> </td>
<td valign="bottom" style="width:11.8pt"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:68.55pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:10pt Arial;margin:0;text-align:right">$&#160;<ix:nonFraction name="us-gaap:OtherNonoperatingIncomeExpense" contextRef="Y22" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5521">91,433</ix:nonFraction>&#160;&#160;&#160;</p> </td></tr> </table> <p style="font:10pt Courier New;margin:0">&#160;</p> </ix:nonNumeric><p style="font:10pt Arial;margin:0">&#160;</p> </ix:nonNumeric><p style="font:10pt Arial;margin:0">&#160;</p> <ix:nonNumeric name="us-gaap:SegmentReportingDisclosureTextBlock" contextRef="Y23" escape="true" continuedAt="c3" id="ixv-3182"><p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><b>6 - Segment Information- </b>The Company operates in the United States in two business segments as determined by its products. &#160;The fastener segment, which comprises H &amp; L Tool and the parent company&#8217;s fastener operations, includes rivets, cold-formed fasteners and parts and screw machine products. &#160;The assembly equipment segment includes automatic rivet setting machines and parts and tools for such machines. &#160;Information by segment is as follows:</p> <ix:nonNumeric name="us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock" contextRef="Y23" escape="true" id="ixv-3186"><p style="font:10pt Courier New;margin:0">&#160;</p>
<table style="border-collapse:collapse;margin-left:-3.6pt">
<tr>
<td valign="bottom" style="background-color:#CADFF9;width:179.1pt"/>
<td valign="bottom" style="background-color:#CADFF9;width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:center"><span style="border-bottom:1px solid #000000"><b>Fastener</b></span></p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:center"><span style="border-bottom:1px solid #000000"><b>Assembly Equipment</b></span></p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:center"><span style="border-bottom:1px solid #000000"><b>Other</b></span></p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:center"><span style="border-bottom:1px solid #000000"><b>Consolidated</b></span></p> </td></tr>
<tr>
<td valign="bottom" style="width:179.1pt"><p style="font:8pt Arial;margin:0"><b>Year Ended December 31, 2023:</b></p> </td>
<td valign="bottom" style="width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="background-color:#CADFF9;width:179.1pt"><p style="font:8pt Arial;margin:0;color:#E36C0A"><span style="color:#000000">Net Sales&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</span></p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right">$ &#160;&#160;&#160;&#160;&#160;<ix:nonFraction name="us-gaap:Revenues" contextRef="Y23_StBusnSeg-Fastener" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5522">28,161,362</ix:nonFraction></p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right">$ &#160;&#160;&#160;&#160;&#160;<ix:nonFraction name="us-gaap:Revenues" contextRef="Y23_StBusnSeg-AssemblyEquipment" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5523">3,346,360</ix:nonFraction></p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right">$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name="us-gaap:Revenues" contextRef="Y23_StBusnSeg-Corporate" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5524">0</ix:nonFraction></p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right">$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;31,507,722</p> </td></tr>
<tr>
<td valign="bottom" style="width:179.1pt"><p style="font:8pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="background-color:#CADFF9;width:179.1pt"><p style="font:8pt Arial;margin:0">Depreciation&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;...</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:Depreciation" contextRef="Y23_StBusnSeg-Fastener" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5525">1,145,620</ix:nonFraction></p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:Depreciation" contextRef="Y23_StBusnSeg-AssemblyEquipment" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5526">122,928</ix:nonFraction></p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:Depreciation" contextRef="Y23_StBusnSeg-Corporate" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5527">6,530</ix:nonFraction></p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right">1,275,078</p> </td></tr>
<tr>
<td valign="bottom" style="width:179.1pt"><p style="font:8pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="background-color:#CADFF9;width:179.1pt"><p style="font:8pt Arial;margin:0">Segment operating profit (loss) &#160;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right">(<ix:nonFraction name="fil:SegmentOperatingProfit" contextRef="Y23_StBusnSeg-Fastener" decimals="INF" unitRef="USD" sign="-" scale="0" format="ixt:num-dot-decimal" id="ixv-5528">3,747,744</ix:nonFraction>)</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right"><ix:nonFraction name="fil:SegmentOperatingProfit" contextRef="Y23_StBusnSeg-AssemblyEquipment" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5529">549,156</ix:nonFraction></p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:75.6pt"><p style="font:8pt Arial;margin:0;margin-left:20.25pt;text-align:right"><ix:nonFraction name="fil:SegmentOperatingProfit" contextRef="Y23_StBusnSeg-Corporate" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5530">0</ix:nonFraction> </p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right">(3,198,588)</p> </td></tr>
<tr>
<td valign="bottom" style="width:179.1pt"><p style="font:8pt Arial;margin:0">Selling and administrative expenses&#8230;&#8230;&#8230;&#8230;..</p> </td>
<td valign="bottom" style="width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right"><ix:nonFraction name="fil:SellingAndAdministrativeExpensesUnallocatedCorporate" contextRef="Y23_StBusnSeg-Fastener" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5531">0</ix:nonFraction></p> </td>
<td valign="bottom" style="width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right"><ix:nonFraction name="fil:SellingAndAdministrativeExpensesUnallocatedCorporate" contextRef="Y23_StBusnSeg-AssemblyEquipment" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5532">0</ix:nonFraction></p> </td>
<td valign="bottom" style="width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right">(<ix:nonFraction name="fil:SellingAndAdministrativeExpensesUnallocatedCorporate" contextRef="Y23_StBusnSeg-Corporate" decimals="INF" unitRef="USD" sign="-" scale="0" format="ixt:num-dot-decimal" id="ixv-5533">2,638,658</ix:nonFraction>)</p> </td>
<td valign="bottom" style="width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right">(2,638,658)</p> </td></tr>
<tr>
<td valign="bottom" style="background-color:#CADFF9;width:179.1pt"><p style="font:8pt Arial;margin:0">Other income&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;..</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:InterestAndOtherIncome" contextRef="Y23_StBusnSeg-Fastener" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5534">0</ix:nonFraction></p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:InterestAndOtherIncome" contextRef="Y23_StBusnSeg-AssemblyEquipment" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5535">0</ix:nonFraction></p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:InterestAndOtherIncome" contextRef="Y23_StBusnSeg-Corporate" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5536">108,234</ix:nonFraction></p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:75.6pt;border-bottom:0.5pt solid #000000"><p style="font:8pt Arial;margin:0;text-align:right">108,234</p> </td></tr>
<tr>
<td valign="bottom" style="width:179.1pt"><p style="font:8pt Arial;margin:0">Loss before income taxes&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</p> </td>
<td valign="bottom" style="width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:75.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:8pt Arial;margin:0;text-align:right">(5,729,012)</p> </td></tr>
<tr>
<td valign="bottom" style="background-color:#CADFF9;width:179.1pt"><p style="font:8pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:75.6pt;border-top:0.5pt solid #000000"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="width:179.1pt"><p style="font:8pt Arial;margin:0">Capital expenditures&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;.</p> </td>
<td valign="bottom" style="width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" contextRef="Y23_StBusnSeg-Fastener" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5537">1,041,896</ix:nonFraction></p> </td>
<td valign="bottom" style="width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" contextRef="Y23_StBusnSeg-AssemblyEquipment" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5538">5,235</ix:nonFraction></p> </td>
<td valign="bottom" style="width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" contextRef="Y23_StBusnSeg-Corporate" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5539">31,236</ix:nonFraction></p> </td>
<td valign="bottom" style="width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right">1,078,367</p> </td></tr>
<tr>
<td valign="bottom" style="background-color:#CADFF9;width:179.1pt"><p style="font:8pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="width:179.1pt"><p style="font:8pt Arial;margin:0">Segment assets:</p> </td>
<td valign="bottom" style="width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="background-color:#CADFF9;width:179.1pt"><p style="font:8pt Arial;margin:0"> &#160;&#160;Accounts receivable, net&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;...</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:AccountsReceivableNetCurrent" contextRef="E23_StBusnSeg-Fastener" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5540">3,994,372</ix:nonFraction></p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:AccountsReceivableNetCurrent" contextRef="E23_StBusnSeg-AssemblyEquipment" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5541">281,510</ix:nonFraction></p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:AccountsReceivableNetCurrent" contextRef="E23_StBusnSeg-Corporate" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5542">0</ix:nonFraction></p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right">4,275,882</p> </td></tr>
<tr>
<td valign="bottom" style="width:179.1pt"><p style="font:8pt Arial;margin:0"> &#160;&#160;Contract assets&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;...</p> </td>
<td valign="bottom" style="width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:ContractWithCustomerAssetNetCurrent" contextRef="E23_StBusnSeg-Fastener" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5543">0</ix:nonFraction></p> </td>
<td valign="bottom" style="width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:ContractWithCustomerAssetNetCurrent" contextRef="E23_StBusnSeg-AssemblyEquipment" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5544">118,301</ix:nonFraction></p> </td>
<td valign="bottom" style="width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:ContractWithCustomerAssetNetCurrent" contextRef="E23_StBusnSeg-Corporate" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5545">0</ix:nonFraction></p> </td>
<td valign="bottom" style="width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right">118,301</p> </td></tr>
<tr>
<td valign="bottom" style="background-color:#CADFF9;width:179.1pt"><p style="font:8pt Arial;margin:0"> &#160;&#160;Inventories, net&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;...</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:InventoryNet" contextRef="E23_StBusnSeg-Fastener" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5546">5,714,826</ix:nonFraction></p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:InventoryNet" contextRef="E23_StBusnSeg-AssemblyEquipment" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5547">1,612,827</ix:nonFraction></p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:InventoryNet" contextRef="E23_StBusnSeg-Corporate" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5548">0</ix:nonFraction></p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right">7,327,653</p> </td></tr>
<tr>
<td valign="bottom" style="width:179.1pt"><p style="font:8pt Arial;margin:0"> &#160;&#160;Property, plant and equipment, net&#8230;&#8230;&#8230;&#8230;.</p> </td>
<td valign="bottom" style="width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="E23_StBusnSeg-Fastener" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5549">9,458,605</ix:nonFraction></p> </td>
<td valign="bottom" style="width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="E23_StBusnSeg-AssemblyEquipment" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5550">1,185,804</ix:nonFraction></p> </td>
<td valign="bottom" style="width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="E23_StBusnSeg-Corporate" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5551">1,020,673</ix:nonFraction></p> </td>
<td valign="bottom" style="width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right">11,665,082</p> </td></tr>
<tr>
<td valign="bottom" style="background-color:#CADFF9;width:179.1pt"><p style="font:8pt Arial;margin:0"> &#160;&#160;Other assets&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:OtherAssets" contextRef="E23_StBusnSeg-Fastener" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5552">0</ix:nonFraction></p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:OtherAssets" contextRef="E23_StBusnSeg-AssemblyEquipment" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5553">0</ix:nonFraction></p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:OtherAssets" contextRef="E23_StBusnSeg-Corporate" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5554">4,443,987</ix:nonFraction></p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:75.6pt;border-bottom:0.5pt solid #000000"><p style="font:8pt Arial;margin:0;text-align:right">4,443,987</p> </td></tr>
<tr>
<td valign="bottom" style="width:179.1pt"><p style="font:8pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:75.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:8pt Arial;margin:0;text-align:right">27,830,905</p> </td></tr>
<tr>
<td valign="bottom" style="background-color:#CADFF9;width:179.1pt"><p style="font:8pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:75.6pt;border-top:0.5pt solid #000000"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="width:179.1pt"><p style="font:8pt Arial;margin:0">Year Ended December 31, 2022:</p> </td>
<td valign="bottom" style="width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="background-color:#CADFF9;width:179.1pt"><p style="font:8pt Arial;margin:0;color:#E36C0A"><span style="color:#000000">Net Sales&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</span></p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right">$ &#160;&#160;&#160;&#160;&#160;<ix:nonFraction name="us-gaap:Revenues" contextRef="Y22_StBusnSeg-Fastener" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5555">30,291,547</ix:nonFraction></p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right">$ &#160;&#160;&#160;&#160;&#160;<ix:nonFraction name="us-gaap:Revenues" contextRef="Y22_StBusnSeg-AssemblyEquipment" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5556">3,354,486</ix:nonFraction></p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right">$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name="us-gaap:Revenues" contextRef="Y22_StBusnSeg-Corporate" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5557">0</ix:nonFraction></p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right">$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;33,646,033</p> </td></tr>
<tr>
<td valign="bottom" style="width:179.1pt"><p style="font:8pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="background-color:#CADFF9;width:179.1pt"><p style="font:8pt Arial;margin:0">Depreciation&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;...</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:Depreciation" contextRef="Y22_StBusnSeg-Fastener" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5558">1,129,151</ix:nonFraction></p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:Depreciation" contextRef="Y22_StBusnSeg-AssemblyEquipment" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5559">133,615</ix:nonFraction></p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:Depreciation" contextRef="Y22_StBusnSeg-Corporate" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5560">17,104</ix:nonFraction></p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right">1,279,870</p> </td></tr>
<tr>
<td valign="bottom" style="width:179.1pt"><p style="font:8pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="background-color:#CADFF9;width:179.1pt"><p style="font:8pt Arial;margin:0">Segment operating profit&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right"><ix:nonFraction name="fil:SegmentOperatingProfit" contextRef="Y22_StBusnSeg-Fastener" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5561">505,751</ix:nonFraction></p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right"><ix:nonFraction name="fil:SegmentOperatingProfit" contextRef="Y22_StBusnSeg-AssemblyEquipment" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5562">413,995</ix:nonFraction></p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:75.6pt"><p style="font:8pt Arial;margin:0;margin-left:20.25pt;text-align:right"><ix:nonFraction name="fil:SegmentOperatingProfit" contextRef="Y22_StBusnSeg-Corporate" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5563">0</ix:nonFraction> </p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right">919,746</p> </td></tr>
<tr>
<td valign="bottom" style="width:179.1pt"><p style="font:8pt Arial;margin:0">Selling and administrative expenses&#8230;&#8230;&#8230;&#8230;..</p> </td>
<td valign="bottom" style="width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right"><ix:nonFraction name="fil:SellingAndAdministrativeExpensesUnallocatedCorporate" contextRef="Y22_StBusnSeg-Fastener" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5564">0</ix:nonFraction></p> </td>
<td valign="bottom" style="width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right"><ix:nonFraction name="fil:SellingAndAdministrativeExpensesUnallocatedCorporate" contextRef="Y22_StBusnSeg-AssemblyEquipment" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5565">0</ix:nonFraction></p> </td>
<td valign="bottom" style="width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right">(<ix:nonFraction name="fil:SellingAndAdministrativeExpensesUnallocatedCorporate" contextRef="Y22_StBusnSeg-Corporate" decimals="INF" unitRef="USD" sign="-" scale="0" format="ixt:num-dot-decimal" id="ixv-5566">2,096,944</ix:nonFraction>)</p> </td>
<td valign="bottom" style="width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right">(2,096,944)</p> </td></tr>
<tr>
<td valign="bottom" style="background-color:#CADFF9;width:179.1pt"><p style="font:8pt Arial;margin:0">Gain on sale of property &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:GainLossOnSaleOfPropertyPlantEquipment" contextRef="Y22_StBusnSeg-Corporate" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5567">4,738,394</ix:nonFraction></p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right">4,738,394</p> </td></tr>
<tr>
<td valign="bottom" style="width:179.1pt"><p style="font:8pt Arial;margin:0">Other income&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;..</p> </td>
<td valign="bottom" style="width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:InterestAndOtherIncome" contextRef="Y22_StBusnSeg-Fastener" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5568">0</ix:nonFraction></p> </td>
<td valign="bottom" style="width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:InterestAndOtherIncome" contextRef="Y22_StBusnSeg-AssemblyEquipment" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5569">0</ix:nonFraction></p> </td>
<td valign="bottom" style="width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:InterestAndOtherIncome" contextRef="Y22_StBusnSeg-Corporate" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5570">91,433</ix:nonFraction></p> </td>
<td valign="bottom" style="width:75.6pt;border-bottom:0.5pt solid #000000"><p style="font:8pt Arial;margin:0;text-align:right">91,433</p> </td></tr>
<tr>
<td valign="bottom" style="background-color:#CADFF9;width:179.1pt"><p style="font:8pt Arial;margin:0">Income before income taxes&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:75.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:8pt Arial;margin:0;text-align:right">3,652,629</p> </td></tr>
<tr>
<td valign="bottom" style="width:179.1pt"><p style="font:8pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:75.6pt;border-top:0.5pt solid #000000"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="background-color:#CADFF9;width:179.1pt"><p style="font:8pt Arial;margin:0">Capital expenditures&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;.</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" contextRef="Y22_StBusnSeg-Fastener" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5571">868,654</ix:nonFraction></p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" contextRef="Y22_StBusnSeg-AssemblyEquipment" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5572">3,207</ix:nonFraction></p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" contextRef="Y22_StBusnSeg-Corporate" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5573">98,082</ix:nonFraction></p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right">969,943</p> </td></tr>
<tr>
<td valign="bottom" style="width:179.1pt"><p style="font:8pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="background-color:#CADFF9;width:179.1pt"><p style="font:8pt Arial;margin:0">Segment assets:</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="width:179.1pt"><p style="font:8pt Arial;margin:0"> &#160;&#160;Accounts receivable, net&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;...</p> </td>
<td valign="bottom" style="width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:AccountsReceivableNetCurrent" contextRef="E22_StBusnSeg-Fastener" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5574">4,683,620</ix:nonFraction></p> </td>
<td valign="bottom" style="width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:AccountsReceivableNetCurrent" contextRef="E22_StBusnSeg-AssemblyEquipment" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5575">291,517</ix:nonFraction></p> </td>
<td valign="bottom" style="width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:AccountsReceivableNetCurrent" contextRef="E22_StBusnSeg-Corporate" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5576">0</ix:nonFraction></p> </td>
<td valign="bottom" style="width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right">4,975,137</p> </td></tr>
<tr>
<td valign="bottom" style="background-color:#CADFF9;width:179.1pt"><p style="font:8pt Arial;margin:0"> &#160;&#160;Inventories, net&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;...</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:InventoryNet" contextRef="E22_StBusnSeg-Fastener" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5577">7,766,703</ix:nonFraction></p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:InventoryNet" contextRef="E22_StBusnSeg-AssemblyEquipment" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5578">1,354,527</ix:nonFraction></p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:InventoryNet" contextRef="E22_StBusnSeg-Corporate" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5579">0</ix:nonFraction></p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right">9,121,230</p> </td></tr>
<tr>
<td valign="bottom" style="width:179.1pt"><p style="font:8pt Arial;margin:0"> &#160;&#160;Property, plant and equipment, net&#8230;&#8230;&#8230;&#8230;.</p> </td>
<td valign="bottom" style="width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="E22_StBusnSeg-Fastener" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5580">9,562,329</ix:nonFraction></p> </td>
<td valign="bottom" style="width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="E22_StBusnSeg-AssemblyEquipment" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5581">1,303,497</ix:nonFraction></p> </td>
<td valign="bottom" style="width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="E22_StBusnSeg-Corporate" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5582">995,967</ix:nonFraction></p> </td>
<td valign="bottom" style="width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right">11,861,793</p> </td></tr>
<tr>
<td valign="bottom" style="background-color:#CADFF9;width:179.1pt"><p style="font:8pt Arial;margin:0"> &#160;&#160;Other assets&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:OtherAssets" contextRef="E22_StBusnSeg-Fastener" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5583">0</ix:nonFraction></p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:OtherAssets" contextRef="E22_StBusnSeg-AssemblyEquipment" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5584">0</ix:nonFraction></p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right"><ix:nonFraction name="us-gaap:OtherAssets" contextRef="E22_StBusnSeg-Corporate" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5585">7,667,967</ix:nonFraction></p> </td>
<td valign="bottom" style="background-color:#CADFF9;width:75.6pt;border-bottom:0.5pt solid #000000"><p style="font:8pt Arial;margin:0;text-align:right">7,667,967</p> </td></tr>
<tr>
<td valign="bottom" style="width:179.1pt"><p style="font:8pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:75.6pt"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:75.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:8pt Arial;margin:0;text-align:right">33,626,127</p> </td></tr> </table> <p style="font:10pt Arial;margin:0">&#160;</p> </ix:nonNumeric><p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Courier New;margin:0">&#160;</p> </ix:nonNumeric><hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">25</p> <hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p> <ix:continuation id="c3"><p style="font:10pt Courier New;margin:0">&#160;</p> <p style="font:10pt Courier New;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">The Company does not allocate certain selling and administrative expenses for internal reporting, thus, no allocation was made for these expenses for segment disclosure purposes. &#160;Segment assets reported internally are limited to accounts receivable, inventory and long-lived assets. &#160;Certain long-lived assets of one plant location are allocated between the two segments based on estimated plant utilization, as this plant serves both fastener and assembly equipment activities. &#160;Other assets are not allocated to segments internally and to do so would be impracticable.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">The following table presents revenue by segment, further disaggregated by end-market:</p> <p style="font:10pt Arial;margin:0">&#160;</p>
<table style="border-collapse:collapse">
<tr>
<td valign="bottom" style="background-color:#CEE7FF;width:148.5pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;color:#000000">&#160;</p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:63pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;color:#000000;text-align:center"> &#160;<b>Fastener</b> &#160;</p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;color:#000000;text-align:center"> &#160;<b>Assembly Equipment</b> &#160;</p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;color:#000000;text-align:center"> &#160;<b>Consolidated</b> &#160;</p> </td></tr>
<tr>
<td valign="bottom" style="width:148.5pt;padding-left:2pt;padding-right:2pt"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial"><b>Year Ended December 31, </b><b>2023</b><b>:</b></span></p> </td>
<td valign="bottom" style="width:63pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:67.5pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:67.5pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="background-color:#CEE7FF;width:148.5pt;padding-left:2pt;padding-right:2pt"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial">Automotive</span></p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:63pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;<ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="Y23_ProductOrService-Automotive_StBusnSeg-Fastener" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5586">19,297,188</ix:nonFraction></p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="Y23_ProductOrService-Automotive_StBusnSeg-AssemblyEquipment" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5587">131,821</ix:nonFraction></p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;<ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="Y23_ProductOrService-Automotive" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5588">19,429,009</ix:nonFraction></p> </td></tr>
<tr>
<td valign="bottom" style="width:148.5pt;padding-left:2pt;padding-right:2pt"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial">Non-automotive</span></p> </td>
<td valign="bottom" style="width:63pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="Y23_ProductOrService-Nonautomotive_StBusnSeg-Fastener" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5589">8,864,174</ix:nonFraction></p> </td>
<td valign="bottom" style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="Y23_ProductOrService-Nonautomotive_StBusnSeg-AssemblyEquipment" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5590">3,214,539</ix:nonFraction></p> </td>
<td valign="bottom" style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="Y23_ProductOrService-Nonautomotive" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5591">12,078,713</ix:nonFraction></p> </td></tr>
<tr>
<td valign="bottom" style="background-color:#CEE7FF;width:148.5pt;padding-left:2pt;padding-right:2pt"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial">Total net sales</span></p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:63pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;<ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="Y23_StBusnSeg-Fastener" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5592">28,161,362</ix:nonFraction></p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;&#160;&#160;<ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="Y23_StBusnSeg-AssemblyEquipment" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5593">3,346,360</ix:nonFraction></p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;<ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="Y23" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5594">31,507,722</ix:nonFraction></p> </td></tr>
<tr>
<td valign="bottom" style="width:148.5pt;padding-left:2pt;padding-right:2pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p> </td>
<td valign="bottom" style="width:63pt;padding-left:2pt;padding-right:2pt;border-top:3px double #000000"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:3px double #000000"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:3px double #000000"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="background-color:#CEE7FF;width:148.5pt;padding-left:2pt;padding-right:2pt"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial">Year Ended December 31, 2022:</span></p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:63pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="width:148.5pt;padding-left:2pt;padding-right:2pt"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial">Automotive</span></p> </td>
<td valign="bottom" style="width:63pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;<ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="Y22_ProductOrService-Automotive_StBusnSeg-Fastener" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5595">18,454,238</ix:nonFraction></p> </td>
<td valign="bottom" style="width:67.5pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="Y22_ProductOrService-Automotive_StBusnSeg-AssemblyEquipment" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5596">209,735</ix:nonFraction></p> </td>
<td valign="bottom" style="width:67.5pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;<ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="Y22_ProductOrService-Automotive" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5597">18,663,973</ix:nonFraction></p> </td></tr>
<tr>
<td valign="bottom" style="background-color:#CEE7FF;width:148.5pt;padding-left:2pt;padding-right:2pt"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial">Non-automotive</span></p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:63pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right"> <ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="Y22_ProductOrService-Nonautomotive_StBusnSeg-Fastener" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5598">11,837,309</ix:nonFraction></p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right"> <ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="Y22_ProductOrService-Nonautomotive_StBusnSeg-AssemblyEquipment" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5599">3,144,751</ix:nonFraction></p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right"> <ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="Y22_ProductOrService-Nonautomotive" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5600">14,982,060</ix:nonFraction></p> </td></tr>
<tr>
<td valign="bottom" style="width:148.5pt;padding-left:2pt;padding-right:2pt"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial">Total net sales</span></p> </td>
<td valign="bottom" style="width:63pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;<ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="Y22_StBusnSeg-Fastener" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5601">30,291,547</ix:nonFraction></p> </td>
<td valign="bottom" style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;&#160;&#160;<ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="Y22_StBusnSeg-AssemblyEquipment" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5602">3,354,486</ix:nonFraction></p> </td>
<td valign="bottom" style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;<ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="Y22" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5603">33,646,033</ix:nonFraction></p> </td></tr> </table> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Courier New;margin:0">&#160;</p> <p style="font:10pt Courier New;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">The following table presents revenue by segment, further disaggregated by location:</p> <p style="font:10pt Arial;margin:0">&#160;</p>
<table style="border-collapse:collapse">
<tr>
<td valign="bottom" style="background-color:#CEE7FF;width:150.15pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;color:#000000">&#160;</p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:61.35pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;color:#000000;text-align:center"> &#160;<b>Fastener</b> &#160;</p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;color:#000000;text-align:center"> &#160;<b>Assembly Equipment</b> &#160;</p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;color:#000000;text-align:center"> &#160;<b>Consolidated</b> &#160;</p> </td></tr>
<tr>
<td valign="bottom" style="width:150.15pt;padding-left:2pt;padding-right:2pt"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial"><b>Year Ended December 31, 20</b><b>23</b><b>:</b></span></p> </td>
<td valign="bottom" style="width:61.35pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:67.5pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:67.5pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="background-color:#CEE7FF;width:150.15pt;padding-left:2pt;padding-right:2pt"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial">United States</span></p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:61.35pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;<ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="Y23_StGeo-US_StBusnSeg-Fastener" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5604">22,635,244</ix:nonFraction></p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="Y23_StGeo-US_StBusnSeg-AssemblyEquipment" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5605">3,154,677</ix:nonFraction></p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;<ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="Y23_StGeo-US" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5606">25,789,921</ix:nonFraction></p> </td></tr>
<tr>
<td valign="bottom" style="width:150.15pt;padding-left:2pt;padding-right:2pt"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial">Foreign</span></p> </td>
<td valign="bottom" style="width:61.35pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="Y23_StGeo-NonUs_StBusnSeg-Fastener" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5607">5,526,118</ix:nonFraction></p> </td>
<td valign="bottom" style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="Y23_StGeo-NonUs_StBusnSeg-AssemblyEquipment" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5608">191,683</ix:nonFraction></p> </td>
<td valign="bottom" style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="Y23_StGeo-NonUs" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5609">5,717,801</ix:nonFraction></p> </td></tr>
<tr>
<td valign="bottom" style="background-color:#CEE7FF;width:150.15pt;padding-left:2pt;padding-right:2pt"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial">Total net sales</span></p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:61.35pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;<ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="Y23_StBusnSeg-Fastener" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5610">28,161,362</ix:nonFraction></p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;&#160;&#160;<ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="Y23_StBusnSeg-AssemblyEquipment" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5611">3,346,360</ix:nonFraction></p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;<ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="Y23" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5612">31,507,722</ix:nonFraction></p> </td></tr>
<tr>
<td valign="bottom" style="width:150.15pt;padding-left:2pt;padding-right:2pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p> </td>
<td valign="bottom" style="width:61.35pt;padding-left:2pt;padding-right:2pt;border-top:3px double #000000"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:3px double #000000"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:3px double #000000"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="background-color:#CEE7FF;width:150.15pt;padding-left:2pt;padding-right:2pt"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial">Year Ended December 31, 2022:</span></p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:61.35pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="width:150.15pt;padding-left:2pt;padding-right:2pt"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial">United States</span></p> </td>
<td valign="bottom" style="width:61.35pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;<ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="Y22_StGeo-US_StBusnSeg-Fastener" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5613">24,955,181</ix:nonFraction></p> </td>
<td valign="bottom" style="width:67.5pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="Y22_StGeo-US_StBusnSeg-AssemblyEquipment" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5614">3,202,729</ix:nonFraction></p> </td>
<td valign="bottom" style="width:67.5pt;padding-left:2pt;padding-right:2pt"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;<ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="Y22_StGeo-US" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5615">28,157,910</ix:nonFraction></p> </td></tr>
<tr>
<td valign="bottom" style="background-color:#CEE7FF;width:150.15pt;padding-left:2pt;padding-right:2pt"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial">Foreign</span></p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:61.35pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="Y22_StGeo-NonUs_StBusnSeg-Fastener" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5616">5,336,366</ix:nonFraction></p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="Y22_StGeo-NonUs_StBusnSeg-AssemblyEquipment" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5617">151,757</ix:nonFraction></p> </td>
<td valign="bottom" style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="Y22_StGeo-NonUs" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5618">5,488,123</ix:nonFraction></p> </td></tr>
<tr>
<td valign="bottom" style="width:150.15pt;padding-left:2pt;padding-right:2pt"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial">Total net sales</span></p> </td>
<td valign="bottom" style="width:61.35pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;<ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="Y22_StBusnSeg-Fastener" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5619">30,291,547</ix:nonFraction></p> </td>
<td valign="bottom" style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;&#160;&#160;<ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="Y22_StBusnSeg-AssemblyEquipment" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5620">3,354,486</ix:nonFraction></p> </td>
<td valign="bottom" style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;<ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="Y22" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5621">33,646,033</ix:nonFraction></p> </td></tr> </table> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Courier New;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">Sales to one customer in the fastener segment accounted for <ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="Y23_MajCust-TIGroupAutomotiveSystems" decimals="INF" unitRef="Pure" scale="-2" format="ixt:num-dot-decimal" id="ixv-5622">16</ix:nonFraction>% of consolidated revenues during 2023 and <ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="Y22_MajCust-TIGroupAutomotiveSystems" decimals="INF" unitRef="Pure" scale="-2" format="ixt:num-dot-decimal" id="ixv-5623">15</ix:nonFraction>% in 2022. &#160;The accounts receivable balance for this customer accounted for <ix:nonNumeric name="us-gaap:AdditionalInformationAboutEntitysReportableSegments" contextRef="Y23_MajCust-TIGroupAutomotiveSystems" escape="true" id="ixv-5624">15</ix:nonNumeric>% and <ix:nonNumeric name="us-gaap:AdditionalInformationAboutEntitysReportableSegments" contextRef="Y22_MajCust-TIGroupAutomotiveSystems" escape="true" id="ixv-5625">19</ix:nonNumeric>% of consolidated accounts receivable as of December 31, 2023 and 2022, respectively. &#160;Sales to a second customer in the fastener segment accounted for <ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="Y23_MajCust-CooperStandardHoldingsInc" decimals="INF" unitRef="Pure" scale="-2" format="ixt:num-dot-decimal" id="ixv-5626"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="Y22_MajCust-CooperStandardHoldingsInc" decimals="INF" unitRef="Pure" scale="-2" format="ixt:num-dot-decimal" id="ixv-5627">14</ix:nonFraction></ix:nonFraction>% of consolidated revenues during 2023 and 2022. &#160;The accounts receivable balance for this customer accounted for <ix:nonNumeric name="us-gaap:AdditionalInformationAboutEntitysReportableSegments" contextRef="Y23_MajCust-CooperStandardHoldingsInc" escape="true" id="ixv-5628">14</ix:nonNumeric>% and <ix:nonNumeric name="us-gaap:AdditionalInformationAboutEntitysReportableSegments" contextRef="Y22_MajCust-CooperStandardHoldingsInc" escape="true" id="ixv-5629">16</ix:nonNumeric>% of consolidated accounts receivable as of December 31, 2023 and 2022, respectively. &#160;Sales to a third customer were <ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="Y23_MajCust-MartinreaInternationalInc" decimals="INF" unitRef="Pure" scale="-2" format="ixt:num-dot-decimal" id="ixv-5630">11</ix:nonFraction>% of consolidated revenue in 2023. The accounts receivable balance for this customer accounted for <ix:nonNumeric name="us-gaap:AdditionalInformationAboutEntitysReportableSegments" contextRef="Y23_MajCust-MartinreaInternationalInc" escape="true" id="ixv-5631">20</ix:nonNumeric>% of consolidated accounts receivable as of December 31, 2023.</p> <p style="font:10pt Arial;margin:0">&#160;</p> </ix:continuation><p style="font:10pt Arial;margin:0">&#160;</p> <ix:nonNumeric name="us-gaap:AdditionalFinancialInformationDisclosureTextBlock" contextRef="Y23" escape="true" id="ixv-3874"><p style="font:10pt Arial;margin:0"><b>7 - Gain on Sale of Property - </b> On August 12, 2022, the Company entered into a Purchase and Sale Agreement (the &#8220;PSA&#8221;) with Frontenac Properties LLC (the &#8220;Purchaser&#8221;) pursuant to which the Company agreed, subject to the terms and conditions of the PSA, to sell its facility in Naperville, Illinois, in which the Company&#8217;s headquarters and warehouse space are located, to the Purchaser. &#160;On September 27, 2022, the Company&#8217;s sale of the facility to the Purchaser was completed for a selling price of $5,350,000 in cash, less customary closing costs. The net gain on the transaction was $4,738,394. &#160;A portion of the net proceeds was invested in U.S. Treasury bills and is included in cash and cash equivalents as of December 31, 2022.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">Concurrently with the completion of the sale of the Naperville facility, the Company and the Purchaser entered into a lease agreement pursuant to which the Company leased the office and warehouse portion of the Naperville facility from the Purchaser until December 31, 2022 and the office portion until June 30, 2023. &#160;The monthly rent payable by the Company under the lease was $12,500 for the period from the closing until December 31, 2022 and was $<ix:nonFraction name="us-gaap:SaleLeasebackTransactionMonthlyRentalPayments" contextRef="D230101_230630" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5632">8,500</ix:nonFraction> for the period from January 1, 2023 to June 30, 2023. &#160;For the period from July 1, 2023 through December 31, 2023 the lease was extended on a month to month basis at $<ix:nonFraction name="us-gaap:SaleLeasebackTransactionMonthlyRentalPayments" contextRef="D230701_231231" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5633">8,500</ix:nonFraction> per month. The Company adopted the practical expedient for short-term leases under ASC 842 which allows for leases of 12 months or less to be expensed on a straight-line basis over the lease term without reporting on the balance sheet.</p> <p style="font:10pt Arial;margin:0">&#160;</p> </ix:nonNumeric><hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">26</p> <hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">&#160;</p> <ix:nonNumeric name="us-gaap:CommitmentsAndContingenciesDisclosureTextBlock" contextRef="Y23" escape="true" id="ixv-3886"><p style="font:10pt Arial;margin:0"><b>8 - Commitments and Contingencies- </b>The Company recorded rent expense aggregating approximately $<ix:nonFraction name="us-gaap:OperatingLeasesRentExpenseNet" contextRef="Y23" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5634">128,000</ix:nonFraction> and $<ix:nonFraction name="us-gaap:OperatingLeasesRentExpenseNet" contextRef="Y22" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5635">91,000</ix:nonFraction> in 2023 and 2022, respectively. &#160;Total future minimum rentals at December 31, 2023 were $<ix:nonFraction name="us-gaap:OperatingLeasesFutureMinimumPaymentsDueFutureMinimumSubleaseRentals" contextRef="E23" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5636">112,800</ix:nonFraction>.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">The Company is, from time to time involved in litigation, including environmental claims, in the normal course of business. &#160;While it is not possible at this time to establish the ultimate amount of liability with respect to contingent liabilities, including those related to legal proceedings, management is of the opinion that the aggregate amount of any such liabilities, for which provision has not been made, will not have a material adverse effect on the Company's financial position.</p> <p style="font:10pt Arial;margin:0;color:#000000">&#160;</p> </ix:nonNumeric><p style="font:10pt Arial;margin:0;color:#000000">&#160;</p> <ix:nonNumeric name="us-gaap:UnusualOrInfrequentItemsDisclosureTextBlock" contextRef="Y23" escape="true" id="ixv-3893"><p style="font:10pt Arial;margin:0"><b>9. - Risks and Uncertainties for Health Emergencies. &#160;</b>Our global operations expose us to risks associated with pandemics, epidemics, or other public health emergencies. &#160;Such events could lead to restrictions and mandates, and there could be global impacts resulting directly or indirectly from such an event including labor shortages, logistical challenges, and supply chain disruptions such as increases in costs for certain goods and services. &#160;While much of our customer demand and shipments have recovered from the impact of the COVID-19 pandemic, the extent to which any resurgence in the future would impact our business, including the automotive industry upon which we rely for sales, will depend on a number of evolving factors, all of which are highly uncertain and cannot be predicted, and could last for an extended period of time.</p> <p style="font:10pt Arial;margin:0;color:#000000">&#160;</p> </ix:nonNumeric><p style="font:10pt Arial;margin:0">&#160;</p> <ix:nonNumeric name="us-gaap:ScheduleOfSubsequentEventsTextBlock" contextRef="Y23" escape="true" id="ixv-3898"><p style="font:10pt Arial;margin:0;color:#000000"><b>10 - Subsequent Events- </b>On <ix:nonNumeric name="us-gaap:DividendsPayableDateDeclaredDayMonthAndYear" contextRef="Y23" format="ixt:date-monthname-day-year-en" id="ixv-5637">February 19, 2024</ix:nonNumeric>, the Board of Directors declared a regular quarterly dividend of $<ix:nonFraction name="us-gaap:DividendsPayableAmountPerShare" contextRef="E23" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-5638">0.10</ix:nonFraction> per share, or $<ix:nonFraction name="us-gaap:DividendsPayableCurrent" contextRef="E23" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5639">96,613.20</ix:nonFraction>, payable <ix:nonNumeric name="us-gaap:DividendPayableDateToBePaidDayMonthAndYear" contextRef="Y23" format="ixt:date-monthname-day-year-en" id="ixv-5640">March 20, 2024</ix:nonNumeric> to shareholders of record on <ix:nonNumeric name="us-gaap:DividendsPayableDateOfRecordDayMonthAndYear" contextRef="Y23" format="ixt:date-monthname-day-year-en" id="ixv-5641">March 5, 2024</ix:nonNumeric>.</p> <p style="font:10pt Arial;margin:0;color:#000000">&#160;</p> <p style="font:10pt Arial;margin:0;color:#000000">On January 1, 2024, the Company entered into a one-year lease agreement for the Naperville facility that extends through December 31, 2024 at the rate of $<ix:nonFraction name="us-gaap:SaleLeasebackTransactionMonthlyRentalPayments" contextRef="D240101" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-5642">9,400</ix:nonFraction> per month.</p> <p style="font:10pt Arial;margin:0;color:#000000">&#160;</p> </ix:nonNumeric><hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">27</p> <hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">&#160;</p> <a id="a13"></a><p style="font:10pt Arial;margin:0"><span style="border-bottom:1px solid #000000"><b>ITEM 9 - Changes in and Disagreements with Accountants on</b></span></p> <p style="font:10pt Arial;margin:0"><span style="border-bottom:1px solid #000000"><b> Accounting and Financial Disclosure</b></span></p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0;text-indent:36pt">None.</p> <p style="font:10pt Arial;margin:0;text-indent:36pt">&#160;</p> <p style="font:10pt Arial;margin:0;margin-left:-31.5pt">&#160;</p> <a id="a14"></a><p style="font:10pt Arial;margin:0"><span style="border-bottom:1px solid #000000"><b>ITEM 9A &#8211;&#160;Controls and Procedures </b></span></p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">Disclosure Controls and Procedures.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">The Company's management, with the participation of the Company's Chief Executive Officer and Chief Financial Officer, have evaluated the effectiveness of the Company's disclosure controls and procedures (as such term is defined in Rules 13a-15(e) and 15d-15(e) under the "Exchange Act") as of the end of the period covered by this report. &#160;Based on such evaluation, the Company's Chief Executive Officer and Chief Financial Officer have concluded that, as of the end of such period, the Company's disclosure controls and procedures were not effective due to weaknesses in internal control over financial reporting as described below.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">Management&#8217;s Report on Internal Control Over Financial Reporting.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0;color:#000000">The Company&#8217;s management is responsible for establishing and maintaining adequate internal control over financial reporting, as that term is defined in Exchange Act Rules 13a-15(f) and 15d-15(f). &#160;The Company&#8217;s management assessed the effectiveness of the Company&#8217;s internal control over financial reporting as of December 31, 2023, based on the 2013 criteria established in Internal Control&#8212;Integrated Framework, issued by the Committee of Sponsoring Organizations of the Treadway Commission (&#8220;COSO&#8221;). &#160;Based on this assessment, the Company&#8217;s management has concluded that the Company&#8217;s internal control over financial reporting was not effective as of December 31, 2023 as described below.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">Material Weaknesses in Internal Control Over Financial Reporting</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">A material weakness is a deficiency, or a combination of deficiencies, in internal control over financial reporting, such that there is a reasonable possibility that a material misstatement of the Company&#8217;s annual or interim financial statements will not be prevented or detected on a timely basis.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">A material weakness in internal control over financial reporting related to income taxes was identified in the Company&#8217;s internal control over financial reporting as previously reported. Specifically, the Company did not design and maintain effective controls related to the review of the presentation of the tax provision related to unusual items.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">A material weakness in internal control over financial reporting related to inventory valuation was identified in the Company&#8217;s internal control over financial reporting as of December 31, 2023. Specifically, the Company did not design and maintain effective controls related to the review of the valuation of inventory.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">Remediation Plans for the Material Weaknesses</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">The Company&#8217;s management, under the oversight of the Audit Committee, has designed and implemented changes in processes and controls to remediate the material weakness in internal control over financial reporting related to income taxes. We have engaged external tax advisors to review complex tax matters and assist with provision and classification as necessary.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">The Company&#8217;s management, under the oversight of the Audit Committee, is in the process of designing and implementing changes in processes and controls to remediate the material weakness in internal control over financial reporting related to inventory valuation. Our enhanced design includes the timely review and update of new standards and subsequent review of variance accounts.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">The material weaknesses will not be considered remediated until management completes its remediation plans and the enhanced controls operate for a sufficient period of time and management has concluded, through testing, that the related controls are effective. The Company will monitor the effectiveness of its remediation plans and will refine its remediation plans as appropriate.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">Notwithstanding the material weaknesses noted above, the Company&#8217;s management, including the Company's Chief Executive Officer and Chief Financial Officer has concluded that our financial statements included in this Annual Report present fairly, in all material respects, our financial position, results of operations, and cash flows for the periods presented in accordance with accounting principles generally accepted in the United States of America.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">This Annual Report on form 10-K is not required to, and does not, include an attestation report of the Company&#8217;s registered public accounting firm on the Company&#8217;s internal control over financial reporting, because the Company is not an accelerated filer or a large accelerated filer as defined in Rule 12b-2 under the Exchange Act.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">Changes in Internal Control Over Financial Reporting.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">Except as described above, there have not been any changes in the Company's internal control over financial reporting (as such term is defined in Rules 13a-15(f) and 15d-15(f) under the Exchange Act) during the quarter ended December 31, 2023 that have materially affected, or are reasonably likely to materially affect, the Company&#8217;s internal control over financial reporting.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">&#160;</p> <a id="a15"></a><p style="font:10pt Arial;margin:0"><span style="border-bottom:1px solid #000000"><b>ITEM 9B &#8211;&#160;Other Information </b></span></p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0;text-indent:36pt">None.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <a id="a16"></a><p style="font:10pt Arial;margin:0"><span style="border-bottom:1px solid #000000"><b>ITEM 9</b><b>C</b><b> &#8211;&#160;</b><b>Disclosure Regarding Foreign Jurisdictions that Prevent Inspections</b><b> </b></span></p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><kbd style="margin-left:36pt"></kbd>Not applicable.&#160;</p> <hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">28</p> <hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p> <p style="font:10pt Arial;margin:0;text-align:center"><span style="border-bottom:1px solid #000000"><b>PART III</b></span></p> <p style="font:10pt Arial;margin:0;text-align:center">&#160;</p> <p style="font:10pt Courier New;margin:0;text-align:center">&#160;</p> <a id="a17"></a><p style="font:10pt Arial;margin:0"><span style="border-bottom:1px solid #000000"><b>ITEM 10 &#8211;&#160;Directors, Executive Officers and Corporate Governance</b></span></p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><kbd style="margin-left:36pt"></kbd>The information in the Company&#8217;s 2024 Proxy Statement (i) with respect to the nominees for directors to the Board of Directors that is not related to security ownership in "Security Ownership of Management" and (ii) in the section titled "Additional Information Concerning the Board of Directors and Committees" is incorporated herein by reference. The 2024 Proxy Statement will be filed with the Securities and Exchange Commission in connection with the Company's 2024 Annual Meeting of Shareholders no later than 120 days after our fiscal year end. &#160;The information called for with respect to executive officers of the Company is included in &#8220;Part I &#8211;&#160;Item 1. Business&#8221; of this Annual Report on Form 10-K under the caption "Information about our Executive Officers."&#160;</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><kbd style="margin-left:36pt"></kbd>The Company has adopted a code of ethics for its principal executive officer and senior officers. &#160;A copy of the code of ethics was filed as Exhibit 14 to the Company's Annual Report on Form 10-K filed on March 29, 2005. The Company will provide a copy of its code of ethics to any person without charge, upon request to the Company&#8217;s Corporate Secretary, Chicago Rivet &amp; Machine Co., 901 Frontenac Road, Naperville, Illinois 60563. If the Company&#8217;s Audit Committee or its Board of Directors amends or grants any waivers of the code of ethics for its directors or executive officers, we will publicly disclose such amendment or waiver as required by applicable law, including by filing a Current Report on Form 8-K.&#160;</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">&#160;</p> <a id="a18"></a><p style="font:10pt Arial;margin:0"><span style="border-bottom:1px solid #000000"><b>ITEM 11 - Executive Compensation</b></span></p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><kbd style="margin-left:36pt"></kbd>The information set forth in the Company&#8217;s 2024 Proxy Statement under the section titled &#8220;Compensation of Directors and Executive Officers&#8221; is incorporated herein by reference.&#160;</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><kbd style="margin-left:36pt"></kbd>During 2023, the Compensation Committee of the Board of Directors consisted of Directors James W. Morrissey, Kurt Moders and John L. Showel.&#160;</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">&#160;</p> <a id="a19"></a><p style="font:10pt Arial;margin:0"><span style="border-bottom:1px solid #000000"><b>ITEM 12 - Security Ownership of Certain Beneficial</b><b> </b><b>Owners and Management and Related Stockholder Matters</b></span></p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><kbd style="margin-left:36pt"></kbd>The information set forth in the Company's 2024 Proxy Statement under the section titled &#8220;Principal Shareholders&#8221; and the information with respect to ownership of our common stock by the Company's directors and officers and certain other beneficial owners is set forth under the section titled &#8220;Security Ownership of Management&#8221; is incorporated herein by reference.&#160;</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><kbd style="margin-left:36pt"></kbd>The Company does not have any equity compensation plans or arrangements. &#160;</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">&#160;</p> <a id="a20"></a><p style="font:10pt Arial;margin:0"><span style="border-bottom:1px solid #000000"><b>ITEM 13 - Certain Relationships and Related Transactions, and Director </b><b>Independence</b></span></p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><kbd style="position:absolute;font:10pt Arial;margin-left:0pt"> &#160;&#160;</kbd><kbd style="margin-left:36pt"></kbd>The information set forth in the Company&#8217;s 2024 Proxy Statement under the section titled (i) &#8220;Additional Information Concerning the Board of Directors and Committees - Policy Regarding Related Person Transactions&#8221; and (ii) under the section titled &#8220;Additional Information Concerning the Board of Directors and Committees&#8221; is incorporated herein by reference.&#160;</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">&#160;</p> <a id="a21"></a><p style="font:10pt Arial;margin:0"><span style="border-bottom:1px solid #000000"><b>ITEM 14 &#8211;&#160;Principal Accountant Fees and Services</b></span></p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><kbd style="margin-left:36pt"></kbd>The information set forth in the Company&#8217;s 2024 Proxy Statement in &#8220;Ratification of Selection of Independent Auditor &#8211;&#160;Audit and Non-Audit Fees&#8221; is incorporated herein by reference.&#160;</p> <hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">29</p> <hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p> <p style="font:10pt Arial;margin:0;text-align:center"><span style="border-bottom:1px solid #000000"><b>PART IV</b></span></p> <p style="font:10pt Arial;margin:0;text-align:center">&#160;</p> <p style="font:10pt Arial;margin:0">&#160;</p> <a id="a22"></a><p style="font:10pt Arial;margin:0"><span style="border-bottom:1px solid #000000"><b>ITEM 15 &#8211;&#160;Exhibits and Financial Statement Schedules</b></span></p> <p style="font:10pt Arial;margin:0">&#160;</p>
<table style="border-collapse:collapse">
<tr>
<td valign="bottom" style="width:35.75pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td colspan="3" valign="bottom" style="width:474.95pt"><p style="font:10pt Arial;margin:0">(a) &#160;&#160;The following documents are filed as a part of this report:</p> </td></tr>
<tr>
<td valign="bottom" style="width:35.75pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="width:58.5pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="width:288.75pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="width:127.7pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="width:35.75pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="width:58.5pt"><p style="font:10pt Arial;margin:0;text-align:right">1.</p> </td>
<td valign="bottom" style="width:288.75pt"><p style="font:10pt Arial;margin:0">Financial Statements:</p> </td>
<td valign="bottom" style="width:127.7pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="width:35.75pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="width:58.5pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="width:288.75pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="width:127.7pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="width:35.75pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="width:58.5pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td colspan="2" valign="bottom" style="width:416.45pt"><p style="font:10pt Arial;margin:0">See the section entitled &#8220;Consolidated Financial Statements&#8221; in Item 8 of this report.</p> </td></tr>
<tr>
<td valign="bottom" style="width:35.75pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="width:58.5pt"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom" style="width:288.75pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="width:127.7pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="width:35.75pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="width:58.5pt"><p style="font:10pt Arial;margin:0;text-align:right">2.</p> </td>
<td valign="bottom" style="width:288.75pt"><p style="font:10pt Arial;margin:0">Financial Statement Schedules:</p> </td>
<td valign="bottom" style="width:127.7pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="width:35.75pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="width:58.5pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="width:288.75pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="width:127.7pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="width:35.75pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="width:58.5pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td colspan="2" valign="bottom" style="width:416.45pt"><p style="font:10pt Arial;margin:0">Financial statement schedules and supplementary information have been omitted because they are not applicable or the required information is shown in the consolidated financial statements or notes thereto.</p> </td></tr>
<tr>
<td valign="bottom" style="width:35.75pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="width:58.5pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="width:288.75pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="width:127.7pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="width:35.75pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="width:58.5pt"><p style="font:10pt Arial;margin:0;text-align:right">3.</p> </td>
<td valign="bottom" style="width:288.75pt"><p style="font:10pt Arial;margin:0">Exhibits:</p> </td>
<td valign="bottom" style="width:127.7pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="width:35.75pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="width:58.5pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="width:288.75pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="width:127.7pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td></tr>
<tr>
<td valign="bottom" style="width:35.75pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="width:58.5pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td colspan="2" valign="bottom" style="width:416.45pt"><p style="font:10pt Arial;margin:0">See the section entitled &#8220;Exhibits&#8221; which appears on page 31 of this report.</p> </td></tr>
<tr>
<td valign="bottom" style="width:35.75pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="width:58.5pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="width:288.75pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="width:127.7pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td></tr> </table> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">&#160;</p> <a id="a23"></a><p style="font:10pt Arial;margin:0"><span style="border-bottom:1px solid #000000"><b>ITEM 16 &#8211;&#160;Form 10-K Summary </b></span></p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0;text-indent:36pt">None.</p> <hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">30</p> <hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">&#160;</p>
<table style="border-collapse:collapse;width:532.8pt">
<tr>
<td valign="top" style="width:51.4pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="width:481.4pt"><p style="font:10pt Arial;margin:0;text-align:center"><span style="border-bottom:1px solid #000000"><b>CHICAGO RIVET &amp; MACHINE CO.</b></span></p> </td></tr>
<tr style="height:21.6pt">
<td valign="top" style="width:51.4pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td valign="bottom" style="width:481.4pt"><p style="font:10pt Arial;margin:0;text-align:center"><span style="border-bottom:1px solid #000000"><b>EXHIBITS</b></span></p> </td></tr>
<tr>
<td valign="top" style="width:51.4pt"><p style="font:10pt Arial;margin:0">Exhibit<br/><span style="border-bottom:1px solid #000000">Number</span></p> </td>
<td valign="top" style="width:481.4pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td></tr>
<tr style="height:28.8pt">
<td valign="middle" style="width:51.4pt"><p style="font:10pt Arial;margin:0">2.1</p> </td>
<td valign="bottom" style="width:481.4pt"><p style="font:10pt Arial;margin:0"><a href="https://www.sec.gov/ix?doc=/Archives/edgar/data/19871/000119312522255477/d402314d8k.htm">Purchase and Sale Agreement. &#160;Incorporated by reference to the Company&#8217;s Current Report on Form 8-K, dated September 30, 2022.</a></p> </td></tr>
<tr style="height:28.8pt">
<td valign="middle" style="width:51.4pt"><p style="font:10pt Arial;margin:0">3.1</p> </td>
<td valign="bottom" style="width:481.4pt"><p style="font:10pt Arial;margin:0"><a href="https://www.sec.gov/Archives/edgar/data/19871/0000950137-98-001287.txt">Articles of Incorporation, as last amended August 18, 1997. Incorporated by reference to the<br/>Company&#8217;s Annual Report on Form 10-K, filed on March 30, 1998.</a></p> </td></tr>
<tr style="height:28.8pt">
<td valign="middle" style="width:51.4pt"><p style="font:10pt Arial;margin:0">3.2</p> </td>
<td valign="bottom" style="width:481.4pt"><p style="font:10pt Arial;margin:0"><a href="https://www.sec.gov/ix?doc=/Archives/edgar/data/19871/000119312522080508/d288627d10k.htm">Amended and Restated By-Laws, as amended through March 22, 2021. &#160;Incorporated by reference<br/>to the Company&#8217;s Annual Report on Form 10-K, filed on March 21, 2022.</a></p> </td></tr>
<tr style="height:28.8pt">
<td valign="middle" style="width:51.4pt"><p style="font:10pt Arial;margin:0">4.1</p> </td>
<td valign="middle" style="width:481.4pt"><p style="font:10pt Arial;margin:0"><a href="d45311dex41.htm">Description of Securities Registered under Section 12 of the Securities Exchange Act, as amended.</a></p> </td></tr>
<tr style="height:28.8pt">
<td valign="middle" style="width:51.4pt"><p style="font:10pt Arial;margin:0">14</p> </td>
<td valign="bottom" style="width:481.4pt"><p style="font:10pt Arial;margin:0"><a href="https://www.sec.gov/Archives/edgar/data/19871/000095013705003788/c93305e10vk.txt">Code of Ethics for Principal Executive Officer and Senior Officers. Incorporated by reference to<br/>the Company's Annual Report on Form 10-K, filed on March 29, 2005.</a></p> </td></tr>
<tr style="height:21.6pt">
<td valign="bottom" style="width:51.4pt"><p style="font:10pt Arial;margin:0">21</p> </td>
<td valign="bottom" style="width:481.4pt"><p style="font:10pt Arial;margin:0"><a href="d45311dex21.htm">Subsidiaries of the Registrant.</a></p> </td></tr>
<tr style="height:21.6pt">
<td valign="bottom" style="width:51.4pt"><p style="font:10pt Arial;margin:0">24</p> </td>
<td valign="bottom" style="width:481.4pt"><p style="font:10pt Arial;margin:0"><a href="#sa1" style="text-decoration:none">Power of Attorney (included on signature page).</a></p> </td></tr>
<tr style="height:28.8pt">
<td valign="middle" style="width:51.4pt"><p style="font:10pt Arial;margin:0">31.1</p> </td>
<td valign="bottom" style="width:481.4pt"><p style="font:10pt Arial;margin:0"><a href="d45311dex311.htm">Certification of Principal Executive Officer Pursuant to Rule 13a-14(a) or 15d-14(a) as adopted pursuant to Section 302 of the Sarbanes-Oxley Act of 2002.</a></p> </td></tr>
<tr style="height:28.8pt">
<td valign="middle" style="width:51.4pt"><p style="font:10pt Arial;margin:0">31.2</p> </td>
<td valign="bottom" style="width:481.4pt"><p style="font:10pt Arial;margin:0"><a href="d45311dex312.htm">Certification of Principal Financial Officer Pursuant to Rule 13a-14(a) or 15d-14(a) as adopted pursuant to Section 302 of the Sarbanes-Oxley Act of 2002.</a></p> </td></tr>
<tr style="height:28.8pt">
<td valign="middle" style="width:51.4pt"><p style="font:10pt Arial;margin:0">32</p> </td>
<td valign="bottom" style="width:481.4pt"><p style="font:10pt Arial;margin:0"><a href="d45311dex32.htm">Certification of Principal Executive Officer and Principal Financial Officer Pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002.</a></p> </td></tr>
<tr style="height:28.8pt">
<td valign="middle" style="width:51.4pt"><p style="font:10pt Arial;margin:0">97</p> </td>
<td valign="middle" style="width:481.4pt"><p style="font:10pt Arial;margin:0"><a href="d45311dex97.htm">Policy concerning Recovery of Erroneously Awarded Compensation.</a></p> </td></tr>
<tr style="height:28.8pt">
<td valign="middle" style="width:51.4pt"><p style="font:10pt Arial;margin:0">101.INS</p> </td>
<td valign="bottom" style="width:481.4pt"><p style="font:10pt Arial;margin:0">Inline XBRL Instance Document &#8211;&#160;the instance document does not appear in the Interactive Data<br/>File because its XBRL tags are embedded within the Inline XBRL document.</p> </td></tr>
<tr style="height:14.4pt">
<td valign="bottom" style="width:51.4pt"><p style="font:10pt Arial;margin:0">101.SCH</p> </td>
<td valign="bottom" style="width:481.4pt"><p style="font:10pt Arial;margin:0">File because its XBRL tags are embedded within the Inline XBRL document.</p> </td></tr>
<tr style="height:14.4pt">
<td valign="bottom" style="width:51.4pt"><p style="font:10pt Arial;margin:0">101.CAL</p> </td>
<td valign="bottom" style="width:481.4pt"><p style="font:10pt Arial;margin:0">Inline XBRL Taxonomy Extension Calculation Linkbase Document</p> </td></tr>
<tr style="height:14.4pt">
<td valign="bottom" style="width:51.4pt"><p style="font:10pt Arial;margin:0">101.DEF</p> </td>
<td valign="bottom" style="width:481.4pt"><p style="font:10pt Arial;margin:0">Inline XBRL Taxonomy Extension Definition Linkbase Document</p> </td></tr>
<tr style="height:14.4pt">
<td valign="bottom" style="width:51.4pt"><p style="font:10pt Arial;margin:0">101.LAB</p> </td>
<td valign="bottom" style="width:481.4pt"><p style="font:10pt Arial;margin:0">Inline XBRL Taxonomy Extension Label Linkbase Document</p> </td></tr>
<tr style="height:14.4pt">
<td valign="bottom" style="width:51.4pt"><p style="font:10pt Arial;margin:0">101.PRE</p> </td>
<td valign="bottom" style="width:481.4pt"><p style="font:10pt Arial;margin:0">Inline XBRL Taxonomy Extension Presentation Linkbase Document</p> </td></tr>
<tr>
<td valign="top" style="width:51.4pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td valign="top" style="width:481.4pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td></tr>
<tr>
<td valign="top" style="width:51.4pt"><p style="font:10pt Arial;margin:0">104</p> </td>
<td valign="top" style="width:481.4pt"><p style="font:10pt Arial;margin:0">Cover Page Interactive Data File (formatted in Inline XBRL and contained in Exhibit 101).</p> </td></tr> </table> <hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">31</p> <hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0;text-align:center"><span style="border-bottom:1px solid #000000"><b><a id="sa1"></a>SIGNATURES</b></span></p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><kbd style="margin-left:36pt"></kbd>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.&#160;</p> <p style="font:10pt Arial;margin:0">&#160;</p>
<table style="border-collapse:collapse">
<tr>
<td valign="top" style="width:229.5pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td valign="top" style="width:281.2pt"><p style="font:10pt Arial;margin:0">Chicago Rivet &amp; Machine Co.</p> </td></tr>
<tr style="height:7.2pt">
<td valign="top" style="width:229.5pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td valign="top" style="width:281.2pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td></tr>
<tr>
<td valign="top" style="width:229.5pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td valign="top" style="width:281.2pt"><p style="font:10pt Arial;margin:0">By <span style="border-bottom:1px solid #000000">/s/Gregory D. Rizzo</span></p> </td></tr>
<tr>
<td valign="top" style="width:229.5pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td valign="top" style="width:281.2pt"><p style="font:10pt Arial;margin:0">Gregory D. Rizzo</p> </td></tr>
<tr>
<td valign="top" style="width:229.5pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td valign="top" style="width:281.2pt"><p style="font:10pt Arial;margin:0">Chief Executive Officer</p> </td></tr> </table> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><kbd style="margin-left:36pt"></kbd>KNOW ALL PERSONS BY THESE PRESENTS, that each person whose signature appears below hereby constitutes and appoints James W. Morrisey and Gregory D. Rizzo, with full power to act without the other, his or her true and lawful attorney-in-fact and agent, with full and several powers of substitution, for him or her and in his or her name, place and stead, in any and all capacities, to sign any and all amendments to this Annual Report on Form 10-K, and to file the same, with all exhibits thereto and other documents in connection therewith, with the Securities and Exchange Commission, and hereby grants to such attorneys-in-fact and agents, and each of them, full power and authority to do and perform each and every act and thing requisite and necessary to be done, as fully as to all intents and purposes as each of the undersigned might or could do in person, hereby ratifying and confirming all that said attorneys-in-fact and agents, or any of them, or their or his or her substitute or substitutes, may lawfully do or cause to be done by virtue hereof.&#160;</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><kbd style="margin-left:36pt"></kbd>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:&#160;</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">&#160;</p>
<table style="border-collapse:collapse">
<tr>
<td valign="top" style="width:233.75pt"><p style="font:10pt Arial;margin:0"><span style="border-bottom:1px solid #000000">/s/James W. Morrissey</span></p> </td>
<td valign="top" style="width:276.95pt"><p style="font:10pt Arial;margin:0">Chairman of the Board of Directors</p> </td></tr>
<tr>
<td valign="top" style="width:233.75pt"><p style="font:10pt Arial;margin:0">James W. Morrissey</p> </td>
<td valign="top" style="width:276.95pt"><p style="font:10pt Arial;margin:0">March 28, 2024</p> </td></tr>
<tr>
<td valign="top" style="width:233.75pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td valign="top" style="width:276.95pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td></tr>
<tr>
<td valign="top" style="width:233.75pt"><p style="font:10pt Arial;margin:0"><span style="border-bottom:1px solid #000000">/s/Gregory D. Rizzo</span></p> </td>
<td valign="top" style="width:276.95pt"><p style="font:10pt Arial;margin:0">Chief Executive Officer and Director</p> </td></tr>
<tr>
<td valign="top" style="width:233.75pt"><p style="font:10pt Arial;margin:0">Gregory D. Rizzo</p> </td>
<td valign="top" style="width:276.95pt"><p style="font:10pt Arial;margin:0">(Principal Executive Officer) </p> </td></tr>
<tr>
<td valign="top" style="width:233.75pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td valign="top" style="width:276.95pt"><p style="font:10pt Arial;margin:0">March 28, 2024</p> </td></tr>
<tr>
<td valign="top" style="width:233.75pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td valign="top" style="width:276.95pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td></tr>
<tr>
<td valign="top" style="width:233.75pt"><p style="font:10pt Arial;margin:0"><span style="border-bottom:1px solid #000000">/s/Joel M. Brown</span></p> </td>
<td valign="top" style="width:276.95pt"><p style="font:10pt Arial;margin:0">Chief Financial Officer</p> </td></tr>
<tr>
<td valign="top" style="width:233.75pt"><p style="font:10pt Arial;margin:0">Joel M. Brown</p> </td>
<td valign="top" style="width:276.95pt"><p style="font:10pt Arial;margin:0">(Principal Financial and Accounting Officer)</p> </td></tr>
<tr>
<td valign="top" style="width:233.75pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td valign="top" style="width:276.95pt"><p style="font:10pt Arial;margin:0">March 28, 2024</p> </td></tr>
<tr>
<td valign="top" style="width:233.75pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td valign="top" style="width:276.95pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td></tr>
<tr>
<td valign="top" style="width:233.75pt"><p style="font:10pt Arial;margin:0"><span style="border-bottom:1px solid #000000">/s/Kent H. Cooney</span></p> </td>
<td valign="top" style="width:276.95pt"><p style="font:10pt Arial;margin:0">Director</p> </td></tr>
<tr>
<td valign="top" style="width:233.75pt"><p style="font:10pt Arial;margin:0">Kent H. Cooney</p> </td>
<td valign="top" style="width:276.95pt"><p style="font:10pt Arial;margin:0">March 28, 2024 </p> </td></tr>
<tr>
<td valign="top" style="width:233.75pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td valign="top" style="width:276.95pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td></tr>
<tr>
<td valign="top" style="width:233.75pt"><p style="font:10pt Arial;margin:0"><span style="border-bottom:1px solid #000000">/s/Kurt Moders</span></p> </td>
<td valign="top" style="width:276.95pt"><p style="font:10pt Arial;margin:0">Director</p> </td></tr>
<tr>
<td valign="top" style="width:233.75pt"><p style="font:10pt Arial;margin:0">Kurt Moders</p> </td>
<td valign="top" style="width:276.95pt"><p style="font:10pt Arial;margin:0">March 28, 2024</p> </td></tr>
<tr>
<td valign="top" style="width:233.75pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td valign="top" style="width:276.95pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td></tr>
<tr>
<td valign="top" style="width:233.75pt"><p style="font:10pt Arial;margin:0"><span style="border-bottom:1px solid #000000">/s/Dr. Walter W. Morrissey</span></p> </td>
<td valign="top" style="width:276.95pt"><p style="font:10pt Arial;margin:0">Director</p> </td></tr>
<tr>
<td valign="top" style="width:233.75pt"><p style="font:10pt Arial;margin:0">Dr. Walter W. Morrissey</p> </td>
<td valign="top" style="width:276.95pt"><p style="font:10pt Arial;margin:0">March 28, 2024</p> </td></tr>
<tr>
<td valign="top" style="width:233.75pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td valign="top" style="width:276.95pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td></tr>
<tr>
<td valign="top" style="width:233.75pt"><p style="font:10pt Arial;margin:0"><span style="border-bottom:1px solid #000000">/s/Karen Ong</span></p> </td>
<td valign="top" style="width:276.95pt"><p style="font:10pt Arial;margin:0">Director</p> </td></tr>
<tr>
<td valign="top" style="width:233.75pt"><p style="font:10pt Arial;margin:0">Karen Ong</p> </td>
<td valign="top" style="width:276.95pt"><p style="font:10pt Arial;margin:0">March 28, 2024</p> </td></tr>
<tr>
<td valign="top" style="width:233.75pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td valign="top" style="width:276.95pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td></tr>
<tr>
<td valign="top" style="width:233.75pt"><p style="font:10pt Arial;margin:0"><span style="border-bottom:1px solid #000000">/s/John L. Showel</span></p> </td>
<td valign="top" style="width:276.95pt"><p style="font:10pt Arial;margin:0">Director</p> </td></tr>
<tr>
<td valign="top" style="width:233.75pt"><p style="font:10pt Arial;margin:0">John L. Showel</p> </td>
<td valign="top" style="width:276.95pt"><p style="font:10pt Arial;margin:0">March 28, 2024</p> </td></tr>
<tr>
<td valign="top" style="width:233.75pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td valign="top" style="width:276.95pt"><p style="font:10pt Arial;margin:0">&#160;</p> </td></tr> </table> <hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">32</p> <p style="font:10pt Times New Roman;margin:0">&#160;</p> </div> </body></html>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-4.1
<SEQUENCE>2
<FILENAME>d45311dex41.htm
<DESCRIPTION>EX-4.1
<TEXT>
<HTML><HEAD>
<TITLE>EX-4.1</TITLE>
</HEAD>
  <BODY> <DIV><P align=right style='font:10pt Arial;margin:0'><B>Exhibit
4.1</B></P> <HR style='border:0;height:0;width:0;margin:14pt 0 0 0'><P align=center style='font:10pt Arial;margin-top:0pt;margin-bottom:12pt'><B>DESCRIPTION OF THE REGISTRANT&#8217;S SECURITIES</B></P>
<P align=center style='font:10pt Arial;margin-top:0pt;margin-bottom:12pt'><B>REGISTERED PURSUANT TO SECTION 12</B></P> <P align=center style='font:10pt Arial;margin-top:0pt;margin-bottom:12pt'><B>OF THE SECURITIES EXCHANGE ACT OF 1934</B></P>
<P align=justify style='font:10pt Arial;margin-top:0pt;margin-bottom:12pt;text-indent:36pt'>Our common stock is the only class of our securities that is registered under Section 12 of the Securities Exchange Act of 1934, as amended (the
&#8220;Exchange Act&#8221;). The following description of our common stock is a summary and does not purport to be complete. It is subject to and qualified in its entirety by reference to our Articles of Incorporation, as amended (the
&#8220;Articles of Incorporation&#8221;) and our Amended and Restated Bylaws (the &#8220;Bylaws&#8221;), each of which are incorporated by reference as an exhibit to the Annual Report on Form 10-K of which this Exhibit 4.1 is a part.</P>
<P style='font:10pt Arial;margin-top:0pt;margin-bottom:12pt'><FONT style='border-bottom:1px solid #000000'><B>General</B></FONT></P> <P align=justify style='font:10pt Arial;margin-top:0pt;margin-bottom:12pt;text-indent:36pt'>Our authorized common
stock consists of 4,000,000 shares, $1.00 par value per share. As of December 31, 2023, there were 1,138,096 shares of our common stock issued and 966,132 shares of our common stock outstanding. The authorized but unissued shares of our common stock
will be available for future issuance without shareholder approval, unless otherwise required by applicable law or the rules of any applicable securities exchange. All of our issued and outstanding shares of common stock are validly issued, fully
paid and non-assessable.</P> <P align=justify style='font:10pt Arial;margin-top:0pt;margin-bottom:12pt;text-indent:36pt'>Subject to the rights and preferences granted to holders of our preferred stock then outstanding, and except with respect to
voting rights, conversion rights and certain distributions of our capital stock, holders of our common stock rank equally with respect to distributions and have identical rights, preferences, privileges and restrictions, including the right to
attend meetings and receive any information distributed by us with respect to such meetings.</P> <P align=justify style='font:10pt Arial;margin-top:0pt;margin-bottom:12pt;text-indent:36pt'><I>Dividends</I>. Holders of our common stock are equally
entitled to receive ratably such dividends as may be declared from time to time by our board of directors out of legally available funds, subject to the provisions and condition set forth in the terms of any preferred stock then outstanding. The
ability of our board of directors to declare and pay dividends on our common stock is subject to the laws of the State of Illinois and the terms of any senior securities (including preferred stock) we may then have outstanding.</P>
<P align=justify style='font:10pt Arial;margin-top:0pt;margin-bottom:12pt;text-indent:36pt'><I>Voting rights</I>. Each holder of our common stock is entitled to one vote for each share held of record on all matters submitted to a vote of
stockholders, except as otherwise required by law and subject to the rights and preferences of the holders of any outstanding shares of our preferred stock. Holders shall vote together, share for share, with the holders of any preferred stock as one
class except as to those matters which, by express statutory provision, are required to be determined by class voting. Shareholders are entitled to cumulative voting rights.</P>
<P align=justify style='font:10pt Arial;margin-top:0pt;margin-bottom:12pt;text-indent:36pt'><I>Preemptive Rights</I>. Holders of our common stock are not entitled to, and do not have, any pre-emptive or preferential right to subscribe to any share
of stock of the Company of any class, now or hereafter authorized, or to any obligations convertible into stock of the Company, issued or sold, or any right to subscribe to any thereof. The Board of Directors may issue stock of the Company, or
obligations convertible into stock, without offering such issue of stock or such obligations, either in whole or in part, to the shareholders of the Company.</P>
<P align=justify style='font:10pt Arial;margin-top:0pt;margin-bottom:12pt;text-indent:36pt'><I>Liquidation rights</I>. In the event of our liquidation, dissolution or winding-up, holders of our common stock are entitled to share pro rata in our net
assets available for distribution after payment to holders of any preferred stock then outstanding of the amounts to which they are entitled.</P> <HR style='border:0;height:0;width:0;margin:14pt 0 0 0'>
<TABLE style=border-collapse:collapse>
<TR>
<TD valign=top style=width:156pt><P style='font:12pt Times New Roman;margin:0'>&nbsp;</P> </TD>
<TD valign=top style=width:156pt><P align=center style='font:12pt Times New Roman;margin:0'>&nbsp;</P> </TD>
<TD valign=top style=width:156pt><P align=right style='font:12pt Times New Roman;margin:0'>&nbsp;</P> </TD></TR> </TABLE> <P style='font:8pt Times New Roman;margin:0'>&nbsp;</P> </DIV> </BODY></HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-21
<SEQUENCE>3
<FILENAME>d45311dex21.htm
<DESCRIPTION>EX-21
<TEXT>
<HTML><HEAD>
<TITLE>EX-21</TITLE>
</HEAD>
  <BODY> <DIV><P style='font:10pt Arial;margin:0'><A name=_dv_m189 />
<A name=_dv_m190 /><A name=_dv_m191 /><A name=_dv_m192 /><A name=_dv_m193 /><A name=_dv_m194 /><A name=_dv_m195 /><A name=_dv_m196 /><A name=_dv_m197 /><A name=_dv_m198 /><A name=_dv_m199 /><A name=_dv_m200 /><A name=_dv_m201 /><A name=_dv_m202 />&nbsp;
</P> <P align=center style='font:10pt Arial;margin:0'><FONT style='border-bottom:1px solid #000000'><B>Exhibit 21</B></FONT></P> <P align=center style='font:10pt Arial;margin:0'>&nbsp;</P> <P align=center style='font:10pt Arial;margin:0'><FONT
style='border-bottom:1px solid #000000'><B>CHICAGO RIVET &amp; MACHINE CO.</B></FONT></P> <P align=center style='font:10pt Arial;margin:0'>&nbsp;</P>
<P align=center style='font:10pt Arial;margin:0'><FONT style='border-bottom:1px solid #000000'><B>SUBSIDIARIES OF THE REGISTRANT</B></FONT></P> <P align=center style='font:10pt Arial;margin:0'>&nbsp;</P>
<P align=center style='font:12pt Arial;margin:0'>&nbsp;</P> <P align=center style='font:10pt Arial;margin:0'>&nbsp;</P> <P style='font:10pt Arial;margin:0'><KBD style=margin-left:36pt></KBD>The Company&#8217;s only subsidiary is H &amp; L Tool
Company, Inc., which is wholly-owned and is organized in the State of Illinois.&nbsp;</P> <HR style='border:0;height:0;width:0;margin:14pt 0 0 0'></DIV> </BODY></HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.1
<SEQUENCE>4
<FILENAME>d45311dex311.htm
<DESCRIPTION>EX-31.1
<TEXT>
<HTML><HEAD>
<TITLE>EX-31.1</TITLE>
</HEAD>
  <BODY>
<DIV><P align=right style='font:10pt Arial;margin:0'>EXHIBIT 31.1</P> <P style='font:11pt Times New Roman;margin:0'>&nbsp;</P> <P style='font:10pt Arial;margin:0'>I, Gregory D. Rizzo, certify that:</P> <P style='font:10pt Arial;margin:0'>&nbsp;</P>
<P style='font:10pt Arial;margin:0;text-indent:36pt'>1.&#160;&#160;&#160;I have reviewed this annual report on Form 10-K of Chicago Rivet &amp; Machine Co.; </P> <P style='font:10pt Arial;margin:0'>&nbsp;</P>
<P style='font:10pt Arial;margin:0;margin-left:36pt'>2.&#160;&#160;&#160;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;</P> <P style='font:10pt Arial;margin:0'>&nbsp;</P>
<P style='font:10pt Arial;margin:0;margin-left:36pt'>3.&#160;&#160;&#160;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;</P> <P style='font:10pt Arial;margin:0'>&nbsp;</P> <P style='font:10pt Arial;margin:0;margin-left:36pt'>4.&#160;&#160;&#160;The
registrant&#8217;s other certifying officer(s) and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as
defined in Exchange Act Rules 13a-15(f) and 15d-15(f))for the registrant and have:</P> <P style='font:10pt Arial;margin:0'>&nbsp;</P>
<P style='font:10pt Arial;margin:0;margin-left:72pt'><KBD style='position:absolute;font:10pt Arial;margin-left:-36pt'>a)</KBD>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;&nbsp;</P> <P style='font:10pt Arial;margin:0'>&nbsp;</P> <P style='font:10pt Arial;margin:0;margin-left:72pt'><KBD style='position:absolute;font:10pt Arial;margin-left:-36pt'>b)</KBD>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;&nbsp;</P> <P style='font:10pt Arial;margin:0'>&nbsp;</P>
<P style='font:10pt Arial;margin:0;margin-left:72pt'><KBD style='position:absolute;font:10pt Arial;margin-left:-36pt'>c)</KBD>Evaluated the effectiveness of the registrant&#8217;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&nbsp;</P> <P style='font:10pt Arial;margin:0'>&nbsp;</P>
<P style='font:10pt Arial;margin:0;margin-left:72pt'><KBD style='position:absolute;font:10pt Arial;margin-left:-36pt'>d)</KBD>Disclosed in this report any change in the registrant&#8217;s internal control over financial reporting that occurred
during the registrant&#8217;s most recent fiscal quarter (the registrant&#8217;s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant&#8217;s internal
control over financial reporting; and&nbsp;</P> <P style='font:10pt Arial;margin:0'>&nbsp;</P> <P style='font:10pt Arial;margin:0;margin-left:36pt'>5.&#160;&#160;&#160;The registrant&#8217;s other certifying officer(s) and I have disclosed, based on
our most recent evaluation of internal control over financial reporting, to the registrant&#8217;s auditors and the audit committee of the registrant&#8217;s board of directors (or persons performing the equivalent functions):</P>
<P style='font:10pt Arial;margin:0;margin-left:36pt'>&nbsp;</P> <P style='font:10pt Arial;margin:0;margin-left:72pt'><KBD style='position:absolute;font:10pt Arial;margin-left:-36pt'>a)</KBD>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&#8217;s ability to record, process, summarize and report financial information; and&nbsp;</P>
<P style='font:10pt Arial;margin:0;text-indent:-36pt;margin-left:72pt'>&nbsp;</P> <P style='font:10pt Arial;margin:0;margin-left:72pt'><KBD style='position:absolute;font:10pt Arial;margin-left:-36pt'>b)</KBD>Any fraud, whether or not material, that
involves management or other employees who have a significant role in the registrant&#8217;s internal control over financial reporting.&nbsp;</P> <P style='font:10pt Arial;margin:0;text-indent:-18pt;margin-left:54pt'>&nbsp;</P>
<P style='font:10pt Arial;margin:0;text-indent:-18pt;margin-left:54pt'>&nbsp;</P>
<TABLE style=border-collapse:collapse>
<TR>
<TD valign=top style=width:224.75pt><P style='font:10pt Arial;margin:0'> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Date: &nbsp;March 28, 2024</P> </TD>
<TD valign=top style=width:314.75pt><P style='font:10pt Arial;margin:0'><FONT style='border-bottom:1px solid #000000'>/s/ Gregory D. Rizzo</FONT></P> </TD></TR>
<TR>
<TD valign=top style=width:224.75pt><P style='font:10pt Arial;margin:0'>&nbsp;</P> </TD>
<TD valign=top style=width:314.75pt><P style='font:10pt Arial;margin:0'>Gregory D. Rizzo</P> </TD></TR>
<TR>
<TD valign=top style=width:224.75pt><P style='font:10pt Arial;margin:0'>&nbsp;</P> </TD>
<TD valign=top style=width:314.75pt><P style='font:10pt Arial;margin:0'>Chief Executive Officer</P> </TD></TR>
<TR>
<TD valign=top style=width:224.75pt><P style='font:10pt Arial;margin:0'>&nbsp;</P> </TD>
<TD valign=top style=width:314.75pt><P style='font:10pt Arial;margin:0'>(Principal Executive Officer)</P> </TD></TR> </TABLE> <HR style='border:0;height:0;width:0;margin:14pt 0 0 0'></DIV> </BODY></HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.2
<SEQUENCE>5
<FILENAME>d45311dex312.htm
<DESCRIPTION>EX-31.2
<TEXT>
<HTML><HEAD>
<TITLE>EX-31.2</TITLE>
</HEAD>
  <BODY>
<DIV><P align=right style='font:10pt Arial;margin:0'>EXHIBIT 31.2</P> <P style='font:11pt Times New Roman;margin:0'>&nbsp;</P> <P style='font:10pt Arial;margin:0'>I, Joel M. Brown, certify that:</P> <P style='font:10pt Arial;margin:0'>&nbsp;</P>
<P style='font:10pt Arial;margin:0;text-indent:36pt'>1.&#160;&#160;&#160;I have reviewed this annual report on Form 10-K of Chicago Rivet &amp; Machine Co.; </P> <P style='font:10pt Arial;margin:0'>&nbsp;</P>
<P style='font:10pt Arial;margin:0;margin-left:36pt'>2.&#160;&#160;&#160;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;</P> <P style='font:10pt Arial;margin:0'>&nbsp;</P>
<P style='font:10pt Arial;margin:0;margin-left:36pt'>3.&#160;&#160;&#160;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;</P> <P style='font:10pt Arial;margin:0'>&nbsp;</P> <P style='font:10pt Arial;margin:0;margin-left:36pt'>4.&#160;&#160;&#160;The
registrant&#8217;s other certifying officer(s) and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as
defined in Exchange Act Rules 13a-15(f) and 15d-15(f))for the registrant and have:</P> <P style='font:10pt Arial;margin:0'>&nbsp;</P>
<P style='font:10pt Arial;margin:0;margin-left:72pt'><KBD style='position:absolute;font:10pt Arial;margin-left:-36pt'>a)</KBD>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;&nbsp;</P> <P style='font:10pt Arial;margin:0'>&nbsp;</P> <P style='font:10pt Arial;margin:0;margin-left:72pt'><KBD style='position:absolute;font:10pt Arial;margin-left:-36pt'>b)</KBD>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;&nbsp;</P> <P style='font:10pt Arial;margin:0'>&nbsp;</P>
<P style='font:10pt Arial;margin:0;margin-left:72pt'><KBD style='position:absolute;font:10pt Arial;margin-left:-36pt'>c)</KBD>Evaluated the effectiveness of the registrant&#8217;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&nbsp;</P> <P style='font:10pt Arial;margin:0'>&nbsp;</P>
<P style='font:10pt Arial;margin:0;margin-left:72pt'><KBD style='position:absolute;font:10pt Arial;margin-left:-36pt'>d)</KBD>Disclosed in this report any change in the registrant&#8217;s internal control over financial reporting that occurred
during the registrant&#8217;s most recent fiscal quarter (the registrant&#8217;s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant&#8217;s internal
control over financial reporting; and&nbsp;</P> <P style='font:10pt Arial;margin:0'>&nbsp;</P> <P style='font:10pt Arial;margin:0;margin-left:36pt'>5.&#160;&#160;&#160;The registrant&#8217;s other certifying officer(s) and I have disclosed, based on
our most recent evaluation of internal control over financial reporting, to the registrant&#8217;s auditors and the audit committee of the registrant&#8217;s board of directors (or persons performing the equivalent functions):</P>
<P style='font:10pt Arial;margin:0;margin-left:36pt'>&nbsp;</P> <P style='font:10pt Arial;margin:0;margin-left:72pt'><KBD style='position:absolute;font:10pt Arial;margin-left:-36pt'>a)</KBD>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&#8217;s ability to record, process, summarize and report financial information; and&nbsp;</P>
<P style='font:10pt Arial;margin:0;text-indent:-36pt;margin-left:72pt'>&nbsp;</P> <P style='font:10pt Arial;margin:0;margin-left:72pt'><KBD style='position:absolute;font:10pt Arial;margin-left:-36pt'>b)</KBD>Any fraud, whether or not material, that
involves management or other employees who have a significant role in the registrant&#8217;s internal control over financial reporting.&nbsp;</P> <P style='font:10pt Arial;margin:0;text-indent:-18pt;margin-left:54pt'>&nbsp;</P>
<P style='font:10pt Arial;margin:0;text-indent:-18pt;margin-left:54pt'>&nbsp;</P>
<TABLE style=border-collapse:collapse>
<TR>
<TD valign=top style=width:224.75pt><P style='font:10pt Arial;margin:0'> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Date: &nbsp;March 28, 2024</P> </TD>
<TD valign=top style=width:314.75pt><P style='font:10pt Arial;margin:0'><FONT style='border-bottom:1px solid #000000'>/s/ Joel M. Brown</FONT></P> </TD></TR>
<TR>
<TD valign=top style=width:224.75pt><P style='font:10pt Arial;margin:0'>&nbsp;</P> </TD>
<TD valign=top style=width:314.75pt><P style='font:10pt Arial;margin:0'>Joel M. Brown</P> </TD></TR>
<TR>
<TD valign=top style=width:224.75pt><P style='font:10pt Arial;margin:0'>&nbsp;</P> </TD>
<TD valign=top style=width:314.75pt><P style='font:10pt Arial;margin:0'>Chief Financial Officer</P> </TD></TR>
<TR>
<TD valign=top style=width:224.75pt><P style='font:10pt Arial;margin:0'>&nbsp;</P> </TD>
<TD valign=top style=width:314.75pt><P style='font:10pt Arial;margin:0'>(Principal Financial and Accounting Officer)</P> </TD></TR> </TABLE> <HR style='border:0;height:0;width:0;margin:14pt 0 0 0'></DIV> </BODY></HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-32
<SEQUENCE>6
<FILENAME>d45311dex32.htm
<DESCRIPTION>EX-32
<TEXT>
<HTML><HEAD>
<TITLE>EX-32</TITLE>
</HEAD>
  <BODY>
<DIV><P align=right style='font:10pt Arial;margin:0'>EXHIBIT 32</P> <P align=center style='font:10pt Arial;margin:0'><B>Certification Pursuant to 18 U.S.C. Section 1350,</B></P> <P align=center style='font:10pt Arial;margin:0'><B>as Adopted Pursuant
to</B></P> <P align=center style='font:10pt Arial;margin:0'><B>Section 906 of the Sarbanes-Oxley Act of 2002</B></P> <P style='font:10pt Arial;margin:0'>&nbsp;</P> <P style='font:10pt Arial;margin:0'>In connection with the Annual Report on Form 10-K
of Chicago Rivet &amp; Machine Co. (the &quot;Company&quot;) for the year ended December 31, 2023 as filed with the Securities and Exchange Commission on the date hereof (the &quot;Report&quot;), the undersigned, the Chief Executive Officer and
Chief Financial Offier of the Company, each hereby certify, pursuant to 18 U.S.C. &#167;&nbsp;1350, as adopted pursuant to &#167;&nbsp;906 of the Sarbanes-Oxley Act of 2002, that, to the best of his knowledge:</P>
<P style='font:10pt Arial;margin:0'>&nbsp;</P> <P style='font:10pt Arial;margin:0'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:36pt'>(1)</KBD><KBD style=margin-left:72pt></KBD>The Report fully complies with the requirements
of Section 13(a) or 15(d) of the Securities Exchange Act of 1934; and&nbsp;</P> <P style='font:10pt Arial;margin:0'>&nbsp;</P>
<P style='font:10pt Arial;margin:0'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:36pt'>(2)</KBD><KBD style=margin-left:72pt></KBD>The information contained in the Report fairly presents, in all material respects, the financial
condition and results of operations of the Company.&nbsp;</P> <P style='font:10pt Arial;margin:0'>&nbsp;</P> <P style='font:10pt Arial;margin:0'>&nbsp;</P> <P style='font:10pt Arial;margin:0'><FONT style='border-bottom:1px solid #000000'>/s/ Gregory
D. Rizzo</FONT></P> <P style='font:10pt Arial;margin:0'><KBD style='position:absolute;font:10pt Arial;margin-left:0pt'>Name:</KBD><KBD style=margin-left:36pt></KBD>Gregory D. Rizzo&nbsp;</P>
<P style='font:10pt Arial;margin:0'><KBD style='position:absolute;font:10pt Arial;margin-left:0pt'>Title:</KBD><KBD style=margin-left:36pt></KBD>Chief Executive Officer&nbsp;</P>
<P style='font:10pt Arial;margin:0'><KBD style=margin-left:36pt></KBD>(Principal Executive Officer)&nbsp;</P>
<P style='font:10pt Arial;margin:0'><KBD style='position:absolute;font:10pt Arial;margin-left:0pt'>Date:</KBD><KBD style=margin-left:36pt></KBD>March 28, 2024&nbsp;</P> <P style='font:10pt Arial;margin:0'>&nbsp;</P>
<P style='font:10pt Arial;margin:0'><FONT style='border-bottom:1px solid #000000'>/s/ Joel M. Brown</FONT></P>
<P style='font:10pt Arial;margin:0'><KBD style='position:absolute;font:10pt Arial;margin-left:0pt'>Name:</KBD><KBD style=margin-left:36pt></KBD>Joel M. Brown&nbsp;</P>
<P style='font:10pt Arial;margin:0'><KBD style='position:absolute;font:10pt Arial;margin-left:0pt'>Title:</KBD><KBD style=margin-left:36pt></KBD>Chief Financial Officer&nbsp;</P>
<P style='font:10pt Arial;margin:0'><KBD style=margin-left:36pt></KBD>(Principal Financial and Accounting Officer)&nbsp;</P>
<P style='font:10pt Arial;margin:0'><KBD style='position:absolute;font:10pt Arial;margin-left:0pt'>Date:</KBD><KBD style=margin-left:36pt></KBD>March 28, 2024&nbsp;</P> <HR style='border:0;height:0;width:0;margin:14pt 0 0 0'></DIV> </BODY></HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-97
<SEQUENCE>7
<FILENAME>d45311dex97.htm
<DESCRIPTION>EX-97
<TEXT>
<HTML><HEAD>
<TITLE>EX-97</TITLE>
</HEAD>
  <BODY>
<DIV><HR style='border:0;height:0;width:0;margin:14pt 0 0 0'><P align=center style='font:11pt Calibri;margin:0'><FONT style='font:12pt Times New Roman;border-bottom:1px solid #000000'><B>POLICY </B><B>CONCER</B><B>NING RECOVERY </B></FONT></P>
<P align=center style='font:12pt Times New Roman;margin:0'><FONT style='border-bottom:1px solid #000000'><B>OF ERRONEOUSLY AWARDED COMPENSATION</B></FONT></P> <P align=center style='font:12pt Times New Roman;margin:0'><FONT
style='border-bottom:1px solid #000000'><B>CHICAGO RIVET &amp; MACHINE CO.</B></FONT></P> <P align=center style='font:12pt Times New Roman;margin:0'>&nbsp;</P>
<P style='font:12pt Times New Roman;margin:0'><KBD style='position:absolute;font:12pt Times New Roman;margin-left:0pt'><B>I. </B></KBD><KBD style=margin-left:36pt></KBD><B>POLICY BACKGROUND </B>&nbsp;</P>
<P style='font:12pt Times New Roman;margin:0'>&nbsp;</P> <P align=justify style='font:12pt Times New Roman;margin:0;text-indent:36pt'>This Policy Concerning Recovery of Erroneously Awarded Compensation (&#8220;<B>Policy</B>&#8221;) is adopted by the
Chicago Rivet &amp; Machine Co. (&#8220;<B>CRMC</B>&#8221;) Board of Directors (&#8220;<B>Board</B>&#8221;) to provide for the recovery, otherwise known as &#8220;clawback,&#8221; of erroneously awarded incentive-based compensation from Executive
Officers (hereinafter defined) in accordance with the applicable rules of NYSE American LLC (the &#8220;<B>NYSE American</B>&#8221;) and Section 10D of the Securities Exchange Act of 1934, as amended (the &#8220;<B>Exchange Act</B>&#8221;) and Rule
10D-1 thereunder. The listing standard under the NYSE American rules requires CRMC to adopt a policy that requires CRMC to reasonably promptly recover erroneously awarded Incentive-Based Compensation (hereinafter defined) from any current or former
Executive Officer that was received during the three-year period (and any applicable transition period) preceding the date CRMC is required to prepare an accounting restatement due to CRMC&#8217;s material noncompliance with any financial reporting
requirement under the securities laws.</P> <P style='font:12pt Times New Roman;margin:0'>&nbsp;</P> <P style='font:12pt Times New Roman;margin:0'><KBD style='position:absolute;font:12pt Times New Roman;margin-left:0pt'><B>II.
</B></KBD><KBD style=margin-left:36pt></KBD><B>TEXT OF POLICY </B>&nbsp;</P> <P style='font:12pt Times New Roman;margin:0'>&nbsp;</P>
<P align=justify style='font:12pt Times New Roman;margin:0;margin-left:36pt;color:#000000'><KBD style='position:absolute;font:12pt Times New Roman;margin-left:0pt'>A.</KBD><KBD style=margin-left:18pt></KBD><FONT style='border-bottom:1px solid #000000'>
<B>Definitions</B></FONT>. Unless the context otherwise requires, the following definitions apply for purposes of this Policy:&nbsp;</P> <P style='font:11pt Calibri;margin:0'>&nbsp;</P>
<P align=justify style='font:12pt Times New Roman;margin:0;margin-left:54pt;color:#000000'><KBD style='position:absolute;font:12pt Times New Roman;margin-left:0pt'>1.</KBD><KBD style=margin-left:18pt></KBD>&#8220;<B>Erroneously Awarded
Compensation</B>&#8221; is the amount of Incentive-Based Compensation received that exceeds the amount of Incentive-Based Compensation that otherwise would have been received had it been determined based on the restated amounts.&nbsp;</P>
<P style='font:11pt Calibri;margin:0'>&nbsp;</P>
<P align=justify style='font:12pt Times New Roman;margin:0;margin-left:54pt;color:#000000'><KBD style='position:absolute;font:12pt Times New Roman;margin-left:0pt'>2.</KBD><KBD style=margin-left:18pt></KBD>&#8220;<B>Executive Officer</B>&#8221;
means an individual who is or was an &#8220;officer&#8221; of CRMC, as such term is defined in Rule&#160;16a-1(f) under Section 16 of the Exchange Act and includes, at a minimum, executive officers identified pursuant to Item&#160;401(b) of
Regulation S-K under the Exchange Act.&nbsp;</P> <P style='font:11pt Calibri;margin:0'>&nbsp;</P>
<P align=justify style='font:12pt Times New Roman;margin:0;margin-left:54pt;color:#000000'><KBD style='position:absolute;font:12pt Times New Roman;margin-left:0pt'>3.</KBD><KBD style=margin-left:18pt></KBD>&#8220;<B>Financial Reporting
Measures</B>&#8221; are measures that are determined and presented in accordance with the accounting principles used in preparing CRMC&#8217;s financial statements, and any measures that are derived wholly or in part from such measures. Stock price
and total shareholder return are also Financial Reporting Measures. A Financial Reporting Measure need not be presented within the financial statements or included in a filing with the Securities and Exchange Commission
(&#8220;<B>SEC</B>&#8221;).&nbsp;</P> <P style='font:11pt Calibri;margin:0'>&nbsp;
</P> <P align=justify style='font:12pt Times New Roman;margin:0;margin-left:54pt;color:#000000'><A name=_aci_pg1 /><KBD style='position:absolute;font:12pt Times New Roman;margin-left:0pt'>4.</KBD><KBD style=margin-left:18pt></KBD>&#8220;<B>Incentive-Based
 Compensation</B>&#8221; means any compensation that is granted, earned, or vested based wholly or in part upon the attainment of a Financial Reporting Measure. Incentive-Based Compensation is deemed received in CRMC&#8217;s fiscal period during
which the Financial Reporting Measure specified in the Incentive-Based Compensation award is attained, even if the payment or grant of the Incentive-Based Compensation occurs after the end of that period.&nbsp;</P>
<P style='font:12pt Calibri;margin:0'>&nbsp;</P>
<P align=justify style='font:12pt Times New Roman;margin:0;margin-left:36pt;color:#000000'><KBD style='position:absolute;font:12pt Times New Roman;margin-left:0pt'>B.</KBD><KBD style=margin-left:18pt></KBD><FONT style='border-bottom:1px solid #000000'>
<B>Recovery of Erroneously Awarded Compensation</B></FONT>. CRMC will recover reasonably promptly Erroneously Awarded Compensation in the event that CRMC is required to prepare an accounting restatement due to the material noncompliance of CRMC with
any financial reporting requirement under the securities laws, including any required accounting restatement to correct an error in previously issued financial statements that is material to the previously issued financial statements, or that would
result in a material misstatement if the error were corrected in the current period or left uncorrected in the current period. The following general requirements govern recovery under this Policy:&nbsp;</P>
<P style='font:11pt Calibri;margin:0'>&nbsp;</P> <P align=justify style='font:12pt Times New Roman;margin:0;margin-left:54pt'><KBD style='position:absolute;font:12pt Times New Roman;margin-left:0pt'>1.</KBD><KBD style=margin-left:18pt></KBD>This
Policy shall be binding and enforceable against all Executive Officers and, to the extent required by applicable law or guidance from the SEC or NYSE American, their heirs, executors, administrators, or other legal representatives.&nbsp;</P>
<P align=justify style='font:12pt Times New Roman;margin:0;margin-left:54pt'> &nbsp;</P>
<P align=justify style='font:12pt Times New Roman;margin:0;margin-left:54pt'><KBD style='position:absolute;font:12pt Times New Roman;margin-left:0pt'>2.</KBD><KBD style=margin-left:18pt></KBD>This Policy shall be applied to the fullest extent
required by law. Any employment agreement, equity award agreement, compensatory plan, or any other agreement or arrangement with an Executive Officer shall be deemed to include, as a condition to the grant of any benefit thereunder, an agreement by
the Executive Officer to abide by the terms of this Policy. &nbsp;</P> <P style='font:12pt Times New Roman;margin-top:0pt;margin-bottom:10pt;margin-left:36pt'>&nbsp;</P>
<P align=justify style='font:12pt Times New Roman;margin:0;margin-left:54pt'><KBD style='position:absolute;font:12pt Times New Roman;margin-left:0pt'>3.</KBD><KBD style=margin-left:18pt></KBD>Any right of recovery under this Policy is in addition
to, and not in lieu of, any other remedies or rights of recovery that may be available to CRMC under law, regulation, or rule, or pursuant to the terms of any policy of CRMC or any provision in any employment agreement, equity award agreement,
compensatory plan, agreement, or other arrangement. &nbsp;</P> <P style='font:12pt Times New Roman;margin-top:0pt;margin-bottom:10pt;margin-left:36pt'>&nbsp;</P>
<P align=justify style='font:12pt Times New Roman;margin:0;margin-left:54pt'><KBD style='position:absolute;font:12pt Times New Roman;margin-left:0pt'>4.</KBD><KBD style=margin-left:18pt></KBD>After an accounting restatement, the Compensation
Committee, composed entirely of independent directors (the &#8220;<B>Committee</B>&#8221;), shall determine the amount of Erroneously Awarded Compensation received by each Executive Officer, if any, and shall promptly notify each Executive Officer
with a written notice containing the amount of Erroneously Awarded Compensation and a demand for reasonably prompt repayment or return of such compensation. &nbsp;</P>
<P style='font:12pt Times New Roman;margin-top:0pt;margin-bottom:10pt;margin-left:36pt'>&nbsp;</P>
<P align=justify style='font:12pt Times New Roman;margin:0;margin-left:54pt'><KBD style='position:absolute;font:12pt Times New Roman;margin-left:0pt'>5.</KBD><KBD style=margin-left:18pt></KBD>The Committee shall have discretion to determine the
appropriate means of recovering Erroneously Awarded Compensation based on the particular facts and <A name=_aci_pg2 />circumstances, which may include a direct payment or reimbursement from the Executive Officer, recovery over time pursuant to a repayment
 schedule, offsetting the recoverable amount from any future pay and/or awards owed to the Executive Officer, or any other method permitted by law that will provide for reasonably prompt recovery. Notwithstanding the foregoing, except as set forth
in Section II(E) below, in no event may CRMC accept an amount that is less than the amount of Erroneously Awarded Compensation in satisfaction of the Executive Officer&#8217;s obligations hereunder. &nbsp;</P>
<P style='font:12pt Times New Roman;margin-top:0pt;margin-bottom:10pt;margin-left:36pt'>&nbsp;</P>
<P align=justify style='font:12pt Times New Roman;margin:0;margin-left:54pt'><KBD style='position:absolute;font:12pt Times New Roman;margin-left:0pt'>6.</KBD><KBD style=margin-left:18pt></KBD>To the extent that an Executive Officer fails to repay or
reimburse all Erroneously Awarded Compensation to CRMC when due, CRMC shall take all actions reasonable and appropriate to recover such Erroneously Awarded Compensation from the Executive Officer. The Executive Officer shall be required to reimburse
CRMC for any and all expenses reasonably incurred (including attorney fees) by CRMC in recovering such Erroneously Awarded Compensation.&nbsp;</P> <P align=justify style='font:12pt Times New Roman;margin:0'>&nbsp;</P>
<P align=justify style='font:12pt Times New Roman;margin:0;margin-left:36pt;color:#000000'><KBD style='position:absolute;font:12pt Times New Roman;margin-left:0pt'>C.</KBD><KBD style=margin-left:18pt></KBD><FONT style='border-bottom:1px solid #000000'>
<B>Period </B><B>Subject to </B><B>Recovery</B></FONT>. CRMC will recover any Erroneously Awarded Compensation which was received on or after October&#160;2, 2023 by any person (1) after beginning his or her service as an Executive Officer; (2) who
served as Executive Officer at any time during the performance period for the Incentive-Based Compensation subject to recovery; (3) while CRMC has a class of securities listed on a national securities exchange or a national securities association;
and (4) during the three completed fiscal years (and applicable transition period due to a change in the Company&#8217;s fiscal year) immediately preceding the date that CRMC is required to prepare an accounting restatement as described in this
Policy.&nbsp;</P> <P style='font:11pt Calibri;margin-top:0pt;margin-bottom:6pt'>&nbsp;</P> <P align=justify style='font:12pt Times New Roman;margin:0;margin-left:36pt;color:#000000'>The date that CRMC is required to prepare an accounting restatement
as described in this Policy is the date the Board (or any authorized committee of the Board) concludes or reasonably should have concluded that CRMC is required to prepare an accounting restatement as described in this Policy, or the date a court,
regulator, or other legally authorized body directs CRMC to prepare an accounting restatement as described in this Policy. CRMC&#8217;s obligation to recover erroneously awarded compensation is not dependent on if or when the restated financial
statements are filed.</P> <P style='font:11pt Calibri;margin:0'>&nbsp;</P>
<P align=justify style='font:12pt Times New Roman;margin-top:2pt;margin-bottom:0pt;margin-left:36pt;color:#000000'><KBD style='position:absolute;font:12pt Times New Roman;margin-left:0pt'>D.</KBD><KBD style=margin-left:18pt></KBD><FONT
style='border-bottom:1px solid #000000'><B>Amount</B><B> </B><B>Subject to</B><B> Recovery</B></FONT>. Erroneously Awarded Compensation must be computed without regard to any taxes paid. For Incentive-Based Compensation based on stock price or total
shareholder return, when the amount of Erroneously Awarded Compensation is not subject to mathematical recalculation directly from the information in the accounting restatement, the following requirements apply:&nbsp;</P>
<P style='font:11pt Calibri;margin:0'>&nbsp;
</P> <P align=justify style='font:12pt Times New Roman;margin:0;margin-left:54pt;color:#000000'><A name=_aci_pg3 /><KBD style='position:absolute;font:12pt Times New Roman;margin-left:0pt'>1.</KBD><KBD style=margin-left:18pt></KBD> The amount must be based
 on a reasonable estimate of the effect of the accounting restatement on the stock price or total shareholder return upon which the Incentive-Based Compensation was received; and &nbsp;</P> <P style='font:11pt Calibri;margin:0'>&nbsp;</P>
<P align=justify style='font:12pt Times New Roman;margin:0;margin-left:54pt;color:#000000'><KBD style='position:absolute;font:12pt Times New Roman;margin-left:0pt'>2.</KBD><KBD style=margin-left:18pt></KBD>CRMC must maintain documentation of the
determination of that reasonable estimate and provide such documentation to NYSE American.&nbsp;</P> <P style='font:11pt Calibri;margin:0'>&nbsp;</P>
<P align=justify style='font:12pt Times New Roman;margin-top:0pt;margin-bottom:10pt;margin-left:36pt'>To the extent that the Executive Officer has already reimbursed CRMC for any Erroneously Awarded Compensation under any duplicative recovery
obligations established by CRMC or applicable law, it shall be appropriate for any such reimbursed amount to be credited to the amount of Erroneously Awarded Compensation in satisfaction of the Executive Officer&#8217;s obligations hereunder. </P>
<P align=justify style='font:12pt Times New Roman;margin:0;margin-left:36pt;color:#000000'><KBD style='position:absolute;font:12pt Times New Roman;margin-left:0pt'>E.</KBD><KBD style=margin-left:18pt></KBD><FONT style='border-bottom:1px solid #000000'>
<B>When Recovery is Impractica</B><B>ble</B></FONT>. CRMC must recover Erroneously Awarded Compensation except to the extent any of the following conditions is met and the Committee has determined that recovery would be impracticable:&nbsp;</P>
<P style='font:11pt Calibri;margin:0'>&nbsp;</P>
<P align=justify style='font:12pt Times New Roman;margin:0;margin-left:54pt;color:#000000'><KBD style='position:absolute;font:12pt Times New Roman;margin-left:0pt'>1.</KBD><KBD style=margin-left:18pt></KBD>The direct expense paid to a third party to
assist in enforcing this Policy would exceed the Erroneously Awarded Compensation. Before concluding that it would be impracticable to recover any amount of Erroneously Awarded Compensation based on expense of enforcement, CRMC must make a
reasonable attempt to recover such Erroneously Awarded Compensation, document such reasonable attempt(s) to recover, and provide that documentation to NYSE American.&nbsp;</P> <P style='font:11pt Calibri;margin-top:0pt;margin-bottom:10pt'>&nbsp;</P>
<P style='font:12pt Times New Roman;margin-top:2pt;margin-bottom:0pt;margin-left:54pt;color:#000000'><KBD style='position:absolute;font:12pt Times New Roman;margin-left:0pt'>2.</KBD><KBD style=margin-left:18pt></KBD>Recovery would violate home
country law where that law was adopted prior to November 28, 2022. Before concluding that it would be impracticable to recover any amount of erroneously awarded compensation based on violation of home country law, CRMC must obtain an opinion of home
country counsel, acceptable to NYSE American, that recovery would result in such a violation, and must provide such opinion to NYSE American.&nbsp;</P> <P style='font:11pt Calibri;margin:0'>&nbsp;</P>
<P align=justify style='font:12pt Times New Roman;margin:0;margin-left:54pt;color:#000000'><KBD style='position:absolute;font:12pt Times New Roman;margin-left:0pt'>3.</KBD><KBD style=margin-left:18pt></KBD>Recovery would likely cause an otherwise
tax-qualified plan, under which benefits are broadly available to employees of CRMC, to fail to meet the requirements of Section&#160;401(a)(13) or Section&#160;411(a) of the Internal Revenue Code of 1986 and regulations thereunder.&nbsp;</P>
<P style='font:11pt Calibri;margin:0'>&nbsp;</P>
<P align=justify style='font:12pt Times New Roman;margin:0;margin-left:36pt;color:#000000'><KBD style='position:absolute;font:12pt Times New Roman;margin-left:0pt'>F.</KBD><KBD style=margin-left:18pt></KBD><FONT style='border-bottom:1px solid #000000'>
<B>Indemnification </B><B>of Recovery </B><B>Prohibited</B></FONT>. CRMC shall not indemnify any Executive Officer against the loss of Erroneously Awarded Compensation.&nbsp;</P> <P style='font:11pt Calibri;margin:0'>&nbsp;</P>
<P style='font:12pt Times New Roman;margin:0;margin-left:36pt;color:#000000'><A name=_aci_pg4 /><KBD style='position:absolute;font:12pt Times New Roman;margin-left:0pt'>G.</KBD><KBD style=margin-left:18pt></KBD><FONT
style='border-bottom:1px solid #000000'><B>Mandatory Disclosures</B></FONT>. &nbsp;</P> <P style='font:11pt Calibri;margin:0'>&nbsp;
</P> <P align=justify style='font:12pt Times New Roman;margin:0;margin-left:54pt;color:#000000'><KBD style='position:absolute;font:12pt Times New Roman;margin-left:0pt'>1.</KBD><KBD style=margin-left:18pt></KBD>CRMC shall file this Policy as an exhibit
 to its Annual Report on Form 10-K and, if applicable, disclose information relating to the occurrence of an accounting restatement in accordance with NYSE American rules and the Exchange Act.&nbsp;</P>
<P style='font:11pt Calibri;margin:0'>&nbsp;</P>
<P align=justify style='font:12pt Times New Roman;margin:0;margin-left:54pt;color:#000000'><KBD style='position:absolute;font:12pt Times New Roman;margin-left:0pt'>2.</KBD><KBD style=margin-left:18pt></KBD>In the event that CRMC is required to
recover any Erroneously Awarded Compensation, CRMC, in accordance with NYSE American rules and the Exchange Act, will disclose: (i) the aggregate amount recovered, or (ii) if no amount was recovered, the absence of a recoverable amount. &nbsp;</P>
<P style='font:11pt Calibri;margin:0'>&nbsp;</P>
<P align=justify style='font:13pt Cambria;margin:0;margin-left:36pt;color:#365F91'><KBD style='position:absolute;font:13pt Times New Roman;margin-left:0pt'><FONT style=color:#000000>H.</FONT></KBD><KBD style=margin-left:18pt></KBD><FONT
style='font:12pt Times New Roman;color:#000000;border-bottom:1px solid #000000'><B>Acknowledgement</B></FONT><FONT style='font:12pt Times New Roman;color:#000000'>. Each Executive Officer shall review and acknowledge this Policy within 30 days of
its adoption by the Board or 30 days from the date of hire or assumption of Executive Officer status, as applicable.</FONT>&nbsp;</P> <P style='font:12pt Times New Roman;margin:0'>&nbsp;</P>
<P style='font:12pt Times New Roman;margin:0'><KBD style='position:absolute;font:12pt Times New Roman;margin-left:0pt'><B>III. </B></KBD><KBD style=margin-left:36pt></KBD><B>ADMINISTRATION; POLICY REVIEW </B>&nbsp;</P>
<P style='font:12pt Times New Roman;margin:0'>&nbsp;</P> <P align=justify style='font:12pt Times New Roman;margin:0'><KBD style=margin-left:36pt></KBD>This Policy will be enforced in accordance with the incentive compensation recovery rules of the
SEC and NYSE American rules. The Committee shall be responsible for monitoring the application of this Policy, has the authority to construe, interpret, and implement this Policy and make any determinations necessary or advisable in administering
this Policy, and may consult with, retain, and terminate, at CRMC&#8217;s expense, legal counsel, compensation consultants, or other advisors to advise the Committee with respect to any matters relevant to the administration of this Policy,
including the determination and recovery of any Erroneously Awarded Compensation. This Policy will be deemed to be automatically updated to incorporate any requirement of law or SEC or exchange listing standard, rule, or regulation applicable to
CRMC.&nbsp;</P> <P align=justify style='font:12pt Times New Roman;margin:0'>&nbsp;</P> <P align=justify style='font:12pt Times New Roman;margin:0'><KBD style=margin-left:36pt></KBD>The Committee is responsible for periodically reviewing this Policy
and recommending to the Board any necessary revisions for consideration and approval. In addition to the foregoing, this Policy will be presented to the Board no less than annually.&nbsp;</P> <P style='font:12pt Times New Roman;margin:0'>&nbsp;</P>
<TABLE style=border-collapse:collapse>
<TR>
<TD valign=top style='width:159.6pt;padding-left:5.4pt;padding-right:5.4pt;border:0.5pt solid #000000'><P style='font:12pt Calibri;margin:0'><FONT style='font-family:Times New Roman'><B>Description of Change</B></FONT></P> </TD>
<TD valign=top style='width:159.6pt;padding-left:5.4pt;padding-right:5.4pt;border:0.5pt solid #000000'><P style='font:12pt Calibri;margin:0'><FONT style='font-family:Times New Roman'><B>Revision</B></FONT></P> </TD>
<TD valign=top style='width:159.6pt;padding-left:5.4pt;padding-right:5.4pt;border:0.5pt solid #000000'><P style='font:12pt Calibri;margin:0'><FONT style='font-family:Times New Roman'><B>Board Approval Date</B></FONT></P> </TD></TR>
<TR>
<TD valign=top style='width:159.6pt;padding-left:5.4pt;padding-right:5.4pt;border:0.5pt solid #000000'><P style='font:12pt Calibri;margin:0'><FONT style='font-family:Times New Roman'>Initial Document Creation</FONT></P> </TD>
<TD valign=top style='width:159.6pt;padding-left:5.4pt;padding-right:5.4pt;border:0.5pt solid #000000'><P style='font:12pt Calibri;margin:0'><FONT style='font-family:Times New Roman'>1.0</FONT></P> </TD>
<TD valign=top style='width:159.6pt;padding-left:5.4pt;padding-right:5.4pt;border:0.5pt solid #000000'><P style='font:11pt Calibri;margin:0'><FONT style='font-family:Times New Roman'>11/28/2023</FONT></P> </TD></TR>
<TR>
<TD valign=top style='width:159.6pt;padding-left:5.4pt;padding-right:5.4pt;border:0.5pt solid #000000'><P style='font:12pt Calibri;margin:0'>&nbsp;</P> </TD>
<TD valign=top style='width:159.6pt;padding-left:5.4pt;padding-right:5.4pt;border:0.5pt solid #000000'><P style='font:12pt Calibri;margin:0'>&nbsp;</P> </TD>
<TD valign=top style='width:159.6pt;padding-left:5.4pt;padding-right:5.4pt;border:0.5pt solid #000000'><P style='font:12pt Calibri;margin:0'>&nbsp;</P> </TD></TR> </TABLE>
<HR style='border:0;height:0;width:0;margin:14pt 0 0 0'><P style='font:12pt Times New Roman;margin:0'><KBD style='position:absolute;text-align:center;font:12pt Calibri;width:468pt'>1</KBD>&nbsp;</P>
<HR style='page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0'><P style=line-height:0;margin:0></P> <HR style='border:0;height:0;width:0;margin:14pt 0 0 0'><P align=center style='font:12pt Times New Roman;margin:0'><A name=_aci_pg5 />
<B>CHICAGO RIVET &amp; MACHINE CO.</B></P> <P align=center style='font:12pt Times New Roman;margin:0'>&nbsp;</P> <P align=center style='font:12pt Times New Roman;margin:0'>STATEMENT OF POLICY CONCERNING </P>
<P align=center style='font:12pt Times New Roman;margin:0'>THE RECOVERY OF ERRONEOUSLY AWARDED COMPENSATION</P> <P style='font:12pt Times New Roman;margin:0'>&nbsp;</P> <P style='font:12pt Times New Roman;margin:0'><I>ACKNOWLEDGMENT</I></P>
<P style='font:12pt Times New Roman;margin:0'>&nbsp;</P> <P align=justify style='font:12pt Times New Roman;margin:0'>The undersigned hereby acknowledges receipt of the attached Policy of Chicago Rivet &amp; Machine Co. and its wholly-owned
subsidiaries (&#8220;<B>CRMC</B>&#8221;) for the recovery of Erroneously Awarded Compensation and hereby covenants that the undersigned will strictly comply with such Policy both during and after employment with CRMC, including, without limitation,
by promptly repaying or returning any Erroneously Awarded Compensation to CRMC as required by this Policy. </P> <P align=justify style='font:12pt Times New Roman;margin:0'>&nbsp;</P>
<P align=justify style='font:12pt Times New Roman;margin:0'>&nbsp;</P> <P align=justify style='font:12pt Times New Roman;margin:0'><KBD style=margin-left:216pt></KBD>Signature: ______________________________&nbsp;</P>
<P align=justify style='font:12pt Times New Roman;margin:0'>&nbsp;</P> <P align=justify style='font:12pt Times New Roman;margin:0;text-indent:36pt;margin-left:180pt'> &nbsp;&nbsp;&nbsp;Printed: ______________________________</P>
<P align=justify style='font:12pt Times New Roman;margin:0;text-indent:36pt;margin-left:180pt'>&nbsp;</P> <P align=justify style='font:12pt Times New Roman;margin:0;text-indent:36pt;margin-left:180pt'>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Title: ______________________________</P> <P align=justify style='font:12pt Times New Roman;margin:0;text-indent:36pt;margin-left:180pt'>&nbsp;</P>
<P align=justify style='font:12pt Times New Roman;margin:0;text-indent:36pt;margin-left:180pt'> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Date: ______________________________</P>
<HR style='border:0;height:0;width:0;margin:14pt 0 0 0'><P style='font:12pt Times New Roman;margin:0'><KBD style='position:absolute;text-align:center;font:12pt Calibri;width:468pt'>2</KBD>&nbsp;</P> </DIV> </BODY></HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.SCH
<SEQUENCE>8
<FILENAME>cvr-20231231.xsd
<DESCRIPTION>XBRL TAXONOMY EXTENSION SCHEMA
<TEXT>
<XBRL>
<?xml version='1.0' encoding='iso-8859-1'?>
<!-- Produced by EDGARsuite software, Advanced Computer Innovations, Inc., Copyright (C) 2008-2023 [PPXC1A0KDJ2KVDRZ9JZY]. www.edgarsuite.com -->
<schema xmlns='http://www.w3.org/2001/XMLSchema' xmlns:country='http://xbrl.sec.gov/country/2023' xmlns:us-gaap='http://fasb.org/us-gaap/2023' xmlns:srt='http://fasb.org/srt/2023' xmlns:fil='http://www.chicagorivet.com/20231231' xmlns:dei='http://xbrl.sec.gov/dei/2023' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:xbrldt='http://xbrl.org/2005/xbrldt' targetNamespace='http://www.chicagorivet.com/20231231' xmlns:dtr-types='http://www.xbrl.org/dtr/type/2022-03-31' xmlns:link='http://www.xbrl.org/2003/linkbase' xmlns:xbrli='http://www.xbrl.org/2003/instance' elementFormDefault='qualified' attributeFormDefault='unqualified'>
	<annotation>
		<appinfo>
			<link:linkbaseRef xlink:type="simple" xlink:href="cvr-20231231_pre.xml" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase"/>
			<link:linkbaseRef xlink:type="simple" xlink:href="cvr-20231231_def.xml" xlink:role="http://www.xbrl.org/2003/role/definitionLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase"/>
			<link:linkbaseRef xlink:type="simple" xlink:href="cvr-20231231_lab.xml" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase"/>
			<link:linkbaseRef xlink:type="simple" xlink:href="cvr-20231231_cal.xml" xlink:role="http://www.xbrl.org/2003/role/calculationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase"/>
			<link:roleType roleURI="http://www.chicagorivet.com/20231231/role/idr_Disclosure3IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesTables" id="idr_Disclosure3IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesTables">
				<link:definition>000250 - Disclosure - 3 - Income Taxes: Schedule of Deferred Tax Assets and Liabilities (Tables)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.chicagorivet.com/20231231/role/idr_Disclosure3IncomeTaxesProvisionForIncomeTaxExpenseDetails" id="idr_Disclosure3IncomeTaxesProvisionForIncomeTaxExpenseDetails">
				<link:definition>000360 - Disclosure - 3 - Income Taxes: Provision for Income Tax Expense (Details)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.chicagorivet.com/20231231/role/idr_Disclosure3IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails" id="idr_Disclosure3IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails">
				<link:definition>000380 - Disclosure - 3 - Income Taxes: Schedule of Deferred Tax Assets and Liabilities (Details)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.chicagorivet.com/20231231/role/idr_Disclosure3IncomeTaxes" id="idr_Disclosure3IncomeTaxes">
				<link:definition>000100 - Disclosure - 3 - Income Taxes</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.chicagorivet.com/20231231/role/idr_DisclosureUncertainTaxPositionsAndUnrecognizedTaxBenefitsDetails" id="idr_DisclosureUncertainTaxPositionsAndUnrecognizedTaxBenefitsDetails">
				<link:definition>000300 - Disclosure - Uncertain Tax Positions and Unrecognized Tax Benefits (Details)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.chicagorivet.com/20231231/role/idr_DisclosureEstimatedUsefulLivesByAssetCategoryDetails" id="idr_DisclosureEstimatedUsefulLivesByAssetCategoryDetails">
				<link:definition>000290 - Disclosure - Estimated Useful Lives by Asset Category (Details)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedBalanceSheets" id="idr_StatementConsolidatedBalanceSheets">
				<link:definition>000020 - Statement - Consolidated Balance Sheets</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.chicagorivet.com/20231231/role/idr_Disclosure6SegmentInformationDetails" id="idr_Disclosure6SegmentInformationDetails">
				<link:definition>000430 - Disclosure - 6 - Segment Information (Details)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.chicagorivet.com/20231231/role/idr_Disclosure5OtherIncome" id="idr_Disclosure5OtherIncome">
				<link:definition>000120 - Disclosure - 5 - Other Income</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.chicagorivet.com/20231231/role/idr_Disclosure2BalanceSheetDetailsOtherAccruedExpensesDetails" id="idr_Disclosure2BalanceSheetDetailsOtherAccruedExpensesDetails">
				<link:definition>000340 - Disclosure - 2 - Balance Sheet Details: Other Accrued Expenses (Details)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.chicagorivet.com/20231231/role/idr_Disclosure3IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails" id="idr_Disclosure3IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails">
				<link:definition>000370 - Disclosure - 3 - Income Taxes: Schedule of Effective Income Tax Rate Reconciliation (Details)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.chicagorivet.com/20231231/role/idr_Disclosure6SegmentInformation" id="idr_Disclosure6SegmentInformation">
				<link:definition>000130 - Disclosure - 6 - Segment Information</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.chicagorivet.com/20231231/role/idr_Disclosure2BalanceSheetDetailsInventoryDetails" id="idr_Disclosure2BalanceSheetDetailsInventoryDetails">
				<link:definition>000320 - Disclosure - 2 - Balance Sheet Details: Inventory (Details)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.chicagorivet.com/20231231/role/idr_Disclosure3IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationTables" id="idr_Disclosure3IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationTables">
				<link:definition>000240 - Disclosure - 3 - Income Taxes: Schedule of Effective Income Tax Rate Reconciliation (Tables)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.chicagorivet.com/20231231/role/idr_DisclosureContractsWithCustomersRevenueRecognizedDetails" id="idr_DisclosureContractsWithCustomersRevenueRecognizedDetails">
				<link:definition>000280 - Disclosure - Contracts with Customers Revenue Recognized (Details)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.chicagorivet.com/20231231/role/idr_Disclosure2BalanceSheetDetailsInventoryTables" id="idr_Disclosure2BalanceSheetDetailsInventoryTables">
				<link:definition>000190 - Disclosure - 2 - Balance Sheet Details: Inventory (Tables)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.chicagorivet.com/20231231/role/idr_Disclosure5OtherIncomeOtherIncomeDetails" id="idr_Disclosure5OtherIncomeOtherIncomeDetails">
				<link:definition>000410 - Disclosure - 5 - Other Income: Other Income (Details)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfShareholdersEquityParenthetical" id="idr_StatementConsolidatedStatementsOfShareholdersEquityParenthetical">
				<link:definition>000060 - Statement - Consolidated Statements of Shareholders&apos; Equity - Parenthetical</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.chicagorivet.com/20231231/role/idr_Disclosure4ProfitSharingPlan" id="idr_Disclosure4ProfitSharingPlan">
				<link:definition>000110 - Disclosure - 4 - Profit Sharing Plan</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.chicagorivet.com/20231231/role/idr_Disclosure2BalanceSheetDetails" id="idr_Disclosure2BalanceSheetDetails">
				<link:definition>000090 - Disclosure - 2 - Balance Sheet Details</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.chicagorivet.com/20231231/role/idr_Disclosure10SubsequentEvents" id="idr_Disclosure10SubsequentEvents">
				<link:definition>000170 - Disclosure - 10 - Subsequent Events</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.chicagorivet.com/20231231/role/idr_Disclosure8CommitmentsAndContingencies" id="idr_Disclosure8CommitmentsAndContingencies">
				<link:definition>000150 - Disclosure - 8 - Commitments and Contingencies</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfShareholdersEquity" id="idr_StatementConsolidatedStatementsOfShareholdersEquity">
				<link:definition>000050 - Statement - Consolidated Statements of Shareholders&apos; Equity</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.chicagorivet.com/20231231/role/idr_Disclosure7AdditionalFinancialInformationDisclosure" id="idr_Disclosure7AdditionalFinancialInformationDisclosure">
				<link:definition>000140 - Disclosure - 7 - Additional Financial Information Disclosure</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.chicagorivet.com/20231231/role/idr_DisclosureSignificantAccountingPoliciesPolicies" id="idr_DisclosureSignificantAccountingPoliciesPolicies">
				<link:definition>000180 - Disclosure - Significant Accounting Policies (Policies)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.chicagorivet.com/20231231/role/idr_Disclosure1NatureOfBusinessAndSignificantAccountingPolicies" id="idr_Disclosure1NatureOfBusinessAndSignificantAccountingPolicies">
				<link:definition>000080 - Disclosure - 1 - Nature of Business and Significant Accounting Policies</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.chicagorivet.com/20231231/role/idr_Disclosure10SubsequentEventsDetails" id="idr_Disclosure10SubsequentEventsDetails">
				<link:definition>000480 - Disclosure - 10 - Subsequent Events (Details)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.chicagorivet.com/20231231/role/idr_Disclosure3IncomeTaxesDetails" id="idr_Disclosure3IncomeTaxesDetails">
				<link:definition>000390 - Disclosure - 3 - Income Taxes (Details)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.chicagorivet.com/20231231/role/idr_DisclosureCommitmentsAndContingenciesDetails" id="idr_DisclosureCommitmentsAndContingenciesDetails">
				<link:definition>000460 - Disclosure - Commitments and Contingencies (Details)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.chicagorivet.com/20231231/role/idr_DisclosureSummaryOfOfRevenuesAndARFromMajorCustomersDetails" id="idr_DisclosureSummaryOfOfRevenuesAndARFromMajorCustomersDetails">
				<link:definition>000440 - Disclosure - Summary of % of Revenues and A/R from Major Customers (Details)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.chicagorivet.com/20231231/role/idr_Disclosure2BalanceSheetDetailsOtherAccruedExpensesTables" id="idr_Disclosure2BalanceSheetDetailsOtherAccruedExpensesTables">
				<link:definition>000210 - Disclosure - 2 - Balance Sheet Details: Other Accrued Expenses (Tables)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.chicagorivet.com/20231231/role/idr_Disclosure9RisksAndUncertaintiesForHealthEmergencies" id="idr_Disclosure9RisksAndUncertaintiesForHealthEmergencies">
				<link:definition>000160 - Disclosure - 9 - Risks and Uncertainties for Health Emergencies</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.chicagorivet.com/20231231/role/idr_DisclosureProfitSharingPlanDetails" id="idr_DisclosureProfitSharingPlanDetails">
				<link:definition>000400 - Disclosure - Profit Sharing Plan (Details)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.chicagorivet.com/20231231/role/idr_Disclosure2BalanceSheetDetailsScheduleOfValuationAndQualifyingAccountsTables" id="idr_Disclosure2BalanceSheetDetailsScheduleOfValuationAndQualifyingAccountsTables">
				<link:definition>000220 - Disclosure - 2 - Balance Sheet Details: Schedule of Valuation and Qualifying Accounts (Tables)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.chicagorivet.com/20231231/role/idr_DocumentDocumentAndEntityInformation" id="idr_DocumentDocumentAndEntityInformation">
				<link:definition>000010 - Document - Document and Entity Information</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.chicagorivet.com/20231231/role/idr_DisclosureScheduleOfValuationAndQualifyingAccountsDetails" id="idr_DisclosureScheduleOfValuationAndQualifyingAccountsDetails">
				<link:definition>000350 - Disclosure - Schedule of Valuation and Qualifying Accounts (Details)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.chicagorivet.com/20231231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationTables" id="idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationTables">
				<link:definition>000270 - Disclosure - 6 - Segment Information: Schedule of Segment Reporting Information (Tables)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfCashFlows" id="idr_StatementConsolidatedStatementsOfCashFlows">
				<link:definition>000070 - Statement - Consolidated Statements of Cash Flows</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.chicagorivet.com/20231231/role/idr_Disclosure2BalanceSheetDetailsPropertyPlantAndEquipmentTables" id="idr_Disclosure2BalanceSheetDetailsPropertyPlantAndEquipmentTables">
				<link:definition>000200 - Disclosure - 2 - Balance Sheet Details: Property, Plant and Equipment (Tables)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.chicagorivet.com/20231231/role/idr_DisclosureWeightedAvgNumberOfSharesOutstandingDetails" id="idr_DisclosureWeightedAvgNumberOfSharesOutstandingDetails">
				<link:definition>000310 - Disclosure - Weighted Avg. Number of Shares Outstanding (Details)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedBalanceSheetsParenthetical" id="idr_StatementConsolidatedBalanceSheetsParenthetical">
				<link:definition>000030 - Statement - Consolidated Balance Sheets - Parenthetical</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.chicagorivet.com/20231231/role/idr_Disclosure2BalanceSheetDetailsPropertyPlantAndEquipmentDetails" id="idr_Disclosure2BalanceSheetDetailsPropertyPlantAndEquipmentDetails">
				<link:definition>000330 - Disclosure - 2 - Balance Sheet Details: Property, Plant and Equipment (Details)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.chicagorivet.com/20231231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationDetails" id="idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationDetails">
				<link:definition>000420 - Disclosure - 6 - Segment Information: Schedule of Segment Reporting Information (Details)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.chicagorivet.com/20231231/role/idr_Disclosure3IncomeTaxesProvisionForIncomeTaxExpenseTables" id="idr_Disclosure3IncomeTaxesProvisionForIncomeTaxExpenseTables">
				<link:definition>000230 - Disclosure - 3 - Income Taxes: Provision for Income Tax Expense (Tables)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfOperations" id="idr_StatementConsolidatedStatementsOfOperations">
				<link:definition>000040 - Statement - Consolidated Statements of Operations</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.chicagorivet.com/20231231/role/idr_Disclosure5OtherIncomeOtherIncomeTables" id="idr_Disclosure5OtherIncomeOtherIncomeTables">
				<link:definition>000260 - Disclosure - 5 - Other Income: Other Income (Tables)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.chicagorivet.com/20231231/role/idr_Disclosure7AdditionalFinancialInformationDisclosureDetails" id="idr_Disclosure7AdditionalFinancialInformationDisclosureDetails">
				<link:definition>000450 - Disclosure - 7 - Additional Financial Information Disclosure (Details)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.chicagorivet.com/20231231/role/idr_DisclosureSubsequentEventsDetails" id="idr_DisclosureSubsequentEventsDetails">
				<link:definition>000470 - Disclosure - Subsequent Events (Details)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
		</appinfo>
	</annotation>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2005/xbrldt-2005.xsd' namespace='http://xbrl.org/2005/xbrldt'/>
	<import schemaLocation='https://www.xbrl.org/dtr/type/2022-03-31/types.xsd' namespace='http://www.xbrl.org/dtr/type/2022-03-31'/>
	<import namespace='http://xbrl.sec.gov/dei/2023' schemaLocation='https://xbrl.sec.gov/dei/2023/dei-2023.xsd'/>
	<import namespace='http://fasb.org/us-gaap/2023' schemaLocation='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd'/>
	<element abstract='true' nillable='true' type='dtr-types:domainItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_FastenerMember' name='FastenerMember'/>
	<element abstract='true' nillable='true' type='dtr-types:domainItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_AssemblyEquipmentMember' name='AssemblyEquipmentMember'/>
	<element abstract='true' nillable='true' type='dtr-types:domainItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_CooperStandardHoldingsIncMember' name='CooperStandardHoldingsIncMember'/>
	<element abstract='true' nillable='true' type='dtr-types:domainItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_MartinreaInternationalIncMember' name='MartinreaInternationalIncMember'/>
	<element abstract='true' nillable='true' type='dtr-types:domainItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_TIGroupAutomotiveSystemsMember' name='TIGroupAutomotiveSystemsMember'/>
	<element abstract='true' nillable='true' type='dtr-types:domainItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_AutomotiveMember' name='AutomotiveMember'/>
	<element abstract='true' nillable='true' type='dtr-types:domainItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_NonautomotiveMember' name='NonautomotiveMember'/>
	<element nillable='true' type='xbrli:monetaryItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' xbrli:balance='credit' id='fil_SegmentOperatingProfit' name='SegmentOperatingProfit'/>
	<element nillable='true' type='xbrli:monetaryItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' xbrli:balance='debit' id='fil_SellingAndAdministrativeExpensesUnallocatedCorporate' name='SellingAndAdministrativeExpensesUnallocatedCorporate'/>
</schema>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.CAL
<SEQUENCE>9
<FILENAME>cvr-20231231_cal.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION CALCULATION LINKBASE
<TEXT>
<XBRL>
<?xml version='1.0' encoding='iso-8859-1'?>
<!-- Produced by EDGARsuite software, Advanced Computer Innovations, Inc., Copyright (C) 2008-2023 [PPXC1A0KDJ2KVDRZ9JZY]. www.edgarsuite.com -->
<link:linkbase xmlns="http://www.xbrl.org/2003/linkbase"
		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
		xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd"
		xmlns:fil="http://www.chicagorivet.com/20231231"
		xmlns:link="http://www.xbrl.org/2003/linkbase"
		xmlns:xlink="http://www.w3.org/1999/xlink"
		xmlns:xbrldt="http://xbrl.org/2005/xbrldt"
		xmlns:xbrli="http://www.xbrl.org/2003/instance">
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedBalanceSheets" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_StatementConsolidatedBalanceSheets"/>
	<link:calculationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedBalanceSheets">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrent' xlink:label='us-gaap_AssetsCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue' xlink:label='us-gaap_CashAndCashEquivalentsAtCarryingValue'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_AssetsCurrent' xlink:to='us-gaap_CashAndCashEquivalentsAtCarryingValue' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShortTermInvestments' xlink:label='us-gaap_ShortTermInvestments'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_AssetsCurrent' xlink:to='us-gaap_ShortTermInvestments' use='optional' order='2.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableNetCurrent' xlink:label='us-gaap_AccountsReceivableNetCurrent'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_AssetsCurrent' xlink:to='us-gaap_AccountsReceivableNetCurrent' use='optional' order='3.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerAssetNetCurrent' xlink:label='us-gaap_ContractWithCustomerAssetNetCurrent'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_AssetsCurrent' xlink:to='us-gaap_ContractWithCustomerAssetNetCurrent' use='optional' order='4.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryNet' xlink:label='us-gaap_InventoryNet'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_AssetsCurrent' xlink:to='us-gaap_InventoryNet' use='optional' order='5.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrepaidTaxes' xlink:label='us-gaap_PrepaidTaxes'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_AssetsCurrent' xlink:to='us-gaap_PrepaidTaxes' use='optional' order='6.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsCurrent' xlink:label='us-gaap_OtherAssetsCurrent'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_AssetsCurrent' xlink:to='us-gaap_OtherAssetsCurrent' use='optional' order='7.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Assets' xlink:label='us-gaap_Assets'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_Assets' xlink:to='us-gaap_AssetsCurrent' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet' xlink:label='us-gaap_PropertyPlantAndEquipmentNet'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_Assets' xlink:to='us-gaap_PropertyPlantAndEquipmentNet' use='optional' order='2.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxAssetsNet' xlink:label='us-gaap_DeferredIncomeTaxAssetsNet'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_Assets' xlink:to='us-gaap_DeferredIncomeTaxAssetsNet' use='optional' order='3.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrent' xlink:label='us-gaap_LiabilitiesCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableCurrent' xlink:label='us-gaap_AccountsPayableCurrent'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_LiabilitiesCurrent' xlink:to='us-gaap_AccountsPayableCurrent' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent' xlink:label='us-gaap_EmployeeRelatedLiabilitiesCurrent'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_LiabilitiesCurrent' xlink:to='us-gaap_EmployeeRelatedLiabilitiesCurrent' use='optional' order='2.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesCurrent' xlink:label='us-gaap_AccruedLiabilitiesCurrent'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_LiabilitiesCurrent' xlink:to='us-gaap_AccruedLiabilitiesCurrent' use='optional' order='3.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CustomerAdvancesAndDepositsCurrent' xlink:label='us-gaap_CustomerAdvancesAndDepositsCurrent'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_LiabilitiesCurrent' xlink:to='us-gaap_CustomerAdvancesAndDepositsCurrent' use='optional' order='4.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Liabilities' xlink:label='us-gaap_Liabilities'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_Liabilities' xlink:to='us-gaap_LiabilitiesCurrent' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet' xlink:label='us-gaap_DeferredIncomeTaxLiabilitiesNet'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_Liabilities' xlink:to='us-gaap_DeferredIncomeTaxLiabilitiesNet' use='optional' order='2.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquity' xlink:label='us-gaap_LiabilitiesAndStockholdersEquity'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_LiabilitiesAndStockholdersEquity' xlink:to='us-gaap_Liabilities' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity' xlink:label='us-gaap_StockholdersEquity'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_LiabilitiesAndStockholdersEquity' xlink:to='us-gaap_StockholdersEquity' use='optional' order='2.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockValue' xlink:label='us-gaap_PreferredStockValue'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_StockholdersEquity' xlink:to='us-gaap_PreferredStockValue' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockValueOutstanding' xlink:label='us-gaap_CommonStockValueOutstanding'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_StockholdersEquity' xlink:to='us-gaap_CommonStockValueOutstanding' use='optional' order='2.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapital' xlink:label='us-gaap_AdditionalPaidInCapital'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_StockholdersEquity' xlink:to='us-gaap_AdditionalPaidInCapital' use='optional' order='3.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsAccumulatedDeficit' xlink:label='us-gaap_RetainedEarningsAccumulatedDeficit'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_StockholdersEquity' xlink:to='us-gaap_RetainedEarningsAccumulatedDeficit' use='optional' order='4.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockValue' xlink:label='us-gaap_TreasuryStockValue'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_StockholdersEquity' xlink:to='us-gaap_TreasuryStockValue' use='optional' order='5.0' weight='-1.0'/>
	</link:calculationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfOperations" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_StatementConsolidatedStatementsOfOperations"/>
	<link:calculationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfOperations">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GrossProfit' xlink:label='us-gaap_GrossProfit'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Revenues' xlink:label='us-gaap_Revenues'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_GrossProfit' xlink:to='us-gaap_Revenues' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfRevenue' xlink:label='us-gaap_CostOfRevenue'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_GrossProfit' xlink:to='us-gaap_CostOfRevenue' use='optional' order='2.0' weight='-1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingIncomeLoss' xlink:label='us-gaap_OperatingIncomeLoss'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_OperatingIncomeLoss' xlink:to='us-gaap_GrossProfit' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingExpenses' xlink:label='us-gaap_OperatingExpenses'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_OperatingIncomeLoss' xlink:to='us-gaap_OperatingExpenses' use='optional' order='2.0' weight='-1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingGeneralAndAdministrativeExpense' xlink:label='us-gaap_SellingGeneralAndAdministrativeExpense'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_OperatingExpenses' xlink:to='us-gaap_SellingGeneralAndAdministrativeExpense' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment' xlink:label='us-gaap_GainLossOnSaleOfPropertyPlantEquipment'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_OperatingExpenses' xlink:to='us-gaap_GainLossOnSaleOfPropertyPlantEquipment' use='optional' order='2.0' weight='-1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic' xlink:label='us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic' xlink:to='us-gaap_OperatingIncomeLoss' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNonoperatingIncomeExpense' xlink:label='us-gaap_OtherNonoperatingIncomeExpense'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic' xlink:to='us-gaap_OtherNonoperatingIncomeExpense' use='optional' order='2.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss' xlink:label='us-gaap_NetIncomeLoss'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetIncomeLoss' xlink:to='us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit' xlink:label='us-gaap_IncomeTaxExpenseBenefit'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetIncomeLoss' xlink:to='us-gaap_IncomeTaxExpenseBenefit' use='optional' order='2.0' weight='-1.0'/>
	</link:calculationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfCashFlows" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_StatementConsolidatedStatementsOfCashFlows"/>
	<link:calculationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfCashFlows">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:label='us-gaap_NetCashProvidedByUsedInOperatingActivities'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss' xlink:label='us-gaap_NetIncomeLoss'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:to='us-gaap_NetIncomeLoss' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Depreciation' xlink:label='us-gaap_Depreciation'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:to='us-gaap_Depreciation' use='optional' order='2.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainLossOnDispositionOfAssets' xlink:label='us-gaap_GainLossOnDispositionOfAssets'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:to='us-gaap_GainLossOnDispositionOfAssets' use='optional' order='3.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit' xlink:label='us-gaap_DeferredIncomeTaxExpenseBenefit'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:to='us-gaap_DeferredIncomeTaxExpenseBenefit' use='optional' order='4.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable' xlink:label='us-gaap_IncreaseDecreaseInAccountsReceivable'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:to='us-gaap_IncreaseDecreaseInAccountsReceivable' use='optional' order='5.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerAsset' xlink:label='us-gaap_IncreaseDecreaseInContractWithCustomerAsset'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:to='us-gaap_IncreaseDecreaseInContractWithCustomerAsset' use='optional' order='6.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInInventories' xlink:label='us-gaap_IncreaseDecreaseInInventories'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:to='us-gaap_IncreaseDecreaseInInventories' use='optional' order='7.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOtherOperatingAssets' xlink:label='us-gaap_IncreaseDecreaseInOtherOperatingAssets'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:to='us-gaap_IncreaseDecreaseInOtherOperatingAssets' use='optional' order='8.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsPayable' xlink:label='us-gaap_IncreaseDecreaseInAccountsPayable'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:to='us-gaap_IncreaseDecreaseInAccountsPayable' use='optional' order='9.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities' xlink:label='us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:to='us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities' use='optional' order='10.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOtherAccruedLiabilities' xlink:label='us-gaap_IncreaseDecreaseInOtherAccruedLiabilities'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:to='us-gaap_IncreaseDecreaseInOtherAccruedLiabilities' use='optional' order='11.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInCustomerAdvancesAndDeposits' xlink:label='us-gaap_IncreaseDecreaseInCustomerAdvancesAndDeposits'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:to='us-gaap_IncreaseDecreaseInCustomerAdvancesAndDeposits' use='optional' order='12.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect' xlink:label='us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect' xlink:to='us-gaap_NetCashProvidedByUsedInOperatingActivities' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities' xlink:label='us-gaap_NetCashProvidedByUsedInInvestingActivities'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect' xlink:to='us-gaap_NetCashProvidedByUsedInInvestingActivities' use='optional' order='2.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities' xlink:label='us-gaap_NetCashProvidedByUsedInFinancingActivities'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect' xlink:to='us-gaap_NetCashProvidedByUsedInFinancingActivities' use='optional' order='3.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireProductiveAssets' xlink:label='us-gaap_PaymentsToAcquireProductiveAssets'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInInvestingActivities' xlink:to='us-gaap_PaymentsToAcquireProductiveAssets' use='optional' order='1.0' weight='-1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment' xlink:label='us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInInvestingActivities' xlink:to='us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment' use='optional' order='2.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfHeldToMaturitySecurities' xlink:label='us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfHeldToMaturitySecurities'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInInvestingActivities' xlink:to='us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfHeldToMaturitySecurities' use='optional' order='3.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireHeldToMaturitySecurities' xlink:label='us-gaap_PaymentsToAcquireHeldToMaturitySecurities'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInInvestingActivities' xlink:to='us-gaap_PaymentsToAcquireHeldToMaturitySecurities' use='optional' order='4.0' weight='-1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsOfDividendsCommonStock' xlink:label='us-gaap_PaymentsOfDividendsCommonStock'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInFinancingActivities' xlink:to='us-gaap_PaymentsOfDividendsCommonStock' use='optional' order='1.0' weight='-1.0'/>
	</link:calculationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.DEF
<SEQUENCE>10
<FILENAME>cvr-20231231_def.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION DEFINITION LINKBASE
<TEXT>
<XBRL>
<?xml version='1.0' encoding='iso-8859-1'?>
<!-- Produced by EDGARsuite software, Advanced Computer Innovations, Inc., Copyright (C) 2008-2023 [PPXC1A0KDJ2KVDRZ9JZY]. www.edgarsuite.com -->
<link:linkbase xmlns="http://www.xbrl.org/2003/linkbase"
		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
		xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd"
		xmlns:fil="http://www.chicagorivet.com/20231231"
		xmlns:link="http://www.xbrl.org/2003/linkbase"
		xmlns:xlink="http://www.w3.org/1999/xlink"
		xmlns:xbrldt="http://xbrl.org/2005/xbrldt"
		xmlns:xbrli="http://www.xbrl.org/2003/instance">
	<link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/all" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#all"/>
	<link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#hypercube-dimension"/>
	<link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-default"/>
	<link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-domain"/>
	<link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/domain-member" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#domain-member"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_DocumentDocumentAndEntityInformation" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_DocumentDocumentAndEntityInformation"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_DocumentDocumentAndEntityInformation"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedBalanceSheets" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_StatementConsolidatedBalanceSheets"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedBalanceSheets"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedBalanceSheetsParenthetical" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_StatementConsolidatedBalanceSheetsParenthetical"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedBalanceSheetsParenthetical"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfOperations" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_StatementConsolidatedStatementsOfOperations"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfOperations"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfShareholdersEquity" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_StatementConsolidatedStatementsOfShareholdersEquity"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfShareholdersEquity">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis' xlink:label='us-gaap_StatementEquityComponentsAxis'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/hypercube-dimension' xlink:from='us-gaap_StatementTable' xlink:to='us-gaap_StatementEquityComponentsAxis' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain' xlink:label='us-gaap_EquityComponentDomain'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-domain' xlink:from='us-gaap_StatementEquityComponentsAxis' xlink:to='us-gaap_EquityComponentDomain' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain' xlink:label='us-gaap_EquityComponentDomain_1'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-default' xlink:from='us-gaap_StatementEquityComponentsAxis' xlink:to='us-gaap_EquityComponentDomain_1' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockMember' xlink:label='us-gaap_PreferredStockMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_EquityComponentDomain' xlink:to='us-gaap_PreferredStockMember' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockMember' xlink:label='us-gaap_CommonStockMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_EquityComponentDomain' xlink:to='us-gaap_CommonStockMember' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapitalMember' xlink:label='us-gaap_AdditionalPaidInCapitalMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_EquityComponentDomain' xlink:to='us-gaap_AdditionalPaidInCapitalMember' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsMember' xlink:label='us-gaap_RetainedEarningsMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_EquityComponentDomain' xlink:to='us-gaap_RetainedEarningsMember' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockCommonMember' xlink:label='us-gaap_TreasuryStockCommonMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_EquityComponentDomain' xlink:to='us-gaap_TreasuryStockCommonMember' use='optional' order='5.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems' xlink:label='us-gaap_StatementLineItems'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/all' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_StatementTable' order='0.5' xbrldt:closed='true' xbrldt:contextElement='segment' use='optional'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity' xlink:label='us-gaap_StockholdersEquity'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_StockholdersEquity' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesOutstanding' xlink:label='us-gaap_CommonStockSharesOutstanding'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_CommonStockSharesOutstanding' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockCommonShares' xlink:label='us-gaap_TreasuryStockCommonShares'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_TreasuryStockCommonShares' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss' xlink:label='us-gaap_NetIncomeLoss'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_NetIncomeLoss' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Dividends' xlink:label='us-gaap_Dividends'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_Dividends' use='optional' order='5.0'/>
	</link:definitionLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfShareholdersEquityParenthetical" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_StatementConsolidatedStatementsOfShareholdersEquityParenthetical"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfShareholdersEquityParenthetical"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfCashFlows" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_StatementConsolidatedStatementsOfCashFlows"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfCashFlows"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_Disclosure1NatureOfBusinessAndSignificantAccountingPolicies" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_Disclosure1NatureOfBusinessAndSignificantAccountingPolicies"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_Disclosure1NatureOfBusinessAndSignificantAccountingPolicies"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_Disclosure2BalanceSheetDetails" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_Disclosure2BalanceSheetDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_Disclosure2BalanceSheetDetails"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_Disclosure3IncomeTaxes" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_Disclosure3IncomeTaxes"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_Disclosure3IncomeTaxes"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_Disclosure4ProfitSharingPlan" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_Disclosure4ProfitSharingPlan"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_Disclosure4ProfitSharingPlan"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_Disclosure5OtherIncome" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_Disclosure5OtherIncome"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_Disclosure5OtherIncome"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_Disclosure6SegmentInformation" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_Disclosure6SegmentInformation"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_Disclosure6SegmentInformation"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_Disclosure7AdditionalFinancialInformationDisclosure" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_Disclosure7AdditionalFinancialInformationDisclosure"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_Disclosure7AdditionalFinancialInformationDisclosure"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_Disclosure8CommitmentsAndContingencies" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_Disclosure8CommitmentsAndContingencies"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_Disclosure8CommitmentsAndContingencies"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_Disclosure9RisksAndUncertaintiesForHealthEmergencies" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_Disclosure9RisksAndUncertaintiesForHealthEmergencies"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_Disclosure9RisksAndUncertaintiesForHealthEmergencies"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_Disclosure10SubsequentEvents" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_Disclosure10SubsequentEvents"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_Disclosure10SubsequentEvents"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_DisclosureSignificantAccountingPoliciesPolicies" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_DisclosureSignificantAccountingPoliciesPolicies"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_DisclosureSignificantAccountingPoliciesPolicies"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_Disclosure2BalanceSheetDetailsInventoryTables" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_Disclosure2BalanceSheetDetailsInventoryTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_Disclosure2BalanceSheetDetailsInventoryTables"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_Disclosure2BalanceSheetDetailsPropertyPlantAndEquipmentTables" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_Disclosure2BalanceSheetDetailsPropertyPlantAndEquipmentTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_Disclosure2BalanceSheetDetailsPropertyPlantAndEquipmentTables"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_Disclosure2BalanceSheetDetailsOtherAccruedExpensesTables" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_Disclosure2BalanceSheetDetailsOtherAccruedExpensesTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_Disclosure2BalanceSheetDetailsOtherAccruedExpensesTables"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_Disclosure2BalanceSheetDetailsScheduleOfValuationAndQualifyingAccountsTables" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_Disclosure2BalanceSheetDetailsScheduleOfValuationAndQualifyingAccountsTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_Disclosure2BalanceSheetDetailsScheduleOfValuationAndQualifyingAccountsTables"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_Disclosure3IncomeTaxesProvisionForIncomeTaxExpenseTables" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_Disclosure3IncomeTaxesProvisionForIncomeTaxExpenseTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_Disclosure3IncomeTaxesProvisionForIncomeTaxExpenseTables"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_Disclosure3IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationTables" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_Disclosure3IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_Disclosure3IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationTables"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_Disclosure3IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesTables" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_Disclosure3IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_Disclosure3IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesTables"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_Disclosure5OtherIncomeOtherIncomeTables" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_Disclosure5OtherIncomeOtherIncomeTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_Disclosure5OtherIncomeOtherIncomeTables"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationTables" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationTables"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_DisclosureContractsWithCustomersRevenueRecognizedDetails" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_DisclosureContractsWithCustomersRevenueRecognizedDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_DisclosureContractsWithCustomersRevenueRecognizedDetails"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_DisclosureEstimatedUsefulLivesByAssetCategoryDetails" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_DisclosureEstimatedUsefulLivesByAssetCategoryDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_DisclosureEstimatedUsefulLivesByAssetCategoryDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis' xlink:label='us-gaap_PropertyPlantAndEquipmentByTypeAxis'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/hypercube-dimension' xlink:from='us-gaap_StatementTable' xlink:to='us-gaap_PropertyPlantAndEquipmentByTypeAxis' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain' xlink:label='us-gaap_PropertyPlantAndEquipmentTypeDomain'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-domain' xlink:from='us-gaap_PropertyPlantAndEquipmentByTypeAxis' xlink:to='us-gaap_PropertyPlantAndEquipmentTypeDomain' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain' xlink:label='us-gaap_PropertyPlantAndEquipmentTypeDomain_1'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-default' xlink:from='us-gaap_PropertyPlantAndEquipmentByTypeAxis' xlink:to='us-gaap_PropertyPlantAndEquipmentTypeDomain_1' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LandImprovementsMember' xlink:label='us-gaap_LandImprovementsMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_PropertyPlantAndEquipmentTypeDomain' xlink:to='us-gaap_LandImprovementsMember' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BuildingImprovementsMember' xlink:label='us-gaap_BuildingImprovementsMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_PropertyPlantAndEquipmentTypeDomain' xlink:to='us-gaap_BuildingImprovementsMember' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MachineryAndEquipmentMember' xlink:label='us-gaap_MachineryAndEquipmentMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_PropertyPlantAndEquipmentTypeDomain' xlink:to='us-gaap_MachineryAndEquipmentMember' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SoftwareAndSoftwareDevelopmentCostsMember' xlink:label='us-gaap_SoftwareAndSoftwareDevelopmentCostsMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_PropertyPlantAndEquipmentTypeDomain' xlink:to='us-gaap_SoftwareAndSoftwareDevelopmentCostsMember' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherCapitalizedPropertyPlantAndEquipmentMember' xlink:label='us-gaap_OtherCapitalizedPropertyPlantAndEquipmentMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_PropertyPlantAndEquipmentTypeDomain' xlink:to='us-gaap_OtherCapitalizedPropertyPlantAndEquipmentMember' use='optional' order='5.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis' xlink:label='srt_RangeAxis'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/hypercube-dimension' xlink:from='us-gaap_StatementTable' xlink:to='srt_RangeAxis' use='optional' order='2.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember' xlink:label='srt_RangeMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-domain' xlink:from='srt_RangeAxis' xlink:to='srt_RangeMember' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember' xlink:label='srt_RangeMember_1'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-default' xlink:from='srt_RangeAxis' xlink:to='srt_RangeMember_1' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember' xlink:label='srt_MinimumMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='srt_RangeMember' xlink:to='srt_MinimumMember' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember' xlink:label='srt_MaximumMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='srt_RangeMember' xlink:to='srt_MaximumMember' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems' xlink:label='us-gaap_StatementLineItems'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/all' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_StatementTable' order='0.5' xbrldt:closed='true' xbrldt:contextElement='segment' use='optional'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife' xlink:label='us-gaap_PropertyPlantAndEquipmentUsefulLife'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_PropertyPlantAndEquipmentUsefulLife' use='optional' order='1.0'/>
	</link:definitionLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_DisclosureUncertainTaxPositionsAndUnrecognizedTaxBenefitsDetails" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_DisclosureUncertainTaxPositionsAndUnrecognizedTaxBenefitsDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_DisclosureUncertainTaxPositionsAndUnrecognizedTaxBenefitsDetails"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_DisclosureWeightedAvgNumberOfSharesOutstandingDetails" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_DisclosureWeightedAvgNumberOfSharesOutstandingDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_DisclosureWeightedAvgNumberOfSharesOutstandingDetails"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_Disclosure2BalanceSheetDetailsInventoryDetails" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_Disclosure2BalanceSheetDetailsInventoryDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_Disclosure2BalanceSheetDetailsInventoryDetails"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_Disclosure2BalanceSheetDetailsPropertyPlantAndEquipmentDetails" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_Disclosure2BalanceSheetDetailsPropertyPlantAndEquipmentDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_Disclosure2BalanceSheetDetailsPropertyPlantAndEquipmentDetails"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_Disclosure2BalanceSheetDetailsOtherAccruedExpensesDetails" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_Disclosure2BalanceSheetDetailsOtherAccruedExpensesDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_Disclosure2BalanceSheetDetailsOtherAccruedExpensesDetails"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_DisclosureScheduleOfValuationAndQualifyingAccountsDetails" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_DisclosureScheduleOfValuationAndQualifyingAccountsDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_DisclosureScheduleOfValuationAndQualifyingAccountsDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesTypeAxis' xlink:label='us-gaap_ValuationAllowancesAndReservesTypeAxis'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/hypercube-dimension' xlink:from='us-gaap_StatementTable' xlink:to='us-gaap_ValuationAllowancesAndReservesTypeAxis' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesDomain' xlink:label='us-gaap_ValuationAllowancesAndReservesDomain'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-domain' xlink:from='us-gaap_ValuationAllowancesAndReservesTypeAxis' xlink:to='us-gaap_ValuationAllowancesAndReservesDomain' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesDomain' xlink:label='us-gaap_ValuationAllowancesAndReservesDomain_1'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-default' xlink:from='us-gaap_ValuationAllowancesAndReservesTypeAxis' xlink:to='us-gaap_ValuationAllowancesAndReservesDomain_1' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllowanceForCreditLossMember' xlink:label='us-gaap_AllowanceForCreditLossMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_ValuationAllowancesAndReservesDomain' xlink:to='us-gaap_AllowanceForCreditLossMember' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryValuationReserveMember' xlink:label='us-gaap_InventoryValuationReserveMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_ValuationAllowancesAndReservesDomain' xlink:to='us-gaap_InventoryValuationReserveMember' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems' xlink:label='us-gaap_StatementLineItems'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/all' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_StatementTable' order='0.5' xbrldt:closed='true' xbrldt:contextElement='segment' use='optional'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesBalance' xlink:label='us-gaap_ValuationAllowancesAndReservesBalance'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_ValuationAllowancesAndReservesBalance' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense' xlink:label='us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesDeductions' xlink:label='us-gaap_ValuationAllowancesAndReservesDeductions'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_ValuationAllowancesAndReservesDeductions' use='optional' order='3.0'/>
	</link:definitionLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_Disclosure3IncomeTaxesProvisionForIncomeTaxExpenseDetails" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_Disclosure3IncomeTaxesProvisionForIncomeTaxExpenseDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_Disclosure3IncomeTaxesProvisionForIncomeTaxExpenseDetails"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_Disclosure3IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_Disclosure3IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_Disclosure3IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_Disclosure3IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_Disclosure3IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_Disclosure3IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_Disclosure3IncomeTaxesDetails" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_Disclosure3IncomeTaxesDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_Disclosure3IncomeTaxesDetails"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_DisclosureProfitSharingPlanDetails" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_DisclosureProfitSharingPlanDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_DisclosureProfitSharingPlanDetails"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_Disclosure5OtherIncomeOtherIncomeDetails" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_Disclosure5OtherIncomeOtherIncomeDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_Disclosure5OtherIncomeOtherIncomeDetails"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationDetails" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementBusinessSegmentsAxis' xlink:label='us-gaap_StatementBusinessSegmentsAxis'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/hypercube-dimension' xlink:from='us-gaap_StatementTable' xlink:to='us-gaap_StatementBusinessSegmentsAxis' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentDomain' xlink:label='us-gaap_SegmentDomain'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-domain' xlink:from='us-gaap_StatementBusinessSegmentsAxis' xlink:to='us-gaap_SegmentDomain' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentDomain' xlink:label='us-gaap_SegmentDomain_1'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-default' xlink:from='us-gaap_StatementBusinessSegmentsAxis' xlink:to='us-gaap_SegmentDomain_1' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20231231.xsd#fil_FastenerMember' xlink:label='fil_FastenerMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_SegmentDomain' xlink:to='fil_FastenerMember' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20231231.xsd#fil_AssemblyEquipmentMember' xlink:label='fil_AssemblyEquipmentMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_SegmentDomain' xlink:to='fil_AssemblyEquipmentMember' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CorporateMember' xlink:label='us-gaap_CorporateMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_SegmentDomain' xlink:to='us-gaap_CorporateMember' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems' xlink:label='us-gaap_StatementLineItems'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/all' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_StatementTable' order='0.5' xbrldt:closed='true' xbrldt:contextElement='segment' use='optional'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Revenues' xlink:label='us-gaap_Revenues'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_Revenues' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Depreciation' xlink:label='us-gaap_Depreciation'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_Depreciation' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20231231.xsd#fil_SegmentOperatingProfit' xlink:label='fil_SegmentOperatingProfit'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='fil_SegmentOperatingProfit' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20231231.xsd#fil_SellingAndAdministrativeExpensesUnallocatedCorporate' xlink:label='fil_SellingAndAdministrativeExpensesUnallocatedCorporate'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='fil_SellingAndAdministrativeExpensesUnallocatedCorporate' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestAndOtherIncome' xlink:label='us-gaap_InterestAndOtherIncome'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_InterestAndOtherIncome' use='optional' order='5.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment' xlink:label='us-gaap_PaymentsToAcquirePropertyPlantAndEquipment'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_PaymentsToAcquirePropertyPlantAndEquipment' use='optional' order='6.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableNetCurrent' xlink:label='us-gaap_AccountsReceivableNetCurrent'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_AccountsReceivableNetCurrent' use='optional' order='7.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerAssetNetCurrent' xlink:label='us-gaap_ContractWithCustomerAssetNetCurrent'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_ContractWithCustomerAssetNetCurrent' use='optional' order='8.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryNet' xlink:label='us-gaap_InventoryNet'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_InventoryNet' use='optional' order='9.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet' xlink:label='us-gaap_PropertyPlantAndEquipmentNet'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_PropertyPlantAndEquipmentNet' use='optional' order='10.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssets' xlink:label='us-gaap_OtherAssets'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_OtherAssets' use='optional' order='11.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment' xlink:label='us-gaap_GainLossOnSaleOfPropertyPlantEquipment'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_GainLossOnSaleOfPropertyPlantEquipment' use='optional' order='12.0'/>
	</link:definitionLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_Disclosure6SegmentInformationDetails" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_Disclosure6SegmentInformationDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_Disclosure6SegmentInformationDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementBusinessSegmentsAxis' xlink:label='us-gaap_StatementBusinessSegmentsAxis'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/hypercube-dimension' xlink:from='us-gaap_StatementTable' xlink:to='us-gaap_StatementBusinessSegmentsAxis' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentDomain' xlink:label='us-gaap_SegmentDomain'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-domain' xlink:from='us-gaap_StatementBusinessSegmentsAxis' xlink:to='us-gaap_SegmentDomain' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentDomain' xlink:label='us-gaap_SegmentDomain_1'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-default' xlink:from='us-gaap_StatementBusinessSegmentsAxis' xlink:to='us-gaap_SegmentDomain_1' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20231231.xsd#fil_FastenerMember' xlink:label='fil_FastenerMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_SegmentDomain' xlink:to='fil_FastenerMember' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20231231.xsd#fil_AssemblyEquipmentMember' xlink:label='fil_AssemblyEquipmentMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_SegmentDomain' xlink:to='fil_AssemblyEquipmentMember' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductOrServiceAxis' xlink:label='srt_ProductOrServiceAxis'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/hypercube-dimension' xlink:from='us-gaap_StatementTable' xlink:to='srt_ProductOrServiceAxis' use='optional' order='2.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductsAndServicesDomain' xlink:label='srt_ProductsAndServicesDomain'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-domain' xlink:from='srt_ProductOrServiceAxis' xlink:to='srt_ProductsAndServicesDomain' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductsAndServicesDomain' xlink:label='srt_ProductsAndServicesDomain_1'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-default' xlink:from='srt_ProductOrServiceAxis' xlink:to='srt_ProductsAndServicesDomain_1' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20231231.xsd#fil_AutomotiveMember' xlink:label='fil_AutomotiveMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='srt_ProductsAndServicesDomain' xlink:to='fil_AutomotiveMember' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20231231.xsd#fil_NonautomotiveMember' xlink:label='fil_NonautomotiveMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='srt_ProductsAndServicesDomain' xlink:to='fil_NonautomotiveMember' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementGeographicalAxis' xlink:label='srt_StatementGeographicalAxis'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/hypercube-dimension' xlink:from='us-gaap_StatementTable' xlink:to='srt_StatementGeographicalAxis' use='optional' order='3.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain' xlink:label='srt_SegmentGeographicalDomain'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-domain' xlink:from='srt_StatementGeographicalAxis' xlink:to='srt_SegmentGeographicalDomain' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain' xlink:label='srt_SegmentGeographicalDomain_1'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-default' xlink:from='srt_StatementGeographicalAxis' xlink:to='srt_SegmentGeographicalDomain_1' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/country/2023/country-2023.xsd#country_US' xlink:label='country_US'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='srt_SegmentGeographicalDomain' xlink:to='country_US' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NonUsMember' xlink:label='us-gaap_NonUsMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='srt_SegmentGeographicalDomain' xlink:to='us-gaap_NonUsMember' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems' xlink:label='us-gaap_StatementLineItems'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/all' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_StatementTable' order='0.5' xbrldt:closed='true' xbrldt:contextElement='segment' use='optional'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax' xlink:label='us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax' use='optional' order='1.0'/>
	</link:definitionLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_DisclosureSummaryOfOfRevenuesAndARFromMajorCustomersDetails" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_DisclosureSummaryOfOfRevenuesAndARFromMajorCustomersDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_DisclosureSummaryOfOfRevenuesAndARFromMajorCustomersDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MajorCustomersAxis' xlink:label='srt_MajorCustomersAxis'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/hypercube-dimension' xlink:from='us-gaap_StatementTable' xlink:to='srt_MajorCustomersAxis' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_NameOfMajorCustomerDomain' xlink:label='srt_NameOfMajorCustomerDomain'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-domain' xlink:from='srt_MajorCustomersAxis' xlink:to='srt_NameOfMajorCustomerDomain' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_NameOfMajorCustomerDomain' xlink:label='srt_NameOfMajorCustomerDomain_1'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-default' xlink:from='srt_MajorCustomersAxis' xlink:to='srt_NameOfMajorCustomerDomain_1' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20231231.xsd#fil_TIGroupAutomotiveSystemsMember' xlink:label='fil_TIGroupAutomotiveSystemsMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='srt_NameOfMajorCustomerDomain' xlink:to='fil_TIGroupAutomotiveSystemsMember' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20231231.xsd#fil_CooperStandardHoldingsIncMember' xlink:label='fil_CooperStandardHoldingsIncMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='srt_NameOfMajorCustomerDomain' xlink:to='fil_CooperStandardHoldingsIncMember' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20231231.xsd#fil_MartinreaInternationalIncMember' xlink:label='fil_MartinreaInternationalIncMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='srt_NameOfMajorCustomerDomain' xlink:to='fil_MartinreaInternationalIncMember' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems' xlink:label='us-gaap_StatementLineItems'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/all' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_StatementTable' order='0.5' xbrldt:closed='true' xbrldt:contextElement='segment' use='optional'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskPercentage1' xlink:label='us-gaap_ConcentrationRiskPercentage1'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_ConcentrationRiskPercentage1' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalInformationAboutEntitysReportableSegments' xlink:label='us-gaap_AdditionalInformationAboutEntitysReportableSegments'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_AdditionalInformationAboutEntitysReportableSegments' use='optional' order='2.0'/>
	</link:definitionLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_Disclosure7AdditionalFinancialInformationDisclosureDetails" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_Disclosure7AdditionalFinancialInformationDisclosureDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_Disclosure7AdditionalFinancialInformationDisclosureDetails"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_DisclosureCommitmentsAndContingenciesDetails" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_DisclosureCommitmentsAndContingenciesDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_DisclosureCommitmentsAndContingenciesDetails"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_DisclosureSubsequentEventsDetails" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_DisclosureSubsequentEventsDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_DisclosureSubsequentEventsDetails"/>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_Disclosure10SubsequentEventsDetails" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_Disclosure10SubsequentEventsDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_Disclosure10SubsequentEventsDetails"/>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.LAB
<SEQUENCE>11
<FILENAME>cvr-20231231_lab.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION LABEL LINKBASE
<TEXT>
<XBRL>
<?xml version='1.0' encoding='iso-8859-1'?>
<!-- Produced by EDGARsuite software, Advanced Computer Innovations, Inc., Copyright (C) 2008-2023 [PPXC1A0KDJ2KVDRZ9JZY]. www.edgarsuite.com -->
<link:linkbase xmlns="http://www.xbrl.org/2003/linkbase"
		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
		xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd"
		xmlns:fil="http://www.chicagorivet.com/20231231"
		xmlns:link="http://www.xbrl.org/2003/linkbase"
		xmlns:xlink="http://www.w3.org/1999/xlink"
		xmlns:xbrldt="http://xbrl.org/2005/xbrldt"
		xmlns:xbrli="http://www.xbrl.org/2003/instance">
	<roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/net-2009-12-16.xsd#netLabel" roleURI="http://www.xbrl.org/2009/role/netLabel"/>
	<roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedLabel" roleURI="http://www.xbrl.org/2009/role/negatedLabel"/>
	<roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodEndLabel" roleURI="http://www.xbrl.org/2009/role/negatedPeriodEndLabel"/>
	<roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodStartLabel" roleURI="http://www.xbrl.org/2009/role/negatedPeriodStartLabel"/>
	<roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTerseLabel" roleURI="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
	<roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTotalLabel" roleURI="http://www.xbrl.org/2009/role/negatedTotalLabel"/>
	<roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedNetLabel" roleURI="http://www.xbrl.org/2009/role/negatedNetLabel"/>
	<link:labelLink xlink:type="extended" xlink:role="http://www.xbrl.org/2003/role/link">
		<link:loc xlink:type='locator' xlink:href='cvr-20231231.xsd#fil_AssemblyEquipmentMember' xlink:label='fil_AssemblyEquipmentMember'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_AssemblyEquipmentMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Assembly Equipment</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_AssemblyEquipmentMember' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the Assembly Equipment, during the indicated time period.</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='fil_AssemblyEquipmentMember' xlink:to='lab_fil_AssemblyEquipmentMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxReconciliationOtherAdjustments' xlink:label='us-gaap_IncomeTaxReconciliationOtherAdjustments'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncomeTaxReconciliationOtherAdjustments' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Permanent differences</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_IncomeTaxReconciliationOtherAdjustments' xlink:to='lab_us-gaap_IncomeTaxReconciliationOtherAdjustments'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FederalIncomeTaxExpenseBenefitContinuingOperations' xlink:label='us-gaap_FederalIncomeTaxExpenseBenefitContinuingOperations'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_FederalIncomeTaxExpenseBenefitContinuingOperations' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Provision for Federal income tax expense, Current</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_FederalIncomeTaxExpenseBenefitContinuingOperations' xlink:to='lab_us-gaap_FederalIncomeTaxExpenseBenefitContinuingOperations'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis' xlink:label='srt_RangeAxis'/>
		<link:label xlink:type='resource' xlink:label='lab_srt_RangeAxis' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Statistical Measurement [Axis]</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='srt_RangeAxis' xlink:to='lab_srt_RangeAxis'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SoftwareAndSoftwareDevelopmentCostsMember' xlink:label='us-gaap_SoftwareAndSoftwareDevelopmentCostsMember'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_SoftwareAndSoftwareDevelopmentCostsMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Software and Software Development Costs</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_SoftwareAndSoftwareDevelopmentCostsMember' xlink:to='lab_us-gaap_SoftwareAndSoftwareDevelopmentCostsMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock' xlink:label='us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Schedule of Effective Income Tax Rate Reconciliation</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock' xlink:to='lab_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingPolicyPolicyTextBlock' xlink:label='us-gaap_SegmentReportingPolicyPolicyTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_SegmentReportingPolicyPolicyTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Segment Information</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_SegmentReportingPolicyPolicyTextBlock' xlink:to='lab_us-gaap_SegmentReportingPolicyPolicyTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxPolicyTextBlock' xlink:label='us-gaap_IncomeTaxPolicyTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncomeTaxPolicyTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Income Taxes</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_IncomeTaxPolicyTextBlock' xlink:to='lab_us-gaap_IncomeTaxPolicyTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract' xlink:label='us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Cash Flows from Financing Activities</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract' xlink:to='lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfStockholdersEquityAbstract' xlink:label='us-gaap_StatementOfStockholdersEquityAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_StatementOfStockholdersEquityAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Consolidated Statements of Shareholders&apos; Equity</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_StatementOfStockholdersEquityAbstract' xlink:role='http://www.xbrl.org/2003/role/verboseLabel' xml:lang='en-US'>Consolidated Statements of Shareholders&apos; Equity - Parenthetical</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_StatementOfStockholdersEquityAbstract' xlink:to='lab_us-gaap_StatementOfStockholdersEquityAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding' xlink:label='us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Diluted</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding' xlink:to='lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent' xlink:label='us-gaap_EmployeeRelatedLiabilitiesCurrent'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_EmployeeRelatedLiabilitiesCurrent' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Accrued Wages and Salaries</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_EmployeeRelatedLiabilitiesCurrent' xlink:to='lab_us-gaap_EmployeeRelatedLiabilitiesCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Assets' xlink:label='us-gaap_Assets'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_Assets' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Total Assets</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_Assets' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Total Assets</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_Assets' xlink:to='lab_us-gaap_Assets'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerAssetNetCurrent' xlink:label='us-gaap_ContractWithCustomerAssetNetCurrent'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ContractWithCustomerAssetNetCurrent' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Contract Assets</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ContractWithCustomerAssetNetCurrent' xlink:role='http://www.xbrl.org/2003/role/verboseLabel' xml:lang='en-US'>Contract Assets</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ContractWithCustomerAssetNetCurrent' xlink:to='lab_us-gaap_ContractWithCustomerAssetNetCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DividendsPayableCurrent' xlink:label='us-gaap_DividendsPayableCurrent'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_DividendsPayableCurrent' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Dividends payable amount</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_DividendsPayableCurrent' xlink:to='lab_us-gaap_DividendsPayableCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DividendsPayableAmountPerShare' xlink:label='us-gaap_DividendsPayableAmountPerShare'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_DividendsPayableAmountPerShare' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Dividends per share declared</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_DividendsPayableAmountPerShare' xlink:to='lab_us-gaap_DividendsPayableAmountPerShare'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20231231.xsd#fil_NonautomotiveMember' xlink:label='fil_NonautomotiveMember'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_NonautomotiveMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>NonAutomotive</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_NonautomotiveMember' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the NonAutomotive, during the indicated time period.</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='fil_NonautomotiveMember' xlink:to='lab_fil_NonautomotiveMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment' xlink:label='us-gaap_PaymentsToAcquirePropertyPlantAndEquipment'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Capital expenditures</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_PaymentsToAcquirePropertyPlantAndEquipment' xlink:to='lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations' xlink:label='us-gaap_EffectiveIncomeTaxRateContinuingOperations'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_EffectiveIncomeTaxRateContinuingOperations' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Income tax expense, %</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_EffectiveIncomeTaxRateContinuingOperations' xlink:to='lab_us-gaap_EffectiveIncomeTaxRateContinuingOperations'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesTypeAxis' xlink:label='us-gaap_ValuationAllowancesAndReservesTypeAxis'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ValuationAllowancesAndReservesTypeAxis' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>SEC Schedule, 12-09, Valuation Allowances and Reserves Type [Axis]</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ValuationAllowancesAndReservesTypeAxis' xlink:to='lab_us-gaap_ValuationAllowancesAndReservesTypeAxis'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryValuationReserves' xlink:label='us-gaap_InventoryValuationReserves'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_InventoryValuationReserves' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Valuation reserves</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_InventoryValuationReserves' xlink:role='http://www.xbrl.org/2009/role/negatedLabel' xml:lang='en-US'>Valuation reserves</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_InventoryValuationReserves' xlink:to='lab_us-gaap_InventoryValuationReserves'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember' xlink:label='srt_MinimumMember'/>
		<link:label xlink:type='resource' xlink:label='lab_srt_MinimumMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Minimum</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='srt_MinimumMember' xlink:to='lab_srt_MinimumMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_TableTextBlockSupplementAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Tables/Schedules</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_TableTextBlockSupplementAbstract' xlink:to='lab_us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsOfDividendsCommonStock' xlink:label='us-gaap_PaymentsOfDividendsCommonStock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PaymentsOfDividendsCommonStock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Cash Dividends Paid</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PaymentsOfDividendsCommonStock' xlink:role='http://www.xbrl.org/2009/role/negatedLabel' xml:lang='en-US'>Cash Dividends Paid</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_PaymentsOfDividendsCommonStock' xlink:to='lab_us-gaap_PaymentsOfDividendsCommonStock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities' xlink:label='us-gaap_NetCashProvidedByUsedInInvestingActivities'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_NetCashProvidedByUsedInInvestingActivities' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Net Cash Provided by (Used In) Investing Activities</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_NetCashProvidedByUsedInInvestingActivities' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Net Cash Provided by (Used In) Investing Activities</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_NetCashProvidedByUsedInInvestingActivities' xlink:to='lab_us-gaap_NetCashProvidedByUsedInInvestingActivities'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GrossProfit' xlink:label='us-gaap_GrossProfit'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_GrossProfit' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Gross Profit (Loss)</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_GrossProfit' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Gross Profit (Loss)</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_GrossProfit' xlink:to='lab_us-gaap_GrossProfit'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrepaidTaxes' xlink:label='us-gaap_PrepaidTaxes'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PrepaidTaxes' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Prepaid Income Taxes</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_PrepaidTaxes' xlink:to='lab_us-gaap_PrepaidTaxes'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AuditorName' xlink:label='dei_AuditorName'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_AuditorName' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Auditor Name</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_AuditorName' xlink:to='lab_dei_AuditorName'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityShellCompany' xlink:label='dei_EntityShellCompany'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityShellCompany' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity Shell Company</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityShellCompany' xlink:to='lab_dei_EntityShellCompany'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_Security12bTitle' xlink:label='dei_Security12bTitle'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_Security12bTitle' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Title of 12(b) Security</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_Security12bTitle' xlink:to='lab_dei_Security12bTitle'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityRegistrantName' xlink:label='dei_EntityRegistrantName'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityRegistrantName' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity Registrant Name</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityRegistrantName' xlink:to='lab_dei_EntityRegistrantName'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20231231.xsd#fil_FastenerMember' xlink:label='fil_FastenerMember'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_FastenerMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Fastener</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_FastenerMember' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the Fastener, during the indicated time period.</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='fil_FastenerMember' xlink:to='lab_fil_FastenerMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNonoperatingIncome' xlink:label='us-gaap_OtherNonoperatingIncome'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_OtherNonoperatingIncome' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Other nonoperating income</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_OtherNonoperatingIncome' xlink:role='http://www.xbrl.org/2003/role/verboseLabel' xml:lang='en-US'>Other nonoperating income</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_OtherNonoperatingIncome' xlink:to='lab_us-gaap_OtherNonoperatingIncome'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsInventory' xlink:label='us-gaap_DeferredTaxAssetsInventory'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_DeferredTaxAssetsInventory' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Deferred Tax Assets, Inventory</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_DeferredTaxAssetsInventory' xlink:to='lab_us-gaap_DeferredTaxAssetsInventory'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes' xlink:label='us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>State taxes, net of federal benefit</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes' xlink:to='lab_us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock' xlink:label='us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Other Accrued Expenses {2}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock' xlink:role='http://www.xbrl.org/2003/role/terseLabel' xml:lang='en-US'>Other Accrued Expenses</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock' xlink:to='lab_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingDisclosureTextBlock' xlink:label='us-gaap_SegmentReportingDisclosureTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_SegmentReportingDisclosureTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>6 - Segment Information</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_SegmentReportingDisclosureTextBlock' xlink:to='lab_us-gaap_SegmentReportingDisclosureTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInCustomerAdvancesAndDeposits' xlink:label='us-gaap_IncreaseDecreaseInCustomerAdvancesAndDeposits'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncreaseDecreaseInCustomerAdvancesAndDeposits' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Unearned Revenue and Customer Deposits {1}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncreaseDecreaseInCustomerAdvancesAndDeposits' xlink:role='http://www.xbrl.org/2003/role/terseLabel' xml:lang='en-US'>Unearned Revenue and Customer Deposits</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_IncreaseDecreaseInCustomerAdvancesAndDeposits' xlink:to='lab_us-gaap_IncreaseDecreaseInCustomerAdvancesAndDeposits'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockSharesAuthorized' xlink:label='us-gaap_PreferredStockSharesAuthorized'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PreferredStockSharesAuthorized' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Preferred Stock, Shares Authorized</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_PreferredStockSharesAuthorized' xlink:to='lab_us-gaap_PreferredStockSharesAuthorized'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsAccumulatedDeficit' xlink:label='us-gaap_RetainedEarningsAccumulatedDeficit'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_RetainedEarningsAccumulatedDeficit' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Retained Earnings</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_RetainedEarningsAccumulatedDeficit' xlink:to='lab_us-gaap_RetainedEarningsAccumulatedDeficit'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShortTermInvestments' xlink:label='us-gaap_ShortTermInvestments'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ShortTermInvestments' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Short-Term Investments</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ShortTermInvestments' xlink:to='lab_us-gaap_ShortTermInvestments'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityPublicFloat' xlink:label='dei_EntityPublicFloat'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityPublicFloat' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity Public Float</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityPublicFloat' xlink:to='lab_dei_EntityPublicFloat'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentType' xlink:label='dei_DocumentType'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_DocumentType' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Document Type</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_DocumentType' xlink:to='lab_dei_DocumentType'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DividendsPayableDateOfRecordDayMonthAndYear' xlink:label='us-gaap_DividendsPayableDateOfRecordDayMonthAndYear'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_DividendsPayableDateOfRecordDayMonthAndYear' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Dividends Payable, Date of Record</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_DividendsPayableDateOfRecordDayMonthAndYear' xlink:to='lab_us-gaap_DividendsPayableDateOfRecordDayMonthAndYear'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SaleLeasebackTransactionMonthlyRentalPayments' xlink:label='us-gaap_SaleLeasebackTransactionMonthlyRentalPayments'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_SaleLeasebackTransactionMonthlyRentalPayments' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Sale Leaseback Transaction, Monthly Rental Payments</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_SaleLeasebackTransactionMonthlyRentalPayments' xlink:to='lab_us-gaap_SaleLeasebackTransactionMonthlyRentalPayments'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_NameOfMajorCustomerDomain' xlink:label='srt_NameOfMajorCustomerDomain'/>
		<link:label xlink:type='resource' xlink:label='lab_srt_NameOfMajorCustomerDomain' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Customer</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='srt_NameOfMajorCustomerDomain' xlink:to='lab_srt_NameOfMajorCustomerDomain'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax' xlink:label='us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Revenue</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax' xlink:to='lab_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CorporateMember' xlink:label='us-gaap_CorporateMember'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CorporateMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Corporate Segment</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_CorporateMember' xlink:to='lab_us-gaap_CorporateMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentDomain' xlink:label='us-gaap_SegmentDomain'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_SegmentDomain' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Segments</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_SegmentDomain' xlink:to='lab_us-gaap_SegmentDomain'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwards' xlink:label='us-gaap_DeferredTaxAssetsOperatingLossCarryforwards'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Deferred Tax Assets, Operating Loss Carryforwards</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_DeferredTaxAssetsOperatingLossCarryforwards' xlink:to='lab_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAccruedLiabilitiesCurrent' xlink:label='us-gaap_OtherAccruedLiabilitiesCurrent'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_OtherAccruedLiabilitiesCurrent' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>All other items</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_OtherAccruedLiabilitiesCurrent' xlink:to='lab_us-gaap_OtherAccruedLiabilitiesCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentOtherNet' xlink:label='us-gaap_PropertyPlantAndEquipmentOtherNet'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PropertyPlantAndEquipmentOtherNet' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Property, Plant and Equipment, Other, Net</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_PropertyPlantAndEquipmentOtherNet' xlink:to='lab_us-gaap_PropertyPlantAndEquipmentOtherNet'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment' xlink:label='us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Less: Accumulated Depreciation</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment' xlink:role='http://www.xbrl.org/2009/role/negatedLabel' xml:lang='en-US'>Less: Accumulated Depreciation</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment' xlink:to='lab_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilityForUncertainTaxPositionsCurrent' xlink:label='us-gaap_LiabilityForUncertainTaxPositionsCurrent'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_LiabilityForUncertainTaxPositionsCurrent' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Liability for Uncertain Tax Positions</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_LiabilityForUncertainTaxPositionsCurrent' xlink:to='lab_us-gaap_LiabilityForUncertainTaxPositionsCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureTextBlock' xlink:label='us-gaap_IncomeTaxDisclosureTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncomeTaxDisclosureTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>3 - Income Taxes</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_IncomeTaxDisclosureTextBlock' xlink:to='lab_us-gaap_IncomeTaxDisclosureTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract' xlink:label='us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Cash Flows from Investing Activities</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract' xlink:to='lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfCashFlowsAbstract' xlink:label='us-gaap_StatementOfCashFlowsAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_StatementOfCashFlowsAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Consolidated Statements of Cash Flows</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_StatementOfCashFlowsAbstract' xlink:to='lab_us-gaap_StatementOfCashFlowsAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockCommonShares' xlink:label='us-gaap_TreasuryStockCommonShares'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_TreasuryStockCommonShares' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Treasury Stock Shares</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_TreasuryStockCommonShares' xlink:role='http://www.xbrl.org/2003/role/periodStartLabel' xml:lang='en-US'>Treasury Stock Shares</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_TreasuryStockCommonShares' xlink:role='http://www.xbrl.org/2003/role/periodEndLabel' xml:lang='en-US'>Treasury Stock Shares</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_TreasuryStockCommonShares' xlink:to='lab_us-gaap_TreasuryStockCommonShares'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapitalMember' xlink:label='us-gaap_AdditionalPaidInCapitalMember'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AdditionalPaidInCapitalMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Additional Paid-in Capital {1}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AdditionalPaidInCapitalMember' xlink:role='http://www.xbrl.org/2003/role/terseLabel' xml:lang='en-US'>Additional Paid-in Capital</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_AdditionalPaidInCapitalMember' xlink:to='lab_us-gaap_AdditionalPaidInCapitalMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesIssued' xlink:label='us-gaap_CommonStockSharesIssued'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CommonStockSharesIssued' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Common Stock, Shares, Issued</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_CommonStockSharesIssued' xlink:to='lab_us-gaap_CommonStockSharesIssued'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesCurrent' xlink:label='us-gaap_AccruedLiabilitiesCurrent'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AccruedLiabilitiesCurrent' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Other Accrued Expenses</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_AccruedLiabilitiesCurrent' xlink:to='lab_us-gaap_AccruedLiabilitiesCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCurrentReportingStatus' xlink:label='dei_EntityCurrentReportingStatus'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityCurrentReportingStatus' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity Current Reporting Status</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityCurrentReportingStatus' xlink:to='lab_dei_EntityCurrentReportingStatus'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine1' xlink:label='dei_EntityAddressAddressLine1'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityAddressAddressLine1' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity Address, Address Line One</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityAddressAddressLine1' xlink:to='lab_dei_EntityAddressAddressLine1'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentAnnualReport' xlink:label='dei_DocumentAnnualReport'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_DocumentAnnualReport' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Document Annual Report</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_DocumentAnnualReport' xlink:to='lab_dei_DocumentAnnualReport'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CurrentFiscalYearEndDate' xlink:label='dei_CurrentFiscalYearEndDate'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_CurrentFiscalYearEndDate' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Fiscal Year End</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_CurrentFiscalYearEndDate' xlink:to='lab_dei_CurrentFiscalYearEndDate'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalInformationAboutEntitysReportableSegments' xlink:label='us-gaap_AdditionalInformationAboutEntitysReportableSegments'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AdditionalInformationAboutEntitysReportableSegments' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Percentage of accounts receivable balances</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_AdditionalInformationAboutEntitysReportableSegments' xlink:to='lab_us-gaap_AdditionalInformationAboutEntitysReportableSegments'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskPercentage1' xlink:label='us-gaap_ConcentrationRiskPercentage1'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ConcentrationRiskPercentage1' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Percentage of revenues from major customers</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ConcentrationRiskPercentage1' xlink:to='lab_us-gaap_ConcentrationRiskPercentage1'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementBusinessSegmentsAxis' xlink:label='us-gaap_StatementBusinessSegmentsAxis'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_StatementBusinessSegmentsAxis' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Segments [Axis]</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_StatementBusinessSegmentsAxis' xlink:to='lab_us-gaap_StatementBusinessSegmentsAxis'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsCompensatedAbsences' xlink:label='us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsCompensatedAbsences'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsCompensatedAbsences' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Deferred Tax Assets, Tax Deferred Expense, Compensation and Benefits, Compensated Absences</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsCompensatedAbsences' xlink:to='lab_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsCompensatedAbsences'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate' xlink:label='us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Expected tax at U.S. statutory rate, %</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate' xlink:to='lab_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesBalance' xlink:label='us-gaap_ValuationAllowancesAndReservesBalance'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ValuationAllowancesAndReservesBalance' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Balance at beginning of year</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ValuationAllowancesAndReservesBalance' xlink:role='http://www.xbrl.org/2003/role/periodStartLabel' xml:lang='en-US'>Balance at beginning of year</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ValuationAllowancesAndReservesBalance' xlink:role='http://www.xbrl.org/2003/role/periodEndLabel' xml:lang='en-US'>Balance at end of year</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ValuationAllowancesAndReservesBalance' xlink:to='lab_us-gaap_ValuationAllowancesAndReservesBalance'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherEmployeeRelatedLiabilitiesCurrent' xlink:label='us-gaap_OtherEmployeeRelatedLiabilitiesCurrent'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_OtherEmployeeRelatedLiabilitiesCurrent' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Profit sharing plan contribution</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_OtherEmployeeRelatedLiabilitiesCurrent' xlink:to='lab_us-gaap_OtherEmployeeRelatedLiabilitiesCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember' xlink:label='srt_MaximumMember'/>
		<link:label xlink:type='resource' xlink:label='lab_srt_MaximumMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Maximum</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='srt_MaximumMember' xlink:to='lab_srt_MaximumMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock' xlink:label='us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Provision for Income Tax Expense</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock' xlink:to='lab_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnusualOrInfrequentItemsDisclosureTextBlock' xlink:label='us-gaap_UnusualOrInfrequentItemsDisclosureTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_UnusualOrInfrequentItemsDisclosureTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>9 - Risks and Uncertainties for Health Emergencies</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_UnusualOrInfrequentItemsDisclosureTextBlock' xlink:to='lab_us-gaap_UnusualOrInfrequentItemsDisclosureTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValueAbstract' xlink:label='us-gaap_CashAndCashEquivalentsAtCarryingValueAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CashAndCashEquivalentsAtCarryingValueAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Cash and Cash Equivalents {1}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CashAndCashEquivalentsAtCarryingValueAbstract' xlink:role='http://www.xbrl.org/2003/role/terseLabel' xml:lang='en-US'>Cash and Cash Equivalents</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_CashAndCashEquivalentsAtCarryingValueAbstract' xlink:to='lab_us-gaap_CashAndCashEquivalentsAtCarryingValueAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireHeldToMaturitySecurities' xlink:label='us-gaap_PaymentsToAcquireHeldToMaturitySecurities'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PaymentsToAcquireHeldToMaturitySecurities' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Purchases of Short-Term Investments</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PaymentsToAcquireHeldToMaturitySecurities' xlink:role='http://www.xbrl.org/2009/role/negatedLabel' xml:lang='en-US'>Purchases of Short-Term Investments</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_PaymentsToAcquireHeldToMaturitySecurities' xlink:to='lab_us-gaap_PaymentsToAcquireHeldToMaturitySecurities'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Revenues' xlink:label='us-gaap_Revenues'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_Revenues' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Net Sales</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_Revenues' xlink:to='lab_us-gaap_Revenues'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquity' xlink:label='us-gaap_LiabilitiesAndStockholdersEquity'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_LiabilitiesAndStockholdersEquity' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Total Liabilities and Shareholders&apos; Equity</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_LiabilitiesAndStockholdersEquity' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Total Liabilities and Shareholders&apos; Equity</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_LiabilitiesAndStockholdersEquity' xlink:to='lab_us-gaap_LiabilitiesAndStockholdersEquity'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFilerCategory' xlink:label='dei_EntityFilerCategory'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityFilerCategory' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity Filer Category</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityFilerCategory' xlink:to='lab_dei_EntityFilerCategory'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressPostalZipCode' xlink:label='dei_EntityAddressPostalZipCode'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityAddressPostalZipCode' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity Address, Postal Zip Code</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityAddressPostalZipCode' xlink:to='lab_dei_EntityAddressPostalZipCode'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DividendsPayableDateDeclaredDayMonthAndYear' xlink:label='us-gaap_DividendsPayableDateDeclaredDayMonthAndYear'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_DividendsPayableDateDeclaredDayMonthAndYear' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Dividend declaration date</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_DividendsPayableDateDeclaredDayMonthAndYear' xlink:to='lab_us-gaap_DividendsPayableDateDeclaredDayMonthAndYear'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20231231.xsd#fil_TIGroupAutomotiveSystemsMember' xlink:label='fil_TIGroupAutomotiveSystemsMember'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_TIGroupAutomotiveSystemsMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>T.I. Group Automotive Systems</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_TIGroupAutomotiveSystemsMember' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the T.I. Group Automotive Systems, during the indicated time period.</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='fil_TIGroupAutomotiveSystemsMember' xlink:to='lab_fil_TIGroupAutomotiveSystemsMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts' xlink:label='us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Deferred Tax Asset, Tax Deferred Expense, Reserve and Accrual, Accounts Receivable, Allowance for Credit Loss</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts' xlink:to='lab_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryValuationReserveMember' xlink:label='us-gaap_InventoryValuationReserveMember'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_InventoryValuationReserveMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>SEC Schedule, 12-09, Reserve, Inventory</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_InventoryValuationReserveMember' xlink:to='lab_us-gaap_InventoryValuationReserveMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligation' xlink:label='us-gaap_RevenueRemainingPerformanceObligation'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_RevenueRemainingPerformanceObligation' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Revenue, Remaining Performance Obligation</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_RevenueRemainingPerformanceObligation' xlink:to='lab_us-gaap_RevenueRemainingPerformanceObligation'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsPolicyTextBlock' xlink:label='us-gaap_CashAndCashEquivalentsPolicyTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CashAndCashEquivalentsPolicyTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Cash and Cash Equivalents and Short-Term Investments</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_CashAndCashEquivalentsPolicyTextBlock' xlink:to='lab_us-gaap_CashAndCashEquivalentsPolicyTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskCreditRisk' xlink:label='us-gaap_ConcentrationRiskCreditRisk'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ConcentrationRiskCreditRisk' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Credit Risk</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ConcentrationRiskCreditRisk' xlink:to='lab_us-gaap_ConcentrationRiskCreditRisk'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect' xlink:label='us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Net Increase (Decrease) in Cash and Cash Equivalents</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Net Increase (Decrease) in Cash and Cash Equivalents</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect' xlink:to='lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:label='us-gaap_NetCashProvidedByUsedInOperatingActivities'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Net Cash Used in Operating Activities</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Net Cash Used in Operating Activities</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:to='lab_us-gaap_NetCashProvidedByUsedInOperatingActivities'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOtherOperatingAssets' xlink:label='us-gaap_IncreaseDecreaseInOtherOperatingAssets'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncreaseDecreaseInOtherOperatingAssets' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Other Current Assets and Prepaid Income Taxes</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_IncreaseDecreaseInOtherOperatingAssets' xlink:to='lab_us-gaap_IncreaseDecreaseInOtherOperatingAssets'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Liabilities' xlink:label='us-gaap_Liabilities'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_Liabilities' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Total Liabilities</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_Liabilities' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Total Liabilities</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_Liabilities' xlink:to='lab_us-gaap_Liabilities'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryNet' xlink:label='us-gaap_InventoryNet'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_InventoryNet' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Inventories, net</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_InventoryNet' xlink:to='lab_us-gaap_InventoryNet'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsAbstract' xlink:label='us-gaap_AssetsAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AssetsAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Assets {1}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AssetsAbstract' xlink:role='http://www.xbrl.org/2003/role/terseLabel' xml:lang='en-US'>Assets</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_AssetsAbstract' xlink:to='lab_us-gaap_AssetsAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFileNumber' xlink:label='dei_EntityFileNumber'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityFileNumber' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity File Number</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityFileNumber' xlink:to='lab_dei_EntityFileNumber'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MajorCustomersAxis' xlink:label='srt_MajorCustomersAxis'/>
		<link:label xlink:type='resource' xlink:label='lab_srt_MajorCustomersAxis' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Customer [Axis]</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='srt_MajorCustomersAxis' xlink:to='lab_srt_MajorCustomersAxis'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain' xlink:label='srt_SegmentGeographicalDomain'/>
		<link:label xlink:type='resource' xlink:label='lab_srt_SegmentGeographicalDomain' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Geographical</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='srt_SegmentGeographicalDomain' xlink:to='lab_srt_SegmentGeographicalDomain'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductsAndServicesDomain' xlink:label='srt_ProductsAndServicesDomain'/>
		<link:label xlink:type='resource' xlink:label='lab_srt_ProductsAndServicesDomain' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Product and Service</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='srt_ProductsAndServicesDomain' xlink:to='lab_srt_ProductsAndServicesDomain'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilities' xlink:label='us-gaap_DeferredTaxLiabilities'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_DeferredTaxLiabilities' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Deferred Tax Liabilities, Net</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_DeferredTaxLiabilities' xlink:to='lab_us-gaap_DeferredTaxLiabilities'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryWorkInProcess' xlink:label='us-gaap_InventoryWorkInProcess'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_InventoryWorkInProcess' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Work in process</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_InventoryWorkInProcess' xlink:to='lab_us-gaap_InventoryWorkInProcess'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BuildingImprovementsMember' xlink:label='us-gaap_BuildingImprovementsMember'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_BuildingImprovementsMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Building Improvements</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_BuildingImprovementsMember' xlink:to='lab_us-gaap_BuildingImprovementsMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock' xlink:label='us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Schedule of Deferred Tax Assets and Liabilities</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock' xlink:to='lab_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentPolicyTextBlock' xlink:label='us-gaap_PropertyPlantAndEquipmentPolicyTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Property, Plant and Equipment</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_PropertyPlantAndEquipmentPolicyTextBlock' xlink:to='lab_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock' xlink:label='us-gaap_CommitmentsAndContingenciesDisclosureTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>8 - Commitments and Contingencies</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_CommitmentsAndContingenciesDisclosureTextBlock' xlink:to='lab_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract' xlink:label='us-gaap_IncreaseDecreaseInOperatingCapitalAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Changes in Operating Assets and Liabilities</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_IncreaseDecreaseInOperatingCapitalAbstract' xlink:to='lab_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockParOrStatedValuePerShare' xlink:label='us-gaap_CommonStockParOrStatedValuePerShare'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CommonStockParOrStatedValuePerShare' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Common Stock, Par or Stated Value Per Share</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_CommonStockParOrStatedValuePerShare' xlink:to='lab_us-gaap_CommonStockParOrStatedValuePerShare'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockValue' xlink:label='us-gaap_TreasuryStockValue'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_TreasuryStockValue' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Treasury Stock, 171,964 Shares at cost</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_TreasuryStockValue' xlink:role='http://www.xbrl.org/2009/role/negatedLabel' xml:lang='en-US'>Treasury Stock, 171,964 Shares at cost</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_TreasuryStockValue' xlink:to='lab_us-gaap_TreasuryStockValue'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockValueOutstanding' xlink:label='us-gaap_CommonStockValueOutstanding'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CommonStockValueOutstanding' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Common Stock, $1.00 Par Value, 4,000,000 Shares Authorized: 1,138,096 Shares Issued, 966,132 Shares Outstanding</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_CommonStockValueOutstanding' xlink:to='lab_us-gaap_CommonStockValueOutstanding'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxAssetsNet' xlink:label='us-gaap_DeferredIncomeTaxAssetsNet'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_DeferredIncomeTaxAssetsNet' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Deferred Income Taxes, net</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_DeferredIncomeTaxAssetsNet' xlink:to='lab_us-gaap_DeferredIncomeTaxAssetsNet'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrent' xlink:label='us-gaap_AssetsCurrent'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AssetsCurrent' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Total Current Assets</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AssetsCurrent' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Total Current Assets</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_AssetsCurrent' xlink:to='lab_us-gaap_AssetsCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AuditorFirmId' xlink:label='dei_AuditorFirmId'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_AuditorFirmId' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Auditor Firm ID</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_AuditorFirmId' xlink:to='lab_dei_AuditorFirmId'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntitySmallBusiness' xlink:label='dei_EntitySmallBusiness'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntitySmallBusiness' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity Small Business</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntitySmallBusiness' xlink:to='lab_dei_EntitySmallBusiness'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityInteractiveDataCurrent' xlink:label='dei_EntityInteractiveDataCurrent'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityInteractiveDataCurrent' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity Interactive Data Current</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityInteractiveDataCurrent' xlink:to='lab_dei_EntityInteractiveDataCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LocalPhoneNumber' xlink:label='dei_LocalPhoneNumber'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_LocalPhoneNumber' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Local Phone Number</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_LocalPhoneNumber' xlink:to='lab_dei_LocalPhoneNumber'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentTransitionReport' xlink:label='dei_DocumentTransitionReport'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_DocumentTransitionReport' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Document Transition Report</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_DocumentTransitionReport' xlink:to='lab_dei_DocumentTransitionReport'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeasesRentExpenseNet' xlink:label='us-gaap_OperatingLeasesRentExpenseNet'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_OperatingLeasesRentExpenseNet' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Rent Expense</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_OperatingLeasesRentExpenseNet' xlink:to='lab_us-gaap_OperatingLeasesRentExpenseNet'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestAndOtherIncome' xlink:label='us-gaap_InterestAndOtherIncome'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_InterestAndOtherIncome' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Other Income {3}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_InterestAndOtherIncome' xlink:role='http://www.xbrl.org/2003/role/terseLabel' xml:lang='en-US'>Other Income</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_InterestAndOtherIncome' xlink:to='lab_us-gaap_InterestAndOtherIncome'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense' xlink:label='us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Charges to statement of operations</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense' xlink:to='lab_us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain' xlink:label='us-gaap_PropertyPlantAndEquipmentTypeDomain'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PropertyPlantAndEquipmentTypeDomain' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Long-Lived Tangible Asset</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_PropertyPlantAndEquipmentTypeDomain' xlink:to='lab_us-gaap_PropertyPlantAndEquipmentTypeDomain'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireProductiveAssets' xlink:label='us-gaap_PaymentsToAcquireProductiveAssets'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PaymentsToAcquireProductiveAssets' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Capital Expenditures</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PaymentsToAcquireProductiveAssets' xlink:role='http://www.xbrl.org/2009/role/negatedLabel' xml:lang='en-US'>Capital Expenditures</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_PaymentsToAcquireProductiveAssets' xlink:to='lab_us-gaap_PaymentsToAcquireProductiveAssets'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable' xlink:label='us-gaap_IncreaseDecreaseInAccountsReceivable'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncreaseDecreaseInAccountsReceivable' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Accounts Receivable, net</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_IncreaseDecreaseInAccountsReceivable' xlink:to='lab_us-gaap_IncreaseDecreaseInAccountsReceivable'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit' xlink:label='us-gaap_DeferredIncomeTaxExpenseBenefit'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_DeferredIncomeTaxExpenseBenefit' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Deferred Income Taxes</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_DeferredIncomeTaxExpenseBenefit' xlink:role='http://www.xbrl.org/2003/role/verboseLabel' xml:lang='en-US'>Provision for income tax expense, Deferred</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_DeferredIncomeTaxExpenseBenefit' xlink:to='lab_us-gaap_DeferredIncomeTaxExpenseBenefit'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Dividends' xlink:label='us-gaap_Dividends'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_Dividends' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Dividends Declared</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_Dividends' xlink:role='http://www.xbrl.org/2009/role/negatedLabel' xml:lang='en-US'>Dividends Declared</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_Dividends' xlink:to='lab_us-gaap_Dividends'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsMember' xlink:label='us-gaap_RetainedEarningsMember'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_RetainedEarningsMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Retained Earnings {1}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_RetainedEarningsMember' xlink:role='http://www.xbrl.org/2003/role/terseLabel' xml:lang='en-US'>Retained Earnings</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_RetainedEarningsMember' xlink:to='lab_us-gaap_RetainedEarningsMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss' xlink:label='us-gaap_NetIncomeLoss'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_NetIncomeLoss' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Net Income (Loss)</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_NetIncomeLoss' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Net Income (Loss)</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_NetIncomeLoss' xlink:to='lab_us-gaap_NetIncomeLoss'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingIncomeLoss' xlink:label='us-gaap_OperatingIncomeLoss'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_OperatingIncomeLoss' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Operating Profit (Loss)</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_OperatingIncomeLoss' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Operating Profit (Loss)</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_OperatingIncomeLoss' xlink:to='lab_us-gaap_OperatingIncomeLoss'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet' xlink:label='us-gaap_DeferredIncomeTaxLiabilitiesNet'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_DeferredIncomeTaxLiabilitiesNet' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Deferred Income Taxes, net {1}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_DeferredIncomeTaxLiabilitiesNet' xlink:role='http://www.xbrl.org/2003/role/terseLabel' xml:lang='en-US'>Deferred Income Taxes, net</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_DeferredIncomeTaxLiabilitiesNet' xlink:to='lab_us-gaap_DeferredIncomeTaxLiabilitiesNet'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue' xlink:label='us-gaap_CashAndCashEquivalentsAtCarryingValue'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CashAndCashEquivalentsAtCarryingValue' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Cash and Cash Equivalents</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CashAndCashEquivalentsAtCarryingValue' xlink:role='http://www.xbrl.org/2003/role/periodStartLabel' xml:lang='en-US'>Beginning of Year</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CashAndCashEquivalentsAtCarryingValue' xlink:role='http://www.xbrl.org/2003/role/periodEndLabel' xml:lang='en-US'>End of Year</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_CashAndCashEquivalentsAtCarryingValue' xlink:to='lab_us-gaap_CashAndCashEquivalentsAtCarryingValue'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AuditorLocation' xlink:label='dei_AuditorLocation'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_AuditorLocation' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Auditor Location</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_AuditorLocation' xlink:to='lab_dei_AuditorLocation'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFinStmtErrorCorrectionFlag' xlink:label='dei_DocumentFinStmtErrorCorrectionFlag'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_DocumentFinStmtErrorCorrectionFlag' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Document Financial Statement Error Correction</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_DocumentFinStmtErrorCorrectionFlag' xlink:to='lab_dei_DocumentFinStmtErrorCorrectionFlag'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SecurityExchangeName' xlink:label='dei_SecurityExchangeName'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_SecurityExchangeName' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Security Exchange Name</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_SecurityExchangeName' xlink:to='lab_dei_SecurityExchangeName'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCentralIndexKey' xlink:label='dei_EntityCentralIndexKey'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityCentralIndexKey' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Registrant CIK</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityCentralIndexKey' xlink:to='lab_dei_EntityCentralIndexKey'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsDueFutureMinimumSubleaseRentals' xlink:label='us-gaap_OperatingLeasesFutureMinimumPaymentsDueFutureMinimumSubleaseRentals'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_OperatingLeasesFutureMinimumPaymentsDueFutureMinimumSubleaseRentals' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Rent Expense Future Minimum Payments</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_OperatingLeasesFutureMinimumPaymentsDueFutureMinimumSubleaseRentals' xlink:to='lab_us-gaap_OperatingLeasesFutureMinimumPaymentsDueFutureMinimumSubleaseRentals'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock' xlink:label='us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Recent Accounting Pronouncements</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock' xlink:to='lab_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestAndOtherIncomeTextBlock' xlink:label='us-gaap_InterestAndOtherIncomeTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_InterestAndOtherIncomeTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>5 - Other Income</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_InterestAndOtherIncomeTextBlock' xlink:to='lab_us-gaap_InterestAndOtherIncomeTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInInventories' xlink:label='us-gaap_IncreaseDecreaseInInventories'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncreaseDecreaseInInventories' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Inventories, net {1}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncreaseDecreaseInInventories' xlink:role='http://www.xbrl.org/2003/role/terseLabel' xml:lang='en-US'>Inventories, net</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_IncreaseDecreaseInInventories' xlink:to='lab_us-gaap_IncreaseDecreaseInInventories'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockSharesOutstanding' xlink:label='us-gaap_PreferredStockSharesOutstanding'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PreferredStockSharesOutstanding' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Preferred Stock, Shares Outstanding</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_PreferredStockSharesOutstanding' xlink:to='lab_us-gaap_PreferredStockSharesOutstanding'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityAbstract' xlink:label='us-gaap_StockholdersEquityAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_StockholdersEquityAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Shareholders&apos; Equity</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_StockholdersEquityAbstract' xlink:to='lab_us-gaap_StockholdersEquityAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract' xlink:label='us-gaap_LiabilitiesAndStockholdersEquityAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_LiabilitiesAndStockholdersEquityAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Liabilities and Shareholders&apos; Equity</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_LiabilitiesAndStockholdersEquityAbstract' xlink:to='lab_us-gaap_LiabilitiesAndStockholdersEquityAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressCityOrTown' xlink:label='dei_EntityAddressCityOrTown'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityAddressCityOrTown' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity Address, City or Town</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityAddressCityOrTown' xlink:to='lab_dei_EntityAddressCityOrTown'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLossCarryforwards' xlink:label='us-gaap_OperatingLossCarryforwards'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_OperatingLossCarryforwards' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Operating Loss Carryforwards</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_OperatingLossCarryforwards' xlink:to='lab_us-gaap_OperatingLossCarryforwards'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments' xlink:label='us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Permanent differences, %</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments' xlink:to='lab_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LandAndLandImprovements' xlink:label='us-gaap_LandAndLandImprovements'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_LandAndLandImprovements' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Land and improvements</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_LandAndLandImprovements' xlink:to='lab_us-gaap_LandAndLandImprovements'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerSharePolicyTextBlock' xlink:label='us-gaap_EarningsPerSharePolicyTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_EarningsPerSharePolicyTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Net Income Per Share</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_EarningsPerSharePolicyTextBlock' xlink:to='lab_us-gaap_EarningsPerSharePolicyTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_DisclosureTextBlockAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Notes</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_DisclosureTextBlockAbstract' xlink:to='lab_us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Depreciation' xlink:label='us-gaap_Depreciation'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_Depreciation' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Depreciation and Amortization</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_Depreciation' xlink:to='lab_us-gaap_Depreciation'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain' xlink:label='us-gaap_EquityComponentDomain'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_EquityComponentDomain' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Equity Component</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_EquityComponentDomain' xlink:to='lab_us-gaap_EquityComponentDomain'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingExpenses' xlink:label='us-gaap_OperatingExpenses'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_OperatingExpenses' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Total Operating Expenses</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_OperatingExpenses' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Total Operating Expenses</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_OperatingExpenses' xlink:to='lab_us-gaap_OperatingExpenses'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfRevenue' xlink:label='us-gaap_CostOfRevenue'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CostOfRevenue' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Cost of Goods Sold</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_CostOfRevenue' xlink:to='lab_us-gaap_CostOfRevenue'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockParOrStatedValuePerShare' xlink:label='us-gaap_PreferredStockParOrStatedValuePerShare'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PreferredStockParOrStatedValuePerShare' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Preferred Stock, Par or Stated Value Per Share</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_PreferredStockParOrStatedValuePerShare' xlink:to='lab_us-gaap_PreferredStockParOrStatedValuePerShare'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CustomerAdvancesAndDepositsCurrent' xlink:label='us-gaap_CustomerAdvancesAndDepositsCurrent'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CustomerAdvancesAndDepositsCurrent' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Unearned Revenue and Customer Deposits</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_CustomerAdvancesAndDepositsCurrent' xlink:to='lab_us-gaap_CustomerAdvancesAndDepositsCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableCurrent' xlink:label='us-gaap_AccountsPayableCurrent'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AccountsPayableCurrent' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Accounts Payable {1}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AccountsPayableCurrent' xlink:role='http://www.xbrl.org/2003/role/terseLabel' xml:lang='en-US'>Accounts Payable</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_AccountsPayableCurrent' xlink:to='lab_us-gaap_AccountsPayableCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalPeriodFocus' xlink:label='dei_DocumentFiscalPeriodFocus'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_DocumentFiscalPeriodFocus' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Document Fiscal Period Focus</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_DocumentFiscalPeriodFocus' xlink:to='lab_dei_DocumentFiscalPeriodFocus'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressStateOrProvince' xlink:label='dei_EntityAddressStateOrProvince'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityAddressStateOrProvince' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity Address, State or Province</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityAddressStateOrProvince' xlink:to='lab_dei_EntityAddressStateOrProvince'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_TextBlockAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Details</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_TextBlockAbstract' xlink:to='lab_us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20231231.xsd#fil_CooperStandardHoldingsIncMember' xlink:label='fil_CooperStandardHoldingsIncMember'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_CooperStandardHoldingsIncMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Cooper Standard Holdings Inc.</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_CooperStandardHoldingsIncMember' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the Cooper Standard Holdings Inc., during the indicated time period.</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='fil_CooperStandardHoldingsIncMember' xlink:to='lab_fil_CooperStandardHoldingsIncMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NonUsMember' xlink:label='us-gaap_NonUsMember'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_NonUsMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Non-US</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_NonUsMember' xlink:to='lab_us-gaap_NonUsMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssets' xlink:label='us-gaap_OtherAssets'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_OtherAssets' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Other assets</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_OtherAssets' xlink:to='lab_us-gaap_OtherAssets'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20231231.xsd#fil_SellingAndAdministrativeExpensesUnallocatedCorporate' xlink:label='fil_SellingAndAdministrativeExpensesUnallocatedCorporate'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_SellingAndAdministrativeExpensesUnallocatedCorporate' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Selling and Administrative Expenses {1}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_SellingAndAdministrativeExpensesUnallocatedCorporate' xlink:role='http://www.xbrl.org/2003/role/terseLabel' xml:lang='en-US'>Selling and Administrative Expenses</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_SellingAndAdministrativeExpensesUnallocatedCorporate' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>The aggregate total costs related to selling a firm&apos;s product and services, as well as all other general and administrative expenses.</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='fil_SellingAndAdministrativeExpensesUnallocatedCorporate' xlink:to='lab_fil_SellingAndAdministrativeExpensesUnallocatedCorporate'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20231231.xsd#fil_SegmentOperatingProfit' xlink:label='fil_SegmentOperatingProfit'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_SegmentOperatingProfit' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Segment operating profit</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_SegmentOperatingProfit' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>The net result for the period of deducting segment operating expenses from segment operating revenues.</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='fil_SegmentOperatingProfit' xlink:to='lab_fil_SegmentOperatingProfit'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsNet' xlink:label='us-gaap_DeferredTaxAssetsNet'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_DeferredTaxAssetsNet' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Deferred Tax Assets, Net of Valuation Allowance</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_DeferredTaxAssetsNet' xlink:to='lab_us-gaap_DeferredTaxAssetsNet'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccrualForTaxesOtherThanIncomeTaxesCurrent' xlink:label='us-gaap_AccrualForTaxesOtherThanIncomeTaxesCurrent'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AccrualForTaxesOtherThanIncomeTaxesCurrent' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Property taxes</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_AccrualForTaxesOtherThanIncomeTaxesCurrent' xlink:to='lab_us-gaap_AccrualForTaxesOtherThanIncomeTaxesCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MachineryAndEquipmentGross' xlink:label='us-gaap_MachineryAndEquipmentGross'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_MachineryAndEquipmentGross' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Machinery and equipment</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_MachineryAndEquipmentGross' xlink:to='lab_us-gaap_MachineryAndEquipmentGross'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryRawMaterials' xlink:label='us-gaap_InventoryRawMaterials'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_InventoryRawMaterials' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Raw materials</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_InventoryRawMaterials' xlink:to='lab_us-gaap_InventoryRawMaterials'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember' xlink:label='srt_RangeMember'/>
		<link:label xlink:type='resource' xlink:label='lab_srt_RangeMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Statistical Measurement</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='srt_RangeMember' xlink:to='lab_srt_RangeMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherCapitalizedPropertyPlantAndEquipmentMember' xlink:label='us-gaap_OtherCapitalizedPropertyPlantAndEquipmentMember'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_OtherCapitalizedPropertyPlantAndEquipmentMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Other Capitalized Property Plant and Equipment</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_OtherCapitalizedPropertyPlantAndEquipmentMember' xlink:to='lab_us-gaap_OtherCapitalizedPropertyPlantAndEquipmentMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTextBlock' xlink:label='us-gaap_PropertyPlantAndEquipmentTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PropertyPlantAndEquipmentTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Property, Plant and Equipment {1}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PropertyPlantAndEquipmentTextBlock' xlink:role='http://www.xbrl.org/2003/role/terseLabel' xml:lang='en-US'>Property, Plant and Equipment</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_PropertyPlantAndEquipmentTextBlock' xlink:to='lab_us-gaap_PropertyPlantAndEquipmentTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryPolicyTextBlock' xlink:label='us-gaap_InventoryPolicyTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_InventoryPolicyTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Inventories</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_InventoryPolicyTextBlock' xlink:to='lab_us-gaap_InventoryPolicyTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConsolidationPolicyTextBlock' xlink:label='us-gaap_ConsolidationPolicyTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ConsolidationPolicyTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Principles of Consolidation</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ConsolidationPolicyTextBlock' xlink:to='lab_us-gaap_ConsolidationPolicyTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfSubsequentEventsTextBlock' xlink:label='us-gaap_ScheduleOfSubsequentEventsTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ScheduleOfSubsequentEventsTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>10 - Subsequent Events</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ScheduleOfSubsequentEventsTextBlock' xlink:to='lab_us-gaap_ScheduleOfSubsequentEventsTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOtherAccruedLiabilities' xlink:label='us-gaap_IncreaseDecreaseInOtherAccruedLiabilities'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncreaseDecreaseInOtherAccruedLiabilities' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Other Accrued Expenses {1}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncreaseDecreaseInOtherAccruedLiabilities' xlink:role='http://www.xbrl.org/2003/role/terseLabel' xml:lang='en-US'>Other Accrued Expenses</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_IncreaseDecreaseInOtherAccruedLiabilities' xlink:to='lab_us-gaap_IncreaseDecreaseInOtherAccruedLiabilities'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic' xlink:label='us-gaap_WeightedAverageNumberOfSharesOutstandingBasic'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Basic</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_WeightedAverageNumberOfSharesOutstandingBasic' xlink:to='lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsPerBasicShare' xlink:label='us-gaap_IncomeLossFromContinuingOperationsPerBasicShare'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncomeLossFromContinuingOperationsPerBasicShare' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Basic net income (loss) per share</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_IncomeLossFromContinuingOperationsPerBasicShare' xlink:to='lab_us-gaap_IncomeLossFromContinuingOperationsPerBasicShare'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementAbstract' xlink:label='us-gaap_IncomeStatementAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncomeStatementAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Consolidated Statements of Operations</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_IncomeStatementAbstract' xlink:to='lab_us-gaap_IncomeStatementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCommonStockSharesOutstanding' xlink:label='dei_EntityCommonStockSharesOutstanding'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityCommonStockSharesOutstanding' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity Common Stock, Shares Outstanding</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityCommonStockSharesOutstanding' xlink:to='lab_dei_EntityCommonStockSharesOutstanding'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityTaxIdentificationNumber' xlink:label='dei_EntityTaxIdentificationNumber'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityTaxIdentificationNumber' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity Tax Identification Number</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityTaxIdentificationNumber' xlink:to='lab_dei_EntityTaxIdentificationNumber'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityIncorporationStateCountryCode' xlink:label='dei_EntityIncorporationStateCountryCode'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityIncorporationStateCountryCode' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity Incorporation, State or Country Code</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityIncorporationStateCountryCode' xlink:to='lab_dei_EntityIncorporationStateCountryCode'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementGeographicalAxis' xlink:label='srt_StatementGeographicalAxis'/>
		<link:label xlink:type='resource' xlink:label='lab_srt_StatementGeographicalAxis' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Geographical [Axis]</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='srt_StatementGeographicalAxis' xlink:to='lab_srt_StatementGeographicalAxis'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestAndOtherIncomeTableTextBlock' xlink:label='us-gaap_InterestAndOtherIncomeTableTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_InterestAndOtherIncomeTableTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Other Income {2}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_InterestAndOtherIncomeTableTextBlock' xlink:role='http://www.xbrl.org/2003/role/terseLabel' xml:lang='en-US'>Other Income</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_InterestAndOtherIncomeTableTextBlock' xlink:to='lab_us-gaap_InterestAndOtherIncomeTableTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfHeldToMaturitySecurities' xlink:label='us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfHeldToMaturitySecurities'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfHeldToMaturitySecurities' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Proceeds from Short-Term Investments</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfHeldToMaturitySecurities' xlink:to='lab_us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfHeldToMaturitySecurities'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities' xlink:label='us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Accrued Wages and Salaries {1}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities' xlink:role='http://www.xbrl.org/2003/role/terseLabel' xml:lang='en-US'>Accrued Wages and Salaries</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities' xlink:to='lab_us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerAsset' xlink:label='us-gaap_IncreaseDecreaseInContractWithCustomerAsset'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncreaseDecreaseInContractWithCustomerAsset' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Contract Assets {1}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncreaseDecreaseInContractWithCustomerAsset' xlink:role='http://www.xbrl.org/2003/role/terseLabel' xml:lang='en-US'>Contract Assets</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_IncreaseDecreaseInContractWithCustomerAsset' xlink:to='lab_us-gaap_IncreaseDecreaseInContractWithCustomerAsset'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainLossOnDispositionOfAssets' xlink:label='us-gaap_GainLossOnDispositionOfAssets'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_GainLossOnDispositionOfAssets' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Gain on the Sale of Property and Equipment</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_GainLossOnDispositionOfAssets' xlink:to='lab_us-gaap_GainLossOnDispositionOfAssets'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockMember' xlink:label='us-gaap_CommonStockMember'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CommonStockMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Common Stock</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_CommonStockMember' xlink:to='lab_us-gaap_CommonStockMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare' xlink:label='us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Diluted net income (loss) per share</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare' xlink:to='lab_us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic' xlink:label='us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Income (Loss) Before Income Taxes</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Income (Loss) Before Income Taxes</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic' xlink:to='lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalYearFocus' xlink:label='dei_DocumentFiscalYearFocus'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_DocumentFiscalYearFocus' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Document Fiscal Year Focus</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_DocumentFiscalYearFocus' xlink:to='lab_dei_DocumentFiscalYearFocus'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/country/2023/country-2023.xsd#country_US' xlink:label='country_US'/>
		<link:label xlink:type='resource' xlink:label='lab_country_US' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>UNITED STATES</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='country_US' xlink:to='lab_country_US'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsOther' xlink:label='us-gaap_DeferredTaxAssetsOther'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_DeferredTaxAssetsOther' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Deferred Tax Assets, Other</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_DeferredTaxAssetsOther' xlink:to='lab_us-gaap_DeferredTaxAssetsOther'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment' xlink:label='us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Deferred Tax Liabilities, Property, Plant and Equipment</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment' xlink:role='http://www.xbrl.org/2009/role/negatedLabel' xml:lang='en-US'>Deferred Tax Liabilities, Property, Plant and Equipment</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment' xlink:to='lab_us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate' xlink:label='us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Expected tax at U.S. statutory rate</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate' xlink:to='lab_us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentOther' xlink:label='us-gaap_PropertyPlantAndEquipmentOther'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PropertyPlantAndEquipmentOther' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Capitalized software and other</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_PropertyPlantAndEquipmentOther' xlink:to='lab_us-gaap_PropertyPlantAndEquipmentOther'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryFinishedGoods' xlink:label='us-gaap_InventoryFinishedGoods'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_InventoryFinishedGoods' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Finished goods</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_InventoryFinishedGoods' xlink:to='lab_us-gaap_InventoryFinishedGoods'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock' xlink:label='srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Schedule of Valuation and Qualifying Accounts</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock' xlink:to='lab_srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock' xlink:label='us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>1 - Nature of Business and Significant Accounting Policies</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock' xlink:to='lab_us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockMember' xlink:label='us-gaap_PreferredStockMember'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PreferredStockMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Preferred Stock</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_PreferredStockMember' xlink:to='lab_us-gaap_PreferredStockMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareAbstract' xlink:label='us-gaap_EarningsPerShareAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_EarningsPerShareAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Per Share Data</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_EarningsPerShareAbstract' xlink:to='lab_us-gaap_EarningsPerShareAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment' xlink:label='us-gaap_GainLossOnSaleOfPropertyPlantEquipment'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_GainLossOnSaleOfPropertyPlantEquipment' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Gain on sale of property</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_GainLossOnSaleOfPropertyPlantEquipment' xlink:role='http://www.xbrl.org/2009/role/negatedLabel' xml:lang='en-US'>Gain on Sale of Property</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_GainLossOnSaleOfPropertyPlantEquipment' xlink:to='lab_us-gaap_GainLossOnSaleOfPropertyPlantEquipment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingGeneralAndAdministrativeExpense' xlink:label='us-gaap_SellingGeneralAndAdministrativeExpense'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_SellingGeneralAndAdministrativeExpense' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Selling and Administrative Expenses</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_SellingGeneralAndAdministrativeExpense' xlink:to='lab_us-gaap_SellingGeneralAndAdministrativeExpense'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapital' xlink:label='us-gaap_AdditionalPaidInCapital'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AdditionalPaidInCapital' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Additional Paid-in Capital</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_AdditionalPaidInCapital' xlink:to='lab_us-gaap_AdditionalPaidInCapital'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet' xlink:label='us-gaap_PropertyPlantAndEquipmentNet'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PropertyPlantAndEquipmentNet' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Property, Plant and Equipment, net</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PropertyPlantAndEquipmentNet' xlink:role='http://www.xbrl.org/2003/role/verboseLabel' xml:lang='en-US'>Property, plant and equipment, net</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_PropertyPlantAndEquipmentNet' xlink:to='lab_us-gaap_PropertyPlantAndEquipmentNet'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20231231.xsd#fil_AutomotiveMember' xlink:label='fil_AutomotiveMember'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_AutomotiveMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Automotive</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_AutomotiveMember' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the Automotive, during the indicated time period.</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='fil_AutomotiveMember' xlink:to='lab_fil_AutomotiveMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes' xlink:label='us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>State taxes, net of federal benefit, %</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes' xlink:to='lab_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesDomain' xlink:label='us-gaap_ValuationAllowancesAndReservesDomain'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ValuationAllowancesAndReservesDomain' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>SEC Schedule, 12-09, Valuation Allowances and Reserves</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ValuationAllowancesAndReservesDomain' xlink:to='lab_us-gaap_ValuationAllowancesAndReservesDomain'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense' xlink:label='us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Unrecognized Tax Benefits {1}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense' xlink:role='http://www.xbrl.org/2003/role/terseLabel' xml:lang='en-US'>Unrecognized Tax Benefits</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense' xlink:to='lab_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MachineryAndEquipmentMember' xlink:label='us-gaap_MachineryAndEquipmentMember'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_MachineryAndEquipmentMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Machinery and Equipment</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_MachineryAndEquipmentMember' xlink:to='lab_us-gaap_MachineryAndEquipmentMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PolicyTextBlockAbstract' xlink:label='us-gaap_PolicyTextBlockAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PolicyTextBlockAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Policies</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_PolicyTextBlockAbstract' xlink:to='lab_us-gaap_PolicyTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxesPaidNet' xlink:label='us-gaap_IncomeTaxesPaidNet'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncomeTaxesPaidNet' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Cash Paid for Income Taxes</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_IncomeTaxesPaidNet' xlink:to='lab_us-gaap_IncomeTaxesPaidNet'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities' xlink:label='us-gaap_NetCashProvidedByUsedInFinancingActivities'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_NetCashProvidedByUsedInFinancingActivities' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Net Cash Used in Financing Activities</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_NetCashProvidedByUsedInFinancingActivities' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Net Cash Used in Financing Activities</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_NetCashProvidedByUsedInFinancingActivities' xlink:to='lab_us-gaap_NetCashProvidedByUsedInFinancingActivities'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems' xlink:label='us-gaap_StatementLineItems'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_StatementLineItems' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Statement [Line Items]</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_StatementLineItems' xlink:to='lab_us-gaap_StatementLineItems'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockCommonMember' xlink:label='us-gaap_TreasuryStockCommonMember'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_TreasuryStockCommonMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Treasury Stock, Common</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_TreasuryStockCommonMember' xlink:to='lab_us-gaap_TreasuryStockCommonMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesOutstanding' xlink:label='us-gaap_CommonStockSharesOutstanding'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CommonStockSharesOutstanding' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Common Stock, Shares, Outstanding</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CommonStockSharesOutstanding' xlink:role='http://www.xbrl.org/2003/role/periodStartLabel' xml:lang='en-US'>Common Stock Shares</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CommonStockSharesOutstanding' xlink:role='http://www.xbrl.org/2003/role/periodEndLabel' xml:lang='en-US'>Common Stock Shares</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_CommonStockSharesOutstanding' xlink:to='lab_us-gaap_CommonStockSharesOutstanding'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityEmergingGrowthCompany' xlink:label='dei_EntityEmergingGrowthCompany'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityEmergingGrowthCompany' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity Emerging Growth Company</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityEmergingGrowthCompany' xlink:to='lab_dei_EntityEmergingGrowthCompany'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityVoluntaryFilers' xlink:label='dei_EntityVoluntaryFilers'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityVoluntaryFilers' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity Voluntary Filers</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityVoluntaryFilers' xlink:to='lab_dei_EntityVoluntaryFilers'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_TradingSymbol' xlink:label='dei_TradingSymbol'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_TradingSymbol' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Trading Symbol</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_TradingSymbol' xlink:to='lab_dei_TradingSymbol'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CityAreaCode' xlink:label='dei_CityAreaCode'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_CityAreaCode' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>City Area Code</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_CityAreaCode' xlink:to='lab_dei_CityAreaCode'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentPeriodEndDate' xlink:label='dei_DocumentPeriodEndDate'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_DocumentPeriodEndDate' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Document Period End Date</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_DocumentPeriodEndDate' xlink:to='lab_dei_DocumentPeriodEndDate'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductOrServiceAxis' xlink:label='srt_ProductOrServiceAxis'/>
		<link:label xlink:type='resource' xlink:label='lab_srt_ProductOrServiceAxis' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Product and Service [Axis]</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='srt_ProductOrServiceAxis' xlink:to='lab_srt_ProductOrServiceAxis'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount' xlink:label='us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Defined Contribution Plan, Employer Discretionary Contribution Amount</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount' xlink:to='lab_us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentStateAndLocalTaxExpenseBenefit' xlink:label='us-gaap_CurrentStateAndLocalTaxExpenseBenefit'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CurrentStateAndLocalTaxExpenseBenefit' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Provision for State income tax expense, Current</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_CurrentStateAndLocalTaxExpenseBenefit' xlink:to='lab_us-gaap_CurrentStateAndLocalTaxExpenseBenefit'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllowanceForCreditLossMember' xlink:label='us-gaap_AllowanceForCreditLossMember'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AllowanceForCreditLossMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>SEC Schedule, 12-09, Allowance, Credit Loss</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_AllowanceForCreditLossMember' xlink:to='lab_us-gaap_AllowanceForCreditLossMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UseOfEstimates' xlink:label='us-gaap_UseOfEstimates'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_UseOfEstimates' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Use of Estimates</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_UseOfEstimates' xlink:to='lab_us-gaap_UseOfEstimates'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueOfFinancialInstrumentsPolicy' xlink:label='us-gaap_FairValueOfFinancialInstrumentsPolicy'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_FairValueOfFinancialInstrumentsPolicy' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Fair Value of Financial Instruments</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_FairValueOfFinancialInstrumentsPolicy' xlink:to='lab_us-gaap_FairValueOfFinancialInstrumentsPolicy'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SupplementalBalanceSheetDisclosuresTextBlock' xlink:label='us-gaap_SupplementalBalanceSheetDisclosuresTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_SupplementalBalanceSheetDisclosuresTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>2 - Balance Sheet Details</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_SupplementalBalanceSheetDisclosuresTextBlock' xlink:to='lab_us-gaap_SupplementalBalanceSheetDisclosuresTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfFinancialPositionAbstract' xlink:label='us-gaap_StatementOfFinancialPositionAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_StatementOfFinancialPositionAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Consolidated Balance Sheets</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_StatementOfFinancialPositionAbstract' xlink:role='http://www.xbrl.org/2003/role/verboseLabel' xml:lang='en-US'>Consolidated Balance Sheets - Parenthetical</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_StatementOfFinancialPositionAbstract' xlink:to='lab_us-gaap_StatementOfFinancialPositionAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityWellKnownSeasonedIssuer' xlink:label='dei_EntityWellKnownSeasonedIssuer'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityWellKnownSeasonedIssuer' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity Well-known Seasoned Issuer</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityWellKnownSeasonedIssuer' xlink:to='lab_dei_EntityWellKnownSeasonedIssuer'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DividendPayableDateToBePaidDayMonthAndYear' xlink:label='us-gaap_DividendPayableDateToBePaidDayMonthAndYear'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_DividendPayableDateToBePaidDayMonthAndYear' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Dividends Payable, Date to be Paid</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_DividendPayableDateToBePaidDayMonthAndYear' xlink:to='lab_us-gaap_DividendPayableDateToBePaidDayMonthAndYear'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20231231.xsd#fil_MartinreaInternationalIncMember' xlink:label='fil_MartinreaInternationalIncMember'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_MartinreaInternationalIncMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Martinrea International Inc.</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_MartinreaInternationalIncMember' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the Martinrea International Inc., during the indicated time period.</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='fil_MartinreaInternationalIncMember' xlink:to='lab_fil_MartinreaInternationalIncMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesDeductions' xlink:label='us-gaap_ValuationAllowancesAndReservesDeductions'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ValuationAllowancesAndReservesDeductions' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Write-offs</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ValuationAllowancesAndReservesDeductions' xlink:to='lab_us-gaap_ValuationAllowancesAndReservesDeductions'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BuildingsAndImprovementsGross' xlink:label='us-gaap_BuildingsAndImprovementsGross'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_BuildingsAndImprovementsGross' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Buildings and improvements</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_BuildingsAndImprovementsGross' xlink:to='lab_us-gaap_BuildingsAndImprovementsGross'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis' xlink:label='us-gaap_PropertyPlantAndEquipmentByTypeAxis'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PropertyPlantAndEquipmentByTypeAxis' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Long-Lived Tangible Asset [Axis]</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_PropertyPlantAndEquipmentByTypeAxis' xlink:to='lab_us-gaap_PropertyPlantAndEquipmentByTypeAxis'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock' xlink:label='us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Schedule of Segment Reporting Information</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock' xlink:to='lab_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CompensationAndEmployeeBenefitPlansOtherThanShareBasedCompensationTextBlock' xlink:label='us-gaap_CompensationAndEmployeeBenefitPlansOtherThanShareBasedCompensationTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CompensationAndEmployeeBenefitPlansOtherThanShareBasedCompensationTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>4 - Profit Sharing Plan</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_CompensationAndEmployeeBenefitPlansOtherThanShareBasedCompensationTextBlock' xlink:to='lab_us-gaap_CompensationAndEmployeeBenefitPlansOtherThanShareBasedCompensationTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis' xlink:label='us-gaap_StatementEquityComponentsAxis'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_StatementEquityComponentsAxis' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Equity Components [Axis]</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_StatementEquityComponentsAxis' xlink:to='lab_us-gaap_StatementEquityComponentsAxis'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_StatementTable' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Statement</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_StatementTable' xlink:to='lab_us-gaap_StatementTable'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockDividendsPerShareDeclared' xlink:label='us-gaap_CommonStockDividendsPerShareDeclared'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CommonStockDividendsPerShareDeclared' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Cash Dividends Declared Per Share</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_CommonStockDividendsPerShareDeclared' xlink:to='lab_us-gaap_CommonStockDividendsPerShareDeclared'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract' xlink:label='us-gaap_CommitmentsAndContingenciesDisclosureAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CommitmentsAndContingenciesDisclosureAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Commitments and Contingencies (Note 8)</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_CommitmentsAndContingenciesDisclosureAbstract' xlink:to='lab_us-gaap_CommitmentsAndContingenciesDisclosureAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrent' xlink:label='us-gaap_LiabilitiesCurrent'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_LiabilitiesCurrent' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Total Current Liabilities</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_LiabilitiesCurrent' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Total Current Liabilities</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_LiabilitiesCurrent' xlink:to='lab_us-gaap_LiabilitiesCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsCurrent' xlink:label='us-gaap_OtherAssetsCurrent'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_OtherAssetsCurrent' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Other Current Assets</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_OtherAssetsCurrent' xlink:to='lab_us-gaap_OtherAssetsCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrentAbstract' xlink:label='us-gaap_AssetsCurrentAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AssetsCurrentAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Current Assets</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_AssetsCurrentAbstract' xlink:to='lab_us-gaap_AssetsCurrentAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_IcfrAuditorAttestationFlag' xlink:label='dei_IcfrAuditorAttestationFlag'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_IcfrAuditorAttestationFlag' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>ICFR Auditor Attestation Flag</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_IcfrAuditorAttestationFlag' xlink:to='lab_dei_IcfrAuditorAttestationFlag'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InvestmentIncomeInterest' xlink:label='us-gaap_InvestmentIncomeInterest'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_InvestmentIncomeInterest' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Interest income</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_InvestmentIncomeInterest' xlink:to='lab_us-gaap_InvestmentIncomeInterest'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife' xlink:label='us-gaap_PropertyPlantAndEquipmentUsefulLife'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PropertyPlantAndEquipmentUsefulLife' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Property, Plant and Equipment, Useful Life</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_PropertyPlantAndEquipmentUsefulLife' xlink:to='lab_us-gaap_PropertyPlantAndEquipmentUsefulLife'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LandImprovementsMember' xlink:label='us-gaap_LandImprovementsMember'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_LandImprovementsMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Land Improvements {1}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_LandImprovementsMember' xlink:role='http://www.xbrl.org/2003/role/terseLabel' xml:lang='en-US'>Land Improvements</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_LandImprovementsMember' xlink:to='lab_us-gaap_LandImprovementsMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized' xlink:label='us-gaap_ContractWithCustomerLiabilityRevenueRecognized'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ContractWithCustomerLiabilityRevenueRecognized' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Revenue Recognized, Performance Obligation</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ContractWithCustomerLiabilityRevenueRecognized' xlink:to='lab_us-gaap_ContractWithCustomerLiabilityRevenueRecognized'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock' xlink:label='us-gaap_ScheduleOfInventoryCurrentTableTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ScheduleOfInventoryCurrentTableTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Inventory</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ScheduleOfInventoryCurrentTableTextBlock' xlink:to='lab_us-gaap_ScheduleOfInventoryCurrentTableTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRecognitionAccountingPolicyGrossAndNetRevenueDisclosure' xlink:label='us-gaap_RevenueRecognitionAccountingPolicyGrossAndNetRevenueDisclosure'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_RevenueRecognitionAccountingPolicyGrossAndNetRevenueDisclosure' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Revenue Recognition</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_RevenueRecognitionAccountingPolicyGrossAndNetRevenueDisclosure' xlink:to='lab_us-gaap_RevenueRecognitionAccountingPolicyGrossAndNetRevenueDisclosure'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalFinancialInformationDisclosureTextBlock' xlink:label='us-gaap_AdditionalFinancialInformationDisclosureTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AdditionalFinancialInformationDisclosureTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>7 - Additional Financial Information Disclosure</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_AdditionalFinancialInformationDisclosureTextBlock' xlink:to='lab_us-gaap_AdditionalFinancialInformationDisclosureTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment' xlink:label='us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Proceeds from the Sale of Property and Equipment</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment' xlink:to='lab_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsPayable' xlink:label='us-gaap_IncreaseDecreaseInAccountsPayable'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncreaseDecreaseInAccountsPayable' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Accounts Payable {2}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncreaseDecreaseInAccountsPayable' xlink:role='http://www.xbrl.org/2003/role/terseLabel' xml:lang='en-US'>Accounts Payable</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_IncreaseDecreaseInAccountsPayable' xlink:to='lab_us-gaap_IncreaseDecreaseInAccountsPayable'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract' xlink:label='us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Adjustments to Reconcile Net Income to Net Cash Used in Operating Activities</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract' xlink:to='lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract' xlink:label='us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Cash Flows from Operating Activities</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract' xlink:to='lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit' xlink:label='us-gaap_IncomeTaxExpenseBenefit'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncomeTaxExpenseBenefit' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Provision (Benefit) for Income Taxes</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncomeTaxExpenseBenefit' xlink:role='http://www.xbrl.org/2003/role/verboseLabel' xml:lang='en-US'>Provision (Benefit) for Income Taxes</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_IncomeTaxExpenseBenefit' xlink:to='lab_us-gaap_IncomeTaxExpenseBenefit'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNonoperatingIncomeExpense' xlink:label='us-gaap_OtherNonoperatingIncomeExpense'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_OtherNonoperatingIncomeExpense' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Other Income {1}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_OtherNonoperatingIncomeExpense' xlink:role='http://www.xbrl.org/2003/role/terseLabel' xml:lang='en-US'>Other Income</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_OtherNonoperatingIncomeExpense' xlink:to='lab_us-gaap_OtherNonoperatingIncomeExpense'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingExpensesAbstract' xlink:label='us-gaap_OperatingExpensesAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_OperatingExpensesAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Operating (Income) Expenses</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_OperatingExpensesAbstract' xlink:to='lab_us-gaap_OperatingExpensesAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesAuthorized' xlink:label='us-gaap_CommonStockSharesAuthorized'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CommonStockSharesAuthorized' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Common Stock, Shares Authorized</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_CommonStockSharesAuthorized' xlink:to='lab_us-gaap_CommonStockSharesAuthorized'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity' xlink:label='us-gaap_StockholdersEquity'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_StockholdersEquity' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Total Shareholders&apos; Equity</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_StockholdersEquity' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Total Shareholders&apos; Equity</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_StockholdersEquity' xlink:role='http://www.xbrl.org/2003/role/periodStartLabel' xml:lang='en-US'>Beginning Balance</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_StockholdersEquity' xlink:role='http://www.xbrl.org/2003/role/periodEndLabel' xml:lang='en-US'>Ending Balance</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_StockholdersEquity' xlink:to='lab_us-gaap_StockholdersEquity'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockValue' xlink:label='us-gaap_PreferredStockValue'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PreferredStockValue' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Preferred Stock, No Par Value, 500,000 Shares Authorized: None Outstanding</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_PreferredStockValue' xlink:to='lab_us-gaap_PreferredStockValue'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrentAbstract' xlink:label='us-gaap_LiabilitiesCurrentAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_LiabilitiesCurrentAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Current Liabilities</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_LiabilitiesCurrentAbstract' xlink:to='lab_us-gaap_LiabilitiesCurrentAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableNetCurrent' xlink:label='us-gaap_AccountsReceivableNetCurrent'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AccountsReceivableNetCurrent' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Accounts Receivable - Less allowances of $160,000</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AccountsReceivableNetCurrent' xlink:role='http://www.xbrl.org/2003/role/verboseLabel' xml:lang='en-US'>Accounts receivable, net</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_AccountsReceivableNetCurrent' xlink:to='lab_us-gaap_AccountsReceivableNetCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AmendmentFlag' xlink:label='dei_AmendmentFlag'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_AmendmentFlag' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Amendment Flag</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_AmendmentFlag' xlink:to='lab_dei_AmendmentFlag'/>
	</link:labelLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.PRE
<SEQUENCE>12
<FILENAME>cvr-20231231_pre.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE
<TEXT>
<XBRL>
<?xml version='1.0' encoding='iso-8859-1'?>
<!-- Produced by EDGARsuite software, Advanced Computer Innovations, Inc., Copyright (C) 2008-2023 [PPXC1A0KDJ2KVDRZ9JZY]. www.edgarsuite.com -->
<link:linkbase xmlns="http://www.xbrl.org/2003/linkbase"
		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
		xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd"
		xmlns:fil="http://www.chicagorivet.com/20231231"
		xmlns:link="http://www.xbrl.org/2003/linkbase"
		xmlns:xlink="http://www.w3.org/1999/xlink"
		xmlns:xbrldt="http://xbrl.org/2005/xbrldt"
		xmlns:xbrli="http://www.xbrl.org/2003/instance">
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_DocumentDocumentAndEntityInformation" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_DocumentDocumentAndEntityInformation"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_DocumentDocumentAndEntityInformation">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCentralIndexKey' xlink:label='dei_EntityCentralIndexKey'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityCentralIndexKey' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CurrentFiscalYearEndDate' xlink:label='dei_CurrentFiscalYearEndDate'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_CurrentFiscalYearEndDate' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentType' xlink:label='dei_DocumentType'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_DocumentType' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentAnnualReport' xlink:label='dei_DocumentAnnualReport'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_DocumentAnnualReport' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentPeriodEndDate' xlink:label='dei_DocumentPeriodEndDate'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_DocumentPeriodEndDate' use='optional' order='5.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentTransitionReport' xlink:label='dei_DocumentTransitionReport'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_DocumentTransitionReport' use='optional' order='6.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFileNumber' xlink:label='dei_EntityFileNumber'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityFileNumber' use='optional' order='7.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityRegistrantName' xlink:label='dei_EntityRegistrantName'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityRegistrantName' use='optional' order='8.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityIncorporationStateCountryCode' xlink:label='dei_EntityIncorporationStateCountryCode'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityIncorporationStateCountryCode' use='optional' order='9.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityTaxIdentificationNumber' xlink:label='dei_EntityTaxIdentificationNumber'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityTaxIdentificationNumber' use='optional' order='10.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine1' xlink:label='dei_EntityAddressAddressLine1'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityAddressAddressLine1' use='optional' order='11.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressCityOrTown' xlink:label='dei_EntityAddressCityOrTown'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityAddressCityOrTown' use='optional' order='12.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressStateOrProvince' xlink:label='dei_EntityAddressStateOrProvince'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityAddressStateOrProvince' use='optional' order='13.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressPostalZipCode' xlink:label='dei_EntityAddressPostalZipCode'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityAddressPostalZipCode' use='optional' order='14.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CityAreaCode' xlink:label='dei_CityAreaCode'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_CityAreaCode' use='optional' order='15.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LocalPhoneNumber' xlink:label='dei_LocalPhoneNumber'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_LocalPhoneNumber' use='optional' order='16.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_Security12bTitle' xlink:label='dei_Security12bTitle'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_Security12bTitle' use='optional' order='17.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_TradingSymbol' xlink:label='dei_TradingSymbol'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_TradingSymbol' use='optional' order='18.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SecurityExchangeName' xlink:label='dei_SecurityExchangeName'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_SecurityExchangeName' use='optional' order='19.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityWellKnownSeasonedIssuer' xlink:label='dei_EntityWellKnownSeasonedIssuer'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityWellKnownSeasonedIssuer' use='optional' order='20.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityVoluntaryFilers' xlink:label='dei_EntityVoluntaryFilers'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityVoluntaryFilers' use='optional' order='21.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCurrentReportingStatus' xlink:label='dei_EntityCurrentReportingStatus'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityCurrentReportingStatus' use='optional' order='22.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityInteractiveDataCurrent' xlink:label='dei_EntityInteractiveDataCurrent'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityInteractiveDataCurrent' use='optional' order='23.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFilerCategory' xlink:label='dei_EntityFilerCategory'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityFilerCategory' use='optional' order='24.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntitySmallBusiness' xlink:label='dei_EntitySmallBusiness'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntitySmallBusiness' use='optional' order='25.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityEmergingGrowthCompany' xlink:label='dei_EntityEmergingGrowthCompany'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityEmergingGrowthCompany' use='optional' order='26.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_IcfrAuditorAttestationFlag' xlink:label='dei_IcfrAuditorAttestationFlag'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_IcfrAuditorAttestationFlag' use='optional' order='27.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFinStmtErrorCorrectionFlag' xlink:label='dei_DocumentFinStmtErrorCorrectionFlag'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_DocumentFinStmtErrorCorrectionFlag' use='optional' order='28.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityShellCompany' xlink:label='dei_EntityShellCompany'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityShellCompany' use='optional' order='29.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityPublicFloat' xlink:label='dei_EntityPublicFloat'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityPublicFloat' use='optional' order='30.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCommonStockSharesOutstanding' xlink:label='dei_EntityCommonStockSharesOutstanding'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityCommonStockSharesOutstanding' use='optional' order='31.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AmendmentFlag' xlink:label='dei_AmendmentFlag'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_AmendmentFlag' use='optional' order='32.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalYearFocus' xlink:label='dei_DocumentFiscalYearFocus'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_DocumentFiscalYearFocus' use='optional' order='33.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalPeriodFocus' xlink:label='dei_DocumentFiscalPeriodFocus'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_DocumentFiscalPeriodFocus' use='optional' order='34.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AuditorFirmId' xlink:label='dei_AuditorFirmId'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_AuditorFirmId' use='optional' order='35.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AuditorName' xlink:label='dei_AuditorName'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_AuditorName' use='optional' order='36.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AuditorLocation' xlink:label='dei_AuditorLocation'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_AuditorLocation' use='optional' order='37.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedBalanceSheets" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_StatementConsolidatedBalanceSheets"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedBalanceSheets">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfFinancialPositionAbstract' xlink:label='us-gaap_StatementOfFinancialPositionAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsAbstract' xlink:label='us-gaap_AssetsAbstract'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfFinancialPositionAbstract' xlink:to='us-gaap_AssetsAbstract' use='optional' order='1.0' preferredLabel='http://www.xbrl.org/2003/role/terseLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrentAbstract' xlink:label='us-gaap_AssetsCurrentAbstract'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_AssetsAbstract' xlink:to='us-gaap_AssetsCurrentAbstract' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue' xlink:label='us-gaap_CashAndCashEquivalentsAtCarryingValue'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_AssetsCurrentAbstract' xlink:to='us-gaap_CashAndCashEquivalentsAtCarryingValue' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShortTermInvestments' xlink:label='us-gaap_ShortTermInvestments'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_AssetsCurrentAbstract' xlink:to='us-gaap_ShortTermInvestments' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableNetCurrent' xlink:label='us-gaap_AccountsReceivableNetCurrent'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_AssetsCurrentAbstract' xlink:to='us-gaap_AccountsReceivableNetCurrent' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerAssetNetCurrent' xlink:label='us-gaap_ContractWithCustomerAssetNetCurrent'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_AssetsCurrentAbstract' xlink:to='us-gaap_ContractWithCustomerAssetNetCurrent' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryNet' xlink:label='us-gaap_InventoryNet'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_AssetsCurrentAbstract' xlink:to='us-gaap_InventoryNet' use='optional' order='5.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrepaidTaxes' xlink:label='us-gaap_PrepaidTaxes'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_AssetsCurrentAbstract' xlink:to='us-gaap_PrepaidTaxes' use='optional' order='6.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsCurrent' xlink:label='us-gaap_OtherAssetsCurrent'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_AssetsCurrentAbstract' xlink:to='us-gaap_OtherAssetsCurrent' use='optional' order='7.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrent' xlink:label='us-gaap_AssetsCurrent'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_AssetsCurrentAbstract' xlink:to='us-gaap_AssetsCurrent' use='optional' order='8.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet' xlink:label='us-gaap_PropertyPlantAndEquipmentNet'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_AssetsAbstract' xlink:to='us-gaap_PropertyPlantAndEquipmentNet' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxAssetsNet' xlink:label='us-gaap_DeferredIncomeTaxAssetsNet'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_AssetsAbstract' xlink:to='us-gaap_DeferredIncomeTaxAssetsNet' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Assets' xlink:label='us-gaap_Assets'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_AssetsAbstract' xlink:to='us-gaap_Assets' use='optional' order='4.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract' xlink:label='us-gaap_LiabilitiesAndStockholdersEquityAbstract'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfFinancialPositionAbstract' xlink:to='us-gaap_LiabilitiesAndStockholdersEquityAbstract' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrentAbstract' xlink:label='us-gaap_LiabilitiesCurrentAbstract'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_LiabilitiesAndStockholdersEquityAbstract' xlink:to='us-gaap_LiabilitiesCurrentAbstract' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableCurrent' xlink:label='us-gaap_AccountsPayableCurrent'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_LiabilitiesCurrentAbstract' xlink:to='us-gaap_AccountsPayableCurrent' use='optional' order='1.0' preferredLabel='http://www.xbrl.org/2003/role/terseLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent' xlink:label='us-gaap_EmployeeRelatedLiabilitiesCurrent'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_LiabilitiesCurrentAbstract' xlink:to='us-gaap_EmployeeRelatedLiabilitiesCurrent' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesCurrent' xlink:label='us-gaap_AccruedLiabilitiesCurrent'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_LiabilitiesCurrentAbstract' xlink:to='us-gaap_AccruedLiabilitiesCurrent' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CustomerAdvancesAndDepositsCurrent' xlink:label='us-gaap_CustomerAdvancesAndDepositsCurrent'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_LiabilitiesCurrentAbstract' xlink:to='us-gaap_CustomerAdvancesAndDepositsCurrent' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrent' xlink:label='us-gaap_LiabilitiesCurrent'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_LiabilitiesCurrentAbstract' xlink:to='us-gaap_LiabilitiesCurrent' use='optional' order='5.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet' xlink:label='us-gaap_DeferredIncomeTaxLiabilitiesNet'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_LiabilitiesAndStockholdersEquityAbstract' xlink:to='us-gaap_DeferredIncomeTaxLiabilitiesNet' use='optional' order='2.0' preferredLabel='http://www.xbrl.org/2003/role/terseLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Liabilities' xlink:label='us-gaap_Liabilities'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_LiabilitiesAndStockholdersEquityAbstract' xlink:to='us-gaap_Liabilities' use='optional' order='3.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityAbstract' xlink:label='us-gaap_StockholdersEquityAbstract'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_LiabilitiesAndStockholdersEquityAbstract' xlink:to='us-gaap_StockholdersEquityAbstract' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockValue' xlink:label='us-gaap_PreferredStockValue'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StockholdersEquityAbstract' xlink:to='us-gaap_PreferredStockValue' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockValueOutstanding' xlink:label='us-gaap_CommonStockValueOutstanding'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StockholdersEquityAbstract' xlink:to='us-gaap_CommonStockValueOutstanding' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapital' xlink:label='us-gaap_AdditionalPaidInCapital'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StockholdersEquityAbstract' xlink:to='us-gaap_AdditionalPaidInCapital' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsAccumulatedDeficit' xlink:label='us-gaap_RetainedEarningsAccumulatedDeficit'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StockholdersEquityAbstract' xlink:to='us-gaap_RetainedEarningsAccumulatedDeficit' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockValue' xlink:label='us-gaap_TreasuryStockValue'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StockholdersEquityAbstract' xlink:to='us-gaap_TreasuryStockValue' use='optional' order='5.0' preferredLabel='http://www.xbrl.org/2009/role/negatedLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity' xlink:label='us-gaap_StockholdersEquity'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StockholdersEquityAbstract' xlink:to='us-gaap_StockholdersEquity' use='optional' order='6.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquity' xlink:label='us-gaap_LiabilitiesAndStockholdersEquity'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_LiabilitiesAndStockholdersEquityAbstract' xlink:to='us-gaap_LiabilitiesAndStockholdersEquity' use='optional' order='5.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract' xlink:label='us-gaap_CommitmentsAndContingenciesDisclosureAbstract'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfFinancialPositionAbstract' xlink:to='us-gaap_CommitmentsAndContingenciesDisclosureAbstract' use='optional' order='3.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedBalanceSheetsParenthetical" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_StatementConsolidatedBalanceSheetsParenthetical"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedBalanceSheetsParenthetical">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfFinancialPositionAbstract' xlink:label='us-gaap_StatementOfFinancialPositionAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockParOrStatedValuePerShare' xlink:label='us-gaap_PreferredStockParOrStatedValuePerShare'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfFinancialPositionAbstract' xlink:to='us-gaap_PreferredStockParOrStatedValuePerShare' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockSharesAuthorized' xlink:label='us-gaap_PreferredStockSharesAuthorized'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfFinancialPositionAbstract' xlink:to='us-gaap_PreferredStockSharesAuthorized' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockSharesOutstanding' xlink:label='us-gaap_PreferredStockSharesOutstanding'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfFinancialPositionAbstract' xlink:to='us-gaap_PreferredStockSharesOutstanding' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockParOrStatedValuePerShare' xlink:label='us-gaap_CommonStockParOrStatedValuePerShare'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfFinancialPositionAbstract' xlink:to='us-gaap_CommonStockParOrStatedValuePerShare' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesAuthorized' xlink:label='us-gaap_CommonStockSharesAuthorized'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfFinancialPositionAbstract' xlink:to='us-gaap_CommonStockSharesAuthorized' use='optional' order='5.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesIssued' xlink:label='us-gaap_CommonStockSharesIssued'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfFinancialPositionAbstract' xlink:to='us-gaap_CommonStockSharesIssued' use='optional' order='6.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesOutstanding' xlink:label='us-gaap_CommonStockSharesOutstanding'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfFinancialPositionAbstract' xlink:to='us-gaap_CommonStockSharesOutstanding' use='optional' order='7.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfOperations" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_StatementConsolidatedStatementsOfOperations"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfOperations">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementAbstract' xlink:label='us-gaap_IncomeStatementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Revenues' xlink:label='us-gaap_Revenues'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncomeStatementAbstract' xlink:to='us-gaap_Revenues' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfRevenue' xlink:label='us-gaap_CostOfRevenue'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncomeStatementAbstract' xlink:to='us-gaap_CostOfRevenue' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GrossProfit' xlink:label='us-gaap_GrossProfit'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncomeStatementAbstract' xlink:to='us-gaap_GrossProfit' use='optional' order='3.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingExpensesAbstract' xlink:label='us-gaap_OperatingExpensesAbstract'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncomeStatementAbstract' xlink:to='us-gaap_OperatingExpensesAbstract' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingGeneralAndAdministrativeExpense' xlink:label='us-gaap_SellingGeneralAndAdministrativeExpense'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_OperatingExpensesAbstract' xlink:to='us-gaap_SellingGeneralAndAdministrativeExpense' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment' xlink:label='us-gaap_GainLossOnSaleOfPropertyPlantEquipment'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_OperatingExpensesAbstract' xlink:to='us-gaap_GainLossOnSaleOfPropertyPlantEquipment' use='optional' order='2.0' preferredLabel='http://www.xbrl.org/2009/role/negatedLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingExpenses' xlink:label='us-gaap_OperatingExpenses'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncomeStatementAbstract' xlink:to='us-gaap_OperatingExpenses' use='optional' order='5.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingIncomeLoss' xlink:label='us-gaap_OperatingIncomeLoss'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncomeStatementAbstract' xlink:to='us-gaap_OperatingIncomeLoss' use='optional' order='6.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNonoperatingIncomeExpense' xlink:label='us-gaap_OtherNonoperatingIncomeExpense'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncomeStatementAbstract' xlink:to='us-gaap_OtherNonoperatingIncomeExpense' use='optional' order='7.0' preferredLabel='http://www.xbrl.org/2003/role/terseLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic' xlink:label='us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncomeStatementAbstract' xlink:to='us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic' use='optional' order='8.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit' xlink:label='us-gaap_IncomeTaxExpenseBenefit'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncomeStatementAbstract' xlink:to='us-gaap_IncomeTaxExpenseBenefit' use='optional' order='9.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss' xlink:label='us-gaap_NetIncomeLoss'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncomeStatementAbstract' xlink:to='us-gaap_NetIncomeLoss' use='optional' order='10.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareAbstract' xlink:label='us-gaap_EarningsPerShareAbstract'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncomeStatementAbstract' xlink:to='us-gaap_EarningsPerShareAbstract' use='optional' order='11.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsPerBasicShare' xlink:label='us-gaap_IncomeLossFromContinuingOperationsPerBasicShare'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_EarningsPerShareAbstract' xlink:to='us-gaap_IncomeLossFromContinuingOperationsPerBasicShare' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare' xlink:label='us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_EarningsPerShareAbstract' xlink:to='us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic' xlink:label='us-gaap_WeightedAverageNumberOfSharesOutstandingBasic'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncomeStatementAbstract' xlink:to='us-gaap_WeightedAverageNumberOfSharesOutstandingBasic' use='optional' order='12.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding' xlink:label='us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncomeStatementAbstract' xlink:to='us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding' use='optional' order='13.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockDividendsPerShareDeclared' xlink:label='us-gaap_CommonStockDividendsPerShareDeclared'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncomeStatementAbstract' xlink:to='us-gaap_CommonStockDividendsPerShareDeclared' use='optional' order='14.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfShareholdersEquity" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_StatementConsolidatedStatementsOfShareholdersEquity"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfShareholdersEquity">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfStockholdersEquityAbstract' xlink:label='us-gaap_StatementOfStockholdersEquityAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfStockholdersEquityAbstract' xlink:to='us-gaap_StatementTable' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis' xlink:label='us-gaap_StatementEquityComponentsAxis'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='us-gaap_StatementEquityComponentsAxis' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain' xlink:label='us-gaap_EquityComponentDomain'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementEquityComponentsAxis' xlink:to='us-gaap_EquityComponentDomain' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockMember' xlink:label='us-gaap_PreferredStockMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementEquityComponentsAxis' xlink:to='us-gaap_PreferredStockMember' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockMember' xlink:label='us-gaap_CommonStockMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementEquityComponentsAxis' xlink:to='us-gaap_CommonStockMember' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapitalMember' xlink:label='us-gaap_AdditionalPaidInCapitalMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementEquityComponentsAxis' xlink:to='us-gaap_AdditionalPaidInCapitalMember' use='optional' order='4.0' preferredLabel='http://www.xbrl.org/2003/role/terseLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsMember' xlink:label='us-gaap_RetainedEarningsMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementEquityComponentsAxis' xlink:to='us-gaap_RetainedEarningsMember' use='optional' order='5.0' preferredLabel='http://www.xbrl.org/2003/role/terseLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockCommonMember' xlink:label='us-gaap_TreasuryStockCommonMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementEquityComponentsAxis' xlink:to='us-gaap_TreasuryStockCommonMember' use='optional' order='6.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems' xlink:label='us-gaap_StatementLineItems'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='us-gaap_StatementLineItems' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity' xlink:label='us-gaap_StockholdersEquity'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_StockholdersEquity' use='optional' order='1.0' preferredLabel='http://www.xbrl.org/2003/role/periodStartLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesOutstanding' xlink:label='us-gaap_CommonStockSharesOutstanding'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_CommonStockSharesOutstanding' use='optional' order='2.0' preferredLabel='http://www.xbrl.org/2003/role/periodStartLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockCommonShares' xlink:label='us-gaap_TreasuryStockCommonShares'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_TreasuryStockCommonShares' use='optional' order='3.0' preferredLabel='http://www.xbrl.org/2003/role/periodStartLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss' xlink:label='us-gaap_NetIncomeLoss'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_NetIncomeLoss' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Dividends' xlink:label='us-gaap_Dividends'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_Dividends' use='optional' order='5.0' preferredLabel='http://www.xbrl.org/2009/role/negatedLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity' xlink:label='us-gaap_StockholdersEquity_1'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_StockholdersEquity_1' use='optional' order='6.0' preferredLabel='http://www.xbrl.org/2003/role/periodEndLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesOutstanding' xlink:label='us-gaap_CommonStockSharesOutstanding_1'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_CommonStockSharesOutstanding_1' use='optional' order='7.0' preferredLabel='http://www.xbrl.org/2003/role/periodEndLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockCommonShares' xlink:label='us-gaap_TreasuryStockCommonShares_1'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_TreasuryStockCommonShares_1' use='optional' order='8.0' preferredLabel='http://www.xbrl.org/2003/role/periodEndLabel'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfShareholdersEquityParenthetical" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_StatementConsolidatedStatementsOfShareholdersEquityParenthetical"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfShareholdersEquityParenthetical">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfStockholdersEquityAbstract' xlink:label='us-gaap_StatementOfStockholdersEquityAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockDividendsPerShareDeclared' xlink:label='us-gaap_CommonStockDividendsPerShareDeclared'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfStockholdersEquityAbstract' xlink:to='us-gaap_CommonStockDividendsPerShareDeclared' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfCashFlows" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_StatementConsolidatedStatementsOfCashFlows"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfCashFlows">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfCashFlowsAbstract' xlink:label='us-gaap_StatementOfCashFlowsAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract' xlink:label='us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfCashFlowsAbstract' xlink:to='us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss' xlink:label='us-gaap_NetIncomeLoss'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract' xlink:to='us-gaap_NetIncomeLoss' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract' xlink:label='us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract' xlink:to='us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Depreciation' xlink:label='us-gaap_Depreciation'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract' xlink:to='us-gaap_Depreciation' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainLossOnDispositionOfAssets' xlink:label='us-gaap_GainLossOnDispositionOfAssets'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract' xlink:to='us-gaap_GainLossOnDispositionOfAssets' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit' xlink:label='us-gaap_DeferredIncomeTaxExpenseBenefit'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract' xlink:to='us-gaap_DeferredIncomeTaxExpenseBenefit' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract' xlink:label='us-gaap_IncreaseDecreaseInOperatingCapitalAbstract'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract' xlink:to='us-gaap_IncreaseDecreaseInOperatingCapitalAbstract' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable' xlink:label='us-gaap_IncreaseDecreaseInAccountsReceivable'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncreaseDecreaseInOperatingCapitalAbstract' xlink:to='us-gaap_IncreaseDecreaseInAccountsReceivable' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerAsset' xlink:label='us-gaap_IncreaseDecreaseInContractWithCustomerAsset'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncreaseDecreaseInOperatingCapitalAbstract' xlink:to='us-gaap_IncreaseDecreaseInContractWithCustomerAsset' use='optional' order='2.0' preferredLabel='http://www.xbrl.org/2003/role/terseLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInInventories' xlink:label='us-gaap_IncreaseDecreaseInInventories'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncreaseDecreaseInOperatingCapitalAbstract' xlink:to='us-gaap_IncreaseDecreaseInInventories' use='optional' order='3.0' preferredLabel='http://www.xbrl.org/2003/role/terseLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOtherOperatingAssets' xlink:label='us-gaap_IncreaseDecreaseInOtherOperatingAssets'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncreaseDecreaseInOperatingCapitalAbstract' xlink:to='us-gaap_IncreaseDecreaseInOtherOperatingAssets' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsPayable' xlink:label='us-gaap_IncreaseDecreaseInAccountsPayable'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncreaseDecreaseInOperatingCapitalAbstract' xlink:to='us-gaap_IncreaseDecreaseInAccountsPayable' use='optional' order='5.0' preferredLabel='http://www.xbrl.org/2003/role/terseLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities' xlink:label='us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncreaseDecreaseInOperatingCapitalAbstract' xlink:to='us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities' use='optional' order='6.0' preferredLabel='http://www.xbrl.org/2003/role/terseLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOtherAccruedLiabilities' xlink:label='us-gaap_IncreaseDecreaseInOtherAccruedLiabilities'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncreaseDecreaseInOperatingCapitalAbstract' xlink:to='us-gaap_IncreaseDecreaseInOtherAccruedLiabilities' use='optional' order='7.0' preferredLabel='http://www.xbrl.org/2003/role/terseLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInCustomerAdvancesAndDeposits' xlink:label='us-gaap_IncreaseDecreaseInCustomerAdvancesAndDeposits'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncreaseDecreaseInOperatingCapitalAbstract' xlink:to='us-gaap_IncreaseDecreaseInCustomerAdvancesAndDeposits' use='optional' order='8.0' preferredLabel='http://www.xbrl.org/2003/role/terseLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:label='us-gaap_NetCashProvidedByUsedInOperatingActivities'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract' xlink:to='us-gaap_NetCashProvidedByUsedInOperatingActivities' use='optional' order='4.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract' xlink:label='us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfCashFlowsAbstract' xlink:to='us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireProductiveAssets' xlink:label='us-gaap_PaymentsToAcquireProductiveAssets'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract' xlink:to='us-gaap_PaymentsToAcquireProductiveAssets' use='optional' order='1.0' preferredLabel='http://www.xbrl.org/2009/role/negatedLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment' xlink:label='us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract' xlink:to='us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfHeldToMaturitySecurities' xlink:label='us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfHeldToMaturitySecurities'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract' xlink:to='us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfHeldToMaturitySecurities' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireHeldToMaturitySecurities' xlink:label='us-gaap_PaymentsToAcquireHeldToMaturitySecurities'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract' xlink:to='us-gaap_PaymentsToAcquireHeldToMaturitySecurities' use='optional' order='4.0' preferredLabel='http://www.xbrl.org/2009/role/negatedLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities' xlink:label='us-gaap_NetCashProvidedByUsedInInvestingActivities'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract' xlink:to='us-gaap_NetCashProvidedByUsedInInvestingActivities' use='optional' order='5.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract' xlink:label='us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfCashFlowsAbstract' xlink:to='us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsOfDividendsCommonStock' xlink:label='us-gaap_PaymentsOfDividendsCommonStock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract' xlink:to='us-gaap_PaymentsOfDividendsCommonStock' use='optional' order='1.0' preferredLabel='http://www.xbrl.org/2009/role/negatedLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities' xlink:label='us-gaap_NetCashProvidedByUsedInFinancingActivities'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract' xlink:to='us-gaap_NetCashProvidedByUsedInFinancingActivities' use='optional' order='2.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect' xlink:label='us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfCashFlowsAbstract' xlink:to='us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect' use='optional' order='4.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValueAbstract' xlink:label='us-gaap_CashAndCashEquivalentsAtCarryingValueAbstract'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfCashFlowsAbstract' xlink:to='us-gaap_CashAndCashEquivalentsAtCarryingValueAbstract' use='optional' order='5.0' preferredLabel='http://www.xbrl.org/2003/role/terseLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue' xlink:label='us-gaap_CashAndCashEquivalentsAtCarryingValue'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfCashFlowsAbstract' xlink:to='us-gaap_CashAndCashEquivalentsAtCarryingValue' use='optional' order='6.0' preferredLabel='http://www.xbrl.org/2003/role/periodStartLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue' xlink:label='us-gaap_CashAndCashEquivalentsAtCarryingValue_1'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfCashFlowsAbstract' xlink:to='us-gaap_CashAndCashEquivalentsAtCarryingValue_1' use='optional' order='7.0' preferredLabel='http://www.xbrl.org/2003/role/periodEndLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxesPaidNet' xlink:label='us-gaap_IncomeTaxesPaidNet'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfCashFlowsAbstract' xlink:to='us-gaap_IncomeTaxesPaidNet' use='optional' order='8.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_Disclosure1NatureOfBusinessAndSignificantAccountingPolicies" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_Disclosure1NatureOfBusinessAndSignificantAccountingPolicies"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_Disclosure1NatureOfBusinessAndSignificantAccountingPolicies">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock' xlink:label='us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_DisclosureTextBlockAbstract' xlink:to='us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_Disclosure2BalanceSheetDetails" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_Disclosure2BalanceSheetDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_Disclosure2BalanceSheetDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SupplementalBalanceSheetDisclosuresTextBlock' xlink:label='us-gaap_SupplementalBalanceSheetDisclosuresTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_DisclosureTextBlockAbstract' xlink:to='us-gaap_SupplementalBalanceSheetDisclosuresTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_Disclosure3IncomeTaxes" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_Disclosure3IncomeTaxes"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_Disclosure3IncomeTaxes">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureTextBlock' xlink:label='us-gaap_IncomeTaxDisclosureTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_DisclosureTextBlockAbstract' xlink:to='us-gaap_IncomeTaxDisclosureTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_Disclosure4ProfitSharingPlan" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_Disclosure4ProfitSharingPlan"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_Disclosure4ProfitSharingPlan">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CompensationAndEmployeeBenefitPlansOtherThanShareBasedCompensationTextBlock' xlink:label='us-gaap_CompensationAndEmployeeBenefitPlansOtherThanShareBasedCompensationTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_DisclosureTextBlockAbstract' xlink:to='us-gaap_CompensationAndEmployeeBenefitPlansOtherThanShareBasedCompensationTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_Disclosure5OtherIncome" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_Disclosure5OtherIncome"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_Disclosure5OtherIncome">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestAndOtherIncomeTextBlock' xlink:label='us-gaap_InterestAndOtherIncomeTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_DisclosureTextBlockAbstract' xlink:to='us-gaap_InterestAndOtherIncomeTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_Disclosure6SegmentInformation" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_Disclosure6SegmentInformation"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_Disclosure6SegmentInformation">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingDisclosureTextBlock' xlink:label='us-gaap_SegmentReportingDisclosureTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_DisclosureTextBlockAbstract' xlink:to='us-gaap_SegmentReportingDisclosureTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_Disclosure7AdditionalFinancialInformationDisclosure" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_Disclosure7AdditionalFinancialInformationDisclosure"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_Disclosure7AdditionalFinancialInformationDisclosure">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalFinancialInformationDisclosureTextBlock' xlink:label='us-gaap_AdditionalFinancialInformationDisclosureTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_DisclosureTextBlockAbstract' xlink:to='us-gaap_AdditionalFinancialInformationDisclosureTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_Disclosure8CommitmentsAndContingencies" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_Disclosure8CommitmentsAndContingencies"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_Disclosure8CommitmentsAndContingencies">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock' xlink:label='us-gaap_CommitmentsAndContingenciesDisclosureTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_DisclosureTextBlockAbstract' xlink:to='us-gaap_CommitmentsAndContingenciesDisclosureTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_Disclosure9RisksAndUncertaintiesForHealthEmergencies" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_Disclosure9RisksAndUncertaintiesForHealthEmergencies"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_Disclosure9RisksAndUncertaintiesForHealthEmergencies">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnusualOrInfrequentItemsDisclosureTextBlock' xlink:label='us-gaap_UnusualOrInfrequentItemsDisclosureTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_DisclosureTextBlockAbstract' xlink:to='us-gaap_UnusualOrInfrequentItemsDisclosureTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_Disclosure10SubsequentEvents" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_Disclosure10SubsequentEvents"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_Disclosure10SubsequentEvents">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfSubsequentEventsTextBlock' xlink:label='us-gaap_ScheduleOfSubsequentEventsTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_DisclosureTextBlockAbstract' xlink:to='us-gaap_ScheduleOfSubsequentEventsTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_DisclosureSignificantAccountingPoliciesPolicies" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_DisclosureSignificantAccountingPoliciesPolicies"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_DisclosureSignificantAccountingPoliciesPolicies">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PolicyTextBlockAbstract' xlink:label='us-gaap_PolicyTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConsolidationPolicyTextBlock' xlink:label='us-gaap_ConsolidationPolicyTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_PolicyTextBlockAbstract' xlink:to='us-gaap_ConsolidationPolicyTextBlock' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRecognitionAccountingPolicyGrossAndNetRevenueDisclosure' xlink:label='us-gaap_RevenueRecognitionAccountingPolicyGrossAndNetRevenueDisclosure'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_PolicyTextBlockAbstract' xlink:to='us-gaap_RevenueRecognitionAccountingPolicyGrossAndNetRevenueDisclosure' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskCreditRisk' xlink:label='us-gaap_ConcentrationRiskCreditRisk'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_PolicyTextBlockAbstract' xlink:to='us-gaap_ConcentrationRiskCreditRisk' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsPolicyTextBlock' xlink:label='us-gaap_CashAndCashEquivalentsPolicyTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_PolicyTextBlockAbstract' xlink:to='us-gaap_CashAndCashEquivalentsPolicyTextBlock' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueOfFinancialInstrumentsPolicy' xlink:label='us-gaap_FairValueOfFinancialInstrumentsPolicy'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_PolicyTextBlockAbstract' xlink:to='us-gaap_FairValueOfFinancialInstrumentsPolicy' use='optional' order='5.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryPolicyTextBlock' xlink:label='us-gaap_InventoryPolicyTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_PolicyTextBlockAbstract' xlink:to='us-gaap_InventoryPolicyTextBlock' use='optional' order='6.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentPolicyTextBlock' xlink:label='us-gaap_PropertyPlantAndEquipmentPolicyTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_PolicyTextBlockAbstract' xlink:to='us-gaap_PropertyPlantAndEquipmentPolicyTextBlock' use='optional' order='7.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxPolicyTextBlock' xlink:label='us-gaap_IncomeTaxPolicyTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_PolicyTextBlockAbstract' xlink:to='us-gaap_IncomeTaxPolicyTextBlock' use='optional' order='8.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingPolicyPolicyTextBlock' xlink:label='us-gaap_SegmentReportingPolicyPolicyTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_PolicyTextBlockAbstract' xlink:to='us-gaap_SegmentReportingPolicyPolicyTextBlock' use='optional' order='9.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerSharePolicyTextBlock' xlink:label='us-gaap_EarningsPerSharePolicyTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_PolicyTextBlockAbstract' xlink:to='us-gaap_EarningsPerSharePolicyTextBlock' use='optional' order='10.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UseOfEstimates' xlink:label='us-gaap_UseOfEstimates'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_PolicyTextBlockAbstract' xlink:to='us-gaap_UseOfEstimates' use='optional' order='11.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock' xlink:label='us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_PolicyTextBlockAbstract' xlink:to='us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock' use='optional' order='12.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_Disclosure2BalanceSheetDetailsInventoryTables" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_Disclosure2BalanceSheetDetailsInventoryTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_Disclosure2BalanceSheetDetailsInventoryTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock' xlink:label='us-gaap_ScheduleOfInventoryCurrentTableTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TableTextBlockSupplementAbstract' xlink:to='us-gaap_ScheduleOfInventoryCurrentTableTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_Disclosure2BalanceSheetDetailsPropertyPlantAndEquipmentTables" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_Disclosure2BalanceSheetDetailsPropertyPlantAndEquipmentTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_Disclosure2BalanceSheetDetailsPropertyPlantAndEquipmentTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTextBlock' xlink:label='us-gaap_PropertyPlantAndEquipmentTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TableTextBlockSupplementAbstract' xlink:to='us-gaap_PropertyPlantAndEquipmentTextBlock' use='optional' order='1.0' preferredLabel='http://www.xbrl.org/2003/role/terseLabel'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_Disclosure2BalanceSheetDetailsOtherAccruedExpensesTables" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_Disclosure2BalanceSheetDetailsOtherAccruedExpensesTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_Disclosure2BalanceSheetDetailsOtherAccruedExpensesTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock' xlink:label='us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TableTextBlockSupplementAbstract' xlink:to='us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock' use='optional' order='1.0' preferredLabel='http://www.xbrl.org/2003/role/terseLabel'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_Disclosure2BalanceSheetDetailsScheduleOfValuationAndQualifyingAccountsTables" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_Disclosure2BalanceSheetDetailsScheduleOfValuationAndQualifyingAccountsTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_Disclosure2BalanceSheetDetailsScheduleOfValuationAndQualifyingAccountsTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock' xlink:label='srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TableTextBlockSupplementAbstract' xlink:to='srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_Disclosure3IncomeTaxesProvisionForIncomeTaxExpenseTables" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_Disclosure3IncomeTaxesProvisionForIncomeTaxExpenseTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_Disclosure3IncomeTaxesProvisionForIncomeTaxExpenseTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock' xlink:label='us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TableTextBlockSupplementAbstract' xlink:to='us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_Disclosure3IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationTables" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_Disclosure3IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_Disclosure3IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock' xlink:label='us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TableTextBlockSupplementAbstract' xlink:to='us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_Disclosure3IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesTables" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_Disclosure3IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_Disclosure3IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock' xlink:label='us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TableTextBlockSupplementAbstract' xlink:to='us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_Disclosure5OtherIncomeOtherIncomeTables" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_Disclosure5OtherIncomeOtherIncomeTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_Disclosure5OtherIncomeOtherIncomeTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestAndOtherIncomeTableTextBlock' xlink:label='us-gaap_InterestAndOtherIncomeTableTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TableTextBlockSupplementAbstract' xlink:to='us-gaap_InterestAndOtherIncomeTableTextBlock' use='optional' order='1.0' preferredLabel='http://www.xbrl.org/2003/role/terseLabel'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationTables" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock' xlink:label='us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TableTextBlockSupplementAbstract' xlink:to='us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_DisclosureContractsWithCustomersRevenueRecognizedDetails" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_DisclosureContractsWithCustomersRevenueRecognizedDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_DisclosureContractsWithCustomersRevenueRecognizedDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized' xlink:label='us-gaap_ContractWithCustomerLiabilityRevenueRecognized'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_ContractWithCustomerLiabilityRevenueRecognized' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligation' xlink:label='us-gaap_RevenueRemainingPerformanceObligation'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_RevenueRemainingPerformanceObligation' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerAssetNetCurrent' xlink:label='us-gaap_ContractWithCustomerAssetNetCurrent'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_ContractWithCustomerAssetNetCurrent' use='optional' order='3.0' preferredLabel='http://www.xbrl.org/2003/role/verboseLabel'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_DisclosureEstimatedUsefulLivesByAssetCategoryDetails" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_DisclosureEstimatedUsefulLivesByAssetCategoryDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_DisclosureEstimatedUsefulLivesByAssetCategoryDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_StatementTable' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis' xlink:label='us-gaap_PropertyPlantAndEquipmentByTypeAxis'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='us-gaap_PropertyPlantAndEquipmentByTypeAxis' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain' xlink:label='us-gaap_PropertyPlantAndEquipmentTypeDomain'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_PropertyPlantAndEquipmentByTypeAxis' xlink:to='us-gaap_PropertyPlantAndEquipmentTypeDomain' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LandImprovementsMember' xlink:label='us-gaap_LandImprovementsMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_PropertyPlantAndEquipmentByTypeAxis' xlink:to='us-gaap_LandImprovementsMember' use='optional' order='2.0' preferredLabel='http://www.xbrl.org/2003/role/terseLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BuildingImprovementsMember' xlink:label='us-gaap_BuildingImprovementsMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_PropertyPlantAndEquipmentByTypeAxis' xlink:to='us-gaap_BuildingImprovementsMember' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MachineryAndEquipmentMember' xlink:label='us-gaap_MachineryAndEquipmentMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_PropertyPlantAndEquipmentByTypeAxis' xlink:to='us-gaap_MachineryAndEquipmentMember' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SoftwareAndSoftwareDevelopmentCostsMember' xlink:label='us-gaap_SoftwareAndSoftwareDevelopmentCostsMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_PropertyPlantAndEquipmentByTypeAxis' xlink:to='us-gaap_SoftwareAndSoftwareDevelopmentCostsMember' use='optional' order='5.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherCapitalizedPropertyPlantAndEquipmentMember' xlink:label='us-gaap_OtherCapitalizedPropertyPlantAndEquipmentMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_PropertyPlantAndEquipmentByTypeAxis' xlink:to='us-gaap_OtherCapitalizedPropertyPlantAndEquipmentMember' use='optional' order='6.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis' xlink:label='srt_RangeAxis'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='srt_RangeAxis' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember' xlink:label='srt_RangeMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_RangeAxis' xlink:to='srt_RangeMember' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember' xlink:label='srt_MinimumMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_RangeAxis' xlink:to='srt_MinimumMember' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember' xlink:label='srt_MaximumMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_RangeAxis' xlink:to='srt_MaximumMember' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems' xlink:label='us-gaap_StatementLineItems'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='us-gaap_StatementLineItems' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife' xlink:label='us-gaap_PropertyPlantAndEquipmentUsefulLife'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_PropertyPlantAndEquipmentUsefulLife' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_DisclosureUncertainTaxPositionsAndUnrecognizedTaxBenefitsDetails" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_DisclosureUncertainTaxPositionsAndUnrecognizedTaxBenefitsDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_DisclosureUncertainTaxPositionsAndUnrecognizedTaxBenefitsDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilityForUncertainTaxPositionsCurrent' xlink:label='us-gaap_LiabilityForUncertainTaxPositionsCurrent'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_LiabilityForUncertainTaxPositionsCurrent' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense' xlink:label='us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense' use='optional' order='2.0' preferredLabel='http://www.xbrl.org/2003/role/terseLabel'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_DisclosureWeightedAvgNumberOfSharesOutstandingDetails" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_DisclosureWeightedAvgNumberOfSharesOutstandingDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_DisclosureWeightedAvgNumberOfSharesOutstandingDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic' xlink:label='us-gaap_WeightedAverageNumberOfSharesOutstandingBasic'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_WeightedAverageNumberOfSharesOutstandingBasic' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_Disclosure2BalanceSheetDetailsInventoryDetails" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_Disclosure2BalanceSheetDetailsInventoryDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_Disclosure2BalanceSheetDetailsInventoryDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryRawMaterials' xlink:label='us-gaap_InventoryRawMaterials'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_InventoryRawMaterials' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryWorkInProcess' xlink:label='us-gaap_InventoryWorkInProcess'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_InventoryWorkInProcess' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryFinishedGoods' xlink:label='us-gaap_InventoryFinishedGoods'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_InventoryFinishedGoods' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryValuationReserves' xlink:label='us-gaap_InventoryValuationReserves'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_InventoryValuationReserves' use='optional' order='4.0' preferredLabel='http://www.xbrl.org/2009/role/negatedLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryNet' xlink:label='us-gaap_InventoryNet'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_InventoryNet' use='optional' order='5.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_Disclosure2BalanceSheetDetailsPropertyPlantAndEquipmentDetails" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_Disclosure2BalanceSheetDetailsPropertyPlantAndEquipmentDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_Disclosure2BalanceSheetDetailsPropertyPlantAndEquipmentDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LandAndLandImprovements' xlink:label='us-gaap_LandAndLandImprovements'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_LandAndLandImprovements' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BuildingsAndImprovementsGross' xlink:label='us-gaap_BuildingsAndImprovementsGross'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_BuildingsAndImprovementsGross' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MachineryAndEquipmentGross' xlink:label='us-gaap_MachineryAndEquipmentGross'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_MachineryAndEquipmentGross' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentOther' xlink:label='us-gaap_PropertyPlantAndEquipmentOther'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_PropertyPlantAndEquipmentOther' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment' xlink:label='us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment' use='optional' order='5.0' preferredLabel='http://www.xbrl.org/2009/role/negatedLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentOtherNet' xlink:label='us-gaap_PropertyPlantAndEquipmentOtherNet'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_PropertyPlantAndEquipmentOtherNet' use='optional' order='6.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_Disclosure2BalanceSheetDetailsOtherAccruedExpensesDetails" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_Disclosure2BalanceSheetDetailsOtherAccruedExpensesDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_Disclosure2BalanceSheetDetailsOtherAccruedExpensesDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherEmployeeRelatedLiabilitiesCurrent' xlink:label='us-gaap_OtherEmployeeRelatedLiabilitiesCurrent'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_OtherEmployeeRelatedLiabilitiesCurrent' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccrualForTaxesOtherThanIncomeTaxesCurrent' xlink:label='us-gaap_AccrualForTaxesOtherThanIncomeTaxesCurrent'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_AccrualForTaxesOtherThanIncomeTaxesCurrent' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAccruedLiabilitiesCurrent' xlink:label='us-gaap_OtherAccruedLiabilitiesCurrent'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_OtherAccruedLiabilitiesCurrent' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesCurrent' xlink:label='us-gaap_AccruedLiabilitiesCurrent'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_AccruedLiabilitiesCurrent' use='optional' order='4.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_DisclosureScheduleOfValuationAndQualifyingAccountsDetails" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_DisclosureScheduleOfValuationAndQualifyingAccountsDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_DisclosureScheduleOfValuationAndQualifyingAccountsDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_StatementTable' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesTypeAxis' xlink:label='us-gaap_ValuationAllowancesAndReservesTypeAxis'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='us-gaap_ValuationAllowancesAndReservesTypeAxis' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesDomain' xlink:label='us-gaap_ValuationAllowancesAndReservesDomain'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_ValuationAllowancesAndReservesTypeAxis' xlink:to='us-gaap_ValuationAllowancesAndReservesDomain' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllowanceForCreditLossMember' xlink:label='us-gaap_AllowanceForCreditLossMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_ValuationAllowancesAndReservesTypeAxis' xlink:to='us-gaap_AllowanceForCreditLossMember' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryValuationReserveMember' xlink:label='us-gaap_InventoryValuationReserveMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_ValuationAllowancesAndReservesTypeAxis' xlink:to='us-gaap_InventoryValuationReserveMember' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems' xlink:label='us-gaap_StatementLineItems'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='us-gaap_StatementLineItems' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesBalance' xlink:label='us-gaap_ValuationAllowancesAndReservesBalance'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_ValuationAllowancesAndReservesBalance' use='optional' order='1.0' preferredLabel='http://www.xbrl.org/2003/role/periodStartLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense' xlink:label='us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesDeductions' xlink:label='us-gaap_ValuationAllowancesAndReservesDeductions'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_ValuationAllowancesAndReservesDeductions' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesBalance' xlink:label='us-gaap_ValuationAllowancesAndReservesBalance_1'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_ValuationAllowancesAndReservesBalance_1' use='optional' order='4.0' preferredLabel='http://www.xbrl.org/2003/role/periodEndLabel'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_Disclosure3IncomeTaxesProvisionForIncomeTaxExpenseDetails" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_Disclosure3IncomeTaxesProvisionForIncomeTaxExpenseDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_Disclosure3IncomeTaxesProvisionForIncomeTaxExpenseDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FederalIncomeTaxExpenseBenefitContinuingOperations' xlink:label='us-gaap_FederalIncomeTaxExpenseBenefitContinuingOperations'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_FederalIncomeTaxExpenseBenefitContinuingOperations' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentStateAndLocalTaxExpenseBenefit' xlink:label='us-gaap_CurrentStateAndLocalTaxExpenseBenefit'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_CurrentStateAndLocalTaxExpenseBenefit' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit' xlink:label='us-gaap_DeferredIncomeTaxExpenseBenefit'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_DeferredIncomeTaxExpenseBenefit' use='optional' order='3.0' preferredLabel='http://www.xbrl.org/2003/role/verboseLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit' xlink:label='us-gaap_IncomeTaxExpenseBenefit'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_IncomeTaxExpenseBenefit' use='optional' order='4.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_Disclosure3IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_Disclosure3IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_Disclosure3IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate' xlink:label='us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate' xlink:label='us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxReconciliationOtherAdjustments' xlink:label='us-gaap_IncomeTaxReconciliationOtherAdjustments'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_IncomeTaxReconciliationOtherAdjustments' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments' xlink:label='us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes' xlink:label='us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes' use='optional' order='5.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes' xlink:label='us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes' use='optional' order='6.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit' xlink:label='us-gaap_IncomeTaxExpenseBenefit'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_IncomeTaxExpenseBenefit' use='optional' order='7.0' preferredLabel='http://www.xbrl.org/2003/role/verboseLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations' xlink:label='us-gaap_EffectiveIncomeTaxRateContinuingOperations'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_EffectiveIncomeTaxRateContinuingOperations' use='optional' order='8.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_Disclosure3IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_Disclosure3IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_Disclosure3IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment' xlink:label='us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment' use='optional' order='1.0' preferredLabel='http://www.xbrl.org/2009/role/negatedLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsInventory' xlink:label='us-gaap_DeferredTaxAssetsInventory'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_DeferredTaxAssetsInventory' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsCompensatedAbsences' xlink:label='us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsCompensatedAbsences'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsCompensatedAbsences' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts' xlink:label='us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwards' xlink:label='us-gaap_DeferredTaxAssetsOperatingLossCarryforwards'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_DeferredTaxAssetsOperatingLossCarryforwards' use='optional' order='5.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsOther' xlink:label='us-gaap_DeferredTaxAssetsOther'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_DeferredTaxAssetsOther' use='optional' order='6.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsNet' xlink:label='us-gaap_DeferredTaxAssetsNet'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_DeferredTaxAssetsNet' use='optional' order='7.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilities' xlink:label='us-gaap_DeferredTaxLiabilities'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_DeferredTaxLiabilities' use='optional' order='8.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_Disclosure3IncomeTaxesDetails" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_Disclosure3IncomeTaxesDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_Disclosure3IncomeTaxesDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLossCarryforwards' xlink:label='us-gaap_OperatingLossCarryforwards'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_OperatingLossCarryforwards' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_DisclosureProfitSharingPlanDetails" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_DisclosureProfitSharingPlanDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_DisclosureProfitSharingPlanDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount' xlink:label='us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_Disclosure5OtherIncomeOtherIncomeDetails" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_Disclosure5OtherIncomeOtherIncomeDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_Disclosure5OtherIncomeOtherIncomeDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InvestmentIncomeInterest' xlink:label='us-gaap_InvestmentIncomeInterest'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_InvestmentIncomeInterest' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNonoperatingIncome' xlink:label='us-gaap_OtherNonoperatingIncome'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_OtherNonoperatingIncome' use='optional' order='2.0' preferredLabel='http://www.xbrl.org/2003/role/verboseLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNonoperatingIncomeExpense' xlink:label='us-gaap_OtherNonoperatingIncomeExpense'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_OtherNonoperatingIncomeExpense' use='optional' order='3.0' preferredLabel='http://www.xbrl.org/2003/role/terseLabel'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationDetails" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_StatementTable' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementBusinessSegmentsAxis' xlink:label='us-gaap_StatementBusinessSegmentsAxis'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='us-gaap_StatementBusinessSegmentsAxis' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentDomain' xlink:label='us-gaap_SegmentDomain'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementBusinessSegmentsAxis' xlink:to='us-gaap_SegmentDomain' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20231231.xsd#fil_FastenerMember' xlink:label='fil_FastenerMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementBusinessSegmentsAxis' xlink:to='fil_FastenerMember' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20231231.xsd#fil_AssemblyEquipmentMember' xlink:label='fil_AssemblyEquipmentMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementBusinessSegmentsAxis' xlink:to='fil_AssemblyEquipmentMember' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CorporateMember' xlink:label='us-gaap_CorporateMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementBusinessSegmentsAxis' xlink:to='us-gaap_CorporateMember' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems' xlink:label='us-gaap_StatementLineItems'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='us-gaap_StatementLineItems' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Revenues' xlink:label='us-gaap_Revenues'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_Revenues' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Depreciation' xlink:label='us-gaap_Depreciation'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_Depreciation' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20231231.xsd#fil_SegmentOperatingProfit' xlink:label='fil_SegmentOperatingProfit'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='fil_SegmentOperatingProfit' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20231231.xsd#fil_SellingAndAdministrativeExpensesUnallocatedCorporate' xlink:label='fil_SellingAndAdministrativeExpensesUnallocatedCorporate'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='fil_SellingAndAdministrativeExpensesUnallocatedCorporate' use='optional' order='4.0' preferredLabel='http://www.xbrl.org/2003/role/terseLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestAndOtherIncome' xlink:label='us-gaap_InterestAndOtherIncome'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_InterestAndOtherIncome' use='optional' order='5.0' preferredLabel='http://www.xbrl.org/2003/role/terseLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment' xlink:label='us-gaap_PaymentsToAcquirePropertyPlantAndEquipment'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_PaymentsToAcquirePropertyPlantAndEquipment' use='optional' order='6.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableNetCurrent' xlink:label='us-gaap_AccountsReceivableNetCurrent'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_AccountsReceivableNetCurrent' use='optional' order='7.0' preferredLabel='http://www.xbrl.org/2003/role/verboseLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerAssetNetCurrent' xlink:label='us-gaap_ContractWithCustomerAssetNetCurrent'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_ContractWithCustomerAssetNetCurrent' use='optional' order='8.0' preferredLabel='http://www.xbrl.org/2003/role/verboseLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryNet' xlink:label='us-gaap_InventoryNet'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_InventoryNet' use='optional' order='9.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet' xlink:label='us-gaap_PropertyPlantAndEquipmentNet'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_PropertyPlantAndEquipmentNet' use='optional' order='10.0' preferredLabel='http://www.xbrl.org/2003/role/verboseLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssets' xlink:label='us-gaap_OtherAssets'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_OtherAssets' use='optional' order='11.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment' xlink:label='us-gaap_GainLossOnSaleOfPropertyPlantEquipment'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_GainLossOnSaleOfPropertyPlantEquipment' use='optional' order='12.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_Disclosure6SegmentInformationDetails" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_Disclosure6SegmentInformationDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_Disclosure6SegmentInformationDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_StatementTable' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementBusinessSegmentsAxis' xlink:label='us-gaap_StatementBusinessSegmentsAxis'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='us-gaap_StatementBusinessSegmentsAxis' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentDomain' xlink:label='us-gaap_SegmentDomain'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementBusinessSegmentsAxis' xlink:to='us-gaap_SegmentDomain' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20231231.xsd#fil_FastenerMember' xlink:label='fil_FastenerMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementBusinessSegmentsAxis' xlink:to='fil_FastenerMember' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20231231.xsd#fil_AssemblyEquipmentMember' xlink:label='fil_AssemblyEquipmentMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementBusinessSegmentsAxis' xlink:to='fil_AssemblyEquipmentMember' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductOrServiceAxis' xlink:label='srt_ProductOrServiceAxis'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='srt_ProductOrServiceAxis' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductsAndServicesDomain' xlink:label='srt_ProductsAndServicesDomain'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_ProductOrServiceAxis' xlink:to='srt_ProductsAndServicesDomain' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20231231.xsd#fil_AutomotiveMember' xlink:label='fil_AutomotiveMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_ProductOrServiceAxis' xlink:to='fil_AutomotiveMember' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20231231.xsd#fil_NonautomotiveMember' xlink:label='fil_NonautomotiveMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_ProductOrServiceAxis' xlink:to='fil_NonautomotiveMember' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementGeographicalAxis' xlink:label='srt_StatementGeographicalAxis'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='srt_StatementGeographicalAxis' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain' xlink:label='srt_SegmentGeographicalDomain'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_StatementGeographicalAxis' xlink:to='srt_SegmentGeographicalDomain' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/country/2023/country-2023.xsd#country_US' xlink:label='country_US'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_StatementGeographicalAxis' xlink:to='country_US' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NonUsMember' xlink:label='us-gaap_NonUsMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_StatementGeographicalAxis' xlink:to='us-gaap_NonUsMember' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems' xlink:label='us-gaap_StatementLineItems'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='us-gaap_StatementLineItems' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax' xlink:label='us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_DisclosureSummaryOfOfRevenuesAndARFromMajorCustomersDetails" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_DisclosureSummaryOfOfRevenuesAndARFromMajorCustomersDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_DisclosureSummaryOfOfRevenuesAndARFromMajorCustomersDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_StatementTable' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MajorCustomersAxis' xlink:label='srt_MajorCustomersAxis'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='srt_MajorCustomersAxis' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_NameOfMajorCustomerDomain' xlink:label='srt_NameOfMajorCustomerDomain'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_MajorCustomersAxis' xlink:to='srt_NameOfMajorCustomerDomain' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20231231.xsd#fil_TIGroupAutomotiveSystemsMember' xlink:label='fil_TIGroupAutomotiveSystemsMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_MajorCustomersAxis' xlink:to='fil_TIGroupAutomotiveSystemsMember' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20231231.xsd#fil_CooperStandardHoldingsIncMember' xlink:label='fil_CooperStandardHoldingsIncMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_MajorCustomersAxis' xlink:to='fil_CooperStandardHoldingsIncMember' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='cvr-20231231.xsd#fil_MartinreaInternationalIncMember' xlink:label='fil_MartinreaInternationalIncMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_MajorCustomersAxis' xlink:to='fil_MartinreaInternationalIncMember' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems' xlink:label='us-gaap_StatementLineItems'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='us-gaap_StatementLineItems' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskPercentage1' xlink:label='us-gaap_ConcentrationRiskPercentage1'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_ConcentrationRiskPercentage1' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalInformationAboutEntitysReportableSegments' xlink:label='us-gaap_AdditionalInformationAboutEntitysReportableSegments'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_AdditionalInformationAboutEntitysReportableSegments' use='optional' order='2.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_Disclosure7AdditionalFinancialInformationDisclosureDetails" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_Disclosure7AdditionalFinancialInformationDisclosureDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_Disclosure7AdditionalFinancialInformationDisclosureDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SaleLeasebackTransactionMonthlyRentalPayments' xlink:label='us-gaap_SaleLeasebackTransactionMonthlyRentalPayments'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_SaleLeasebackTransactionMonthlyRentalPayments' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_DisclosureCommitmentsAndContingenciesDetails" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_DisclosureCommitmentsAndContingenciesDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_DisclosureCommitmentsAndContingenciesDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeasesRentExpenseNet' xlink:label='us-gaap_OperatingLeasesRentExpenseNet'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_OperatingLeasesRentExpenseNet' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsDueFutureMinimumSubleaseRentals' xlink:label='us-gaap_OperatingLeasesFutureMinimumPaymentsDueFutureMinimumSubleaseRentals'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_OperatingLeasesFutureMinimumPaymentsDueFutureMinimumSubleaseRentals' use='optional' order='2.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_DisclosureSubsequentEventsDetails" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_DisclosureSubsequentEventsDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_DisclosureSubsequentEventsDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DividendsPayableDateDeclaredDayMonthAndYear' xlink:label='us-gaap_DividendsPayableDateDeclaredDayMonthAndYear'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_DividendsPayableDateDeclaredDayMonthAndYear' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DividendsPayableAmountPerShare' xlink:label='us-gaap_DividendsPayableAmountPerShare'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_DividendsPayableAmountPerShare' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DividendsPayableCurrent' xlink:label='us-gaap_DividendsPayableCurrent'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_DividendsPayableCurrent' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DividendPayableDateToBePaidDayMonthAndYear' xlink:label='us-gaap_DividendPayableDateToBePaidDayMonthAndYear'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_DividendPayableDateToBePaidDayMonthAndYear' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DividendsPayableDateOfRecordDayMonthAndYear' xlink:label='us-gaap_DividendsPayableDateOfRecordDayMonthAndYear'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_DividendsPayableDateOfRecordDayMonthAndYear' use='optional' order='5.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.chicagorivet.com/20231231/role/idr_Disclosure10SubsequentEventsDetails" xlink:type="simple" xlink:href="cvr-20231231.xsd#idr_Disclosure10SubsequentEventsDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.chicagorivet.com/20231231/role/idr_Disclosure10SubsequentEventsDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SaleLeasebackTransactionMonthlyRentalPayments' xlink:label='us-gaap_SaleLeasebackTransactionMonthlyRentalPayments'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_SaleLeasebackTransactionMonthlyRentalPayments' use='optional' order='1.0'/>
	</link:presentationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>GRAPHIC
<SEQUENCE>13
<FILENAME>g45311cvr10k2023_1.jpg
<DESCRIPTION>GRAPHIC
<TEXT>
begin 644 g45311cvr10k2023_1.jpg
M_]C_X  02D9)1@ ! 0$ W #<  #_VP!#  (! 0$! 0(! 0$" @(" @0# @("
M @4$! ,$!@4&!@8%!@8&!PD(!@<)!P8&" L("0H*"@H*!@@+# L*# D*"@K_
MVP!# 0(" @(" @4# P4*!P8'"@H*"@H*"@H*"@H*"@H*"@H*"@H*"@H*"@H*
M"@H*"@H*"@H*"@H*"@H*"@H*"@H*"@K_P  1" "B +,# 2(  A$! Q$!_\0
M'P   04! 0$! 0$           $" P0%!@<("0H+_\0 M1   @$# P($ P4%
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
MU",M/-7/-_\ A3_B#_G_ +7]:/\ A3_B#_G_ +7]:](HKQ/^)3/!?_H%J?\
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
M^)7Q,\6Z?H/A_0_"OA6]UG6M6NE@MK*WC\2:PSRRR,0J(H&2Q. *_3SXF?\
M!=K_ ()!?"_P/?>.=;_;_P#AOJEM9",2:?X7U^/5[Z<R2+&JQ6EGYDTIW.,[
M4.U=S-A58CQ>*."^%^-,/3H9WA(5XP?-%25[.UM/D94<16P\FZ<FKF/^S?\
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
MK#!%]ED4A&;6/+=E<[([WP\_9#^&'Q1_X.M?CI^SK^UOXK\9>#S\0-,U;4_
M/_"$^+;K3+O59V%G?PH;FP8E(FL8+V8QRLB[H5!_>;%/ZR?\$X/^"&_[!_\
MP2S^)OB?XP?LP:'XF;7_ !3I*Z7<WGB37OM?V.R\X3O! JH@57D2$L7#M^X3
M!7YMW<?MT_\ !+3]D#_@H7<:#XF^.O@[4K'QCX3EBD\'_$7P?K$FEZ_H31W,
M=RIMKJ+IB2/*[U?RS)(T>QV+4 ?FS_P5;_8'_P""&?[&&K?#OX=?M@+^TI\4
M/$'CG59+;P3X+\._$J[\0:H9F:.,-'9W-VD@\V1TB0QJQ=QL'( K!_X-\/\
ME8=_;Z_['#Q5_P"I;-7WK\!O^"!'[!?P9_:-LOVM/&=S\0OBU\0-(:W?0?$7
MQD\<3Z_-I<L!8Q2P^8JY9"V4\S>(V560*RAJL:K_ ,$(OV*X/VO=3_;7^%/B
MSXI?#?QEX@UO^U_%D?P\^(EUIUEX@O&OFOIFO(L.9DFF8F2'<(B  $6@#[1H
MHHH **** "F_\M*** '4444 %%%% !5*R\.>'M.N?M>GZ#9P3#I+#:HK#(YY
J HHH NT444 %%%% #'^]3Z** &QTX]*** &IUIU%% !1110 4444 ?_9

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>15
<FILENAME>R1.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140570001772128">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Document and Entity Information - USD ($)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Mar. 18, 2024</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TextBlockAbstract', window );"><strong>Details</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCentralIndexKey', window );">Registrant CIK</a></td>
<td class="text">0000019871<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CurrentFiscalYearEndDate', window );">Fiscal Year End</a></td>
<td class="text">--12-31<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentType', window );">Document Type</a></td>
<td class="text">10-K<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentAnnualReport', window );">Document Annual Report</a></td>
<td class="text">true<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentPeriodEndDate', window );">Document Period End Date</a></td>
<td class="text">Dec. 31,  2023<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentTransitionReport', window );">Document Transition Report</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityFileNumber', window );">Entity File Number</a></td>
<td class="text">000-01227<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityRegistrantName', window );">Entity Registrant Name</a></td>
<td class="text">CHICAGO RIVET & MACHINE CO<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityIncorporationStateCountryCode', window );">Entity Incorporation, State or Country Code</a></td>
<td class="text">IL<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityTaxIdentificationNumber', window );">Entity Tax Identification Number</a></td>
<td class="text">36-0904920<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressAddressLine1', window );">Entity Address, Address Line One</a></td>
<td class="text">901 Frontenac Road<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressCityOrTown', window );">Entity Address, City or Town</a></td>
<td class="text">Naperville<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressStateOrProvince', window );">Entity Address, State or Province</a></td>
<td class="text">IL<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressPostalZipCode', window );">Entity Address, Postal Zip Code</a></td>
<td class="text">60563<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CityAreaCode', window );">City Area Code</a></td>
<td class="text">630<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_LocalPhoneNumber', window );">Local Phone Number</a></td>
<td class="text">357-8500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_Security12bTitle', window );">Title of 12(b) Security</a></td>
<td class="text">Common Stock, par value $1.00 per share<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_TradingSymbol', window );">Trading Symbol</a></td>
<td class="text">CVR<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_SecurityExchangeName', window );">Security Exchange Name</a></td>
<td class="text">NYSEAMER<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityWellKnownSeasonedIssuer', window );">Entity Well-known Seasoned Issuer</a></td>
<td class="text">No<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityVoluntaryFilers', window );">Entity Voluntary Filers</a></td>
<td class="text">No<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCurrentReportingStatus', window );">Entity Current Reporting Status</a></td>
<td class="text">Yes<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityInteractiveDataCurrent', window );">Entity Interactive Data Current</a></td>
<td class="text">Yes<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityFilerCategory', window );">Entity Filer Category</a></td>
<td class="text">Non-accelerated Filer<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntitySmallBusiness', window );">Entity Small Business</a></td>
<td class="text">true<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityEmergingGrowthCompany', window );">Entity Emerging Growth Company</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_IcfrAuditorAttestationFlag', window );">ICFR Auditor Attestation Flag</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentFinStmtErrorCorrectionFlag', window );">Document Financial Statement Error Correction</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityShellCompany', window );">Entity Shell Company</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityPublicFloat', window );">Entity Public Float</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 24,848,915<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCommonStockSharesOutstanding', window );">Entity Common Stock, Shares Outstanding</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">966,132<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_AmendmentFlag', window );">Amendment Flag</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentFiscalYearFocus', window );">Document Fiscal Year Focus</a></td>
<td class="text">2023<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentFiscalPeriodFocus', window );">Document Fiscal Period Focus</a></td>
<td class="text">FY<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_AuditorFirmId', window );">Auditor Firm ID</a></td>
<td class="text">173<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_AuditorName', window );">Auditor Name</a></td>
<td class="text">Crowe LLP<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_AuditorLocation', window );">Auditor Location</a></td>
<td class="text">Oak Brook, Illinois<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AmendmentFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AmendmentFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AuditorFirmId">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>PCAOB issued Audit Firm Identifier</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AuditorFirmId</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:nonemptySequenceNumberItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AuditorLocation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AuditorLocation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:internationalNameItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AuditorName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AuditorName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:internationalNameItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CityAreaCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Area code of city</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CityAreaCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CurrentFiscalYearEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>End date of current fiscal year in the format --MM-DD.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CurrentFiscalYearEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gMonthDayItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentAnnualReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true only for a form used as an annual report.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentAnnualReport</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFinStmtErrorCorrectionFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicates whether any of the financial statement period in the filing include a restatement due to error correction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 402<br> -Subsection w<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFinStmtErrorCorrectionFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFiscalPeriodFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFiscalPeriodFocus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fiscalPeriodItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFiscalYearFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFiscalYearFocus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gYearItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentPeriodEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period.  The format of the date is YYYY-MM-DD.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentPeriodEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:dateItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentTransitionReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true only for a form used as a transition report.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Forms 10-K, 10-Q, 20-F<br> -Number 240<br> -Section 13<br> -Subsection a-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentTransitionReport</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentType">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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'.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentType</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:submissionTypeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressAddressLine1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Address Line 1 such as Attn, Building Name, Street Name</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressAddressLine1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressCityOrTown">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the City or Town</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressCityOrTown</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressPostalZipCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Code for the postal or zip code</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressPostalZipCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressStateOrProvince">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the state or province.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressStateOrProvince</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:stateOrProvinceItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCentralIndexKey">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCentralIndexKey</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:centralIndexKeyItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCurrentReportingStatus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCurrentReportingStatus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityEmergingGrowthCompany">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate if registrant meets the emerging growth company criteria.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityEmergingGrowthCompany</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityFileNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityFileNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fileNumberItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityFilerCategory">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityFilerCategory</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:filerCategoryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityIncorporationStateCountryCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Two-character EDGAR code representing the state or country of incorporation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityIncorporationStateCountryCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarStateCountryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityInteractiveDataCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-T<br> -Number 232<br> -Section 405<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityInteractiveDataCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityPublicFloat">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityPublicFloat</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityRegistrantName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityRegistrantName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityShellCompany">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityShellCompany</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntitySmallBusiness">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicates that the company is a Smaller Reporting Company (SRC).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntitySmallBusiness</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityTaxIdentificationNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityTaxIdentificationNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:employerIdItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityVoluntaryFilers">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate 'Yes' or 'No' if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityVoluntaryFilers</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityWellKnownSeasonedIssuer">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br> -Section 405<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityWellKnownSeasonedIssuer</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_IcfrAuditorAttestationFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_IcfrAuditorAttestationFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LocalPhoneNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Local phone number for entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LocalPhoneNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_Security12bTitle">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Title of a 12(b) registered security.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_Security12bTitle</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:securityTitleItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_SecurityExchangeName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the Exchange on which a security is registered.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection d1-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_SecurityExchangeName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarExchangeCodeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_TradingSymbol">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Trading symbol of an instrument as listed on an exchange.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_TradingSymbol</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:tradingSymbolItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>16
<FILENAME>R2.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140569996767376">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Consolidated Balance Sheets - USD ($)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsCurrentAbstract', window );"><strong>Current Assets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash and Cash Equivalents</a></td>
<td class="nump">$ 1,387,075<span></span>
</td>
<td class="nump">$ 4,045,101<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermInvestments', window );">Short-Term Investments</a></td>
<td class="nump">1,771,120<span></span>
</td>
<td class="nump">2,691,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableNetCurrent', window );">Accounts Receivable - Less allowances of $160,000</a></td>
<td class="nump">4,275,882<span></span>
</td>
<td class="nump">4,975,137<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerAssetNetCurrent', window );">Contract Assets</a></td>
<td class="nump">118,301<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">Inventories, net</a></td>
<td class="nump">7,327,653<span></span>
</td>
<td class="nump">9,121,230<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PrepaidTaxes', window );">Prepaid Income Taxes</a></td>
<td class="nump">580,287<span></span>
</td>
<td class="nump">509,119<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherAssetsCurrent', window );">Other Current Assets</a></td>
<td class="nump">380,562<span></span>
</td>
<td class="nump">422,747<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsCurrent', window );">Total Current Assets</a></td>
<td class="nump">15,840,880<span></span>
</td>
<td class="nump">21,764,334<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property, Plant and Equipment, net</a></td>
<td class="nump">11,665,082<span></span>
</td>
<td class="nump">11,861,793<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxAssetsNet', window );">Deferred Income Taxes, net</a></td>
<td class="nump">324,943<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Assets', window );">Total Assets</a></td>
<td class="nump">27,830,905<span></span>
</td>
<td class="nump">33,626,127<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrentAbstract', window );"><strong>Current Liabilities</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsPayableCurrent', window );">Accounts Payable</a></td>
<td class="nump">788,974<span></span>
</td>
<td class="nump">697,235<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeRelatedLiabilitiesCurrent', window );">Accrued Wages and Salaries</a></td>
<td class="nump">514,900<span></span>
</td>
<td class="nump">462,332<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccruedLiabilitiesCurrent', window );">Other Accrued Expenses</a></td>
<td class="nump">129,963<span></span>
</td>
<td class="nump">327,961<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CustomerAdvancesAndDepositsCurrent', window );">Unearned Revenue and Customer Deposits</a></td>
<td class="nump">430,179<span></span>
</td>
<td class="nump">203,717<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrent', window );">Total Current Liabilities</a></td>
<td class="nump">1,864,016<span></span>
</td>
<td class="nump">1,691,245<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxLiabilitiesNet', window );">Deferred Income Taxes, net</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">948,084<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Liabilities', window );">Total Liabilities</a></td>
<td class="nump">1,864,016<span></span>
</td>
<td class="nump">2,639,329<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityAbstract', window );"><strong>Shareholders' Equity</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockValue', window );">Preferred Stock, No Par Value, 500,000 Shares Authorized: None Outstanding</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockValueOutstanding', window );">Common Stock, $1.00 Par Value, 4,000,000 Shares Authorized: 1,138,096 Shares Issued, 966,132 Shares Outstanding</a></td>
<td class="nump">1,138,096<span></span>
</td>
<td class="nump">1,138,096<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdditionalPaidInCapital', window );">Additional Paid-in Capital</a></td>
<td class="nump">447,134<span></span>
</td>
<td class="nump">447,134<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RetainedEarningsAccumulatedDeficit', window );">Retained Earnings</a></td>
<td class="nump">28,303,757<span></span>
</td>
<td class="nump">33,323,666<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TreasuryStockValue', window );">Treasury Stock, 171,964 Shares at cost</a></td>
<td class="num">(3,922,098)<span></span>
</td>
<td class="num">(3,922,098)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Total Shareholders' Equity</a></td>
<td class="nump">25,966,889<span></span>
</td>
<td class="nump">30,986,798<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesAndStockholdersEquity', window );">Total Liabilities and Shareholders' Equity</a></td>
<td class="nump">$ 27,830,905<span></span>
</td>
<td class="nump">$ 33,626,127<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481990/310-10-45-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481990/310-10-45-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdditionalPaidInCapital">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of excess of issue price over par or stated value of stock and from other transaction involving stock or stockholder. Includes, but is not limited to, additional paid-in capital (APIC) for common and preferred stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdditionalPaidInCapital</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Assets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(12))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 23: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 26: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Assets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockValueOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Value of all classes of common stock held by shareholders. May be all or portion of the number of common shares authorized. These shares exclude common shares repurchased by the entity and held as treasury shares.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockValueOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerAssetNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479837/606-10-45-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479837/606-10-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerAssetNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CustomerAdvancesAndDepositsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The current portion of aggregate prepayments received from customers for goods or services to be provided in the future, as well as the current portion of money or property received from customers that are to be returned upon satisfactory contract completion or as partial prepayment for goods or services to be provided in the future.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CustomerAdvancesAndDepositsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482525/740-10-45-4<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482525/740-10-45-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxLiabilitiesNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(15)(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482525/740-10-45-4<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482525/740-10-45-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxLiabilitiesNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeRelatedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total of the carrying values as of the balance sheet date of obligations incurred through that date and payable for obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeRelatedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Liabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(14))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 21: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 22: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19-26)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Liabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesAndStockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(32))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesAndStockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-5<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 21: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.21)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherAssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate par or stated value of issued nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred shares, par value and other disclosure concepts are in another section within stockholders' equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(21))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PrepaidTaxes">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (g)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 340<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483032/340-10-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 340<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 05<br> -Paragraph 5<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482955/340-10-05-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PrepaidTaxes</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 360<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480842/942-360-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RetainedEarningsAccumulatedDeficit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated undistributed earnings (deficit).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480990/946-20-50-11<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RetainedEarningsAccumulatedDeficit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShortTermInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of investments including trading securities, available-for-sale securities, held-to-maturity securities, and short-term investments classified as other and current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShortTermInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-2<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 11: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 12: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 13: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 14: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480418/310-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TreasuryStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481520/505-30-50-4<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481549/505-30-45-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.29,30)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>17
<FILENAME>R3.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140569996714368">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Consolidated Balance Sheets - Parenthetical - $ / shares<br></strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementOfFinancialPositionAbstract', window );"><strong>Consolidated Balance Sheets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockParOrStatedValuePerShare', window );">Preferred Stock, Par or Stated Value Per Share</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesAuthorized', window );">Preferred Stock, Shares Authorized</a></td>
<td class="nump">500,000<span></span>
</td>
<td class="nump">500,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesOutstanding', window );">Preferred Stock, Shares Outstanding</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockParOrStatedValuePerShare', window );">Common Stock, Par or Stated Value Per Share</a></td>
<td class="nump">$ 1<span></span>
</td>
<td class="nump">$ 1<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesAuthorized', window );">Common Stock, Shares Authorized</a></td>
<td class="nump">4,000,000<span></span>
</td>
<td class="nump">4,000,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesIssued', window );">Common Stock, Shares, Issued</a></td>
<td class="nump">1,138,096<span></span>
</td>
<td class="nump">1,138,096<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesOutstanding', window );">Common Stock, Shares, Outstanding</a></td>
<td class="nump">966,132<span></span>
</td>
<td class="nump">966,132<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Face amount or stated value per share of common stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The maximum number of common shares permitted to be issued by an entity's charter and bylaws.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-2<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-13<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-2<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementOfFinancialPositionAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementOfFinancialPositionAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>18
<FILENAME>R4.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140569996744272">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Consolidated Statements of Operations - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeStatementAbstract', window );"><strong>Consolidated Statements of Operations</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Revenues', window );">Net Sales</a></td>
<td class="nump">$ 31,507,722<span></span>
</td>
<td class="nump">$ 33,646,033<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CostOfRevenue', window );">Cost of Goods Sold</a></td>
<td class="nump">32,107,312<span></span>
</td>
<td class="nump">29,830,710<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GrossProfit', window );">Gross Profit (Loss)</a></td>
<td class="num">(599,590)<span></span>
</td>
<td class="nump">3,815,323<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingExpensesAbstract', window );"><strong>Operating (Income) Expenses</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SellingGeneralAndAdministrativeExpense', window );">Selling and Administrative Expenses</a></td>
<td class="nump">5,237,656<span></span>
</td>
<td class="nump">4,992,521<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainLossOnSaleOfPropertyPlantEquipment', window );">Gain on Sale of Property</a></td>
<td class="nump">0<span></span>
</td>
<td class="num">(4,738,394)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingExpenses', window );">Total Operating Expenses</a></td>
<td class="nump">5,237,656<span></span>
</td>
<td class="nump">254,127<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Operating Profit (Loss)</a></td>
<td class="num">(5,837,246)<span></span>
</td>
<td class="nump">3,561,196<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherNonoperatingIncomeExpense', window );">Other Income</a></td>
<td class="nump">108,234<span></span>
</td>
<td class="nump">91,433<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic', window );">Income (Loss) Before Income Taxes</a></td>
<td class="num">(5,729,012)<span></span>
</td>
<td class="nump">3,652,629<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Provision (Benefit) for Income Taxes</a></td>
<td class="num">(1,327,428)<span></span>
</td>
<td class="nump">785,000<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net Income (Loss)</a></td>
<td class="num">$ (4,401,584)<span></span>
</td>
<td class="nump">$ 2,867,629<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>Per Share Data</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsPerBasicShare', window );">Basic net income (loss) per share</a></td>
<td class="num">$ (4.56)<span></span>
</td>
<td class="nump">$ 2.97<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare', window );">Diluted net income (loss) per share</a></td>
<td class="num">$ (4.56)<span></span>
</td>
<td class="nump">$ 2.97<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Basic</a></td>
<td class="nump">966,132<span></span>
</td>
<td class="nump">966,132<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Diluted</a></td>
<td class="nump">966,132<span></span>
</td>
<td class="nump">966,132<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockDividendsPerShareDeclared', window );">Cash Dividends Declared Per Share</a></td>
<td class="nump">$ 0.64<span></span>
</td>
<td class="nump">$ 0.88<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockDividendsPerShareDeclared">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate dividends declared during the period for each share of common stock outstanding.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockDividendsPerShareDeclared</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CostOfRevenue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate cost of goods produced and sold and services rendered during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 14: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CostOfRevenue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GainLossOnSaleOfPropertyPlantEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of gain (loss) on sale or disposal of property, plant and equipment assets, including oil and gas property and timber property.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainLossOnSaleOfPropertyPlantEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GrossProfit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 17: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 19: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.1,2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GrossProfit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of earnings or loss from continuing operations before income taxes that is attributable to domestic operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsPerBasicShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) from continuing operations per each share of common stock or unit outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-2<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-7<br><br>Reference 13: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-03(13))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-1<br><br>Reference 14: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 15: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsPerBasicShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) derived from continuing operations during 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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-2<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-7<br><br>Reference 14: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-03(13))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-10<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482659/740-20-45-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -SubTopic 10<br> -Topic 235<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 13: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 35: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 38: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 39: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingExpenses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Generally recurring costs associated with normal operations except for the portion of these expenses which can be clearly related to production and included in cost of sales or services. Includes selling, general and administrative expense.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingExpenses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingExpensesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingExpensesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The net result for the period of deducting operating expenses from operating revenues.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherNonoperatingIncomeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of income (expense) related to nonoperating activities, classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.9)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherNonoperatingIncomeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Revenues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-40<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479557/942-235-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Revenues</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SellingGeneralAndAdministrativeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SellingGeneralAndAdministrativeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 16<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-16<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-10<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>19
<FILENAME>R5.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140569996782032">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Consolidated Statements of Shareholders' Equity - USD ($)<br></strong></div></th>
<th class="th"><div>Total</div></th>
<th class="th"><div>Preferred Stock</div></th>
<th class="th"><div>Common Stock</div></th>
<th class="th"><div>Additional Paid-in Capital</div></th>
<th class="th"><div>Retained Earnings</div></th>
<th class="th"><div>Treasury Stock, Common</div></th>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Beginning Balance at Dec. 31, 2021</a></td>
<td class="nump">$ 28,969,365<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 1,138,096<span></span>
</td>
<td class="nump">$ 447,134<span></span>
</td>
<td class="nump">$ 31,306,233<span></span>
</td>
<td class="num">$ (3,922,098)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesOutstanding', window );">Common Stock Shares at Dec. 31, 2021</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">966,132<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TreasuryStockCommonShares', window );">Treasury Stock Shares at Dec. 31, 2021</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">171,964<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net Income (Loss)</a></td>
<td class="nump">2,867,629<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,867,629<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Dividends', window );">Dividends Declared</a></td>
<td class="num">(850,196)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(850,196)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Ending Balance at Dec. 31, 2022</a></td>
<td class="nump">$ 30,986,798<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">$ 1,138,096<span></span>
</td>
<td class="nump">447,134<span></span>
</td>
<td class="nump">33,323,666<span></span>
</td>
<td class="num">$ (3,922,098)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesOutstanding', window );">Common Stock Shares at Dec. 31, 2022</a></td>
<td class="nump">966,132<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">966,132<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net Income (Loss)</a></td>
<td class="num">$ (4,401,584)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(4,401,584)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Dividends', window );">Dividends Declared</a></td>
<td class="num">(618,325)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(618,325)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Ending Balance at Dec. 31, 2023</a></td>
<td class="nump">$ 25,966,889<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 1,138,096<span></span>
</td>
<td class="nump">$ 447,134<span></span>
</td>
<td class="nump">$ 28,303,757<span></span>
</td>
<td class="num">$ (3,922,098)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesOutstanding', window );">Common Stock Shares at Dec. 31, 2023</a></td>
<td class="nump">966,132<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">966,132<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TreasuryStockCommonShares', window );">Treasury Stock Shares at Dec. 31, 2023</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">171,964<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-2<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Dividends">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of paid and unpaid cash, stock, and paid-in-kind (PIK) dividends declared, for example, but not limited to, common and preferred stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -SubTopic 405<br> -Topic 942<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481071/942-405-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Dividends</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 13: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 35: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 38: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 39: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-2<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 11: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 12: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 13: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 14: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480418/310-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TreasuryStockCommonShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of previously issued common shares repurchased by the issuing entity and held in treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481549/505-30-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockCommonShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>20
<FILENAME>R6.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140570005403952">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Consolidated Statements of Shareholders' Equity - Parenthetical - $ / shares<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementOfStockholdersEquityAbstract', window );"><strong>Consolidated Statements of Shareholders' Equity</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockDividendsPerShareDeclared', window );">Cash Dividends Declared Per Share</a></td>
<td class="nump">$ 0.64<span></span>
</td>
<td class="nump">$ 0.88<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockDividendsPerShareDeclared">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate dividends declared during the period for each share of common stock outstanding.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockDividendsPerShareDeclared</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementOfStockholdersEquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementOfStockholdersEquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>21
<FILENAME>R7.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140570004887184">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Consolidated Statements of Cash Flows - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Cash Flows from Operating Activities</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net Income (Loss)</a></td>
<td class="num">$ (4,401,584)<span></span>
</td>
<td class="nump">$ 2,867,629<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Adjustments to Reconcile Net Income to Net Cash Used in Operating Activities</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Depreciation', window );">Depreciation and Amortization</a></td>
<td class="nump">1,275,078<span></span>
</td>
<td class="nump">1,279,870<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainLossOnDispositionOfAssets', window );">Gain on the Sale of Property and Equipment</a></td>
<td class="num">(50,422)<span></span>
</td>
<td class="num">(4,741,096)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxExpenseBenefit', window );">Deferred Income Taxes</a></td>
<td class="num">(1,273,027)<span></span>
</td>
<td class="nump">22,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract', window );"><strong>Changes in Operating Assets and Liabilities</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsReceivable', window );">Accounts Receivable, net</a></td>
<td class="nump">699,255<span></span>
</td>
<td class="nump">672,847<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInContractWithCustomerAsset', window );">Contract Assets</a></td>
<td class="num">(118,301)<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInInventories', window );">Inventories, net</a></td>
<td class="nump">1,793,577<span></span>
</td>
<td class="num">(601,450)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOtherOperatingAssets', window );">Other Current Assets and Prepaid Income Taxes</a></td>
<td class="num">(28,983)<span></span>
</td>
<td class="num">(585,190)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsPayable', window );">Accounts Payable</a></td>
<td class="nump">91,739<span></span>
</td>
<td class="nump">4,600<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities', window );">Accrued Wages and Salaries</a></td>
<td class="nump">52,568<span></span>
</td>
<td class="num">(47,000)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOtherAccruedLiabilities', window );">Other Accrued Expenses</a></td>
<td class="num">(197,998)<span></span>
</td>
<td class="num">(38,457)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInCustomerAdvancesAndDeposits', window );">Unearned Revenue and Customer Deposits</a></td>
<td class="nump">226,462<span></span>
</td>
<td class="num">(98,707)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivities', window );">Net Cash Used in Operating Activities</a></td>
<td class="num">(1,931,636)<span></span>
</td>
<td class="num">(1,264,954)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract', window );"><strong>Cash Flows from Investing Activities</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireProductiveAssets', window );">Capital Expenditures</a></td>
<td class="num">(1,078,367)<span></span>
</td>
<td class="num">(969,943)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment', window );">Proceeds from the Sale of Property and Equipment</a></td>
<td class="nump">50,422<span></span>
</td>
<td class="nump">5,043,240<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfHeldToMaturitySecurities', window );">Proceeds from Short-Term Investments</a></td>
<td class="nump">2,691,000<span></span>
</td>
<td class="nump">1,495,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireHeldToMaturitySecurities', window );">Purchases of Short-Term Investments</a></td>
<td class="num">(1,771,120)<span></span>
</td>
<td class="num">(1,445,000)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivities', window );">Net Cash Provided by (Used In) Investing Activities</a></td>
<td class="num">(108,065)<span></span>
</td>
<td class="nump">4,123,297<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract', window );"><strong>Cash Flows from Financing Activities</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsOfDividendsCommonStock', window );">Cash Dividends Paid</a></td>
<td class="num">(618,325)<span></span>
</td>
<td class="num">(850,196)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivities', window );">Net Cash Used in Financing Activities</a></td>
<td class="num">(618,325)<span></span>
</td>
<td class="num">(850,196)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect', window );">Net Increase (Decrease) in Cash and Cash Equivalents</a></td>
<td class="num">(2,658,026)<span></span>
</td>
<td class="nump">2,008,147<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValueAbstract', window );"><strong>Cash and Cash Equivalents</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Beginning of Year</a></td>
<td class="nump">4,045,101<span></span>
</td>
<td class="nump">2,036,954<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">End of Year</a></td>
<td class="nump">1,387,075<span></span>
</td>
<td class="nump">4,045,101<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxesPaidNet', window );">Cash Paid for Income Taxes</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 1,271,679<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAtCarryingValueAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAtCarryingValueAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; excluding effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-24<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -SubTopic 230<br> -Topic 830<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481877/830-230-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Depreciation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Depreciation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GainLossOnDispositionOfAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of gain (loss) on sale or disposal of property, plant and equipment assets, excluding oil and gas property and timber property.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482130/360-10-45-5<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainLossOnDispositionOfAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxesPaidNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income, net of any cash received during the current period as refunds for the overpayment of taxes.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxesPaidNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccountsPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate amount of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccountsReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInContractWithCustomerAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInContractWithCustomerAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInCustomerAdvancesAndDeposits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the amount of (a) prepayments by customers for goods or services to be provided at a later date, (b) the amount of customer money held in customer accounts, including security deposits, collateral for a current or future transactions, initial payment of the cost of acquisition or for the right to enter into a contract or agreement, or (c) a combination of (a) and (b).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInCustomerAdvancesAndDeposits</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate amount of obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInInventories">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInInventories</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOperatingCapitalAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOtherAccruedLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in other expenses incurred but not yet paid.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOtherAccruedLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOtherOperatingAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in operating assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOtherOperatingAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInFinancingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-24<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInInvestingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-24<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInInvestingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-24<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-25<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 13: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 35: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 38: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 39: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsOfDividendsCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow in the form of ordinary dividends to common shareholders of the parent entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-15<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsOfDividendsCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquireHeldToMaturitySecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow through purchase of long-term held-to-maturity securities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481830/320-10-45-11<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireHeldToMaturitySecurities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquireProductiveAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow for purchases of and capital improvements on property, plant and equipment (capital expenditures), software, and other intangible assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 805<br> -SubTopic 50<br> -Name Accounting Standards Codification<br> -Section 25<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480060/805-50-25-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 805<br> -SubTopic 50<br> -Name Accounting Standards Codification<br> -Section 30<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480027/805-50-30-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 805<br> -SubTopic 50<br> -Name Accounting Standards Codification<br> -Section 30<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480027/805-50-30-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (c)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireProductiveAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfHeldToMaturitySecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash inflow associated with the maturity, prepayments and calls (requests for early payments) of debt securities designated as held-to-maturity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481830/320-10-45-11<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfHeldToMaturitySecurities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash inflow from the sale of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 12<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>22
<FILENAME>R8.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140570005187456">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>1 - Nature of Business and Significant Accounting Policies<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock', window );">1 - Nature of Business and Significant Accounting Policies</a></td>
<td class="text"><p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><b>1 - Nature of Business and Significant Accounting Policies</b></p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><b>Nature of Business-</b>The Company operates in the fastener industry and is in the business of producing and selling rivets, cold-formed fasteners and parts, screw machine products, automatic rivet setting machines and parts and tools for such machines.</p> <p style="font:10pt Courier New;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><b>A summary of the Company&#8217;s significant accounting policies follows:</b></p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><b>Principles of Consolidation-</b>The consolidated financial statements include the accounts of Chicago Rivet &amp; Machine Co. and its wholly-owned subsidiary, H &amp; L Tool Company, Inc. (&#8220;H &amp; L Tool&#8221;). &#160;All significant intercompany accounts and transactions have been eliminated.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><b>Revenue Recognition-</b> Revenue is recognized when control of the promised goods or services is transferred to our customers, generally upon shipment of goods or completion of services, in an amount that reflects the consideration we expect to receive in exchange for those goods or services. &#160;Sales taxes we may collect concurrent with revenue producing activities are excluded from revenue. &#160;Revenue is recognized net of certain sales adjustments to arrive at net sales as reported on the statement of income. &#160;These adjustments primarily relate to customer returns and allowances, which vary over time. &#160;The Company records a liability and reduction in sales for estimated product returns based upon historical experience. &#160;If we determine that our obligation under warranty claims is probable and subject to reasonable determination, an estimate of that liability is recorded as an offset against revenue at that time. &#160;As of December 31, 2023 and 2022, reserves for warranty claims were not material. &#160;</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">Cash received by the Company prior to shipment is recorded as unearned revenue. &#160;For certain assembly equipment segment transactions, revenue is recognized based on progress toward completion of the performance obligation using a labor-based measure. &#160;Labor incurred and specific material costs are compared to milestone payments per sales contract. &#160;Based on our experience, this method most accurately reflects the transfer of goods under such contracts. &#160;During 2023, the Company realized $342,328 of revenue related to such contracts, and has $123,172 for the remaining performance obligation under such contracts which the Company expects to recognize as revenue in the first quarter of 2024. Contract assets of $118,301 was recorded relating to these contracts. Shipping and handling fees billed to customers are recognized in net sales, and related costs as cost of sales, when incurred.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><b>Credit Risk-</b>The Company extends credit on the basis of terms that are customary within our markets to various companies doing business primarily in the automotive industry. &#160;The Company has a concentration of credit risk primarily within the automotive industry and in the Midwestern United States. &#160;The Company has established an allowance for accounts that may become uncollectible in the future. &#160;This estimated allowance is based primarily on management's evaluation of the financial condition of the customer and historical experience. &#160;The Company monitors its accounts receivable and charges to expense an amount equal to its estimate of potential credit losses. &#160;The Company considers a number of factors in determining its estimates, including the length of time its trade accounts receivable are past due, the Company's previous loss history and the customer's current ability to pay its obligation. &#160;The Company also considers current economic conditions, the economic outlook and industry-specific factors in its evaluation. &#160;Accounts receivable balances are charged off against the allowance when it is determined that the receivable will not be recovered.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><b>Cash and Cash Equivalents and Short-Term Investments-</b>The Company considers all highly liquid investments, including U.S. Treasury bills and certificates of deposit, with a maturity of three months or less when purchased to be cash equivalents. &#160;Certificates of deposit and treasury bills with an original maturity of greater than three months but less than one year are separately presented as Short-Term Investments at cost which approximates market value. &#160;The Company maintains cash on deposit in several financial institutions. At times, the account balances may be in excess of Federal Deposit Insurance Corporation insured limits.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><b>Fair Value of Financial Instruments-</b>The carrying amounts reported in the consolidated balance sheets for cash and cash equivalents, certificates of deposit, treasury bills, accounts receivable and accounts payable approximate fair value based on their short-term nature.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><b>Inventories-</b>Inventories are stated at the lower of cost or net realizable value, cost being determined by the first-in, first-out method. &#160;The value of inventories is reduced for estimated excess and obsolete inventories based on a review of on-hand inventories compared to historical and estimated future sales and usage.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><b>Property, Plant and Equipment-</b>Properties are stated at cost and are depreciated over their estimated useful lives using the straight-line method for financial reporting purposes. &#160;Accelerated methods of depreciation are used for income tax purposes. &#160;Direct costs related to developing or obtaining software for internal use are capitalized as property and equipment. &#160;Capitalized software costs are amortized over the software&#8217;s useful life when the software is placed in service. &#160;The estimated useful lives by asset category are:</p> <p style="font:10pt Courier New;margin:0">&#160;</p>
<table style="margin:0 auto;border-collapse:collapse;width:277pt">
<tr>
<td style="width:162.55pt" valign="top"><p style="font:10pt Arial;margin:0"><span style="border-bottom:1px solid #000000"><i>Asset Category</i></span></p> </td>
<td style="width:114.45pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:center"><span style="border-bottom:1px solid #000000"><i>Estimated Useful Life</i></span></p> </td></tr>
<tr>
<td style="width:162.55pt" valign="top"><p style="font:10pt Arial;margin:0">Land improvements&#8230;&#8230;&#8230;&#8230;&#8230;..</p> </td>
<td style="width:114.45pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">15 to 40 years</p> </td></tr>
<tr>
<td style="width:162.55pt" valign="top"><p style="font:10pt Arial;margin:0">Buildings and improvements&#8230;&#8230;</p> </td>
<td style="width:114.45pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">10 to 40 years</p> </td></tr>
<tr>
<td style="width:162.55pt" valign="top"><p style="font:10pt Arial;margin:0">Machinery and equipment&#8230;&#8230;&#8230;</p> </td>
<td style="width:114.45pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">5 to 18 years</p> </td></tr>
<tr>
<td style="width:162.55pt" valign="top"><p style="font:10pt Arial;margin:0">Capitalized software costs&#8230;&#8230;&#8230;</p> </td>
<td style="width:114.45pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">3 to 5 years</p> </td></tr>
<tr>
<td style="width:162.55pt" valign="top"><p style="font:10pt Arial;margin:0">Other equipment&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</p> </td>
<td style="width:114.45pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">3 to 10 years</p> </td></tr> </table> <p style="font:10pt Courier New;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">The Company reviews the carrying value of property, plant and equipment for impairment whenever events and circumstances indicate that the carrying value of an asset may not be recoverable from the estimated future cash flows expected to result from its use and eventual disposition. &#160;In cases where undiscounted expected future cash flows are less than the carrying value, an impairment loss is recognized equal to an amount by which the carrying value exceeds the fair value of assets. &#160;There were no triggering events requiring assessment of impairment as of December 31, 2023 and 2022.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">When properties are retired or sold, the related cost and accumulated depreciation are removed from the respective accounts, and any gain or loss on disposition is recognized in current operations. &#160;Maintenance, repairs and minor betterments that do not improve the related asset or extend its useful life are charged to operations as incurred. </p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><b>Income Taxes&#8212;</b>Deferred income taxes are determined under the asset and liability method. &#160;Deferred income taxes arise from temporary differences between the income tax basis of assets and liabilities and their reported amounts in the financial statements. &#160;Deferred taxes are shown on the balance sheet as a net long-term asset or liability.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">The Company applies a comprehensive model for the financial statement recognition, measurement, classification and disclosure of uncertain tax positions.&#160; In the first step of the two-step process, the Company evaluates the tax position for recognition by determining if the weight of available evidence indicates that it is more likely than not that the position will be sustained on audit, including resolution of related appeals or litigation processes, if any. In the second step, the Company measures the tax benefit as the largest amount that is more than 50% likely of being realized upon settlement.&#160; As of December 31, 2023 and 2022, the Company determined that there are no uncertain tax positions with a more than 50% likelihood of being realized upon settlement.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">The Company classifies interest and penalties related to unrecognized tax benefits as a component of income tax expense. &#160;There were no such expenses in 2023 or 2022.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">The Company&#8217;s federal income tax returns for the 2020 through 2022 tax years are subject to examination by the Internal Revenue Service (&#8220;IRS&#8221;). &#160;While it may be possible that a reduction could occur with respect to the Company&#8217;s unrecognized tax benefits as an outcome of an IRS examination, management does not anticipate any adjustments that would result in a material change to the results of operations or financial condition of the Company.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">No statutes have been extended on any of the Company&#8217;s federal income tax filings. The statute of limitations on the Company&#8217;s 2020, 2021 and 2022 federal income tax returns will expire on September 15, 2024, 2025 and 2026, respectively.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">The Company&#8217;s state income tax returns for the 2020 through 2022 tax years are subject to examination by various state authorities with the latest closing period on October 31, 2026. &#160;The Company is currently not under examination by any state authority for income tax purposes and no statutes for state income tax filings have been extended.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><b>Segment Information-</b>The Company reports segment information based on the internal structure and reporting of the Company&#8217;s operations.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><b>Net Income Per Share-</b> Net income per share of common stock is based on the weighted average number of shares outstanding of 966,132 in 2023 and 2022.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Times New Roman;margin:0"><span style="font-family:Arial"><b>Use of Estimates-</b>The preparation of financial statements in conformity with generally accepted accounting principles requires management to make estimates and assumptions that affect the amounts reported in the consolidated financial statements and the accompanying notes. &#160;Significant items subject to estimates and assumptions include depreciable lives, deferred taxes and valuation allowances for accounts receivable and inventory obsolescence. &#160;Actual results could differ from those estimates.</span></p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><b>Recent Accounting Pronouncements-</b> In June 2016, the FASB issued ASU No. 2016-13, Financial Instruments&#160;- Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments and in November 2018 issued an amendment, ASU 2018-19, Codification Improvements to Topic 326, Financial Instruments &#8211;&#160;Credit Losses. &#160;ASU 2016-13 amends the impairment model by requiring entities to use a forward-looking approach based on expected losses rather than incurred losses to estimate credit losses on certain types of financial instruments, including trade receivables. This may result in the earlier recognition of allowances for losses. ASU 2016-13 and ASU 2018-19 should be applied on either a prospective transition or modified-retrospective approach depending on the subtopic. &#160;ASU 2016-13 is effective for annual periods beginning after December 15, 2022, including interim periods within those fiscal years, with early adoption permitted. The Company adopted this ASU on January 1, 2023. &#160;The impact of the adoption on our consolidated financial statements was not material and primarily resulted in new/enhanced disclosures only.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">In November 2023, the FASB issued ASU No. 2023-07, Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures, which requires a public entity to disclose its significant segment expense categories and amounts for each reportable segment. &#160;The new guidance is effective for fiscal years beginning after December 15, 2023, and interim periods in fiscal years beginning after December 15, 2024. &#160;The Company is evaluating the impact of this ASU. &#160;</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">In December 2023, the FASB issued ASU No. 2023-09, Income Taxes (Topic 740): Improvements to Income Tax Disclosures, to enhance the transparency and decision usefulness of income tax disclosures providing investors with information to better assess how an entity&#8217;s operations and related tax risks and tax planning and operational opportunities affect its tax rate and prospects for future cash flows. The new guidance is effective for annual periods beginning after December 31, 2024. &#160;The Company is evaluating the impact that it will have on our consolidated financial statements and disclosures.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for the basis of presentation and significant accounting policies concepts. Basis of presentation describes the underlying basis used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS). Accounting policies describe all significant accounting policies of the reporting entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 235<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//235/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>23
<FILENAME>R9.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140570097580544">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>2 - Balance Sheet Details<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SupplementalBalanceSheetDisclosuresTextBlock', window );">2 - Balance Sheet Details</a></td>
<td class="text"><p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><b>2 - Balance Sheet Details</b></p> <p style="font:10pt Courier New;margin:0">&#160;</p>
<table style="border-collapse:collapse">
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="bottom"></td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center"><b>December 31,</b></p> <p style="font:10pt Arial;margin:0;text-align:center"><b>2023</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center">December 31,</p> <p style="font:10pt Arial;margin:0;text-align:center">2022</p> </td></tr>
<tr>
<td style="width:216pt" valign="top"><p style="font:10pt Arial;margin:0">Inventories:</p> </td>
<td style="width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="bottom"><p style="font:10pt Arial;margin:0">Raw materials</p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>$&#160;2,878,869</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">$&#160;4,460,071</p> </td></tr>
<tr>
<td style="width:216pt" valign="bottom"><p style="font:10pt Arial;margin:0">Work in process</p> </td>
<td style="width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>2,374,795</b></p> </td>
<td style="width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">2,747,427</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="bottom"><p style="font:10pt Arial;margin:0">Finished goods</p> </td>
<td style="background-color:#CEE7FF;width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>2,614,989</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">2,534,732</p> </td></tr>
<tr>
<td style="width:216pt" valign="bottom"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="width:90pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>7,868,653</b></p> </td>
<td style="width:90pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">9,742,230</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="bottom"><p style="font:10pt Arial;margin:0">Valuation reserves</p> </td>
<td style="background-color:#CEE7FF;width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>(541,000)</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">(621,000)</p> </td></tr>
<tr>
<td style="width:216pt" valign="top"></td>
<td style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>$&#160;7,327,653</b></p> </td>
<td style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">$&#160;9,121,230</p> </td></tr> </table> <p style="font:10pt Courier New;margin:0">&#160;</p> <p style="font:10pt Courier New;margin:0">&#160;</p> <p style="font:10pt Courier New;margin:0">&#160;</p>
<table style="border-collapse:collapse">
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="bottom"></td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center"><b>December 31,</b></p> <p style="font:10pt Arial;margin:0;text-align:center"><b>2023</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center">December 31,</p> <p style="font:10pt Arial;margin:0;text-align:center">2022</p> </td></tr>
<tr style="height:13.95pt">
<td style="width:216pt" valign="bottom"><p style="font:10pt Arial;margin:0">Property, Plant and Equipment, net:</p> </td>
<td style="width:90pt" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="width:90pt" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="bottom"><p style="font:10pt Arial;margin:0">Land and improvements</p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>$&#160;1,510,513</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">$&#160;1,510,513</p> </td></tr>
<tr>
<td style="width:216pt" valign="bottom"><p style="font:10pt Arial;margin:0">Buildings and improvements</p> </td>
<td style="width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>6,835,619</b></p> </td>
<td style="width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">6,818,066</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="bottom"><p style="font:10pt Arial;margin:0">Machinery and equipment</p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>37,019,453</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">35,982,194</p> </td></tr>
<tr>
<td style="width:216pt" valign="bottom"><p style="font:10pt Arial;margin:0">Capitalized software and other</p> </td>
<td style="width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>933,449</b></p> </td>
<td style="width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">1,038,768</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="top"><p style="font:13pt Arial Narrow;margin:0">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:90pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>46,299,034</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">45,349,541</p> </td></tr>
<tr>
<td style="width:216pt" valign="bottom"><p style="font:10pt Arial;margin:0">Accumulated depreciation</p> </td>
<td style="width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>(34,633,952)</b></p> </td>
<td style="width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">(33,487,748)</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="top"></td>
<td style="background-color:#CEE7FF;width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>$&#160;11,665,082</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">$&#160;11,861,793</p> </td></tr> </table> <p style="font:10pt Courier New;margin:0">&#160;</p> <p style="font:10pt Courier New;margin:0">&#160;</p> <p style="font:10pt Courier New;margin:0">&#160;</p>
<table style="border-collapse:collapse">
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="bottom"></td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center"><b>December 31,</b></p> <p style="font:10pt Arial;margin:0;text-align:center"><b>2023</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center">December 31,</p> <p style="font:10pt Arial;margin:0;text-align:center">2022</p> </td></tr>
<tr>
<td style="width:216pt" valign="top"><p style="font:10pt Arial;margin:0">Other Accrued Expenses:</p> </td>
<td style="width:90pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:90pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="top"><p style="font:10pt Arial;margin:0">Profit sharing plan contribution</p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;0</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">$&#160;170,000</p> </td></tr>
<tr>
<td style="width:216pt" valign="top"><p style="font:10pt Arial;margin:0">Property taxes</p> </td>
<td style="width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>20,342</b></p> </td>
<td style="width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">41,497</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="top"><p style="font:10pt Arial;margin:0">All other items </p> </td>
<td style="background-color:#CEE7FF;width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>109,621</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">116,464</p> </td></tr>
<tr>
<td style="width:216pt" valign="top"></td>
<td style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>$&#160;129,963</b></p> </td>
<td style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">$&#160;327,961</p> </td></tr> </table> <p style="font:10pt Courier New;margin:0">&#160;</p> <p style="font:10pt Courier New;margin:0">&#160;</p> <p style="font:10pt Courier New;margin:0">&#160;</p>
<table style="border-collapse:collapse">
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center"><b>December 31,</b></p> <p style="font:10pt Arial;margin:0;text-align:center"><b>2023</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center">December 31,</p> <p style="font:10pt Arial;margin:0;text-align:center">2022</p> </td></tr>
<tr>
<td style="width:216pt" valign="top"><p style="font:10pt Arial;margin:0">Allowance for Credit Losses:</p> </td>
<td style="width:90pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:90pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="top"><p style="font:10pt Arial;margin:0"> &#160;Balance at beginning of year</p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>$ 160,000</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">$ 170,000</p> </td></tr>
<tr>
<td style="width:216pt" valign="top"><p style="font:10pt Arial;margin:0"> &#160;Charges to statement of operations</p> </td>
<td style="width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b> 13,804</b></p> </td>
<td style="width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">(1,660)</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="top"><p style="font:10pt Arial;margin:0"> &#160;Write-offs, net of recoveries</p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b> (13,804)</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">(8,340)</p> </td></tr>
<tr>
<td style="width:216pt" valign="top"><p style="font:10pt Arial;margin:0"> &#160;Balance at end of year</p> </td>
<td style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>$ &#160;160,000</b></p> </td>
<td style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">$ 160,000</p> </td></tr> </table> <p style="font:10pt Courier New;margin:0">&#160;</p>
<table style="border-collapse:collapse">
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center"><b>December 31,</b></p> <p style="font:10pt Arial;margin:0;text-align:center"><b>2023</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center">December 31,</p> <p style="font:10pt Arial;margin:0;text-align:center">2022</p> </td></tr>
<tr>
<td style="width:216pt" valign="top"><p style="font:10pt Arial;margin:0">Inventory Valuation Reserves:</p> </td>
<td style="width:90pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:90pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="top"><p style="font:10pt Arial;margin:0"> &#160;Balance at beginning of year</p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>$ &#160; 621,000</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">$ &#160; 612,000</p> </td></tr>
<tr>
<td style="width:216pt" valign="top"><p style="font:10pt Arial;margin:0"> &#160;Charges to statement of operations</p> </td>
<td style="width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>143,233</b></p> </td>
<td style="width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">17,070</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="top"><p style="font:10pt Arial;margin:0"> &#160;Write-offs</p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b> (223,233)</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"> (8,070)</p> </td></tr>
<tr>
<td style="width:216pt" valign="top"><p style="font:10pt Arial;margin:0"> &#160;Balance at end of year</p> </td>
<td style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>$ &#160; 541,000</b></p> </td>
<td style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">$ &#160;&#160;621,000</p> </td></tr> </table> <p style="font:10pt Courier New;margin:0">&#160;</p> <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SupplementalBalanceSheetDisclosuresTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for supplemental balance sheet disclosures, including descriptions and amounts for assets, liabilities, and equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//210/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SupplementalBalanceSheetDisclosuresTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>24
<FILENAME>R10.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140570005187456">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>3 - Income Taxes<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureTextBlock', window );">3 - Income Taxes</a></td>
<td class="text"><p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Times New Roman;margin:0"><span style="font-family:Arial"><b>3</b><b> - </b><b>Income Taxes&#8212;</b>The provision (benefit) for income tax expense consists of the following</span><span style="font-family:Arial;color:#833C0B">:</span></p> <p style="font:10pt Arial;margin:0">&#160;</p>
<table style="border-collapse:collapse">
<tr>
<td style="background-color:#CEE7FF;width:151.9pt" valign="bottom"></td>
<td style="background-color:#CEE7FF;width:72pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center"><span style="border-bottom:1px solid #000000"><b>20</b><b>23</b></span></p> </td>
<td style="background-color:#CEE7FF;width:72pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2022</span></p> </td></tr>
<tr>
<td style="width:151.9pt" valign="bottom"><p style="font:10pt Arial;margin:0">Current:</p> </td>
<td style="width:72pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:72pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:151.9pt" valign="bottom"><p style="font:10pt Arial;margin:0">Federal</p> </td>
<td style="background-color:#CEE7FF;width:72pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>$ &#160;&#160;&#160;&#160;&#160;&#160;(1,569)</b></p> </td>
<td style="background-color:#CEE7FF;width:72pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">$ &#160;&#160;&#160;723,000</p> </td></tr>
<tr>
<td style="width:151.9pt" valign="bottom"><p style="font:10pt Arial;margin:0">State</p> </td>
<td style="width:72pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>(52,832)</b></p> </td>
<td style="width:72pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">40,000</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:151.9pt" valign="bottom"><p style="font:10pt Arial;margin:0">Deferred</p> </td>
<td style="background-color:#CEE7FF;width:72pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>(1,273,027)</b></p> </td>
<td style="background-color:#CEE7FF;width:72pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">22,000</p> </td></tr>
<tr style="height:7.2pt">
<td style="width:151.9pt" valign="top"></td>
<td style="width:72pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>$ (1,327,428)</b></p> </td>
<td style="width:72pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">$ &#160;&#160; 785,000</p> </td></tr> </table> <p style="font:10pt Courier New;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">The following is a reconciliation of the statutory federal income tax rate to the actual effective tax rate:</p> <p style="font:10pt Courier New;margin:0">&#160;</p>
<table style="border-collapse:collapse">
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td colspan="3" style="background-color:#CEE7FF;width:118.35pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center"><b>2023</b></p> </td>
<td style="background-color:#CEE7FF;width:11.1pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td colspan="3" style="background-color:#CEE7FF;width:120.05pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center">2022</p> </td></tr>
<tr>
<td style="width:216pt" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="width:72pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center"><b>Amount</b></p> </td>
<td style="width:11.8pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center">&#160;</p> </td>
<td style="width:34.55pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center"><b>%</b></p> </td>
<td style="width:11.1pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center">&#160;</p> </td>
<td style="width:72pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center">Amount</p> </td>
<td style="width:11.1pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center">&#160;</p> </td>
<td style="width:36.95pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center">%</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="bottom"><p style="font:10pt Arial;margin:0">Expected tax at U.S. statutory rate</p> </td>
<td style="background-color:#CEE7FF;width:72pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;color:#000000;text-align:right"><b>$ (1,203,000)</b></p> </td>
<td style="background-color:#CEE7FF;width:11.8pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:34.55pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>(21.0)</b></p> </td>
<td style="background-color:#CEE7FF;width:11.1pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:72pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">$ &#160;&#160;&#160; 767,000</p> </td>
<td style="background-color:#CEE7FF;width:11.1pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:36.95pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">21.0</p> </td></tr>
<tr>
<td style="width:216pt" valign="bottom"><p style="font:10pt Arial;margin:0">Permanent differences</p> </td>
<td style="width:72pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b> (3,428)</b></p> </td>
<td style="width:11.8pt" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="width:34.55pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>(0.1)</b></p> </td>
<td style="width:11.1pt" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="width:72pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"> (14,000)</p> </td>
<td style="width:11.1pt" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="width:36.95pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"> (0.4)</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="bottom"><p style="font:10pt Arial;margin:0">State taxes, net of federal benefit</p> </td>
<td style="background-color:#CEE7FF;width:72pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>(121,000)</b></p> </td>
<td style="background-color:#CEE7FF;width:11.8pt" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:34.55pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>(2.1)</b></p> </td>
<td style="background-color:#CEE7FF;width:11.1pt" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:72pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">32,000</p> </td>
<td style="background-color:#CEE7FF;width:11.1pt" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:36.95pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">0.9</p> </td></tr>
<tr>
<td style="width:216pt" valign="bottom"><p style="font:10pt Arial;margin:0">Income tax expense (benefit)</p> </td>
<td style="width:72pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>$ (1,327,428)</b></p> </td>
<td style="width:11.8pt" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="width:34.55pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>(23.2)</b></p> </td>
<td style="width:11.1pt" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="width:72pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">$ &#160;&#160; 785,000</p> </td>
<td style="width:11.1pt" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="width:36.95pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">21.5</p> </td></tr> </table> <p style="font:10pt Courier New;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">The deferred tax assets (liabilites) consist of the following:</p> <p style="font:10pt Courier New;margin:0">&#160;</p>
<table style="border-collapse:collapse">
<tr style="height:18pt">
<td style="background-color:#CADFF9" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center">&#160;</p> </td>
<td style="background-color:#CADFF9" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center"><span style="border-bottom:1px solid #000000"><b>20</b><b>23</b></span></p> </td>
<td style="background-color:#CADFF9" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center">&#160;</p> </td>
<td style="background-color:#CADFF9" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2022</span></p> </td></tr>
<tr>
<td valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td valign="top"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="top"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="top"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CADFF9" valign="top"><p style="font:10pt Arial;margin:0">Depreciation and amortization</p> </td>
<td style="background-color:#CADFF9" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>$&#160;(1,254,472)&#160;&#160;</b></p> </td>
<td style="background-color:#CADFF9" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CADFF9" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">$&#160;(1,216,451)&#160;&#160;</p> </td></tr>
<tr>
<td valign="top"><p style="font:10pt Arial;margin:0">Inventory</p> </td>
<td valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>157,307&#160;&#160;&#160;</b></p> </td>
<td valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">157,687&#160;&#160;&#160;</p> </td></tr>
<tr>
<td style="background-color:#CADFF9" valign="top"><p style="font:10pt Arial;margin:0">Accrued vacation</p> </td>
<td style="background-color:#CADFF9" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>66,240&#160;&#160;&#160;</b></p> </td>
<td style="background-color:#CADFF9" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CADFF9" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">71,923&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign="top"><p style="font:10pt Arial;margin:0">Allowance for credit losses</p> </td>
<td valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>33,600&#160;&#160;&#160;</b></p> </td>
<td valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">38,250&#160;&#160;&#160;</p> </td></tr>
<tr>
<td style="background-color:#CADFF9" valign="top"><p style="font:10pt Arial;margin:0">Net operating losses</p> </td>
<td style="background-color:#CADFF9" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>1,262,621&#160;&#160;&#160;</b></p> </td>
<td style="background-color:#CADFF9" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CADFF9" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">0&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign="top"><p style="font:10pt Arial;margin:0">Other, net &#160;</p> </td>
<td style="border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>59,647&#160;&#160;&#160;</b></p> </td>
<td valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">507&#160;&#160;&#160;</p> </td></tr>
<tr>
<td style="background-color:#CADFF9" valign="top"><p style="font:13pt Arial Narrow;margin:0;color:#339966">&#160;</p> </td>
<td style="background-color:#CADFF9;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>$ &#160;&#160;&#160;&#160;&#160;324,943&#160;&#160;</b></p> </td>
<td style="background-color:#CADFF9" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CADFF9;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">$&#160;(948,084)&#160;&#160;</p> </td></tr> </table> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">At December 31, 2023, the Company had federal net operating loss carryforwards of approximately $6,045,000. &#160;The net operating loss carryforwards are not subject to expiration, however are subject to annual utilization limitations for U.S. federal income tax purposes. &#160;&#160;The Company believes it is more-likely-than-not that its deferred tax assets will be realized, based primarily on its expectation of future taxable income and considering future reversals of existing taxable temporary differences. &#160;The Company reviews the need for a valuation allowance on a quarterly basis for each of its tax jurisdictions.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480990/946-20-50-13<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//740/tableOfContent<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-14<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 21<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-21<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 270<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482526/740-270-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 17<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-17<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.5.Q1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 11.C)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482603/740-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>25
<FILENAME>R11.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140570004796016">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>4 - Profit Sharing Plan<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CompensationAndEmployeeBenefitPlansOtherThanShareBasedCompensationTextBlock', window );">4 - Profit Sharing Plan</a></td>
<td class="text"><p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><b>4 - Profit Sharing Plan- </b>The Company has a noncontributory profit sharing plan covering substantially all employees. &#160;Total expenses relating to the profit sharing plan were zero in 2023 and $170,000 in 2022.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CompensationAndEmployeeBenefitPlansOtherThanShareBasedCompensationTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure of an entity's employee compensation and benefit plans, excluding share-based compensation and including, but not limited to, postemployment and postretirement benefit plans, defined benefit pension plans, defined contribution plans, non-qualified and supplemental benefit plans, deferred compensation, life insurance, severance, health care, unemployment and other benefit plans.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 710<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//710/tableOfContent<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 712<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//712/tableOfContent<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 715<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//715/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CompensationAndEmployeeBenefitPlansOtherThanShareBasedCompensationTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>26
<FILENAME>R12.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140569999819376">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>5 - Other Income<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestAndOtherIncomeTextBlock', window );">5 - Other Income</a></td>
<td class="text"><p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><b>5 - Other Income- </b>consists of the following:</p> <p style="font:10pt Arial;margin:0">&#160;</p>
<table style="border-collapse:collapse">
<tr>
<td style="background-color:#CEE7FF;width:159.15pt" valign="bottom"></td>
<td style="background-color:#CEE7FF;width:63.65pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center"><span style="border-bottom:1px solid #000000"><b>20</b><b>23</b></span></p> </td>
<td style="background-color:#CEE7FF;width:11.8pt" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:68.55pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2022</span></p> </td></tr>
<tr style="height:14.4pt">
<td style="width:159.15pt" valign="bottom"><p style="font:10pt Arial;margin:0">Interest income</p> </td>
<td style="width:63.65pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>$&#160;103,230&#160;&#160;&#160;</b></p> </td>
<td style="width:11.8pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:68.55pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">$&#160; 55,333&#160;&#160;&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:159.15pt" valign="bottom"><p style="font:10pt Arial;margin:0">Other</p> </td>
<td style="background-color:#CEE7FF;width:63.65pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>5,004&#160;&#160;&#160;</b></p> </td>
<td style="background-color:#CEE7FF;width:11.8pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:68.55pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">36,100&#160;&#160;&#160;</p> </td></tr>
<tr>
<td style="width:159.15pt" valign="bottom"></td>
<td style="width:63.65pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>$&#160;108,234&#160;&#160;&#160;</b></p> </td>
<td style="width:11.8pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:68.55pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">$&#160;91,433&#160;&#160;&#160;</p> </td></tr> </table> <p style="font:10pt Courier New;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">&#160;</p> <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestAndOtherIncomeTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for interest and other income.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 610<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//610/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestAndOtherIncomeTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>27
<FILENAME>R13.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140570005012176">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>6 - Segment Information<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingDisclosureTextBlock', window );">6 - Segment Information</a></td>
<td class="text"><p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><b>6 - Segment Information- </b>The Company operates in the United States in two business segments as determined by its products. &#160;The fastener segment, which comprises H &amp; L Tool and the parent company&#8217;s fastener operations, includes rivets, cold-formed fasteners and parts and screw machine products. &#160;The assembly equipment segment includes automatic rivet setting machines and parts and tools for such machines. &#160;Information by segment is as follows:</p> <p style="font:10pt Courier New;margin:0">&#160;</p>
<table style="border-collapse:collapse;margin-left:-3.6pt">
<tr>
<td style="background-color:#CADFF9;width:179.1pt" valign="bottom"></td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:center"><span style="border-bottom:1px solid #000000"><b>Fastener</b></span></p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:center"><span style="border-bottom:1px solid #000000"><b>Assembly Equipment</b></span></p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:center"><span style="border-bottom:1px solid #000000"><b>Other</b></span></p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:center"><span style="border-bottom:1px solid #000000"><b>Consolidated</b></span></p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0"><b>Year Ended December 31, 2023:</b></p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CADFF9;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0;color:#E36C0A"><span style="color:#000000">Net Sales&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</span></p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">$ &#160;&#160;&#160;&#160;&#160;28,161,362</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">$ &#160;&#160;&#160;&#160;&#160;3,346,360</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;0</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;31,507,722</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CADFF9;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">Depreciation&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;...</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">1,145,620</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">122,928</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">6,530</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">1,275,078</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CADFF9;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">Segment operating profit (loss) &#160;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">(3,747,744)</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">549,156</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;margin-left:20.25pt;text-align:right">0 </p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">(3,198,588)</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">Selling and administrative expenses&#8230;&#8230;&#8230;&#8230;..</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">(2,638,658)</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">(2,638,658)</p> </td></tr>
<tr>
<td style="background-color:#CADFF9;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">Other income&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;..</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">108,234</p> </td>
<td style="background-color:#CADFF9;width:75.6pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">108,234</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">Loss before income taxes&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">(5,729,012)</p> </td></tr>
<tr>
<td style="background-color:#CADFF9;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">&#160;</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CADFF9;width:75.6pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">Capital expenditures&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;.</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">1,041,896</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">5,235</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">31,236</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">1,078,367</p> </td></tr>
<tr>
<td style="background-color:#CADFF9;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">&#160;</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">Segment assets:</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CADFF9;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0"> &#160;&#160;Accounts receivable, net&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;...</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">3,994,372</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">281,510</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">4,275,882</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0"> &#160;&#160;Contract assets&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;...</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">118,301</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">118,301</p> </td></tr>
<tr>
<td style="background-color:#CADFF9;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0"> &#160;&#160;Inventories, net&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;...</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">5,714,826</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">1,612,827</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">7,327,653</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0"> &#160;&#160;Property, plant and equipment, net&#8230;&#8230;&#8230;&#8230;.</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">9,458,605</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">1,185,804</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">1,020,673</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">11,665,082</p> </td></tr>
<tr>
<td style="background-color:#CADFF9;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0"> &#160;&#160;Other assets&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">4,443,987</p> </td>
<td style="background-color:#CADFF9;width:75.6pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">4,443,987</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">27,830,905</p> </td></tr>
<tr>
<td style="background-color:#CADFF9;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">&#160;</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CADFF9;width:75.6pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">Year Ended December 31, 2022:</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CADFF9;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0;color:#E36C0A"><span style="color:#000000">Net Sales&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</span></p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">$ &#160;&#160;&#160;&#160;&#160;30,291,547</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">$ &#160;&#160;&#160;&#160;&#160;3,354,486</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;0</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;33,646,033</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CADFF9;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">Depreciation&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;...</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">1,129,151</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">133,615</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">17,104</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">1,279,870</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CADFF9;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">Segment operating profit&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">505,751</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">413,995</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;margin-left:20.25pt;text-align:right">0 </p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">919,746</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">Selling and administrative expenses&#8230;&#8230;&#8230;&#8230;..</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">(2,096,944)</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">(2,096,944)</p> </td></tr>
<tr>
<td style="background-color:#CADFF9;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">Gain on sale of property &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">4,738,394</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">4,738,394</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">Other income&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;..</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">91,433</p> </td>
<td style="width:75.6pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">91,433</p> </td></tr>
<tr>
<td style="background-color:#CADFF9;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">Income before income taxes&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CADFF9;width:75.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">3,652,629</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CADFF9;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">Capital expenditures&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;.</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">868,654</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">3,207</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">98,082</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">969,943</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CADFF9;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">Segment assets:</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0"> &#160;&#160;Accounts receivable, net&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;...</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">4,683,620</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">291,517</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">4,975,137</p> </td></tr>
<tr>
<td style="background-color:#CADFF9;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0"> &#160;&#160;Inventories, net&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;...</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">7,766,703</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">1,354,527</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">9,121,230</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0"> &#160;&#160;Property, plant and equipment, net&#8230;&#8230;&#8230;&#8230;.</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">9,562,329</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">1,303,497</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">995,967</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">11,861,793</p> </td></tr>
<tr>
<td style="background-color:#CADFF9;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0"> &#160;&#160;Other assets&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">7,667,967</p> </td>
<td style="background-color:#CADFF9;width:75.6pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">7,667,967</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">33,626,127</p> </td></tr> </table> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Courier New;margin:0">&#160;</p> <p style="font:10pt Courier New;margin:0">&#160;</p> <p style="font:10pt Courier New;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">The Company does not allocate certain selling and administrative expenses for internal reporting, thus, no allocation was made for these expenses for segment disclosure purposes. &#160;Segment assets reported internally are limited to accounts receivable, inventory and long-lived assets. &#160;Certain long-lived assets of one plant location are allocated between the two segments based on estimated plant utilization, as this plant serves both fastener and assembly equipment activities. &#160;Other assets are not allocated to segments internally and to do so would be impracticable.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">The following table presents revenue by segment, further disaggregated by end-market:</p> <p style="font:10pt Arial;margin:0">&#160;</p>
<table style="border-collapse:collapse">
<tr>
<td style="background-color:#CEE7FF;width:148.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:63pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:center"> &#160;<b>Fastener</b> &#160;</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:center"> &#160;<b>Assembly Equipment</b> &#160;</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:center"> &#160;<b>Consolidated</b> &#160;</p> </td></tr>
<tr>
<td style="width:148.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial"><b>Year Ended December 31, </b><b>2023</b><b>:</b></span></p> </td>
<td style="width:63pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:148.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial">Automotive</span></p> </td>
<td style="background-color:#CEE7FF;width:63pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;19,297,188</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;131,821</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;19,429,009</p> </td></tr>
<tr>
<td style="width:148.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial">Non-automotive</span></p> </td>
<td style="width:63pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">8,864,174</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">3,214,539</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">12,078,713</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:148.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial">Total net sales</span></p> </td>
<td style="background-color:#CEE7FF;width:63pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;28,161,362</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;&#160;&#160;3,346,360</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;31,507,722</p> </td></tr>
<tr>
<td style="width:148.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:10pt Times New Roman;margin:0">&#160;</p> </td>
<td style="width:63pt;padding-left:2pt;padding-right:2pt;border-top:3px double #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:3px double #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:3px double #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:148.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial">Year Ended December 31, 2022:</span></p> </td>
<td style="background-color:#CEE7FF;width:63pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="width:148.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial">Automotive</span></p> </td>
<td style="width:63pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;18,454,238</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;209,735</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;18,663,973</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:148.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial">Non-automotive</span></p> </td>
<td style="background-color:#CEE7FF;width:63pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right"> 11,837,309</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right"> 3,144,751</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right"> 14,982,060</p> </td></tr>
<tr>
<td style="width:148.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial">Total net sales</span></p> </td>
<td style="width:63pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;30,291,547</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;&#160;&#160;3,354,486</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;33,646,033</p> </td></tr> </table> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Courier New;margin:0">&#160;</p> <p style="font:10pt Courier New;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">The following table presents revenue by segment, further disaggregated by location:</p> <p style="font:10pt Arial;margin:0">&#160;</p>
<table style="border-collapse:collapse">
<tr>
<td style="background-color:#CEE7FF;width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:61.35pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:center"> &#160;<b>Fastener</b> &#160;</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:center"> &#160;<b>Assembly Equipment</b> &#160;</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:center"> &#160;<b>Consolidated</b> &#160;</p> </td></tr>
<tr>
<td style="width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial"><b>Year Ended December 31, 20</b><b>23</b><b>:</b></span></p> </td>
<td style="width:61.35pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial">United States</span></p> </td>
<td style="background-color:#CEE7FF;width:61.35pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;22,635,244</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;&#160;&#160;&#160;&#160;3,154,677</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;25,789,921</p> </td></tr>
<tr>
<td style="width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial">Foreign</span></p> </td>
<td style="width:61.35pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">5,526,118</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">191,683</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">5,717,801</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial">Total net sales</span></p> </td>
<td style="background-color:#CEE7FF;width:61.35pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;28,161,362</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;&#160;&#160;3,346,360</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;31,507,722</p> </td></tr>
<tr>
<td style="width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:10pt Times New Roman;margin:0">&#160;</p> </td>
<td style="width:61.35pt;padding-left:2pt;padding-right:2pt;border-top:3px double #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:3px double #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:3px double #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial">Year Ended December 31, 2022:</span></p> </td>
<td style="background-color:#CEE7FF;width:61.35pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial">United States</span></p> </td>
<td style="width:61.35pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;24,955,181</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;&#160;&#160;&#160;&#160;3,202,729</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;28,157,910</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial">Foreign</span></p> </td>
<td style="background-color:#CEE7FF;width:61.35pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">5,336,366</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">151,757</p> </td>
<td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">5,488,123</p> </td></tr>
<tr>
<td style="width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"><p style="font:10pt Times New Roman;margin:0"><span style="font:9pt Arial">Total net sales</span></p> </td>
<td style="width:61.35pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;30,291,547</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;&#160;&#160;3,354,486</p> </td>
<td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:9pt Arial;margin:0;color:#000000;text-align:right">$ &#160;&#160;33,646,033</p> </td></tr> </table> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Courier New;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">Sales to one customer in the fastener segment accounted for 16% of consolidated revenues during 2023 and 15% in 2022. &#160;The accounts receivable balance for this customer accounted for 15% and 19% of consolidated accounts receivable as of December 31, 2023 and 2022, respectively. &#160;Sales to a second customer in the fastener segment accounted for 14% of consolidated revenues during 2023 and 2022. &#160;The accounts receivable balance for this customer accounted for 14% and 16% of consolidated accounts receivable as of December 31, 2023 and 2022, respectively. &#160;Sales to a third customer were 11% of consolidated revenue in 2023. The accounts receivable balance for this customer accounted for 20% of consolidated accounts receivable as of December 31, 2023.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-15<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-40<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//280/tableOfContent<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 26<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-26<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 34<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-34<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-21<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-21<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>28
<FILENAME>R14.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140570004710656">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>7 - Additional Financial Information Disclosure<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdditionalFinancialInformationDisclosureTextBlock', window );">7 - Additional Financial Information Disclosure</a></td>
<td class="text"><p style="font:10pt Arial;margin:0"><b>7 - Gain on Sale of Property - </b> On August 12, 2022, the Company entered into a Purchase and Sale Agreement (the &#8220;PSA&#8221;) with Frontenac Properties LLC (the &#8220;Purchaser&#8221;) pursuant to which the Company agreed, subject to the terms and conditions of the PSA, to sell its facility in Naperville, Illinois, in which the Company&#8217;s headquarters and warehouse space are located, to the Purchaser. &#160;On September 27, 2022, the Company&#8217;s sale of the facility to the Purchaser was completed for a selling price of $5,350,000 in cash, less customary closing costs. The net gain on the transaction was $4,738,394. &#160;A portion of the net proceeds was invested in U.S. Treasury bills and is included in cash and cash equivalents as of December 31, 2022.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">Concurrently with the completion of the sale of the Naperville facility, the Company and the Purchaser entered into a lease agreement pursuant to which the Company leased the office and warehouse portion of the Naperville facility from the Purchaser until December 31, 2022 and the office portion until June 30, 2023. &#160;The monthly rent payable by the Company under the lease was $12,500 for the period from the closing until December 31, 2022 and was $8,500 for the period from January 1, 2023 to June 30, 2023. &#160;For the period from July 1, 2023 through December 31, 2023 the lease was extended on a month to month basis at $8,500 per month. The Company adopted the practical expedient for short-term leases under ASC 842 which allows for leases of 12 months or less to be expensed on a straight-line basis over the lease term without reporting on the balance sheet.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdditionalFinancialInformationDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosures of supplemental information, including descriptions and amounts, related to the balance sheet, income statement, and/or cash flow statement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdditionalFinancialInformationDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>29
<FILENAME>R15.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140570004776512">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>8 - Commitments and Contingencies<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock', window );">8 - Commitments and Contingencies</a></td>
<td class="text"><p style="font:10pt Arial;margin:0"><b>8 - Commitments and Contingencies- </b>The Company recorded rent expense aggregating approximately $128,000 and $91,000 in 2023 and 2022, respectively. &#160;Total future minimum rentals at December 31, 2023 were $112,800.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">The Company is, from time to time involved in litigation, including environmental claims, in the normal course of business. &#160;While it is not possible at this time to establish the ultimate amount of liability with respect to contingent liabilities, including those related to legal proceedings, management is of the opinion that the aggregate amount of any such liabilities, for which provision has not been made, will not have a material adverse effect on the Company's financial position.</p> <p style="font:10pt Arial;margin:0;color:#000000">&#160;</p> <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for commitments and contingencies.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 440<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482648/440-10-50-4<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 450<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//450/tableOfContent<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 954<br> -SubTopic 440<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480327/954-440-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 440<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482648/440-10-50-4<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 440<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//440/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>30
<FILENAME>R16.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140569997847056">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>9 - Risks and Uncertainties for Health Emergencies<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UnusualOrInfrequentItemsDisclosureTextBlock', window );">9 - Risks and Uncertainties for Health Emergencies</a></td>
<td class="text"><p style="font:10pt Arial;margin:0"><b>9. - Risks and Uncertainties for Health Emergencies. &#160;</b>Our global operations expose us to risks associated with pandemics, epidemics, or other public health emergencies. &#160;Such events could lead to restrictions and mandates, and there could be global impacts resulting directly or indirectly from such an event including labor shortages, logistical challenges, and supply chain disruptions such as increases in costs for certain goods and services. &#160;While much of our customer demand and shipments have recovered from the impact of the COVID-19 pandemic, the extent to which any resurgence in the future would impact our business, including the automotive industry upon which we rely for sales, will depend on a number of evolving factors, all of which are highly uncertain and cannot be predicted, and could last for an extended period of time.</p> <p style="font:10pt Arial;margin:0;color:#000000">&#160;</p> <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnusualOrInfrequentItemsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for an event or transaction that is unusual in nature or infrequent in occurrence, or both.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//220-20/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnusualOrInfrequentItemsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>31
<FILENAME>R17.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140570097468416">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>10 - Subsequent Events<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfSubsequentEventsTextBlock', window );">10 - Subsequent Events</a></td>
<td class="text"><p style="font:10pt Arial;margin:0;color:#000000"><b>10 - Subsequent Events- </b>On February 19, 2024, the Board of Directors declared a regular quarterly dividend of $0.10 per share, or $96,613.20, payable March 20, 2024 to shareholders of record on March 5, 2024.</p> <p style="font:10pt Arial;margin:0;color:#000000">&#160;</p> <p style="font:10pt Arial;margin:0;color:#000000">On January 1, 2024, the Company entered into a one-year lease agreement for the Naperville facility that extends through December 31, 2024 at the rate of $9,400 per month.</p> <p style="font:10pt Arial;margin:0;color:#000000">&#160;</p> <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfSubsequentEventsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued. Examples include: the sale of a capital stock issue, purchase of a business, settlement of litigation, losses resulting from fire or flood, losses on receivables, significant realized and unrealized gains and losses that result from changes in quoted market prices of securities, declines in market prices of inventory, changes in authorized or issued debt (SEC), significant foreign exchange rate changes, substantial loans to insiders or affiliates, significant long-term investments, and substantial dividends not in the ordinary course of business.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 855<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483399/855-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfSubsequentEventsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>32
<FILENAME>R18.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140569996782368">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Significant Accounting Policies (Policies)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PolicyTextBlockAbstract', window );"><strong>Policies</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConsolidationPolicyTextBlock', window );">Principles of Consolidation</a></td>
<td class="text"><p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0"><b>Principles of Consolidation-</b>The consolidated financial statements include the accounts of Chicago Rivet &amp; Machine Co. and its wholly-owned subsidiary, H &amp; L Tool Company, Inc. (&#8220;H &amp; L Tool&#8221;). &#160;All significant intercompany accounts and transactions have been eliminated.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRecognitionAccountingPolicyGrossAndNetRevenueDisclosure', window );">Revenue Recognition</a></td>
<td class="text"><p style="font:10pt Arial;margin:0"><b>Revenue Recognition-</b> Revenue is recognized when control of the promised goods or services is transferred to our customers, generally upon shipment of goods or completion of services, in an amount that reflects the consideration we expect to receive in exchange for those goods or services. &#160;Sales taxes we may collect concurrent with revenue producing activities are excluded from revenue. &#160;Revenue is recognized net of certain sales adjustments to arrive at net sales as reported on the statement of income. &#160;These adjustments primarily relate to customer returns and allowances, which vary over time. &#160;The Company records a liability and reduction in sales for estimated product returns based upon historical experience. &#160;If we determine that our obligation under warranty claims is probable and subject to reasonable determination, an estimate of that liability is recorded as an offset against revenue at that time. &#160;As of December 31, 2023 and 2022, reserves for warranty claims were not material. &#160;</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">Cash received by the Company prior to shipment is recorded as unearned revenue. &#160;For certain assembly equipment segment transactions, revenue is recognized based on progress toward completion of the performance obligation using a labor-based measure. &#160;Labor incurred and specific material costs are compared to milestone payments per sales contract. &#160;Based on our experience, this method most accurately reflects the transfer of goods under such contracts. &#160;During 2023, the Company realized $342,328 of revenue related to such contracts, and has $123,172 for the remaining performance obligation under such contracts which the Company expects to recognize as revenue in the first quarter of 2024. Contract assets of $118,301 was recorded relating to these contracts. Shipping and handling fees billed to customers are recognized in net sales, and related costs as cost of sales, when incurred.</p> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskCreditRisk', window );">Credit Risk</a></td>
<td class="text"><p style="font:10pt Arial;margin:0"><b>Credit Risk-</b>The Company extends credit on the basis of terms that are customary within our markets to various companies doing business primarily in the automotive industry. &#160;The Company has a concentration of credit risk primarily within the automotive industry and in the Midwestern United States. &#160;The Company has established an allowance for accounts that may become uncollectible in the future. &#160;This estimated allowance is based primarily on management's evaluation of the financial condition of the customer and historical experience. &#160;The Company monitors its accounts receivable and charges to expense an amount equal to its estimate of potential credit losses. &#160;The Company considers a number of factors in determining its estimates, including the length of time its trade accounts receivable are past due, the Company's previous loss history and the customer's current ability to pay its obligation. &#160;The Company also considers current economic conditions, the economic outlook and industry-specific factors in its evaluation. &#160;Accounts receivable balances are charged off against the allowance when it is determined that the receivable will not be recovered.</p> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsPolicyTextBlock', window );">Cash and Cash Equivalents and Short-Term Investments</a></td>
<td class="text"><p style="font:10pt Arial;margin:0"><b>Cash and Cash Equivalents and Short-Term Investments-</b>The Company considers all highly liquid investments, including U.S. Treasury bills and certificates of deposit, with a maturity of three months or less when purchased to be cash equivalents. &#160;Certificates of deposit and treasury bills with an original maturity of greater than three months but less than one year are separately presented as Short-Term Investments at cost which approximates market value. &#160;The Company maintains cash on deposit in several financial institutions. At times, the account balances may be in excess of Federal Deposit Insurance Corporation insured limits.</p> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueOfFinancialInstrumentsPolicy', window );">Fair Value of Financial Instruments</a></td>
<td class="text"><p style="font:10pt Arial;margin:0"><b>Fair Value of Financial Instruments-</b>The carrying amounts reported in the consolidated balance sheets for cash and cash equivalents, certificates of deposit, treasury bills, accounts receivable and accounts payable approximate fair value based on their short-term nature.</p> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryPolicyTextBlock', window );">Inventories</a></td>
<td class="text"><p style="font:10pt Arial;margin:0"><b>Inventories-</b>Inventories are stated at the lower of cost or net realizable value, cost being determined by the first-in, first-out method. &#160;The value of inventories is reduced for estimated excess and obsolete inventories based on a review of on-hand inventories compared to historical and estimated future sales and usage.</p> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock', window );">Property, Plant and Equipment</a></td>
<td class="text"><p style="font:10pt Arial;margin:0"><b>Property, Plant and Equipment-</b>Properties are stated at cost and are depreciated over their estimated useful lives using the straight-line method for financial reporting purposes. &#160;Accelerated methods of depreciation are used for income tax purposes. &#160;Direct costs related to developing or obtaining software for internal use are capitalized as property and equipment. &#160;Capitalized software costs are amortized over the software&#8217;s useful life when the software is placed in service. &#160;The estimated useful lives by asset category are:</p> <p style="font:10pt Courier New;margin:0">&#160;</p>
<table style="margin:0 auto;border-collapse:collapse;width:277pt">
<tr>
<td style="width:162.55pt" valign="top"><p style="font:10pt Arial;margin:0"><span style="border-bottom:1px solid #000000"><i>Asset Category</i></span></p> </td>
<td style="width:114.45pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:center"><span style="border-bottom:1px solid #000000"><i>Estimated Useful Life</i></span></p> </td></tr>
<tr>
<td style="width:162.55pt" valign="top"><p style="font:10pt Arial;margin:0">Land improvements&#8230;&#8230;&#8230;&#8230;&#8230;..</p> </td>
<td style="width:114.45pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">15 to 40 years</p> </td></tr>
<tr>
<td style="width:162.55pt" valign="top"><p style="font:10pt Arial;margin:0">Buildings and improvements&#8230;&#8230;</p> </td>
<td style="width:114.45pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">10 to 40 years</p> </td></tr>
<tr>
<td style="width:162.55pt" valign="top"><p style="font:10pt Arial;margin:0">Machinery and equipment&#8230;&#8230;&#8230;</p> </td>
<td style="width:114.45pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">5 to 18 years</p> </td></tr>
<tr>
<td style="width:162.55pt" valign="top"><p style="font:10pt Arial;margin:0">Capitalized software costs&#8230;&#8230;&#8230;</p> </td>
<td style="width:114.45pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">3 to 5 years</p> </td></tr>
<tr>
<td style="width:162.55pt" valign="top"><p style="font:10pt Arial;margin:0">Other equipment&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</p> </td>
<td style="width:114.45pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">3 to 10 years</p> </td></tr> </table> <p style="font:10pt Courier New;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">The Company reviews the carrying value of property, plant and equipment for impairment whenever events and circumstances indicate that the carrying value of an asset may not be recoverable from the estimated future cash flows expected to result from its use and eventual disposition. &#160;In cases where undiscounted expected future cash flows are less than the carrying value, an impairment loss is recognized equal to an amount by which the carrying value exceeds the fair value of assets. &#160;There were no triggering events requiring assessment of impairment as of December 31, 2023 and 2022.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">When properties are retired or sold, the related cost and accumulated depreciation are removed from the respective accounts, and any gain or loss on disposition is recognized in current operations. &#160;Maintenance, repairs and minor betterments that do not improve the related asset or extend its useful life are charged to operations as incurred. </p> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxPolicyTextBlock', window );">Income Taxes</a></td>
<td class="text"><p style="font:10pt Arial;margin:0"><b>Income Taxes&#8212;</b>Deferred income taxes are determined under the asset and liability method. &#160;Deferred income taxes arise from temporary differences between the income tax basis of assets and liabilities and their reported amounts in the financial statements. &#160;Deferred taxes are shown on the balance sheet as a net long-term asset or liability.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">The Company applies a comprehensive model for the financial statement recognition, measurement, classification and disclosure of uncertain tax positions.&#160; In the first step of the two-step process, the Company evaluates the tax position for recognition by determining if the weight of available evidence indicates that it is more likely than not that the position will be sustained on audit, including resolution of related appeals or litigation processes, if any. In the second step, the Company measures the tax benefit as the largest amount that is more than 50% likely of being realized upon settlement.&#160; As of December 31, 2023 and 2022, the Company determined that there are no uncertain tax positions with a more than 50% likelihood of being realized upon settlement.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">The Company classifies interest and penalties related to unrecognized tax benefits as a component of income tax expense. &#160;There were no such expenses in 2023 or 2022.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">The Company&#8217;s federal income tax returns for the 2020 through 2022 tax years are subject to examination by the Internal Revenue Service (&#8220;IRS&#8221;). &#160;While it may be possible that a reduction could occur with respect to the Company&#8217;s unrecognized tax benefits as an outcome of an IRS examination, management does not anticipate any adjustments that would result in a material change to the results of operations or financial condition of the Company.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">No statutes have been extended on any of the Company&#8217;s federal income tax filings. The statute of limitations on the Company&#8217;s 2020, 2021 and 2022 federal income tax returns will expire on September 15, 2024, 2025 and 2026, respectively.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">The Company&#8217;s state income tax returns for the 2020 through 2022 tax years are subject to examination by various state authorities with the latest closing period on October 31, 2026. &#160;The Company is currently not under examination by any state authority for income tax purposes and no statutes for state income tax filings have been extended.</p> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingPolicyPolicyTextBlock', window );">Segment Information</a></td>
<td class="text"><p style="font:10pt Arial;margin:0"><b>Segment Information-</b>The Company reports segment information based on the internal structure and reporting of the Company&#8217;s operations.</p> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerSharePolicyTextBlock', window );">Net Income Per Share</a></td>
<td class="text"><p style="font:10pt Arial;margin:0"><b>Net Income Per Share-</b> Net income per share of common stock is based on the weighted average number of shares outstanding of 966,132 in 2023 and 2022.</p> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UseOfEstimates', window );">Use of Estimates</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin:0"><span style="font-family:Arial"><b>Use of Estimates-</b>The preparation of financial statements in conformity with generally accepted accounting principles requires management to make estimates and assumptions that affect the amounts reported in the consolidated financial statements and the accompanying notes. &#160;Significant items subject to estimates and assumptions include depreciable lives, deferred taxes and valuation allowances for accounts receivable and inventory obsolescence. &#160;Actual results could differ from those estimates.</span></p> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock', window );">Recent Accounting Pronouncements</a></td>
<td class="text"><p style="font:10pt Arial;margin:0"><b>Recent Accounting Pronouncements-</b> In June 2016, the FASB issued ASU No. 2016-13, Financial Instruments&#160;- Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments and in November 2018 issued an amendment, ASU 2018-19, Codification Improvements to Topic 326, Financial Instruments &#8211;&#160;Credit Losses. &#160;ASU 2016-13 amends the impairment model by requiring entities to use a forward-looking approach based on expected losses rather than incurred losses to estimate credit losses on certain types of financial instruments, including trade receivables. This may result in the earlier recognition of allowances for losses. ASU 2016-13 and ASU 2018-19 should be applied on either a prospective transition or modified-retrospective approach depending on the subtopic. &#160;ASU 2016-13 is effective for annual periods beginning after December 15, 2022, including interim periods within those fiscal years, with early adoption permitted. The Company adopted this ASU on January 1, 2023. &#160;The impact of the adoption on our consolidated financial statements was not material and primarily resulted in new/enhanced disclosures only.</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">In November 2023, the FASB issued ASU No. 2023-07, Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures, which requires a public entity to disclose its significant segment expense categories and amounts for each reportable segment. &#160;The new guidance is effective for fiscal years beginning after December 15, 2023, and interim periods in fiscal years beginning after December 15, 2024. &#160;The Company is evaluating the impact of this ASU. &#160;</p> <p style="font:10pt Arial;margin:0">&#160;</p> <p style="font:10pt Arial;margin:0">In December 2023, the FASB issued ASU No. 2023-09, Income Taxes (Topic 740): Improvements to Income Tax Disclosures, to enhance the transparency and decision usefulness of income tax disclosures providing investors with information to better assess how an entity&#8217;s operations and related tax risks and tax planning and operational opportunities affect its tax rate and prospects for future cash flows. The new guidance is effective for annual periods beginning after December 31, 2024. &#160;The Company is evaluating the impact that it will have on our consolidated financial statements and disclosures.</p> <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskCreditRisk">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for credit risk.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 825<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480981/942-825-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskCreditRisk</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConsolidationPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483426/235-10-50-4<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConsolidationPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerSharePolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for computing basic and diluted earnings or loss per share for each class of common stock and participating security. Addresses all significant policy factors, including any antidilutive items that have been excluded from the computation and takes into account stock dividends, splits and reverse splits that occur after the balance sheet date of the latest reporting period but before the issuance of the financial statements.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerSharePolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueOfFinancialInstrumentsPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for determining the fair value of financial instruments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 60<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 820<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482053/820-10-60-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 825<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueOfFinancialInstrumentsPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for income taxes, which may include its accounting policies for recognizing and measuring deferred tax assets and liabilities and related valuation allowances, recognizing investment tax credits, operating loss carryforwards, tax credit carryforwards, and other carryforwards, methodologies for determining its effective income tax rate and the characterization of interest and penalties in the financial statements.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(h)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479886/946-10-S99-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 17<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-17<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-9<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482525/740-10-45-25<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482525/740-10-45-28<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-19<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-20<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483489/210-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483426/235-10-50-4<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 912<br> -SubTopic 330<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482105/912-330-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 330<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//330/tableOfContent<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 330<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483080/330-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 330<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483080/330-10-50-4<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 6<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 270<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482989/270-10-45-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PolicyTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PolicyTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480321/958-360-50-6<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480321/958-360-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueRecognitionAccountingPolicyGrossAndNetRevenueDisclosure">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for recognizing revenue from a transaction on a gross or net basis.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRecognitionAccountingPolicyGrossAndNetRevenueDisclosure</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for segment reporting.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 47<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482785/280-10-55-47<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 29<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-29<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 29<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-29<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 29<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-29<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 29<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-29<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 29<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-29<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 29<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-29<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UseOfEstimates">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-9<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-4<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-12<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UseOfEstimates</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>33
<FILENAME>R19.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140569998603328">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>2 - Balance Sheet Details: Inventory (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TableTextBlockSupplementAbstract', window );"><strong>Tables/Schedules</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfInventoryCurrentTableTextBlock', window );">Inventory</a></td>
<td class="text"><p style="font:10pt Courier New;margin:0">&#160;</p>
<table style="border-collapse:collapse">
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="bottom"></td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center"><b>December 31,</b></p> <p style="font:10pt Arial;margin:0;text-align:center"><b>2023</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center">December 31,</p> <p style="font:10pt Arial;margin:0;text-align:center">2022</p> </td></tr>
<tr>
<td style="width:216pt" valign="top"><p style="font:10pt Arial;margin:0">Inventories:</p> </td>
<td style="width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="bottom"><p style="font:10pt Arial;margin:0">Raw materials</p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>$&#160;2,878,869</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">$&#160;4,460,071</p> </td></tr>
<tr>
<td style="width:216pt" valign="bottom"><p style="font:10pt Arial;margin:0">Work in process</p> </td>
<td style="width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>2,374,795</b></p> </td>
<td style="width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">2,747,427</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="bottom"><p style="font:10pt Arial;margin:0">Finished goods</p> </td>
<td style="background-color:#CEE7FF;width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>2,614,989</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">2,534,732</p> </td></tr>
<tr>
<td style="width:216pt" valign="bottom"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="width:90pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>7,868,653</b></p> </td>
<td style="width:90pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">9,742,230</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="bottom"><p style="font:10pt Arial;margin:0">Valuation reserves</p> </td>
<td style="background-color:#CEE7FF;width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>(541,000)</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">(621,000)</p> </td></tr>
<tr>
<td style="width:216pt" valign="top"></td>
<td style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>$&#160;7,327,653</b></p> </td>
<td style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">$&#160;9,121,230</p> </td></tr> </table> <p style="font:10pt Courier New;margin:0">&#160;</p> <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfInventoryCurrentTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483489/210-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfInventoryCurrentTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlockSupplementAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlockSupplementAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>34
<FILENAME>R20.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140570005258336">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>2 - Balance Sheet Details: Property, Plant and Equipment (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TableTextBlockSupplementAbstract', window );"><strong>Tables/Schedules</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentTextBlock', window );">Property, Plant and Equipment</a></td>
<td class="text"><p style="font:10pt Courier New;margin:0">&#160;</p>
<table style="border-collapse:collapse">
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="bottom"></td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center"><b>December 31,</b></p> <p style="font:10pt Arial;margin:0;text-align:center"><b>2023</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center">December 31,</p> <p style="font:10pt Arial;margin:0;text-align:center">2022</p> </td></tr>
<tr style="height:13.95pt">
<td style="width:216pt" valign="bottom"><p style="font:10pt Arial;margin:0">Property, Plant and Equipment, net:</p> </td>
<td style="width:90pt" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="width:90pt" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="bottom"><p style="font:10pt Arial;margin:0">Land and improvements</p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>$&#160;1,510,513</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">$&#160;1,510,513</p> </td></tr>
<tr>
<td style="width:216pt" valign="bottom"><p style="font:10pt Arial;margin:0">Buildings and improvements</p> </td>
<td style="width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>6,835,619</b></p> </td>
<td style="width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">6,818,066</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="bottom"><p style="font:10pt Arial;margin:0">Machinery and equipment</p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>37,019,453</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">35,982,194</p> </td></tr>
<tr>
<td style="width:216pt" valign="bottom"><p style="font:10pt Arial;margin:0">Capitalized software and other</p> </td>
<td style="width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>933,449</b></p> </td>
<td style="width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">1,038,768</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="top"><p style="font:13pt Arial Narrow;margin:0">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:90pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>46,299,034</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">45,349,541</p> </td></tr>
<tr>
<td style="width:216pt" valign="bottom"><p style="font:10pt Arial;margin:0">Accumulated depreciation</p> </td>
<td style="width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>(34,633,952)</b></p> </td>
<td style="width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">(33,487,748)</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="top"></td>
<td style="background-color:#CEE7FF;width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>$&#160;11,665,082</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">$&#160;11,861,793</p> </td></tr> </table> <p style="font:10pt Courier New;margin:0">&#160;</p> <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlockSupplementAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlockSupplementAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>35
<FILENAME>R21.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140570004982416">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>2 - Balance Sheet Details: Other Accrued Expenses (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TableTextBlockSupplementAbstract', window );"><strong>Tables/Schedules</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock', window );">Other Accrued Expenses</a></td>
<td class="text"><p style="font:10pt Courier New;margin:0">&#160;</p>
<table style="border-collapse:collapse">
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="bottom"></td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center"><b>December 31,</b></p> <p style="font:10pt Arial;margin:0;text-align:center"><b>2023</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center">December 31,</p> <p style="font:10pt Arial;margin:0;text-align:center">2022</p> </td></tr>
<tr>
<td style="width:216pt" valign="top"><p style="font:10pt Arial;margin:0">Other Accrued Expenses:</p> </td>
<td style="width:90pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:90pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="top"><p style="font:10pt Arial;margin:0">Profit sharing plan contribution</p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;0</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">$&#160;170,000</p> </td></tr>
<tr>
<td style="width:216pt" valign="top"><p style="font:10pt Arial;margin:0">Property taxes</p> </td>
<td style="width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>20,342</b></p> </td>
<td style="width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">41,497</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="top"><p style="font:10pt Arial;margin:0">All other items </p> </td>
<td style="background-color:#CEE7FF;width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>109,621</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">116,464</p> </td></tr>
<tr>
<td style="width:216pt" valign="top"></td>
<td style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>$&#160;129,963</b></p> </td>
<td style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">$&#160;327,961</p> </td></tr> </table> <p style="font:10pt Courier New;margin:0">&#160;</p> <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the components of accrued liabilities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlockSupplementAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlockSupplementAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>36
<FILENAME>R22.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140570005258336">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>2 - Balance Sheet Details: Schedule of Valuation and Qualifying Accounts (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TableTextBlockSupplementAbstract', window );"><strong>Tables/Schedules</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock', window );">Schedule of Valuation and Qualifying Accounts</a></td>
<td class="text"><p style="font:10pt Courier New;margin:0">&#160;</p>
<table style="border-collapse:collapse">
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center"><b>December 31,</b></p> <p style="font:10pt Arial;margin:0;text-align:center"><b>2023</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center">December 31,</p> <p style="font:10pt Arial;margin:0;text-align:center">2022</p> </td></tr>
<tr>
<td style="width:216pt" valign="top"><p style="font:10pt Arial;margin:0">Allowance for Credit Losses:</p> </td>
<td style="width:90pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:90pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="top"><p style="font:10pt Arial;margin:0"> &#160;Balance at beginning of year</p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>$ 160,000</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">$ 170,000</p> </td></tr>
<tr>
<td style="width:216pt" valign="top"><p style="font:10pt Arial;margin:0"> &#160;Charges to statement of operations</p> </td>
<td style="width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b> 13,804</b></p> </td>
<td style="width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">(1,660)</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="top"><p style="font:10pt Arial;margin:0"> &#160;Write-offs, net of recoveries</p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b> (13,804)</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">(8,340)</p> </td></tr>
<tr>
<td style="width:216pt" valign="top"><p style="font:10pt Arial;margin:0"> &#160;Balance at end of year</p> </td>
<td style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>$ &#160;160,000</b></p> </td>
<td style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">$ 160,000</p> </td></tr> </table> <p style="font:10pt Courier New;margin:0">&#160;</p>
<table style="border-collapse:collapse">
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center"><b>December 31,</b></p> <p style="font:10pt Arial;margin:0;text-align:center"><b>2023</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center">December 31,</p> <p style="font:10pt Arial;margin:0;text-align:center">2022</p> </td></tr>
<tr>
<td style="width:216pt" valign="top"><p style="font:10pt Arial;margin:0">Inventory Valuation Reserves:</p> </td>
<td style="width:90pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:90pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="top"><p style="font:10pt Arial;margin:0"> &#160;Balance at beginning of year</p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>$ &#160; 621,000</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">$ &#160; 612,000</p> </td></tr>
<tr>
<td style="width:216pt" valign="top"><p style="font:10pt Arial;margin:0"> &#160;Charges to statement of operations</p> </td>
<td style="width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>143,233</b></p> </td>
<td style="width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">17,070</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="top"><p style="font:10pt Arial;margin:0"> &#160;Write-offs</p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b> (223,233)</b></p> </td>
<td style="background-color:#CEE7FF;width:90pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"> (8,070)</p> </td></tr>
<tr>
<td style="width:216pt" valign="top"><p style="font:10pt Arial;margin:0"> &#160;Balance at end of year</p> </td>
<td style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>$ &#160; 541,000</b></p> </td>
<td style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">$ &#160;&#160;621,000</p> </td></tr> </table> <p style="font:10pt Courier New;margin:0">&#160;</p> <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for valuation and qualifying accounts and reserves.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Regulation S-X (SX)<br> -Number 210<br> -Section 12<br> -Subsection 09<br> -Publisher SEC<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 4<br> -Subparagraph (SX 210.12-09)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>srt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlockSupplementAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlockSupplementAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>37
<FILENAME>R23.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140569997847056">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>3 - Income Taxes: Provision for Income Tax Expense (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TableTextBlockSupplementAbstract', window );"><strong>Tables/Schedules</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock', window );">Provision for Income Tax Expense</a></td>
<td class="text"><p style="font:10pt Arial;margin:0">&#160;</p>
<table style="border-collapse:collapse">
<tr>
<td style="background-color:#CEE7FF;width:151.9pt" valign="bottom"></td>
<td style="background-color:#CEE7FF;width:72pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center"><span style="border-bottom:1px solid #000000"><b>20</b><b>23</b></span></p> </td>
<td style="background-color:#CEE7FF;width:72pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2022</span></p> </td></tr>
<tr>
<td style="width:151.9pt" valign="bottom"><p style="font:10pt Arial;margin:0">Current:</p> </td>
<td style="width:72pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:72pt" valign="top"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:151.9pt" valign="bottom"><p style="font:10pt Arial;margin:0">Federal</p> </td>
<td style="background-color:#CEE7FF;width:72pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>$ &#160;&#160;&#160;&#160;&#160;&#160;(1,569)</b></p> </td>
<td style="background-color:#CEE7FF;width:72pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">$ &#160;&#160;&#160;723,000</p> </td></tr>
<tr>
<td style="width:151.9pt" valign="bottom"><p style="font:10pt Arial;margin:0">State</p> </td>
<td style="width:72pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>(52,832)</b></p> </td>
<td style="width:72pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">40,000</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:151.9pt" valign="bottom"><p style="font:10pt Arial;margin:0">Deferred</p> </td>
<td style="background-color:#CEE7FF;width:72pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>(1,273,027)</b></p> </td>
<td style="background-color:#CEE7FF;width:72pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">22,000</p> </td></tr>
<tr style="height:7.2pt">
<td style="width:151.9pt" valign="top"></td>
<td style="width:72pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>$ (1,327,428)</b></p> </td>
<td style="width:72pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">$ &#160;&#160; 785,000</p> </td></tr> </table> <p style="font:10pt Courier New;margin:0">&#160;</p> <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Paragraph 9<br> -Section 50<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlockSupplementAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlockSupplementAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>38
<FILENAME>R24.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140570097468416">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>3 - Income Taxes: Schedule of Effective Income Tax Rate Reconciliation (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TableTextBlockSupplementAbstract', window );"><strong>Tables/Schedules</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock', window );">Schedule of Effective Income Tax Rate Reconciliation</a></td>
<td class="text"><p style="font:10pt Courier New;margin:0">&#160;</p>
<table style="border-collapse:collapse">
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td colspan="3" style="background-color:#CEE7FF;width:118.35pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center"><b>2023</b></p> </td>
<td style="background-color:#CEE7FF;width:11.1pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td colspan="3" style="background-color:#CEE7FF;width:120.05pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center">2022</p> </td></tr>
<tr>
<td style="width:216pt" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="width:72pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center"><b>Amount</b></p> </td>
<td style="width:11.8pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center">&#160;</p> </td>
<td style="width:34.55pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center"><b>%</b></p> </td>
<td style="width:11.1pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center">&#160;</p> </td>
<td style="width:72pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center">Amount</p> </td>
<td style="width:11.1pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center">&#160;</p> </td>
<td style="width:36.95pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center">%</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="bottom"><p style="font:10pt Arial;margin:0">Expected tax at U.S. statutory rate</p> </td>
<td style="background-color:#CEE7FF;width:72pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;color:#000000;text-align:right"><b>$ (1,203,000)</b></p> </td>
<td style="background-color:#CEE7FF;width:11.8pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:34.55pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>(21.0)</b></p> </td>
<td style="background-color:#CEE7FF;width:11.1pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:72pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">$ &#160;&#160;&#160; 767,000</p> </td>
<td style="background-color:#CEE7FF;width:11.1pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:36.95pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">21.0</p> </td></tr>
<tr>
<td style="width:216pt" valign="bottom"><p style="font:10pt Arial;margin:0">Permanent differences</p> </td>
<td style="width:72pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b> (3,428)</b></p> </td>
<td style="width:11.8pt" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="width:34.55pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>(0.1)</b></p> </td>
<td style="width:11.1pt" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="width:72pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"> (14,000)</p> </td>
<td style="width:11.1pt" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="width:36.95pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"> (0.4)</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:216pt" valign="bottom"><p style="font:10pt Arial;margin:0">State taxes, net of federal benefit</p> </td>
<td style="background-color:#CEE7FF;width:72pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>(121,000)</b></p> </td>
<td style="background-color:#CEE7FF;width:11.8pt" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:34.55pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>(2.1)</b></p> </td>
<td style="background-color:#CEE7FF;width:11.1pt" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:72pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">32,000</p> </td>
<td style="background-color:#CEE7FF;width:11.1pt" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:36.95pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">0.9</p> </td></tr>
<tr>
<td style="width:216pt" valign="bottom"><p style="font:10pt Arial;margin:0">Income tax expense (benefit)</p> </td>
<td style="width:72pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>$ (1,327,428)</b></p> </td>
<td style="width:11.8pt" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="width:34.55pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>(23.2)</b></p> </td>
<td style="width:11.1pt" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="width:72pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">$ &#160;&#160; 785,000</p> </td>
<td style="width:11.1pt" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="width:36.95pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">21.5</p> </td></tr> </table> <p style="font:10pt Courier New;margin:0">&#160;</p> <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Paragraph 12<br> -Section 50<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlockSupplementAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlockSupplementAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>39
<FILENAME>R25.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140570004982416">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>3 - Income Taxes: Schedule of Deferred Tax Assets and Liabilities (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TableTextBlockSupplementAbstract', window );"><strong>Tables/Schedules</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock', window );">Schedule of Deferred Tax Assets and Liabilities</a></td>
<td class="text"><p style="font:10pt Courier New;margin:0">&#160;</p>
<table style="border-collapse:collapse">
<tr style="height:18pt">
<td style="background-color:#CADFF9" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center">&#160;</p> </td>
<td style="background-color:#CADFF9" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center"><span style="border-bottom:1px solid #000000"><b>20</b><b>23</b></span></p> </td>
<td style="background-color:#CADFF9" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center">&#160;</p> </td>
<td style="background-color:#CADFF9" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2022</span></p> </td></tr>
<tr>
<td valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td valign="top"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="top"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="top"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CADFF9" valign="top"><p style="font:10pt Arial;margin:0">Depreciation and amortization</p> </td>
<td style="background-color:#CADFF9" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>$&#160;(1,254,472)&#160;&#160;</b></p> </td>
<td style="background-color:#CADFF9" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CADFF9" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">$&#160;(1,216,451)&#160;&#160;</p> </td></tr>
<tr>
<td valign="top"><p style="font:10pt Arial;margin:0">Inventory</p> </td>
<td valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>157,307&#160;&#160;&#160;</b></p> </td>
<td valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">157,687&#160;&#160;&#160;</p> </td></tr>
<tr>
<td style="background-color:#CADFF9" valign="top"><p style="font:10pt Arial;margin:0">Accrued vacation</p> </td>
<td style="background-color:#CADFF9" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>66,240&#160;&#160;&#160;</b></p> </td>
<td style="background-color:#CADFF9" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CADFF9" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">71,923&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign="top"><p style="font:10pt Arial;margin:0">Allowance for credit losses</p> </td>
<td valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>33,600&#160;&#160;&#160;</b></p> </td>
<td valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">38,250&#160;&#160;&#160;</p> </td></tr>
<tr>
<td style="background-color:#CADFF9" valign="top"><p style="font:10pt Arial;margin:0">Net operating losses</p> </td>
<td style="background-color:#CADFF9" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>1,262,621&#160;&#160;&#160;</b></p> </td>
<td style="background-color:#CADFF9" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CADFF9" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">0&#160;&#160;&#160;</p> </td></tr>
<tr>
<td valign="top"><p style="font:10pt Arial;margin:0">Other, net &#160;</p> </td>
<td style="border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>59,647&#160;&#160;&#160;</b></p> </td>
<td valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">507&#160;&#160;&#160;</p> </td></tr>
<tr>
<td style="background-color:#CADFF9" valign="top"><p style="font:13pt Arial Narrow;margin:0;color:#339966">&#160;</p> </td>
<td style="background-color:#CADFF9;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>$ &#160;&#160;&#160;&#160;&#160;324,943&#160;&#160;</b></p> </td>
<td style="background-color:#CADFF9" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CADFF9;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">$&#160;(948,084)&#160;&#160;</p> </td></tr> </table> <p style="font:10pt Arial;margin:0">&#160;</p> <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Paragraph 2<br> -Section 50<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlockSupplementAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlockSupplementAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>40
<FILENAME>R26.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140570005021856">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>5 - Other Income: Other Income (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TableTextBlockSupplementAbstract', window );"><strong>Tables/Schedules</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestAndOtherIncomeTableTextBlock', window );">Other Income</a></td>
<td class="text"><p style="font:10pt Arial;margin:0">&#160;</p>
<table style="border-collapse:collapse">
<tr>
<td style="background-color:#CEE7FF;width:159.15pt" valign="bottom"></td>
<td style="background-color:#CEE7FF;width:63.65pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center"><span style="border-bottom:1px solid #000000"><b>20</b><b>23</b></span></p> </td>
<td style="background-color:#CEE7FF;width:11.8pt" valign="top"><p style="font:10pt Arial;margin:0">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:68.55pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2022</span></p> </td></tr>
<tr style="height:14.4pt">
<td style="width:159.15pt" valign="bottom"><p style="font:10pt Arial;margin:0">Interest income</p> </td>
<td style="width:63.65pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>$&#160;103,230&#160;&#160;&#160;</b></p> </td>
<td style="width:11.8pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:68.55pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">$&#160; 55,333&#160;&#160;&#160;</p> </td></tr>
<tr>
<td style="background-color:#CEE7FF;width:159.15pt" valign="bottom"><p style="font:10pt Arial;margin:0">Other</p> </td>
<td style="background-color:#CEE7FF;width:63.65pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>5,004&#160;&#160;&#160;</b></p> </td>
<td style="background-color:#CEE7FF;width:11.8pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CEE7FF;width:68.55pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">36,100&#160;&#160;&#160;</p> </td></tr>
<tr>
<td style="width:159.15pt" valign="bottom"></td>
<td style="width:63.65pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right"><b>$&#160;108,234&#160;&#160;&#160;</b></p> </td>
<td style="width:11.8pt" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:68.55pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"><p style="font:10pt Arial;margin:0;text-align:right">$&#160;91,433&#160;&#160;&#160;</p> </td></tr> </table> <p style="font:10pt Courier New;margin:0">&#160;</p> <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestAndOtherIncomeTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of interest income and income classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestAndOtherIncomeTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlockSupplementAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlockSupplementAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>41
<FILENAME>R27.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140570005272144">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>6 - Segment Information: Schedule of Segment Reporting Information (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TableTextBlockSupplementAbstract', window );"><strong>Tables/Schedules</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock', window );">Schedule of Segment Reporting Information</a></td>
<td class="text"><p style="font:10pt Courier New;margin:0">&#160;</p>
<table style="border-collapse:collapse;margin-left:-3.6pt">
<tr>
<td style="background-color:#CADFF9;width:179.1pt" valign="bottom"></td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:center"><span style="border-bottom:1px solid #000000"><b>Fastener</b></span></p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:center"><span style="border-bottom:1px solid #000000"><b>Assembly Equipment</b></span></p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:center"><span style="border-bottom:1px solid #000000"><b>Other</b></span></p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:center"><span style="border-bottom:1px solid #000000"><b>Consolidated</b></span></p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0"><b>Year Ended December 31, 2023:</b></p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CADFF9;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0;color:#E36C0A"><span style="color:#000000">Net Sales&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</span></p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">$ &#160;&#160;&#160;&#160;&#160;28,161,362</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">$ &#160;&#160;&#160;&#160;&#160;3,346,360</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;0</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;31,507,722</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CADFF9;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">Depreciation&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;...</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">1,145,620</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">122,928</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">6,530</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">1,275,078</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CADFF9;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">Segment operating profit (loss) &#160;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">(3,747,744)</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">549,156</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;margin-left:20.25pt;text-align:right">0 </p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">(3,198,588)</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">Selling and administrative expenses&#8230;&#8230;&#8230;&#8230;..</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">(2,638,658)</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">(2,638,658)</p> </td></tr>
<tr>
<td style="background-color:#CADFF9;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">Other income&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;..</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">108,234</p> </td>
<td style="background-color:#CADFF9;width:75.6pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">108,234</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">Loss before income taxes&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">(5,729,012)</p> </td></tr>
<tr>
<td style="background-color:#CADFF9;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">&#160;</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CADFF9;width:75.6pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">Capital expenditures&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;.</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">1,041,896</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">5,235</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">31,236</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">1,078,367</p> </td></tr>
<tr>
<td style="background-color:#CADFF9;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">&#160;</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">Segment assets:</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CADFF9;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0"> &#160;&#160;Accounts receivable, net&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;...</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">3,994,372</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">281,510</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">4,275,882</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0"> &#160;&#160;Contract assets&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;...</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">118,301</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">118,301</p> </td></tr>
<tr>
<td style="background-color:#CADFF9;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0"> &#160;&#160;Inventories, net&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;...</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">5,714,826</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">1,612,827</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">7,327,653</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0"> &#160;&#160;Property, plant and equipment, net&#8230;&#8230;&#8230;&#8230;.</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">9,458,605</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">1,185,804</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">1,020,673</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">11,665,082</p> </td></tr>
<tr>
<td style="background-color:#CADFF9;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0"> &#160;&#160;Other assets&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">4,443,987</p> </td>
<td style="background-color:#CADFF9;width:75.6pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">4,443,987</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">27,830,905</p> </td></tr>
<tr>
<td style="background-color:#CADFF9;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">&#160;</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CADFF9;width:75.6pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">Year Ended December 31, 2022:</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CADFF9;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0;color:#E36C0A"><span style="color:#000000">Net Sales&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</span></p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">$ &#160;&#160;&#160;&#160;&#160;30,291,547</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">$ &#160;&#160;&#160;&#160;&#160;3,354,486</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;0</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;33,646,033</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CADFF9;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">Depreciation&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;...</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">1,129,151</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">133,615</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">17,104</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">1,279,870</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CADFF9;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">Segment operating profit&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">505,751</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">413,995</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;margin-left:20.25pt;text-align:right">0 </p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">919,746</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">Selling and administrative expenses&#8230;&#8230;&#8230;&#8230;..</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">(2,096,944)</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">(2,096,944)</p> </td></tr>
<tr>
<td style="background-color:#CADFF9;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">Gain on sale of property &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">4,738,394</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">4,738,394</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">Other income&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;..</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">91,433</p> </td>
<td style="width:75.6pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">91,433</p> </td></tr>
<tr>
<td style="background-color:#CADFF9;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">Income before income taxes&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CADFF9;width:75.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">3,652,629</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CADFF9;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">Capital expenditures&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;.</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">868,654</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">3,207</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">98,082</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">969,943</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="background-color:#CADFF9;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">Segment assets:</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0"> &#160;&#160;Accounts receivable, net&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;...</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">4,683,620</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">291,517</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">4,975,137</p> </td></tr>
<tr>
<td style="background-color:#CADFF9;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0"> &#160;&#160;Inventories, net&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;...</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">7,766,703</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">1,354,527</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">9,121,230</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0"> &#160;&#160;Property, plant and equipment, net&#8230;&#8230;&#8230;&#8230;.</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">9,562,329</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">1,303,497</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">995,967</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">11,861,793</p> </td></tr>
<tr>
<td style="background-color:#CADFF9;width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0"> &#160;&#160;Other assets&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">0</p> </td>
<td style="background-color:#CADFF9;width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">7,667,967</p> </td>
<td style="background-color:#CADFF9;width:75.6pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">7,667,967</p> </td></tr>
<tr>
<td style="width:179.1pt" valign="bottom"><p style="font:8pt Arial;margin:0">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">&#160;</p> </td>
<td style="width:75.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:8pt Arial;margin:0;text-align:right">33,626,127</p> </td></tr> </table> <p style="font:10pt Arial;margin:0">&#160;</p> <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the profit or loss and total assets for each reportable segment. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 25<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-25<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlockSupplementAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlockSupplementAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>42
<FILENAME>R28.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140569996948416">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Contracts with Customers Revenue Recognized (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TextBlockAbstract', window );"><strong>Details</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityRevenueRecognized', window );">Revenue Recognized, Performance Obligation</a></td>
<td class="nump">$ 342,328<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligation', window );">Revenue, Remaining Performance Obligation</a></td>
<td class="nump">123,172<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerAssetNetCurrent', window );">Contract Assets</a></td>
<td class="nump">$ 118,301<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerAssetNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479837/606-10-45-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479837/606-10-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerAssetNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerLiabilityRevenueRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of revenue recognized that was previously included in balance of obligation to transfer good or service to customer for which consideration from customer has been received or is due.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiabilityRevenueRecognized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueRemainingPerformanceObligation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of transaction price allocated to performance obligation that has not been recognized as revenue.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 606<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRemainingPerformanceObligation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>43
<FILENAME>R29.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140570000755536">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Estimated Useful Lives by Asset Category (Details)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LandImprovementsMember', window );">Land Improvements | Minimum</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property, Plant and Equipment, Useful Life</a></td>
<td class="text">15 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LandImprovementsMember', window );">Land Improvements | Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property, Plant and Equipment, Useful Life</a></td>
<td class="text">40 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingImprovementsMember', window );">Building Improvements | Minimum</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property, Plant and Equipment, Useful Life</a></td>
<td class="text">10 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingImprovementsMember', window );">Building Improvements | Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property, Plant and Equipment, Useful Life</a></td>
<td class="text">40 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember', window );">Machinery and Equipment | Minimum</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property, Plant and Equipment, Useful Life</a></td>
<td class="text">5 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember', window );">Machinery and Equipment | Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property, Plant and Equipment, Useful Life</a></td>
<td class="text">18 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_SoftwareAndSoftwareDevelopmentCostsMember', window );">Software and Software Development Costs | Minimum</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property, Plant and Equipment, Useful Life</a></td>
<td class="text">3 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_SoftwareAndSoftwareDevelopmentCostsMember', window );">Software and Software Development Costs | Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property, Plant and Equipment, Useful Life</a></td>
<td class="text">5 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_OtherCapitalizedPropertyPlantAndEquipmentMember', window );">Other Capitalized Property Plant and Equipment | Minimum</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property, Plant and Equipment, Useful Life</a></td>
<td class="text">3 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_OtherCapitalizedPropertyPlantAndEquipmentMember', window );">Other Capitalized Property Plant and Equipment | Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property, Plant and Equipment, Useful Life</a></td>
<td class="text">10 years<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Useful life of long lived, physical assets used in the normal conduct of business and not intended for resale, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Examples include, but not limited to, land, buildings, machinery and equipment, office equipment, furniture and fixtures, and computer equipment.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentUsefulLife</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LandImprovementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LandImprovementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingImprovementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingImprovementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_SoftwareAndSoftwareDevelopmentCostsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_SoftwareAndSoftwareDevelopmentCostsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_OtherCapitalizedPropertyPlantAndEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_OtherCapitalizedPropertyPlantAndEquipmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>44
<FILENAME>R30.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140570097444352">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Uncertain Tax Positions and Unrecognized Tax Benefits (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TextBlockAbstract', window );"><strong>Details</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilityForUncertainTaxPositionsCurrent', window );">Liability for Uncertain Tax Positions</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense', window );">Unrecognized Tax Benefits</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilityForUncertainTaxPositionsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount recognized for uncertainty in income taxes classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilityForUncertainTaxPositionsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expense for interest on an underpayment of income taxes and penalties related to a tax position claimed or expected to be claimed in the tax return.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-15<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>45
<FILENAME>R31.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140569996792336">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Weighted Avg. Number of Shares Outstanding (Details) - shares<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TextBlockAbstract', window );"><strong>Details</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Basic</a></td>
<td class="nump">966,132<span></span>
</td>
<td class="nump">966,132<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-10<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>46
<FILENAME>R32.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140570000743168">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>2 - Balance Sheet Details: Inventory (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TextBlockAbstract', window );"><strong>Details</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryRawMaterials', window );">Raw materials</a></td>
<td class="nump">$ 2,878,869<span></span>
</td>
<td class="nump">$ 4,460,071<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryWorkInProcess', window );">Work in process</a></td>
<td class="nump">2,374,795<span></span>
</td>
<td class="nump">2,747,427<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryFinishedGoods', window );">Finished goods</a></td>
<td class="nump">2,614,989<span></span>
</td>
<td class="nump">2,534,732<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryValuationReserves', window );">Valuation reserves</a></td>
<td class="num">(541,000)<span></span>
</td>
<td class="num">(621,000)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">Inventories, net</a></td>
<td class="nump">$ 7,327,653<span></span>
</td>
<td class="nump">$ 9,121,230<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryFinishedGoods">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before valuation and LIFO reserves of completed merchandise or goods expected to be sold within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryFinishedGoods</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryRawMaterials">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before valuation and LIFO reserves of raw materials expected to be sold, or consumed within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryRawMaterials</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryValuationReserves">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of valuation reserve for inventory.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB TOPIC 5.BB)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480581/330-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryValuationReserves</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryWorkInProcess">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryWorkInProcess</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>47
<FILENAME>R33.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140570004890448">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>2 - Balance Sheet Details: Property, Plant and Equipment (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TextBlockAbstract', window );"><strong>Details</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LandAndLandImprovements', window );">Land and improvements</a></td>
<td class="nump">$ 1,510,513<span></span>
</td>
<td class="nump">$ 1,510,513<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BuildingsAndImprovementsGross', window );">Buildings and improvements</a></td>
<td class="nump">6,835,619<span></span>
</td>
<td class="nump">6,818,066<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MachineryAndEquipmentGross', window );">Machinery and equipment</a></td>
<td class="nump">37,019,453<span></span>
</td>
<td class="nump">35,982,194<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentOther', window );">Capitalized software and other</a></td>
<td class="nump">933,449<span></span>
</td>
<td class="nump">1,038,768<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment', window );">Less: Accumulated Depreciation</a></td>
<td class="num">(34,633,952)<span></span>
</td>
<td class="num">(33,487,748)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentOtherNet', window );">Property, Plant and Equipment, Other, Net</a></td>
<td class="nump">$ 11,665,082<span></span>
</td>
<td class="nump">$ 11,861,793<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(14))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BuildingsAndImprovementsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BuildingsAndImprovementsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LandAndLandImprovements">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before accumulated depreciation and depletion of real estate held for productive use and additions or improvements to real estate held for productive use, examples include, but are not limited to, walkways, driveways, fences, and parking lots. Excludes land held for sale.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(13))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LandAndLandImprovements</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MachineryAndEquipmentGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MachineryAndEquipmentGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentOther">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentOther</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentOtherNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after depreciation of long-lived, physical assets used to produce goods and services and not intended for resale, classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentOtherNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>48
<FILENAME>R34.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140570005935776">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>2 - Balance Sheet Details: Other Accrued Expenses (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TextBlockAbstract', window );"><strong>Details</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherEmployeeRelatedLiabilitiesCurrent', window );">Profit sharing plan contribution</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 170,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccrualForTaxesOtherThanIncomeTaxesCurrent', window );">Property taxes</a></td>
<td class="nump">20,342<span></span>
</td>
<td class="nump">41,497<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherAccruedLiabilitiesCurrent', window );">All other items</a></td>
<td class="nump">109,621<span></span>
</td>
<td class="nump">116,464<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccruedLiabilitiesCurrent', window );">Other Accrued Expenses</a></td>
<td class="nump">$ 129,963<span></span>
</td>
<td class="nump">$ 327,961<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccrualForTaxesOtherThanIncomeTaxesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred and payable for real and property taxes. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 8<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-8<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 720<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483384/720-30-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccrualForTaxesOtherThanIncomeTaxesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherAccruedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expenses incurred but not yet paid classified as other, due within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAccruedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherEmployeeRelatedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of obligations incurred for employer-related costs classified as other, payable within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherEmployeeRelatedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>49
<FILENAME>R35.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140570001923344">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Schedule of Valuation and Qualifying Accounts (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesTypeAxis=us-gaap_AllowanceForCreditLossMember', window );">SEC Schedule, 12-09, Allowance, Credit Loss</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesBalance', window );">Balance at beginning of year</a></td>
<td class="nump">$ 160,000<span></span>
</td>
<td class="nump">$ 170,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense', window );">Charges to statement of operations</a></td>
<td class="nump">13,804<span></span>
</td>
<td class="num">(1,660)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesDeductions', window );">Write-offs</a></td>
<td class="num">(13,804)<span></span>
</td>
<td class="num">(8,340)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesBalance', window );">Balance at end of year</a></td>
<td class="nump">160,000<span></span>
</td>
<td class="nump">160,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesTypeAxis=us-gaap_InventoryValuationReserveMember', window );">SEC Schedule, 12-09, Reserve, Inventory</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesBalance', window );">Balance at beginning of year</a></td>
<td class="nump">621,000<span></span>
</td>
<td class="nump">612,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense', window );">Charges to statement of operations</a></td>
<td class="nump">143,233<span></span>
</td>
<td class="nump">17,070<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesDeductions', window );">Write-offs</a></td>
<td class="num">(223,233)<span></span>
</td>
<td class="num">(8,070)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesBalance', window );">Balance at end of year</a></td>
<td class="nump">$ 541,000<span></span>
</td>
<td class="nump">$ 621,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ValuationAllowancesAndReservesBalance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of valuation and qualifying accounts and reserves.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 4<br> -Subparagraph (SX 210.12-09(Column B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-4<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 4<br> -Subparagraph (SX 210.12-09(Column E))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ValuationAllowancesAndReservesBalance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in valuation and qualifying accounts and reserves from charge to cost and expense.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 4<br> -Subparagraph (SX 210.12-09(Column C)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ValuationAllowancesAndReservesDeductions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of decrease in valuation and qualifying accounts and reserves.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 4<br> -Subparagraph (SX 210.12-09(Column D))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ValuationAllowancesAndReservesDeductions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ValuationAllowancesAndReservesTypeAxis=us-gaap_AllowanceForCreditLossMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ValuationAllowancesAndReservesTypeAxis=us-gaap_AllowanceForCreditLossMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ValuationAllowancesAndReservesTypeAxis=us-gaap_InventoryValuationReserveMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ValuationAllowancesAndReservesTypeAxis=us-gaap_InventoryValuationReserveMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>50
<FILENAME>R36.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140570001775280">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>3 - Income Taxes: Provision for Income Tax Expense (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TextBlockAbstract', window );"><strong>Details</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FederalIncomeTaxExpenseBenefitContinuingOperations', window );">Provision for Federal income tax expense, Current</a></td>
<td class="num">$ (1,569)<span></span>
</td>
<td class="nump">$ 723,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CurrentStateAndLocalTaxExpenseBenefit', window );">Provision for State income tax expense, Current</a></td>
<td class="num">(52,832)<span></span>
</td>
<td class="nump">40,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxExpenseBenefit', window );">Provision for income tax expense, Deferred</a></td>
<td class="num">(1,273,027)<span></span>
</td>
<td class="nump">22,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Provision (Benefit) for Income Taxes</a></td>
<td class="num">$ (1,327,428)<span></span>
</td>
<td class="nump">$ 785,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CurrentStateAndLocalTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current state and local tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, current regional, territorial, and provincial tax expense (benefit) for non-US (United States of America) jurisdiction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-9<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CurrentStateAndLocalTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FederalIncomeTaxExpenseBenefitContinuingOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current and deferred federal tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, current and deferred national tax expense (benefit) for non-US (United States of America) jurisdiction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-10<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FederalIncomeTaxExpenseBenefitContinuingOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-10<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482659/740-20-45-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -SubTopic 10<br> -Topic 235<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>51
<FILENAME>R37.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140570001944032">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>3 - Income Taxes: Schedule of Effective Income Tax Rate Reconciliation (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TextBlockAbstract', window );"><strong>Details</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate', window );">Expected tax at U.S. statutory rate</a></td>
<td class="num">$ (1,203,000)<span></span>
</td>
<td class="nump">$ 767,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate', window );">Expected tax at U.S. statutory rate, %</a></td>
<td class="nump">21.00%<span></span>
</td>
<td class="nump">21.00%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxReconciliationOtherAdjustments', window );">Permanent differences</a></td>
<td class="num">$ (3,428)<span></span>
</td>
<td class="num">$ (14,000)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments', window );">Permanent differences, %</a></td>
<td class="num">(0.10%)<span></span>
</td>
<td class="num">(0.40%)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes', window );">State taxes, net of federal benefit</a></td>
<td class="num">$ (121,000)<span></span>
</td>
<td class="nump">$ 32,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes', window );">State taxes, net of federal benefit, %</a></td>
<td class="num">(2.10%)<span></span>
</td>
<td class="nump">0.90%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Provision (Benefit) for Income Taxes</a></td>
<td class="num">$ (1,327,428)<span></span>
</td>
<td class="nump">$ 785,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateContinuingOperations', window );">Income tax expense, %</a></td>
<td class="num">(23.20%)<span></span>
</td>
<td class="nump">21.50%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateContinuingOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateContinuingOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of domestic federal statutory tax rate applicable to pretax income (loss).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to other adjustments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage 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 applicable to state and local income tax expense (benefit), net of federal tax expense (benefit).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-10<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482659/740-20-45-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -SubTopic 10<br> -Topic 235<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxReconciliationOtherAdjustments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to other adjustments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxReconciliationOtherAdjustments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>52
<FILENAME>R38.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140570001879856">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>3 - Income Taxes: Schedule of Deferred Tax Assets and Liabilities (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TextBlockAbstract', window );"><strong>Details</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment', window );">Deferred Tax Liabilities, Property, Plant and Equipment</a></td>
<td class="num">$ (1,254,472)<span></span>
</td>
<td class="num">$ (1,216,451)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsInventory', window );">Deferred Tax Assets, Inventory</a></td>
<td class="nump">157,307<span></span>
</td>
<td class="nump">157,687<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsCompensatedAbsences', window );">Deferred Tax Assets, Tax Deferred Expense, Compensation and Benefits, Compensated Absences</a></td>
<td class="nump">66,240<span></span>
</td>
<td class="nump">71,923<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts', window );">Deferred Tax Asset, Tax Deferred Expense, Reserve and Accrual, Accounts Receivable, Allowance for Credit Loss</a></td>
<td class="nump">33,600<span></span>
</td>
<td class="nump">38,250<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards', window );">Deferred Tax Assets, Operating Loss Carryforwards</a></td>
<td class="nump">1,262,621<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsOther', window );">Deferred Tax Assets, Other</a></td>
<td class="nump">59,647<span></span>
</td>
<td class="nump">507<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsNet', window );">Deferred Tax Assets, Net of Valuation Allowance</a></td>
<td class="nump">$ 324,943<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilities', window );">Deferred Tax Liabilities, Net</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 948,084<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsInventory">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from inventory.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-6<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsInventory</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible operating loss carryforwards.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-6<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsOperatingLossCarryforwards</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsOther">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary differences, classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-6<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsOther</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsCompensatedAbsences">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-6<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsCompensatedAbsences</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary difference from allowance for credit loss on accounts receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-6<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences without jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482525/740-10-45-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax liability attributable to taxable temporary differences from property, plant, and equipment.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-6<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>53
<FILENAME>R39.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140569998664752">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>3 - Income Taxes (Details)<br></strong></div></th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TextBlockAbstract', window );"><strong>Details</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLossCarryforwards', window );">Operating Loss Carryforwards</a></td>
<td class="nump">$ 6,045,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLossCarryforwards">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of operating loss carryforward, before tax effects, available to reduce future taxable income under enacted tax laws.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLossCarryforwards</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>54
<FILENAME>R40.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140570004845488">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Profit Sharing Plan (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TextBlockAbstract', window );"><strong>Details</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount', window );">Defined Contribution Plan, Employer Discretionary Contribution Amount</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 170,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of discretionary contributions made by an employer to a defined contribution plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>55
<FILENAME>R41.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140570004917120">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>5 - Other Income: Other Income (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TextBlockAbstract', window );"><strong>Details</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InvestmentIncomeInterest', window );">Interest income</a></td>
<td class="nump">$ 103,230<span></span>
</td>
<td class="nump">$ 55,333<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherNonoperatingIncome', window );">Other nonoperating income</a></td>
<td class="nump">5,004<span></span>
</td>
<td class="nump">36,100<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherNonoperatingIncomeExpense', window );">Other Income</a></td>
<td class="nump">$ 108,234<span></span>
</td>
<td class="nump">$ 91,433<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InvestmentIncomeInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before accretion (amortization) of purchase discount (premium) of interest income on nonoperating securities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.7(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InvestmentIncomeInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherNonoperatingIncome">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of income related to nonoperating activities, classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(7)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherNonoperatingIncome</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherNonoperatingIncomeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of income (expense) related to nonoperating activities, classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.9)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherNonoperatingIncomeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>56
<FILENAME>R42.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140569995738608">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>6 - Segment Information: Schedule of Segment Reporting Information (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Revenues', window );">Net Sales</a></td>
<td class="nump">$ 31,507,722<span></span>
</td>
<td class="nump">$ 33,646,033<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Depreciation', window );">Depreciation and Amortization</a></td>
<td class="nump">1,275,078<span></span>
</td>
<td class="nump">1,279,870<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableNetCurrent', window );">Accounts receivable, net</a></td>
<td class="nump">4,275,882<span></span>
</td>
<td class="nump">4,975,137<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerAssetNetCurrent', window );">Contract Assets</a></td>
<td class="nump">118,301<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">Inventories, net</a></td>
<td class="nump">7,327,653<span></span>
</td>
<td class="nump">9,121,230<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property, plant and equipment, net</a></td>
<td class="nump">11,665,082<span></span>
</td>
<td class="nump">11,861,793<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainLossOnSaleOfPropertyPlantEquipment', window );">Gain on sale of property</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">4,738,394<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=fil_FastenerMember', window );">Fastener</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Revenues', window );">Net Sales</a></td>
<td class="nump">28,161,362<span></span>
</td>
<td class="nump">30,291,547<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Depreciation', window );">Depreciation and Amortization</a></td>
<td class="nump">1,145,620<span></span>
</td>
<td class="nump">1,129,151<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fil_SegmentOperatingProfit', window );">Segment operating profit</a></td>
<td class="num">(3,747,744)<span></span>
</td>
<td class="nump">505,751<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fil_SellingAndAdministrativeExpensesUnallocatedCorporate', window );">Selling and Administrative Expenses</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestAndOtherIncome', window );">Other Income</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment', window );">Capital expenditures</a></td>
<td class="nump">1,041,896<span></span>
</td>
<td class="nump">868,654<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableNetCurrent', window );">Accounts receivable, net</a></td>
<td class="nump">3,994,372<span></span>
</td>
<td class="nump">4,683,620<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerAssetNetCurrent', window );">Contract Assets</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">Inventories, net</a></td>
<td class="nump">5,714,826<span></span>
</td>
<td class="nump">7,766,703<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property, plant and equipment, net</a></td>
<td class="nump">9,458,605<span></span>
</td>
<td class="nump">9,562,329<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherAssets', window );">Other assets</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=fil_AssemblyEquipmentMember', window );">Assembly Equipment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Revenues', window );">Net Sales</a></td>
<td class="nump">3,346,360<span></span>
</td>
<td class="nump">3,354,486<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Depreciation', window );">Depreciation and Amortization</a></td>
<td class="nump">122,928<span></span>
</td>
<td class="nump">133,615<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fil_SegmentOperatingProfit', window );">Segment operating profit</a></td>
<td class="nump">549,156<span></span>
</td>
<td class="nump">413,995<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fil_SellingAndAdministrativeExpensesUnallocatedCorporate', window );">Selling and Administrative Expenses</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestAndOtherIncome', window );">Other Income</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment', window );">Capital expenditures</a></td>
<td class="nump">5,235<span></span>
</td>
<td class="nump">3,207<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableNetCurrent', window );">Accounts receivable, net</a></td>
<td class="nump">281,510<span></span>
</td>
<td class="nump">291,517<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerAssetNetCurrent', window );">Contract Assets</a></td>
<td class="nump">118,301<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">Inventories, net</a></td>
<td class="nump">1,612,827<span></span>
</td>
<td class="nump">1,354,527<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property, plant and equipment, net</a></td>
<td class="nump">1,185,804<span></span>
</td>
<td class="nump">1,303,497<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherAssets', window );">Other assets</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=us-gaap_CorporateMember', window );">Corporate Segment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Revenues', window );">Net Sales</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Depreciation', window );">Depreciation and Amortization</a></td>
<td class="nump">6,530<span></span>
</td>
<td class="nump">17,104<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fil_SegmentOperatingProfit', window );">Segment operating profit</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fil_SellingAndAdministrativeExpensesUnallocatedCorporate', window );">Selling and Administrative Expenses</a></td>
<td class="num">(2,638,658)<span></span>
</td>
<td class="num">(2,096,944)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestAndOtherIncome', window );">Other Income</a></td>
<td class="nump">108,234<span></span>
</td>
<td class="nump">91,433<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment', window );">Capital expenditures</a></td>
<td class="nump">31,236<span></span>
</td>
<td class="nump">98,082<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableNetCurrent', window );">Accounts receivable, net</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerAssetNetCurrent', window );">Contract Assets</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">Inventories, net</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property, plant and equipment, net</a></td>
<td class="nump">1,020,673<span></span>
</td>
<td class="nump">995,967<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherAssets', window );">Other assets</a></td>
<td class="nump">$ 4,443,987<span></span>
</td>
<td class="nump">7,667,967<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainLossOnSaleOfPropertyPlantEquipment', window );">Gain on sale of property</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 4,738,394<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fil_SegmentOperatingProfit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The net result for the period of deducting segment operating expenses from segment operating revenues.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fil_SegmentOperatingProfit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fil_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fil_SellingAndAdministrativeExpensesUnallocatedCorporate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate total costs related to selling a firm's product and services, as well as all other general and administrative expenses.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fil_SellingAndAdministrativeExpensesUnallocatedCorporate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fil_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481990/310-10-45-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481990/310-10-45-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerAssetNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479837/606-10-45-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479837/606-10-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerAssetNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Depreciation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Depreciation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GainLossOnSaleOfPropertyPlantEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of gain (loss) on sale or disposal of property, plant and equipment assets, including oil and gas property and timber property.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainLossOnSaleOfPropertyPlantEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestAndOtherIncome">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of interest income and other income recognized during the period. Included in this element is interest derived from investments in debt securities, cash and cash equivalents, and other investments which reflect the time value of money or transactions in which the payments are for the use or forbearance of money and other income from ancillary business-related activities (that is, excluding major activities considered part of the normal operations of the business).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestAndOtherIncome</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(10))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquirePropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 360<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480842/942-360-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Revenues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-40<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479557/942-235-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Revenues</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=fil_FastenerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementBusinessSegmentsAxis=fil_FastenerMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=fil_AssemblyEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementBusinessSegmentsAxis=fil_AssemblyEquipmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=us-gaap_CorporateMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementBusinessSegmentsAxis=us-gaap_CorporateMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>57
<FILENAME>R43.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140570001145856">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>6 - Segment Information (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">$ 31,507,722<span></span>
</td>
<td class="nump">$ 33,646,033<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_US', window );">UNITED STATES</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">25,789,921<span></span>
</td>
<td class="nump">28,157,910<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=us-gaap_NonUsMember', window );">Non-US</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">5,717,801<span></span>
</td>
<td class="nump">5,488,123<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=fil_AutomotiveMember', window );">Automotive</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">19,429,009<span></span>
</td>
<td class="nump">18,663,973<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=fil_NonautomotiveMember', window );">NonAutomotive</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">12,078,713<span></span>
</td>
<td class="nump">14,982,060<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=fil_FastenerMember', window );">Fastener</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">28,161,362<span></span>
</td>
<td class="nump">30,291,547<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=fil_FastenerMember', window );">Fastener | UNITED STATES</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">22,635,244<span></span>
</td>
<td class="nump">24,955,181<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=fil_FastenerMember', window );">Fastener | Non-US</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">5,526,118<span></span>
</td>
<td class="nump">5,336,366<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=fil_FastenerMember', window );">Fastener | Automotive</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">19,297,188<span></span>
</td>
<td class="nump">18,454,238<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=fil_FastenerMember', window );">Fastener | NonAutomotive</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">8,864,174<span></span>
</td>
<td class="nump">11,837,309<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=fil_AssemblyEquipmentMember', window );">Assembly Equipment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">3,346,360<span></span>
</td>
<td class="nump">3,354,486<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=fil_AssemblyEquipmentMember', window );">Assembly Equipment | UNITED STATES</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">3,154,677<span></span>
</td>
<td class="nump">3,202,729<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=fil_AssemblyEquipmentMember', window );">Assembly Equipment | Non-US</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">191,683<span></span>
</td>
<td class="nump">151,757<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=fil_AssemblyEquipmentMember', window );">Assembly Equipment | Automotive</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">131,821<span></span>
</td>
<td class="nump">209,735<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=fil_AssemblyEquipmentMember', window );">Assembly Equipment | NonAutomotive</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">$ 3,214,539<span></span>
</td>
<td class="nump">$ 3,144,751<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479941/924-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-5<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-40<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_US">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=country_US</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=us-gaap_NonUsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=us-gaap_NonUsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=fil_AutomotiveMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=fil_AutomotiveMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=fil_NonautomotiveMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=fil_NonautomotiveMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=fil_FastenerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementBusinessSegmentsAxis=fil_FastenerMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=fil_AssemblyEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementBusinessSegmentsAxis=fil_AssemblyEquipmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>58
<FILENAME>R44.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140570001946256">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of % of Revenues and A/R from Major Customers (Details)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_MajorCustomersAxis=fil_TIGroupAutomotiveSystemsMember', window );">T.I. Group Automotive Systems</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Percentage of revenues from major customers</a></td>
<td class="nump">16.00%<span></span>
</td>
<td class="nump">15.00%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdditionalInformationAboutEntitysReportableSegments', window );">Percentage of accounts receivable balances</a></td>
<td class="text">15<span></span>
</td>
<td class="text">19<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_MajorCustomersAxis=fil_CooperStandardHoldingsIncMember', window );">Cooper Standard Holdings Inc.</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Percentage of revenues from major customers</a></td>
<td class="nump">14.00%<span></span>
</td>
<td class="nump">14.00%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdditionalInformationAboutEntitysReportableSegments', window );">Percentage of accounts receivable balances</a></td>
<td class="text">14<span></span>
</td>
<td class="text">16<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_MajorCustomersAxis=fil_MartinreaInternationalIncMember', window );">Martinrea International Inc.</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Percentage of revenues from major customers</a></td>
<td class="nump">11.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdditionalInformationAboutEntitysReportableSegments', window );">Percentage of accounts receivable balances</a></td>
<td class="text">20<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdditionalInformationAboutEntitysReportableSegments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Additional information about the entity or its reportable segments that may contribute to an understanding of the enterprise.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482835/280-10-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdditionalInformationAboutEntitysReportableSegments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskPercentage1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the "benchmark" (or denominator) in the equation, this concept represents the concentration percentage derived from the division.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-21<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-20<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-18<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-20<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskPercentage1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=fil_TIGroupAutomotiveSystemsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=fil_TIGroupAutomotiveSystemsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=fil_CooperStandardHoldingsIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=fil_CooperStandardHoldingsIncMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=fil_MartinreaInternationalIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=fil_MartinreaInternationalIncMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>59
<FILENAME>R45.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140569998723152">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>7 - Additional Financial Information Disclosure (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jan. 01, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TextBlockAbstract', window );"><strong>Details</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SaleLeasebackTransactionMonthlyRentalPayments', window );">Sale Leaseback Transaction, Monthly Rental Payments</a></td>
<td class="nump">$ 9,400<span></span>
</td>
<td class="nump">$ 8,500<span></span>
</td>
<td class="nump">$ 8,500<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SaleLeasebackTransactionMonthlyRentalPayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of the monthly rental payments due under the lease entered into in connection with the transactions involving the sale of property to another party and the lease of the property back to the seller.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 840<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481295/840-40-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SaleLeasebackTransactionMonthlyRentalPayments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>60
<FILENAME>R46.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140570004775104">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Commitments and Contingencies (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TextBlockAbstract', window );"><strong>Details</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeasesRentExpenseNet', window );">Rent Expense</a></td>
<td class="nump">$ 128,000<span></span>
</td>
<td class="nump">$ 91,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeasesFutureMinimumPaymentsDueFutureMinimumSubleaseRentals', window );">Rent Expense Future Minimum Payments</a></td>
<td class="nump">$ 112,800<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeasesFutureMinimumPaymentsDueFutureMinimumSubleaseRentals">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Contractually required future rental payments receivable on noncancelable subleasing arrangements.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 840<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481501/840-20-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeasesFutureMinimumPaymentsDueFutureMinimumSubleaseRentals</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeasesRentExpenseNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Rental expense for the reporting period incurred under operating leases, including minimum and any contingent rent expense, net of related sublease income.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 840<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481501/840-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeasesRentExpenseNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>61
<FILENAME>R47.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140570005321648">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Subsequent Events (Details)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($) </div>
<div>$ / shares</div>
</th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TextBlockAbstract', window );"><strong>Details</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DividendsPayableDateDeclaredDayMonthAndYear', window );">Dividend declaration date</a></td>
<td class="text">Feb. 19,  2024<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DividendsPayableAmountPerShare', window );">Dividends per share declared | $ / shares</a></td>
<td class="nump">$ 0.1<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DividendsPayableCurrent', window );">Dividends payable amount | $</a></td>
<td class="nump">$ 96,613.2<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DividendPayableDateToBePaidDayMonthAndYear', window );">Dividends Payable, Date to be Paid</a></td>
<td class="text">Mar. 20,  2024<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DividendsPayableDateOfRecordDayMonthAndYear', window );">Dividends Payable, Date of Record</a></td>
<td class="text">Mar.  05,  2024<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DividendPayableDateToBePaidDayMonthAndYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Date the declared dividend will be paid, in YYYY-MM-DD format.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DividendPayableDateToBePaidDayMonthAndYear</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:dateItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DividendsPayableAmountPerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The per share amount of a dividend declared, but not paid, as of the financial reporting date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DividendsPayableAmountPerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DividendsPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of dividends declared but unpaid on equity securities issued by the entity and outstanding. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DividendsPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DividendsPayableDateDeclaredDayMonthAndYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Date the dividend to be paid was declared, in YYYY-MM-DD format.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DividendsPayableDateDeclaredDayMonthAndYear</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:dateItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DividendsPayableDateOfRecordDayMonthAndYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Date the holder must own the stock to be entitled to the dividend, in YYYY-MM-DD format.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DividendsPayableDateOfRecordDayMonthAndYear</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:dateItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>62
<FILENAME>R48.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1</span><table class="report" border="0" cellspacing="2" id="idm140569998723152">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>10 - Subsequent Events (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jan. 01, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TextBlockAbstract', window );"><strong>Details</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SaleLeasebackTransactionMonthlyRentalPayments', window );">Sale Leaseback Transaction, Monthly Rental Payments</a></td>
<td class="nump">$ 9,400<span></span>
</td>
<td class="nump">$ 8,500<span></span>
</td>
<td class="nump">$ 8,500<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SaleLeasebackTransactionMonthlyRentalPayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of the monthly rental payments due under the lease entered into in connection with the transactions involving the sale of property to another party and the lease of the property back to the seller.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 840<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481295/840-40-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SaleLeasebackTransactionMonthlyRentalPayments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EXCEL
<SEQUENCE>63
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
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
M?!^2!F.,6_0T7X\48JVFL:W&VC$,>8!8\PRA9CC?AT6:&C/5BZPYC0IO0=5
MY3_;U UH]@TT')$%7C&9MC:CY$X*/-S^[PVPPL2.X>V+OP%02P,$%     @
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
M3\+UC9'KZJOJ@S1P&JHN5X(#]-( GB^E-+N;\D/M_L/\Y#]02P,$%     @
M1X!\6-0YKM^W @  - D  !@   !X;"]W;W)K<VAE971S+W-H965T,RYX;6RM
MEEUOFS 4AO^*Q:9==>4KD*0C2&VJ:;V8%C5:=^W"2;!J;&:;I-NOGVTH"@E-
MFFJY"#[FG-?/:QM,LN7B218 "CV7E,F94RA57;FNS HHL;SD%3!]9\5%B94.
MQ=J5E0"<VZ*2NH'GQ6Z)"7/2Q/8M1)KP6E'"8"&0K,L2BS\W0/EVYOC.2\<]
M61?*=+AI4N$U+$']K!9"1VZGDI,2F"2<(0&KF7/M7\VG)M\F/!#8RITV,DX>
M.7\RP5T^<SP#!!0R912POFQ@#I0:(8WQN]5TNB%-X6[[1?VK]:Z]/&()<TY_
MD5P5,V?BH!Q6N*;JGF^_0>LG,GH9I]+^HVV3&XT=E-52\;(MU@0E8<T5/[?S
ML%/@CUXI"-J"X*T%85L06J,-F;5UBQ5.$\&W2)ALK68:=FYLM79#F%G%I1+Z
M+M%U*IUS)CDE.5:0HQM,,<L +8V<1)_1 @M@J@!%,DQU_!&Y2!:Z4R:NTJ,;
M#3=K1[II1@I>&>D6LDL4^A<H\()PH'S^]O*@7^YJSYWQH#,>6+WP?.-#WAJQ
MT;"8>=2N9(4SF#GZ69(@-N"DGS[XL?=ER.E_$NOY#CO?X3'U=*$?$Q!"FUXJ
MGCU=F#5&7.C(SL0#IC6@!>@.L\Y#4]'H1U;?O"0VJ9>XFUU_QS)ZT*,.>G0>
MM(63Z+I6!1?D+^1#H(UFO(,1>>:W1WLRK8<<=<C1NY!_U$HJS'+"UD/,T0',
M/NZQC!YIW)'&1TGGO"SU"_6]VR$^6&Q_C_A81H]XW!&/SR!^TUX8'\S:R!O:
M#*?S>L23CGAR-O$%NI.R'L:='&#X?CCQIO$>[NF\'NZTPYV^ _?$UIT>L$SC
MV ^#/>23:0VQNW.FF>^)[UBL"9.(PDH7>I=CO9]$<T8W@>*5/>8>N=*'IFT6
M^K,&A$G0]U><JY? G)S=AU+Z#U!+ P04    " !'@'Q8EYK!G9,$  "<$0
M&    'AL+W=O<FMS:&5E=',O<VAE970T+GAM;*V8;6_;-A#'OPJA#4,"+)9(
MZC&S#<1.VQ58VZ!NM]>,1=M")=$3:3O]]B,E1;)%BFFQO+$M^>[XNSN2?U'3
M$ZN^\1VE CP5><EGSDZ(_:WK\O6.%H1/V)Z6\I\-JPHBY&6U=?F^HB2MG8K<
M19X7N@7)2F<^K>\]5/,I.X@\*^E#!?BA*$CU?4%S=IHYT'F^\3G;[H2ZX<ZG
M>[*E*RJ^[A\J>>5V4=*LH"7/6 DJNIDY=_!VB6J'VN+OC)[XV6^@4GED[)NZ
M>)_.'$\1T9RNA0I!Y->1+FF>JTB2X]\VJ-.-J1S/?S]'?ULG+Y-Y))PN6?Y/
MEHK=S(D=D-(-.>3B,SO]2=N$ A5OS7)>?X)38^M+X_6!"U:TSI*@R,KFFSRU
MA3AS@.&( VH=T-#!'W' K0.N$VW(ZK3NB2#S:<5.H%+6,IKZ4=>F]I;99*5J
MXTI4\M],^HGYDI6<Y5E*!$W!2L@OV2/! =N 3WM:$55K#F[ U]4]N/KU>NH*
M.:AR==?M (MF #0R $3@ RO%CH,W94K3RP"NI.V0T3/R EDCWM/U!&#X.T >
MP@:@Y8^[(PL.[BJ(ZWCX_U305+<FK&\.JY;O+=^3-9TY<GUR6AVI,__M%QAZ
M?YAR?J5@%Q7PNPKXMNCSCW*W69&<&K-L7(/:5>TIQSF&@1=%JO;'\PP,ACCT
M0P_CSO""+NCH BO=DG&AFO&.L92#%<M3$V83(SP?'4$OPG"(J1NB),9>!#TS
M9MAAAE;,=Q7C'#Q4;),)</67O# NME ;_B9(DB#Q!IBZ'8YA@-%(,:..,K).
M]G9&EUMP];Y<LX)>@S=/4E*XN?G1:T[Q5PIVD7?<Y1U;N[.2.J.R)F4*[E*Y
M#V=<J$(<J37_6.M"@' 4!N&@6[J=GR0H0-#<K:2C3NQS2LHXD%JI%J=: G)V
MR?Z)[R;41$,83BG=XL:/<(P3WTP)O5Z#/"OG%R9(#OJY92MI&^KEFAH,4>!#
M%(W0GBDFM-+VG"^NUC;2Y7*-<81\C5:WQ$$(81*.X*(>%]EQQ8Y6H%FM1D:D
MC0R]&&%_2*C;)= ?VYUA+Y_0JDWSAJPM(EA0^6A*6USPA3R-S )L*&R$$D_;
MKPV6. Q0B)(1\%[UH%WV9/>/6?TX>[6@)94SX1I(^)?9?9T=8A3Y*!ZRZY91
M''C>B-3 7A*A71.58E_4W<@9:(I\X_L>#&)M:NB6* ZC\1KWH@A#J]X\R*F[
MVA$Y(]33K9'2*JL_JS&O%>TRW5Y=H57$Y@O"LS4H97>RMCMYO2KDC@.X*H.Q
M DW,Z*)/$WT_U,W0)!G;#7MAA'9EO,_R@WKR_5GH^,>@=3,+=*^+T"Z,=9V-
M6+K()6$H5^>0ZT6[RZ--+X7(+H5M.4UL2!<T(]O+=I=LO? AN_ M"=^!^^R8
MI;24C]+R()7+[J:@6Z1&:JAUT)N$PQW$:!7' V+W[)Q;T&I;'_\Y6+-#*9KS
M8W>W>\5P5Q^L!_<7\';9O"CHPS3O+3Z0:IO)$V].-S*D-XGDIE8UKP*:"\'V
M]6GZD0EY-J]_[BA)::4,Y/\;QL3SA1J@>R$S_P]02P,$%     @ 1X!\6#US
MFZ>$!   KAH  !@   !X;"]W;W)K<VAE971S+W-H965T-2YX;6RM66USHS80
M_BL:>M->9RX!(5Y3VS,7&^C-M#>9I-=^5HQL,P'D0W)\^?<G7D(,R!1/],6
MV7U6N\]*NU[/CK1X8CM"./B1I3F;:SO.]S>ZSM8[DF%V3?<D%V\VM,@P%X_%
M5F?[@N"X4LI2W30,1\]PDFN+6?7=7;&8T0-/DYS<%8 =L@P7+[<DI<>Y!K77
M+^Z3[8Z77^B+V1YOR0/AW_9WA7C26Y0XR4C.$IJ#@FSFVF=X$T%4*E02_R;D
MR$[N0>G*(Z5/Y<.7>*X9Y8I(2M:\A,#B\DR6)$U+)+&.[PVHUMHL%4_O7]'#
MRGGAS"-F9$G3_Y*8[^::IX&8;/ AY??T^"=I'+)+O#5-6?4)CK6L+837!\9I
MUBB+%61)7E_QCR80)PK"4;F"V2B8?07GC )J%-!4"U:C8/443/>,@MTHV'T+
MYYQV&@6G;^'<DMQ&P:W(JJ-;4;/"'"]F!3V"HI06:.5-Q6^E+1A)\C(5'W@A
MWB9"CR^6-&<T36+,20P>N+B(/.,,T UXV.&"[&@:DX+]!H+OAX2_@"OP[6$%
M/G[X?:9S8;X$T=>-J=O:E'G&U#^4XU2BMAQ7NQ.Y28JB6AY=/TD 5N, 2YIE
M(NG/:0?CVI_C."DW#4[!'4[BJR0'2[Q/Y*Z$XUCWA(O#07@2X")/\BV30$3_
M$T1QWK!#\5*[\PG4SG5Q=)$#;2*8;2*8%;!U!OB6;).\7!2XQ2G.UP1@#E9D
M?0T0_ 1,PX0RQFM,N\(L3[WGA>GYCH\<>Z8_GW(\%#2Z$JNA!(3(,WRG*Q<,
MY2S+A<CJBH5#,021X9@(=06CH> 5\DW3\+U6L!-0U 84C0;T-.WJO<0FA704
MM:Q,-VR/UV2NB=+#2/%,M,6OOT#'^$.VM52"K6HPYR12ON- 9/8(4FDS5 D6
M*0+KI(/5IH,UF@[=C7M)0HSB7IH0*L%6*L$"E6"A2K#(&N0]=*'O6/+SP6X3
MPAY-B*^BS_R2KVE&P,>_*&/2BFH/3)N>XSJFWSM>1TU=2JM*L$ E6#@Q')$B
MHQU>G9979Y375?*<Q"2/6;FS4['+8QFQSL"3*\\V8+_:+4=M74JL2K! )5@X
M,1R1(J,=8MV66'>4V""/1]HC4\:R.VQ"1%_AN">]14VS._"_WQX-H>3MT1!)
MVAX-Q1!")G*<?L2'=L?;(Z^-IO?>]D@:4F]2$[(<-7[IOIEF,U!I,U0)%BD"
MZQ#MMT3[[Z]S_C#++,N MM?+V^6HK4MY50D6J 0+_>%Y*(U'I,AJAUEHO T/
M# 6UK@'I>.- #YG]'XGCUBYE5RE:H!0MG!J22)79+L$GTR'XCIJ'I&S#X4S
M%N>EY_6;5HEDO^I)1.1E3R(HK7NRU7G(0*[M]B,_E!RO?/!MU +'9RT3:I\\
MM.:TXC=N_N)]-,UJH-1JJ!0M4H76)?QM% 3'9T&3?OS+*5<Z#E**ME**%BA%
M"Y6B17 X^I*. /2307SY3\[?N-@F.0,IV0A%X]H5ITE1_SE2/W"ZKV;SCY1S
MFE6W.X)C4I0"XOV&4O[Z4([[V[^H%C\!4$L#!!0    ( $> ?%C=J&D56 (
M -@%   8    >&PO=V]R:W-H965T<R]S:&5E=#8N>&ULK511;]HP$/XKEC=M
M+QL."86*A4B%=MH>*J&B;<\F.8A5QTYM ^V_W]D.&:UHM8>^8-_YON_NNW"7
M'[2YMS6 (X^-5'9&:^?:*6.VK*'A=J!;4/BRT:;A#DVS9;8UP*L :B1+DV3,
M&BX4+?+@6YHBUSLGA8*E(7;7--P\S4'JPXP.Z=%Q)[:U\PY6Y"W?P@K<KW9I
MT&(]2R4:4%9H10QL9O1J.%V,?'P(^"W@8$_NQ"M9:WWOC9_5C":^()!0.L_
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
MSLLCF$9->2+TF4K($X4RM@"5SH<04,GRD*6\T6)=G%,\" VS27&Y9#1ET@C
M_Q="Z-<;\X+ZJ&OV'U!+ P04    " !'@'Q8^AUK;K<*   Y&P  &    'AL
M+W=O<FMS:&5E=',O<VAE970X+GAM;+59VW+;.!)]SU>@--FIF2I9EF0[\<27
M*MM):EV59%QV,O,,D:"("0DP "C9^_5[N@%2E"-[LEN[+Q(O0*,OIT\WP-.U
M=5]]J500]W5E_-FH#*%YL[_OLU+5TD]LHPS>%-;5,N#6+?=]XY3,>5)=[<^G
MTU?[M=1F='[*SV[<^:EM0Z6-NG'"MW4MW<.EJNSZ;#0;=0]N];(,]&#__+21
M2W6GPI?FQN%NOY>2ZUH9KZT13A5GHXO9F\M#&L\#_M!J[0?7@BQ96/N5;J[S
ML]&4%%*5R@))D/A;J2M5520(:GQ+,D?]DC1Q>-U)?\^VPY:%].K*5G_J/)1G
MH^.1R%4AVRK<VO4_5;+GB.1EMO+\*]9Q[-%O(Y&U/M@Z388&M3;Q7]XG/PPF
M'$^?F#!/$^:L=UR(M7PK@SP_=78M'(V&-+I@4WDVE-.&@G(7'-YJS OG,[$G
M/LG0.B5L(2Y;C_?>"VER<:>71A<ZDR:(BRRSK0G:+,6-K72FE3_=#UB?I.QG
M::W+N-;\J;7FXJ,UH?3BG<E5OBU@'XKWVL\[[2_GSTI\J[*).)B-Q7PZ/WA&
MWD'OC0.6=_"$O$\V[#8L3CO</8T2YXUO9*;.1L@,K]Q*C<Y__FGV:GKRC%*'
MO5*'STG_'X?HV;5V6R+^>PUV3-L3%QT%T.-0*G%EZT::AY]_.I[/7I]XX0="
MY49HTPDM; 4R\6_$C=,FTTV%9Q!U98W'D%Q2ON^)6[52IE7XSRSDQ8=7TI<@
MDTR!"W*Q>!BN+QJGK1/!"E_J!LP3A/8TV#K 54@O6J.D,[AV4?9$@!I$IEP
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
MRU))L#,-P/O"VM#=T +]U[+S?P-02P,$%     @ 1X!\6.#1;VU0!   M0D
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
MBP!T_T[I)U:U_FVP5I9>&GZXH:<=:F= ZY6BNW.8N W&Q^+J;U!+ P04
M" !'@'Q8P:?,Q/@!  "Q!   &0   'AL+W=O<FMS:&5E=',O<VAE970Q,2YX
M;6R5E%UOFS 4AO^*Y4F[6F.^VDX9(#7MINVB%6JT[=J! UCU![.=TOW[V8:P
M3$HB[09\[/,^?@\<.Q^5?C$]@$5O@DM3X-[:84V(J7L0U*S4 -*MM$H+:EVH
M.V(&#;0)(L%)$D4W1% F<9F'N4J7N=I;SB14&IF]$%3_W@!78X%C?)AX9EUO
M_00I\X%VL 7[?:BTB\A":9@ :9B22$-;X+MXO<E\?DCXP6 T1V/D*]DI]>*#
M;TV!(V\(.-36$ZA[O<(]<.Y!SL:OF8F7+;WP>'R@?PFUNUIVU,"]XC]98_L"
M?\2H@9;NN7U6XU>8Z[GVO%IQ$YYHG'*3#*-Z;ZP2L]@Y$$Q.;_HV?X=CP>T9
M03(+DN![VBBX?*"6EKE6(](^V]'\()0:U,X<D_ZG;*UVJ\SI;)FA*U1IU3*+
MMCW53':HXE3FQ#JX3R'U#-I,H.0,*$[0HY*V-^BS;*#Y%T"<J\5:<K"V22X2
M'Z!>H33^@)(H22_PTJ74-/#2,[PG9<&<*FR29:=E_E2LS4!K*+!K>P/Z%7#Y
M_EU\$WVZ8"I;3&67Z/_S_2^"3MM$9_!7Z)1U<M1& G07#HM!M=I+.W74,KN<
MQ[NI#?^F3X?YD>J.28,XM$X:K6ZO,=+3 9D"JX;0E#ME78N'8>_N%- ^P:VW
MROVM.? ;++=4^0=02P,$%     @ 1X!\6%WGZ0LM @  \ 0  !D   !X;"]W
M;W)K<VAE971S+W-H965T,3(N>&ULC53!<MHP$+WS%3MJIR>"9<D02L$S(6FG
M'-(RR;0]*_:"/;$E5Q(A_?M*LG%I!YA>K%WMOJ>W\J[F>Z6?38%HX;6NI%F0
MPMIF%D4F*[ 69J0:E"ZR4;H6UKEZ&YE&H\@#J*XB1NDDJD4I23H/>VN=SM7.
M5J7$M0:SJVNA?RVQ4OL%B<EAXZ'<%M9O1.F\$5M\1/NM66OG13U+7M8H3:DD
M:-PLR$T\6R8^/R1\+W%OCFSPE3PI]>R=5;X@U O""C/K&81;7O 6J\H3.1D_
M.T[2'^F!Q_:!_5.HW=7R) S>JNI'F=MB0:8$<MR(764?U/XS=O6,/5^F*A.^
ML&]SXVL"V<Y857=@IZ N9;N*U^X>C@!3>@; .@ +NMN#@LH[844ZUVH/VF<[
M-F^$4@/:B2NE_RF/5KMHZ7 V'<,5?+4%:EC)3-4XCZQC];$HZQB6+0,[PQ S
MN%?2%@8^RASSOPDB)Z?7Q Z:ENPBXQUF(^#Q$!AE_ (?[VOD@8^?X?NB+)I3
MA;6PY#3,C\/,-"+#!7'];E"_($G?O8DG],,%44DO*KG$_E\7?Y'AM#[XE_=J
MP"@P[N^2#5;2HDNU4(88O(68\B'CU%GC\9!S/FBQXR&E"?#),*9TX+.F+BMQ
M6>_C8<(YG+J Z*@+:]3;,&L&,K63MFW(?K<?YYNVB_^DMV_!O=#;4AJH<..@
M='0])J#;^6H=JYK0TT_*N@D)9N&>)-0^P<4WROWSSO$'](]<^AM02P,$%
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
M(6$C+E)/F^CT8H6\EK['3H4*?C-$VN $7\7LL2/FWO'R>&?T(> ,#2 Z:D6
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
M9[:;N,Y TX1;OC9(,Q.V%3U28'T G6\,];@WO,#P[.5O4$L#!!0    ( $>
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
M&]Z#AR_>U/SN>6:\-R5_S)5$/Z<%^'UNC&^_T '=_T8X_R]02P,$%     @
M1X!\6))*8J6@ @  FP4  !D   !X;"]W;W)K<VAE971S+W-H965T,3DN>&UL
M?5113]LP$'[OK[ R-(&4D<1)D[9K(]$Q-!Z0$&SP[";7UL*Q,]NE\.]W=MJL
MFTI?DCO[ON^^LWTWW2K]8M8 EKPU0II9L+:VG421J=;0,'.I6I"XLU2Z819=
MO8I,JX'5'M2(B,9Q'C6,RZ"<^K5[74[5Q@HNX5X3LVD:IM_G(-1V%B3!?N&!
MK];6+43EM&4K> 3[J[W7Z$4]2\T;D(8K230L9\%5,IEG+MX'/''8F@.;N$H6
M2KTXY[:>!;$3! (JZQ@8_E[A&PCAB%#&[QUGT*=TP$-[SW[C:\=:%LS -R6>
M>6W7LV 4D!J6;"/L@]K^@%T]0\=7*6'\EVR[V"P/2+4Q5C4[,"IHN.S^[&UW
M#@> 4?P!@.X U.ON$GF5U\RR<JK5EF@7C6S.\*5Z-(KCTEW*H]6XRQ%G2TJ^
MD#D33%9 'OTKN ;+N# 3<BM?05JEW\GY3[808"ZFD<64#AA5._IY1T\_H$\H
MN5/2K@WY+FNH_R6(4&LOF.X%S^E)QFNH+DF:A(3&-#W!E_8'D'J^] .^KK3H
M$5][O4'K6(T=0W:<P;7-Q+2L@EF ?6% OT)0?OZ4Y/'7$_JR7E]VBKWL;^&8
ML)/0X\+P_*!9@.[/D/R_0@?[G!S,9/# MOC@+&C.A"%GA(:C8A2.\C':69CE
M<1@7R> 9>X]P25JM*C &H](B"XOQ$*TB*\*,%H,;+CF^U)JLE*I=2)YDX7@T
M1FN88G!*!P42C\)\F)(QPFA(TWCPQ,2&V6X(^"(,.1]F21C'\04YSVEG#<Y(
M$::T\. SA">X@7!R[ ZB@X9I0*_\6#"D4AMIN][I5_O)<]4UW-_P;FS=,;WB
MTA !2X3&E\4P(+H;!9UC5>O;;Z$L-K,WUS@]0;L W%\J9?>.2]#/X_(/4$L#
M!!0    ( $> ?%@G-)P6X (  #D&   9    >&PO=V]R:W-H965T<R]S:&5E
M=#(P+GAM;'U5;6_3,!#^WE]A!8289);W-"EMI74; HE)%>/ELYM<&PLG#K:S
M,GX]9Z<+!;I^2'-WOGON>>SX.M]+]5W7 (;\;$2K%UYM3#?S?5W6T#!]*3MH
M<64K5<,,NFKGZTX!JUQ1(_PH"#*_8;SUEG,76ZOE7/9&\!;6BNB^:9AZ7(&0
M^X47>D^!3WQ7&QOPE_..[> >S)=NK=#S1Y2*-]!J+ENB8+OPKL+9*K'Y+N$K
MA[T^LHE5LI'RNW4^5 LOL(1 0&DL L/7 UR#$!8(:?PX8'IC2UMX;#^AOW/:
M4<N&:;B6XANO3+WP<H]4L&6],)_D_CT<]*06KY1"NU^R'W*SS"-EKXUL#L7(
MH.'M\&8_#_MP5) 'SQ1$AX+(\1X:.98WS+#E7,D]438;T:SAI+IJ),=;>RCW
M1N$JQSJSC,@;LF*"M260>_<5W(!A7.@962L\>F4>*5GCNB&LK<CMCYYW>":&
MO/[,-@+TQ=PW2,."^>6AY6IH&3W3,HS(G6Q-K<EM6T'U-X"/_$<1T9.(5706
M\0;*2Q*'E$1!%)_!B\=-B1U>_ S>(,V_QQM0]6B=TC@@)*<1[%6:Z8Z5L/#P
MKFA0#^ M7[T(L^#M&7[)R"\YA[X\>S*GR)Z%.TT6]Q2:#:AQ7\F_D6ARE@<E
M+9C9Y*,-VH<WG9(/8)<T>4E"FH8!/O&Q/5GU7%2\W>G_2S*:QRG-PL):84Z#
M+)O<L;)&,>K1I</X<<93&H0%3=*88$V11S0LDLDUZ[AA@O^"BFBY-7NFP!5*
M4Z.L(HYIDA3()HAS.LWR29+1J"C034B2TC@I:)J$DZNR[)M>,(,P%>".E9RY
M"?,Z3FB&($4:7:"#:/F43I/\8H(20YIE*0WRB#@GST(Z+6)RZFOPCZYS VKG
MAI8FI>Q;,]SL,3K.Q:MA'/Q)'X;J'5,[WFHB8(NEP>4T]8@:!M7@&-FYX;"1
M!D>-,VN<[:!L JYOI31/CFTP_ELL?P-02P,$%     @ 1X!\6&\_K5R  @
M@ 4  !D   !X;"]W;W)K<VAE971S+W-H965T,C$N>&UL?53?C]HP#'[GK["Z
M:=HD=FW3'AP,D.#NINWA-'3LQW-H#8TN;;HD/;C_?DX*'9LX'J"V8W_^[-B9
M[)1^,@6BA7TI*S,-"FOK<1B:K,"2FRM58T4G&Z5+;DG5V]#4&GGN@TH9LB@:
MA"4753";>-M2SR:JL5)4N-1@FK+D^F6!4NVF01P<#8]B6UAG"&>3FF]QA?9'
MO=2DA1U*+DJLC% 5:-Q,@WD\7J3.WSO\%+@S)S*X2M9*/3GE:SX-(D<()6;6
M(7#Z/.,M2NF B,;O V;0I72!I_(1_;.OG6I9<X.W2OX2N2VFP4T .6YX(^VC
MVGW!0SW7#B]3TOA_V+6^UZ, LL9851Z"B4$IJO;+]X<^G 3<1*\$L$, \[S;
M1)[E';=\-M%J!]IY$YH3?*D^FLB)REW*RFHZ%11G9PP^PH)+7F4(*S\%=VBY
MD&8,WVR!&N99IAO,X7Y/<V#0P/OO?"W1?)B$EO([E# [Y%JTN=@KN6(&#ZJR
MA8'[*L?\7X"0B'?LV9']@EU$O,/L"I*X#RQBR06\I.M&XO&25_#:TL(5C7[>
MD'2NQA8A/8_@=FAL:I[A-* E,:B?,9B]>Q,/HD\7^*4=O_02^NS\E9QC>1'G
M/$MJ)I9KPC\V%/ZWL-YY N/>4JN-L& *KD6UA9H&"C*Z:RW6C=^^MQ#1+QY&
M_2B*G'N-VKZ Y7L:*1;UDY1!&O?3T; WEQ*4SR,LE@;B:-0?L!CB>-!/!VF/
M8-BH/QHD!)BP(4DQG.MM>+(5)>JMWWU#M)K*M@O26;OG9=YNU5_W]FUZX'HK
M*@,2-Q0:70VO ]#MOK>*5;7?L;6RM+%>+.B)1.T<Z'RCE#TJ+D'WZ,[^ %!+
M P04    " !'@'Q8;\[1)-@"  #=!@  &0   'AL+W=O<FMS:&5E=',O<VAE
M970R,BYX;6R55>]OVC 0_<Y?<<JFB4JT^45IQ0 )Z*956J6N;.UGDUS JF,S
MVT#Y[W=V0L8FRKHOR=F^>W[O8K\,MDH_FR6BA9=22#,,EM:N^F%HLB66S%RH
M%4I:*90NF:6A7H1FI9'EOJ@481)%O;!D7 :C@9^[UZ.!6EO!)=YK,.NR9'HW
M0:&VPR .]A,/?+&T;B(<#59L@3.T/U;WFD9A@Y+S$J7A2H+&8AB,X_ZDZ_)]
MPB/'K3F(P2F9*_7L!K?Y,(@<(12868? Z+7!*0KA@(C&SQHS:+9TA8?Q'OVS
MUTY:YLS@5(DGGMOE,+@.(,>"K85]4-LO6.NY='B9$L8_85OG1@%D:V-561<3
M@Y++ZLU>ZCZ\I2"I"Q+/N]K(L[QAEHT&6FU!NVQ"<X&7ZJN)')?NH\RLIE5.
M=7:4P#E,F& R0YCY4W"#EG%A^C"C Y"O!8(JX)&)-:O:*'/XMF:"%SLN%S#.
M,K66UD#[.YL+-&>#T!(M!QYF-85)12%YA4*<P)V2=FG@D\PQ_Q,@)#V-J&0O
M:I*<1+S![ +2N -)E*0G\-*F2:G'2U_!JZ2%^X:88QHKA.YQ!'>U^F;%,AP&
M='<,Z@T&HP_OXE[T\02_;L.O>PI]]%]?ZACYD_#'R5./L9RC;OH,?\\DK;&@
M.^^/%KD'3#7FW,)790R:?FM_ZIB%.2ZXE(XD"=@AT_ >J#6=*(I<=.6CUG3)
M] (-6 7&,HMD#=85D$%IK]A G':NHRZTXTZO%YVUGC2W>*Z*PG1 HD_6F*D-
M:DXX[2K[#-K7G;1+Z0>,D'IWE$L5M=ZB_E9NB*'2NX-O\E"U[]_R>TE<;]F+
MDS?+[Z:=)$VI8YWH*CJ0#^TD\4M>+*V=$'O9;7:N.1P[H>&!Y91(Q)RQ&O!'
MK'*?9K;Q[G%E6;_3*^._(UV<V LLJ#2ZN+H,0%=F6@VL6GD#FRM+=NC#)?U_
M4+L$6B^4LON!VZ#YHXU^ 5!+ P04    " !'@'Q8<4R\QV("  !)!0  &0
M 'AL+W=O<FMS:&5E=',O<VAE970R,RYX;6R%5-MNVS ,?>]7$-XP-$!6.W)N
MRQ(#32]8'PH$3;<]*S83&Y4E3Y*3[.]'R8F7 6GV8I,4S^&A)&JZ4_K-Y(@6
M]J609A;DUE:3,#1ICB4W-ZI"22MKI4MNR=6;T%0:>>9!I0A9% W#DA<R2*8^
MMM#)5-56%!(7&DQ=EES_GJ-0NUG0"XZ!EV*36Q<(DVG%-[A$^[U::/+"EB4K
M2I2F4!(TKF?!;6\R[[M\G_"CP)TYL<%ULE+JS3E/V2R(G" 4F%K'P.FWQ3L4
MPA&1C%\'SJ MZ8"G]I']T?=.O:RXP3LE?A:9S6?!.( ,U[P6]D7MON&AGX'C
M2Y4P_@N[)G<8!9#6QJKR "8%92&;/]\?]N$$,'X/P X YG4WA;S*>VYY,M5J
M!]IE$YLS?*L>3>(*Z0YE:36M%H2S20R?X4FFJD1XY7LT$UAHM2W\GM.1GZS!
MPYYN@D&X?N4K@:8S#2T)<#1A>B@V;XJQ=XKU&#PK:7,##S+#[%^"D)2W\ME1
M_IQ=9+S'] ;B7A=8Q.(+?'&[';'GB]_A:UH+EW3WLYJL<STV#/WS#&Z()J;B
M*<X"FA*#>HM!\NE#;QA]O:"OW^KK7V)/_G<XY_1>9#ROET7 8K>G[.JNUAJE
MG5P]8H::"_@(U[WN8/BE0]:(Q=THBJZ6EENZ& /6'<>L _W(1^]QC03.'("-
M*).-.L"87_,L,1MU^VSLF<8#%X=S>Q2>7.\2]<8/L8%4U=(V-[V-MN_$;3,>
M?].;1^:9ZTTA#0A<$S2Z&0T"T,W@-HY5E1^6E;(T>M[,Z:U#[1)H?:V4/3JN
M0/MZ)G\ 4$L#!!0    ( $> ?%@>N"^0N (   X&   9    >&PO=V]R:W-H
M965T<R]S:&5E=#(T+GAM;)U5VX[:,!!]YRM&Z;8"B>;BP+*E$&EO5?=A)02[
M[;-))F!M8J>V6=B_K^U<2B4657V)/?;,F7/&S##;"_FBMH@:#F7!U=S;:EU-
M@T"E6RRI\D6%W-SD0I94&U-N E5)I)D+*HN A.%E4%+&O63FSA8RF8F=+AC'
MA02U*TLJWVZP$/NY%WGMP9)MMMH>!,FLHAM<H7ZN%M)808>2L1*Y8H*#Q'SN
M74?3FY'U=PX_&.[5T1ZLDK40+]9XR.9>: EA@:FV"-0LKWB+16&!#(U?#:;7
MI;2!Q_L6_9O3;K2LJ<);4?QDF=[.O2L/,LSIKM!+L?^.C9ZQQ4M%H=P7]HUO
MZ$&Z4UJ43;!A4#)>K_30U.%? D@30!SO.I%C>4<U3692[$%:;X-F-TZJBS;D
M&+>/LM+2W#(3IY,8/L,#3T6)\$0/J*:P,N^>[0H$D<-]GJ,KVY$/+*E&6&(J
M>,H*1EUQ^T]T7: :S )M2%GH(&T(W-0$R#L$(@*/@NNM@GN>8?8W0&#4=))(
M*^F&G$6\P]2'.!H""4E\!B_N2A0[O/@=O%I:T-9%G=)8(XQ.(]C&FJJ*ICCW
M3.<HE*_H)9\^1)?AUS/\1AV_T3GTY'\>[)2&LUE.:[ 5MF4FO>M2[+B&C]!N
M>O>'RE#!#+2A0#4\^RL?E*9ZIX5\ VE)74 _&I(P'H9A.( ^B7RS7,#D<F)/
MP-J]!9KFXV@P,V;42>0I*NC'PQ&Y,C&A'YEO-&H@0G\TZ*VT!=?V]SP$;B:;
MJ4R.&4I:P!HYYDR;$!*U:2U$3%S*T/_2:TIG>:,1P15"OPD;U)1C,FG2D]@G
MCO+5N*4\AE./&ASU:(ERXR:1@M16JV[7[K0;=M=UC_]QKR?E(Y4;QA44F)O0
MT)^,/9#U]*D-+2K7\6NAS?QPVZT9V"BM@[G/A="M81-T?P');U!+ P04
M" !'@'Q8A,TI:L("  #B!0  &0   'AL+W=O<FMS:&5E=',O<VAE970R-2YX
M;6R55&%OVC 0_<ZO.&75-*2L<9R0 (-(T&Y:I76KVF[[;)*#6$UL9AMH]^MG
M)Y QB2+M2^*S[]Z]9^O>9"?5DRX1#3S7E=!3KS1F/0X"G9=8,WTIURCLR5*J
MFAD;JE6@UPI9T13554 )28*:<>%EDV;O3F43N3$5%WBG0&_JFJF7.59R-_5"
M[[!QSU>E<1M!-EFS%3Z@^;Z^4S8*.I2"UR@TEP(4+J?>+!S/8Y??)/S@N--'
M:W!*%E(^N>"FF'K$$<(*<^,0F/UM\0JKR@%9&K_VF%[7TA4>KP_HGQKM5LN"
M:;R2U4]>F'+J#3TH<,DVE;F7N\^XUS-P>+FL=/.%79N;#CS(-]K(>E]L&=1<
MM'_VO+^'HX(A>:6 [@MHP[MMU+"\9H9E$R5WH%RV17.+1FI3;<EQX1[EP2A[
MRFV=R2)X#S<BES7"(WM&/88'^^[%ID*02[C&)2J%A3N#F=9H-#!1P!?.%KSB
MAJ.&=X]L4:'N3P)C^3C4(-_WGK>]Z2N]0PJW4IA2PT=18/$O0&"%=&KH0<V<
MGD6\QOP2HM '2FAT!B_J;B=J\*)7\%IIP>%*]"F-+4)\&L'-U%BO68Y3SPZ-
M1K5%+WO[)DS(AS/\XHY?? X]^\^W.D7_;(/3]"D!&KDKIKUKM-LY9^V$V6ZL
MELKPW^W&!;P+?3J(_3BE_7T4)GX\"/N]&[%%8:1Z@7"0^A%)FW\R3'NS/%<;
MJV/+\A8F27P:$TA#?T2CWJRR1L)$CF M"7*KF!NHI!6L(8K\A!"(AK8KZ7VU
MGF;=2UD4L3JD6 H)]1,: NE],R4J'X3-&XS\)$YA0-+>!40T]D=QY!B/XJ%/
MAG$?3KU6<#1W-:I5XRX:<KD1IAW!;K<SL%D[MW_36_>[96K%A88*E[:47#J_
M4*VCM(&1ZV:*%])83VB6I35A5"[!GB^E-(? ->AL/?L#4$L#!!0    ( $>
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
M,/A&<FYT9?IP -Y/K?7K11"P^>UB\A=02P,$%     @ 1X!\6/5=BK&+ @
M.0<  !D   !X;"]W;W)K<VAE971S+W-H965T,C@N>&ULK55=;YLP%/TK%INF
M5NIJ, F-,H+4)INVAVI1JV[/#MR 56,SVTG:_?K9AK"T3:*NV@O^X)YSS[G@
MZW0CU;VN  QZJ+G0DZ RIAECK/,*:JK/90/"OEE*55-CEZK$NE% "P^J.29A
MF.":,A%DJ=^;JRR5*\.9@+E">E775#U> 9>;21 %VXT;5E;&;> L;6@)MV#N
MFKFR*]RS%*P&H9D42,%R$EQ&XVGBXGW #P8;O3-'SLE"RGNW^%9,@M ) @ZY
M<0S4#FN8 N>.R,KXU7$&?4H'W)UOV;]X[];+@FJ82OZ3%:::!*, %;"D*VYN
MY.8K='Z&CB^77/LGVK2QR2! ^4H;67=@JZ!FHAWI0U>''4"4' "0#D"> PYE
MB#M [(VVRKRM&34T2Y7<(.6B+9N;^-IXM'7#A/N*MT;9M\SB3#:5PBA;2VWS
MF@I-?490&MW &L0*[)C+4K#?4*"3&1C*N#Y%']'=[0R=O#]-L;$B'!7.NX17
M;4)R(&%$T+7-66GT6110/"7 5GUO@6PM7)&CC#/(SU$<G2$2DGB/H.GKX>2(
MG+BO:.SYXH-\ODC[*M,"!_N![KR.=4-SF 3V0&I0:PBR#^^B)/RTS]5_(GOB
M<=!['!QCSU[^'&=H#LHW%9$#^K[@K*3NG.XK0\L]]-RNRZRS>$!B,DKQ>M?@
M40EO-#CL#0Y?8_#,.G2MD(GR'_RUU,F.OXC$T05YYN^H@C?Z2WI_R5%_VV./
M+K4&L_=G35Y\I2@:Q6'TS,7+L+"/:*7AG>YD6TOIF[9&N5P)TS:J?K>_%RY]
M.\1_P]M+Y9JJD@F-."PM-#R_L'E5VZC;A9&-[W4+:6P?\]/*WFV@7(!]OY32
M;!<N07];9G\ 4$L#!!0    ( $> ?%B[RT->*@,  +X0   9    >&PO=V]R
M:W-H965T<R]S:&5E=#(Y+GAM;+58:V_:,!3]*U8F39M4-7%XM@.D IM6J=50
MJVZ?37)#K#IQ:CM0IOWXV0$2*A6G1,H7$C_NN<>'BX_-:,/%LXP!%'I-6"K'
M3JQ4=NVZ,H@A(?*29Y#JD8B+A"C=%"M79@)(6 0ES/4]K^\FA*;.9%3T+<1D
MQ'/%: H+@62>)$1LI\#X9NQ@Y]#Q0%>Q,AWN9)21%3R">LH60K?<$B6D":22
M\A0)B,;.#;Z>^D5 ,>,WA8T\>D=F*4O.GTWC-AP[GF$$# )E((A^K&$&C!DD
MS>-E#^J4.4W@\?L!_4>Q>+V8)9$PX^P/#54\=H8."B$B.5,/?/,3]@OJ&;R
M,UE\HLUN;F_@H""7BB?[8,T@H>GN25[W0AP%X.Z) '\?X!>\=XD*EG.BR&0D
M^ 8),UNCF9=BJ46T)D=3\ZT\*J%'J8Y3D^]24;TV"-&3A"AGZ$Z+)-%RBVZD
MU$4QTV,K+K;HRQP4H4Q^';E*YS71;K#/,=WE\$_DF$-PB3KX OF>WWD;[FJZ
M)6>_Y.P7>-T3>'<D#=%MD@F^!ET@2J)_Z)ZF-,F3]\A9P4S57\N,!#!V=%E+
M$&MP)I\_X;[WS4*U4U+M6*DNA/[]"+6]0 M&4H4,\^\O.<T,[XM*\PC>8V['
MQCVT!2*DA6:WI-D]7U'R>DI1*UA#17LEU5Z+BMJQNUZMHOV29M\*-<TI"VFZ
M.J-.K8 -51V4= <MJFK'QO6J#DN:PV:JGJY5*V!#5:]*NE<MJFK'_D"M8J\R
M <\*=D^"6'?I;?X-17N]VC$;2HN/C NW*&X->/W6BBNWPG:[LHA[NFSMF$W%
MK6P+M^E;->!X6*]NY5S8;EV//%(;(J"@6#;FL-8'SIW.,R[KMEY[CJ9J5Y:&
MV_2T&O!.O=B5J6&[JYTAMJ6TVS Z7#D=;M/J:L _L&]47H?M9O=+Q2#T 3RC
MBC#Z5Q_1#]3?8UY3X&W8(*Y\$+=IA#7@]07N5T;HVXWP?,U/U[D]54/-_<H?
M_3;]L0;<=J9SCVZCYF9_3\2*IA(QB#26=SG0^Y78799W#<6SXH*ZY$I?=XO7
M&$@(PDS0XQ'GZM P=][R+XO)?U!+ P04    " !'@'Q8@:$'G5\"  !+!@
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
MRJ*Y*@9:;%U_\B"TZ7;<[<8TI"!M@'F>"J&?!_8%58L;_0)02P,$%     @
M1X!\6#9\C*!K P  Z@H  !D   !X;"]W;W)K<VAE971S+W-H965T,S@N>&UL
MK59K;]LX$/PKA*XXM( ;O24[9PMP[!ZN0*\-DC;WF9;6-A%*=$G*3O[]+25%
M=6PZB(,B0$R*.\,9+A\[W@EYK]8 FCR4O%(39ZWUYM)U5;Z&DJH+L8$*1Y9"
MEE1C5ZY<M9% BP94<C?PO,0M*:N<;-Q\NY;96-2:LPJN)5%U65+Y> 5<[":.
M[SQ]N&&KM38?W&R\H2NX!?UC<RVQY_8L!2NA4DQ41,)RXDS]RYGO&4 3<<=@
MI_;:Q%A9"'%O.I^+B>,91< AUX:"XL\69L"Y84(=/SM2IY_3 /?;3^Q_-^;1
MS((JF G^'ROT>N(,'5+ DM9<WXC=/] 9B@U?+KAJ_I-=%^LY)*^5%F4'1@4E
MJ]I?^M MQ![ CTX @@X0O!80=H"P,=HJ:VS-J:;96(H=D28:V4RC69L&C6Y8
M9=)XJR6.,L3I+"0?R><J%R60[_0!U"6YQ9U2U!R(6)(Y+$%**,P8F2H%6A%:
M%>0+HPO&F6:@R/LY:,JX^H!,/V[GY/V[#V-7HS0S@9MW,JY:&<$)&7/(+TCH
M#TC@!:$%/GL]/'@.=W%!^E4)^E4)&K[P)%]CR>:C!49VH#ETEVI#<Y@X>*H4
MR"TXV9]_^(GWE\W5;R)[YC'L/88OL6?/<KN7T &YEGA+2/V(+4XKW63\T\^:
M;?#X:MN:M!/%S43FWMAF'_T@CJ(4<['=]VL-]),H]OO 9UZBWDOT>B_M/AW@
MMMZB7B$?;9);OF1/B1^GH9<>"+:&)</4+C?NY<;GRS7M?N#3 ][3"@9D)DK3
MHNV=AXFX@@J6S #Z(8R?+A14.5AW;'SD(4F"R#MP>AR5^B-S%FU&D]YH<J;1
M4SYOVOW=6)SFN:PI'YB&J"N\<VX@![:E"XZ14XY/#T6S!!\Q,D,6ILD7H:S>
MDR-789AXA]XM4<,@]NS>T]Y[>GZ2O^'!PEQ6JT8QF5$I']'&CLK"JC\]WG]!
M@G_^@8/CN!/JA[WZX1O4ZS5(F\SAT?3Q*(D.#Y,ERCMQDD:]S-'Y,K]B]8./
MUQWE=7MN^BUCTSXZNI/"(!I%X8'X%W6\\:KVO5^OM/?&RQK-6I_;%_G.?:<Z
MMOU%&D5#;Q@=9,_=*T1,%?@OE2M6*<)AB4#O(D4&V196;4>+35.;+(3&2J=I
MKK$8!6D"<'PIA'[JF'*G+V^S_P%02P,$%     @ 1X!\6+CS\1?O 0  _0,
M !D   !X;"]W;W)K<VAE971S+W-H965T,SDN>&UL?9-O;],P$,:_BF40&A+4
M:;(6*$DDV@HQ:1/5RN"UFUP::_X3;+?IOCVVDT81:O<F\=GW_/)<?)>V2C^;
M&L"BD^#29+BVMED08HH:!#43U8!T)Y72@EH7ZCTQC09:!I'@)(ZB.1&429RG
M86^C\U0=+&<2-AJ9@Q!4ORR!JS;#4WS>>&3[VOH-DJ<-W<,6[%.ST2XB Z5D
M J1A2B(-58:_31?+Q.>'A-\,6C-:(U_)3JEG']R5&8Z\(>!06$^@[G6$%7#N
M0<[&WYZ)AT]ZX7A]IG\/M;M:=M3 2O$_K+1UAC]C5$)%#]P^JO8']/7,/*]0
MW(0G:KO<^ M&Q<%8)7JQ<R"8[-[TU/^'L2"^(HA[01Q\=Q\*+M?4TCS5JD7:
M9SN:7X12@]J98])?RM9J=\J<SN8)^HCN9*$$H%_T! ;=K,%2QLW[E%C']UFD
MZ%G+CA5?8:VAF*!D^@'%49R@I^T:W;S]#T.<O<%C/'B, S>YR@V.+AGJA+>7
MA;ZA%Z:A!638=:P!?02<OWLSG4=?7[&5#+:2U^CYSP8TM4SNT;TR!JVHUB]N
M2EJJRXM>.]HLT/RL'/-Y=#N+HB@EQ[$-,KI-/Q@/5.^9-(A#Y931Y)-#Z*[9
MNL"J)ESP3EG7+F%9N_D$[1/<>:64/0>^9X:)S_\!4$L#!!0    ( $> ?%A7
M)IH/50(  *X%   9    >&PO=V]R:W-H965T<R]S:&5E=#0P+GAM;*U4VV[;
M, S]%<$;AA;HZEO:#)UCH$DZ; \%@@;=GA6;MH7JXDE*TOY]*=GQDBXI]C _
MV!+%<\A#B\RV2C^9!L"29\&EF02-M>U-&)JB 4'-I6I!XDFEM* 6M[H.3:N!
MEAXD>)A$T74H*)-!GGG;0N>96EO.)"PT,6LAJ'Z9 E?;21 '.\,#JQOK#&&>
MM;2&)=C'=J%Q%PXL)1,@#5.2:*@FP6U\,QLY?^_PD\'6[*V)4[)2ZLEM?I23
M('() 8?".@:*GPW,@'-'A&G\[CF#(:0#[J]W[-^\=M2RH@9FBO]BI6TFP9>
ME%#1-;</:OL=>CU7CJ]0W/@WV7:^XR@@Q=I8)7HP9B"8[+[TN:_#'B"^/@%(
M>D#R%C Z 4A[0.J%=IEY67-J:9YIM27:>2.;6_C:>#2J8=+]Q:75>,H09_.%
M5A6S9-E0S61-%IQ*<C8'2QDWY^0S>5S.R=G'\RRT&,Q!PJ(GGG;$R0GB."'W
M2MK&D#M90GE($&*60ZK)+M5I\B[C'(I+DL87)(F2]$A"LW^')^^DDPZ52SU?
M>I+/%^E893K@Z#C0]>6-:6D!DP ;SX#>0)!_^A!?1U^/J?I/9 <:1X/&T7OL
MJ+%"2TEF^"<U6ZU]Y[D[<D'N1,O5"V@R9Z;0X$YP"AQZW@JUEO98A;JP5SZL
M&S2;/,K"S;[LOSWB<83/X-8)"O>NO@!=^XE@2.$"=U=KL Y#Y];WVAO[%(=1
M-SO^T'23[)[JFDE#.%1(&5V.,2G=38=N8U7K&VRE++:K7S8X4$$[!SROE+*[
MC0LPC.C\%5!+ P04    " !'@'Q8PG%!&WD"  #*!@  &0   'AL+W=O<FMS
M:&5E=',O<VAE970T,2YX;6RM55UOVC 4_2M6-DVMM)$/DZQC(5*!5>.A6M6J
MV[-)+L1J8F>V@>[?SQ\AXR.@/NR%^-KWG'ON)3Y)MUR\R!) H=>Z8G+LE4HU
M(]^7>0DUD0/> -,G2RYJHG0H5KYL!)#"@NK*CX(@\6M"F9>E=N]!9"E?JXHR
M>!!(KNN:B#\3J/AV[(7>;N.1KDIE-OPL;<@*GD ]-P]"1W['4M :F*2<(0'+
ML7<;CJ:)R;<)/RELY=X:F4X6G+^88%Z,O< (@@IR91B(?FQ@"E5EB+2,WRVG
MUY4TP/WUCOW.]JY[61 )4U[]HH4JQ]Z-API8DG6E'OGV.[3]Q(8OYY6TOVCK
M<F-=,5]+Q>L6K..:,O<DK^T<]@!A<@80M8#H&# \ \ M -M&G3+;UHPHDJ6"
M;Y$PV9K-+.QL+%IW0YGY%Y^4T*=4XU06HT_HARI!H#G+>0VC@PA=S4 16LEK
MG?;\-$-7[Z]37^FZ!NWG;8V)JQ&=J1%&Z)XS54KTC150'!+X6G"G.MJIGD07
M&6>0#Q ./Z(HB'"/H.G;X=$%.;@;(K9\^"R?'5+?9!QPV \T5W0D&Y+#V--W
M4(+8@)=]>!<FP=>^KOX3V4&/PZ['X27V;,X4:%:%J'TS^GIU!+$E,.ZQR<(
M1SA(_<U^%Z=I<8PQ[K(.Y,6=O/BB//?6,LZTOPFB*%M=$.JHDGT%03 \DGF:
MA),P"/IE)IW,Y TRYV>5)3TCO(GPL;;3M"_A\&2$_IXMU"!6UBTEROF:*7?7
MNMW.D&^M#QWM3[11.U_]1^-<_IZ(%6425;#4E,'@L]8DG'.Z0/'&FL^"*VUE
M=EGJCPT(DZ#/EYRK76 *=)^O["]02P,$%     @ 1X!\6!ZH4>:N!@  6R(
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
M3']9<)%BI;MBZ<I, $YL4$K=P/-"-\6$.=' CDU$-."YHH3!1""9IRD63S=
M^6;H^,YV8$J6*V4&W&B0X27,0'W/)D+WW HE(2DP23A# A9#9^1?CWT;8&?\
M(+"1.VUDI,PY_VTZ]\G0\0PCH! K X'U:PUCH-0@:1Y_2E"G6M,$[K:WZ%^L
M>"UFCB6,.?U)$K4:.GT');# .553OKF#4E#7X,6<2OM$FV)NV'%0G$O%TS)8
M,T@)*][XL=R(G0 _/!(0E '!8<"Q%=IE0-L*+9A96;=8X6@@^ 8),UNCF8;=
M&QNMU1!FTCA30G\E.DY%LR)]B"_06_.8PAI8#A)AEJ"1.T4+P5/T@']Q@<:6
M#@B)WM^"PH3*#P-7:1(&RHW+!6^*!8,C"_H!>N!,K23ZS!)(]@%<S;Z2$&PE
MW 2-B+<0MU#;_X@"+VC7$!K_>WC00*==[6C;XG6.X'UKW;?05\'S#(URO5_<
M^!3-GJ2"5-;M5R.<.<;7,L,Q#!U]3B6(-3C1NS=^Z'VJT_I*8'O*.Y7R3J/R
M"8@8F-*GWSA);)UD'91:!\5;!]7M0P'>M^#F]EE'7LL/!^YZ5U_MI&XU:8]W
MM^+=/8,WCF.>,R6U@!C(&L\IZ(N"8A9#+>UF;,/M999.Q%PU)".L1(6-(&.N
MKWJ!9DH?9"P2=,=I0MA2HGL6M^IT-,*=:\-7 MM3WJN4]RYIPUZ=PSH'-CPQ
M:8]WO^+=OZ -F[$-MY=9.A$3-B3CJA)UU0CR@(4B3!<8VG<*!,/FYXWI41<V
MHIWKPE<"VQ/N>\]_5N^2/BS1#SSF'QBQF</_:MRI'OP+>O8$>.#5);4YZ%S%
M[D[II#.QM!6E1%9'48)4HU75.K*UVL'XC:EF;4GV#%.4POH(+ F3B,)"0WJM
MGK[]15%=%AW%,UN@S;G2=K#-E:[(09@)^ON"<[7MF 6J&C_Z"U!+ P04
M" !'@'Q8+;+CC8$"  ":!@  &0   'AL+W=O<FMS:&5E=',O<VAE970T-2YX
M;6RM55UOFS 4_2L6FZ96Z@(!DG8906K#JG5:I:A9MV<';H)58S/;).V_GS\(
M2SN2[J$OX(][SKWGVAR2+1</L@10Z+&B3$Z]4JEZXOLR+Z'"<L!K8'IGQ46%
ME9Z*M2]K ;BPH(KZ81",_0H3YJ6)79N+-.&-HH3!7"#95!463U= ^7;J#;W=
MPAU9E\HL^&E2XS4L0-W7<Z%G?L=2D J8))PA :NI=SF<9+&)MP$_"6SEWA@9
M)4O.'\SDIIAZ@2D(*.3*,&#]VL ,*#5$NHS?+:?7I33 _?&._=IJUUJ66,*,
MTU^D4.74N_!0 2O<4'7'MU^AU3,R?#FGTC[1UL6.=7#>2,6K%JPKJ AS;_S8
M]F$/,(P/ ,(6$+X$C X HA80_6^&N 785OM.BNU#AA5.$\&W2)AHS68&MID6
MK>439HY]H83>)1JGTG/T$5T6!3&'@"FZ)@RSG.C1#7-WRAQ.1F1.N6P$H),,
M%"94GFK<_2)#)^]/$U_I0@R=G[=)9RYI>"#I&-URIDJ)OK "BN=X7POH5(0[
M%5?A4<)OF U0,#Q#81#&??4<AV>0#U#DX%$//'LE>Z.S1T$?_)F:J#N3R/)%
M!\NQ+>XIY,H!XWZ@L8B)K'$.4T][@ 2Q 2_]\&XX#C[W->4MR;(W(GO6L+AK
M6'R,/5U@"N@[Z,]_B?,']$-@)K'UE3-WT^@3N@.F]+6>XR=M6JJWN2[)R"8Q
M=KE)/\5!D/B;_:;]&W0Q>AF4O1+D1/I[7VT%8FW=3Z*<-TRYJ]^M=@9[:7WE
MQ?I,&Z_SR;\TSK5OL5@3)A&%E:8,!N>Z).&<T$T4KZTW++G23F.'I?YY@# !
M>G_%N=I-3(+N=Y3^ 5!+ P04    " !'@'Q8Q^;UOV8"  !>!@  &0   'AL
M+W=O<FMS:&5E=',O<VAE970T-BYX;6RM55UOVC 4_2M6-DVMM#5?T'4L1"K0
M:GM 0D7=GMWD0JS&=F8[0/]]KYV0 07427M)_''/N>=<QS?)6JIG70 8LN&E
MT$.O,*8:^+[."N!47\D*!.XLI.+4X%0M?5TIH+D#\=*/@N#:YY0)+TW<VDRE
MB:Q-R03,%-$UYU2]C*"4ZZ$7>MN%![8LC%WPTZ2B2YB#>:QF"F=^QY(S#D(S
M*8B"Q="[#0?COHUW ;\8K/7.F%@G3U(^V\G/?.@%5A"4D!G+0/&U@C&4I25"
M&7]:3J]+:8&[XRW[O?..7IZHAK$L?[/<%$/OQB,Y+&A=F@>Y_@&M'R<PDZ5V
M3[)N8ON!1[):&\E;,"K@3#1ONFGKL ,(KT\ HA80'0)Z)P!Q"XB=T4:9LS6A
MAJ:)DFNB;#2RV8&KC4.C&R;L*<Z-PEV&.)..)>?,X+$83:C(R5@*P\021,9
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
M<6A4"H[<8R6,<6*T_C6"R0_L?@!02P,$%     @ 1X!\6(1:LH%@!   B2
M  \   !X;"]W;W)K8F]O:RYX;6S%FEMOVS84@/\*(6# ]K#:NL2YH"[@.ND6
MH$B\N,T> UJB+2(4Z9&4T_37]U"*.RJ7@[V<^24V*9GZ="2>[XC*^P=C[U?&
MW+-OC=)NFM3>;\]&(U?6HN'NG=D*#5O6QC;<0]-N1FYK!:]<+81OU"@;CR>C
MADN=?'B_'VMA1W'#>%%Z:31TAHY;*1[<O]M#D^VDDRNII'^<)MUW)1+62"T;
M^5U4TV2<,%>;AS^-E=^-]EPM2VN4FB9IO^%66"_+%]W+ /F%KUS7X_GJA@/(
M-)F,8<"UM,YW>W3C<V#<"=BY;[7>?)+*"WO.O?C#FG8K]28, V<QBDZCB\/^
MLP_BF?TO833KM2S%N2G;1FC?Q]$*%0"UJ^76)4SS1DR3_2Z,ZXI=: ]!8I>Z
M'PKV#6<*A[ZL^K/V@!O%T)Y)V& OJPZ<#G(.;:-D!4>OV$>NN"X%ZX+K(L ,
M <P.!LA^9XL(,D<@\_\1<AD@P@\<,VMVO14V@BP0R.)@D,N:QY!'".31 2'O
ML@AR@D!.#@8YYZZ.((\1R&-:R!2FQQ7WK16!ZV/KI!;.=<EH*3=Q^CE!($]H
M(3. '$QJ=BX\ERI./J<(WBDM7@YXE[HTC6!?^#<14Z5C+&F/:;F*D/JL64O?
M35TP'%M $&,\U"G$4CD"O&M?"_L4O)@+4TE*[)()<"W%II/R&R;&))(26^08
M\&95)<,&KM@GJ6%>2/C6L\:8F$928H^< .;<-(WT?=8+&04RHH>[4 !OC(F)
M)"4VR2E@WDAWWP-^A0QC(;, IG ,!HPQ,96DQ"Y)Q^&F;%=._-.&^_)B%X(:
MTV$.28DE$DPA85\.9+.R-&UWF=D"[%?*83[$+)(>2B-W,'=V@_R#V20EU@F"
M"=E\&Q?<F%TR8KL@F"&KQYB893)BRR"8RW*(B3Z_$$OG>0W17>N 8?2S/)1A
M\LF(Y?,2,P2Q:E57/E[$F)A\,F+YX)CG,28FGXQ8/L\KH+M!B\68F'PR8OF\
M41#M@QIC8A;*B"T4J@O+2Z@U'J2OV;QU'J)H';L18,L!)F:AC-A"%\[+IGLF
M_.K$NE7LL]Q!L;%Z9#/GA(\Q,0MEQ!;Z60J%&00J=UW!N2^3XH248Q;*B2WT
MMY";.@1SMMN\8U=MLX+Y\[16 5&-,3$+Y8>ST*4>+%CDF(5R8@NAI<<0$UU'
M([806GH,,3$+Y<06BIUSRU7;[=%-H+]:KN)'H!RS4$YL(;3T&$83LU!.;"'4
MZ4-,S$(YL85PS#S&Q"R4$UOH.2;[]6D*_1838@+*B07TRLK5JY %II^"6#]H
M!3>X*0M,/P6Q?M *;HB)Z:<XS,K;_K+'F)A^"F+]+-NFX?8QI/5?PI^^OA1]
M;32[BS'1%SG$^D$7"H<7'=-/0?XNY\U%PI"68DQ,/P6Q?EXLOKV>C##U%-3O
M<EY=)/S)&6-BZBDZ]8SVK[XKL99:5%=P" ?])5?EPK+PT:_4%T=AM0P>9-0<
M^J[U9\.K_9OT_7\!?/@!4$L#!!0    ( $> ?%B2+*"6N $  .<<   :
M>&PO7W)E;',O=V]R:V)O;VLN>&UL+G)E;'/-V3MNPD 4A>&M("^ X3X@(8)4
M:=)&;,""X2$>MCP3!78?! 4<E"(-FE-9,Y:O_^J3-9Y\Q5V=-\TAK3=MZAWW
MNT.:5NN<V[<0TGP=]W7J-VT\G.\LFVY?Y_.R6X6VGF_K50PZ&(Q"=S^C>I_<
MS^S-3FW\S\1FN=S,XT<S_]['0_YC</AINFU:QYBKWJSN5C%/JW#<W;93N%RD
M?YY<]3X7TZK[7$@52@<I!&GY((,@*Q_D$.3E@X80-"P?-(*@4?F@%PAZ*1_T
M"D&OY8/&$#0N'R0#E'% D/2 -8'6@EP+@=>"8 N!V()D"X'9@F@+@=J"; N!
MVX)P"X'<@G0+@=V"> N!WHIZ*X'>BGHK@=[Z\+%-H+>BWDJ@MZ+>2J"WHMY*
MH+>BWDJ@MZ+>2J"WHMY*H+>BWDJ@MZ'>1J"WH=Y&H+>AWD:@MST<EA#H;:BW
M$>AMJ+<1Z&VHMQ'H;:BW$>AMJ+<1Z&VHMQ'H[:BW$^CMJ+<3Z.VHMQ/H[:BW
M$^CM#X?=!'H[ZNT$>COJ[01Z.^KM!'H[ZNW/U#OETRZF6\]UC>]_)M7Y_&R\
MO?ZRO&ZBA,,+S@'^:[[_ E!+ P04    " !'@'Q8C$_JC[H!  #N'   $P
M %M#;VYT96YT7U1Y<&5S72YX;6S-V<ENPC 4!=!?0=DB8CR4#@(V;;<MB_Z
MFSQ(1!);MJ'P]W7"(+6BJ(A*O9M$B>UW7VSI;#)^VUKRO4U=-7Z2%"'8!\9\
M5E"M?6HL-7%D;ERM0WQT"V9UMM0+8F(X'+',-(&:, AMC60Z?J*Y7E6A][R)
MKWUIFDGBJ/))[W$WL<V:)-K:JLQTB.-LW>3?4@;[A#2N[.;XHK2^'R<D[&1"
M._)SP'[=ZYJ<*W/JS;0++[J.L]BF8CYL*_+I^1(G>C3S>9E1;K)5'9>DWCK2
MN2^(0EVENZ+]\\DA[C#MKOSJ_*[,N< X<^:,]?'$'%T>=SB2=O7 QD+D0GG^
M$X^)L?35WT?M:>>4_S([;N^'<<ON/#SK;M?O\=<S/M:_L \!TH<$Z4.!]'$#
MTL<(I(];D#[N0/JX!^F##U$:01&5HY#*44SE**AR%%4Y"JL<Q56. BM'D56@
MR"I09!4HL@H4606*K )%5H$BJT"15:#(*E!DE2BR2A19)8JL$D56B2*K1)%5
MHL@J4625*+)*%%D5BJP*15:%(JM"D56AR*I09%4HLBH46=5_ROINS/*O_\"U
M][3697/(9]UOSNDG4$L! A0#%     @ 1X!\6 =!36*!    L0   !
M         ( !     &1O8U!R;W!S+V%P<"YX;6Q02P$"% ,4    " !'@'Q8
MRO("<NT    K @  $0              @ &O    9&]C4')O<',O8V]R92YX
M;6Q02P$"% ,4    " !'@'Q8F5R<(Q &  "<)P  $P              @ '+
M 0  >&PO=&AE;64O=&AE;64Q+GAM;%!+ 0(4 Q0    ( $> ?%B+N.K1D <
M -@Q   8              " @0P(  !X;"]W;W)K<VAE971S+W-H965T,2YX
M;6Q02P$"% ,4    " !'@'Q8"Q7PW><%  "D%P  &               @('2
M#P  >&PO=V]R:W-H965T<R]S:&5E=#(N>&UL4$L! A0#%     @ 1X!\6-0Y
MKM^W @  - D  !@              ("![Q4  'AL+W=O<FMS:&5E=',O<VAE
M970S+GAM;%!+ 0(4 Q0    ( $> ?%B7FL&=DP0  )P1   8
M  " @=P8  !X;"]W;W)K<VAE971S+W-H965T-"YX;6Q02P$"% ,4    " !'
M@'Q8/7.;IX0$  "N&@  &               @(&E'0  >&PO=V]R:W-H965T
M<R]S:&5E=#4N>&UL4$L! A0#%     @ 1X!\6-VH:158 @  V 4  !@
M         ("!7R(  'AL+W=O<FMS:&5E=',O<VAE970V+GAM;%!+ 0(4 Q0
M   ( $> ?%AY'56"508  /8:   8              " @>TD  !X;"]W;W)K
M<VAE971S+W-H965T-RYX;6Q02P$"% ,4    " !'@'Q8^AUK;K<*   Y&P
M&               @(%X*P  >&PO=V]R:W-H965T<R]S:&5E=#@N>&UL4$L!
M A0#%     @ 1X!\6.#1;VU0!   M0D  !@              ("!938  'AL
M+W=O<FMS:&5E=',O<VAE970Y+GAM;%!+ 0(4 Q0    ( $> ?%ATJ30/T@0
M #@*   9              " @>LZ  !X;"]W;W)K<VAE971S+W-H965T,3 N
M>&UL4$L! A0#%     @ 1X!\6,&GS,3X 0  L00  !D              ("!
M]#\  'AL+W=O<FMS:&5E=',O<VAE970Q,2YX;6Q02P$"% ,4    " !'@'Q8
M7>?I"RT"  #P!   &0              @($C0@  >&PO=V]R:W-H965T<R]S
M:&5E=#$R+GAM;%!+ 0(4 Q0    ( $> ?%B1%(]G;0<  '(9   9
M      " @8=$  !X;"]W;W)K<VAE971S+W-H965T,3,N>&UL4$L! A0#%
M  @ 1X!\6!=2N;&' P  1P@  !D              ("!*TP  'AL+W=O<FMS
M:&5E=',O<VAE970Q-"YX;6Q02P$"% ,4    " !'@'Q8@F.Z]0 #  "X!@
M&0              @('I3P  >&PO=V]R:W-H965T<R]S:&5E=#$U+GAM;%!+
M 0(4 Q0    ( $> ?%B<3.U."P(   (%   9              " @2!3  !X
M;"]W;W)K<VAE971S+W-H965T,38N>&UL4$L! A0#%     @ 1X!\6 Y,^+9@
M @  604  !D              ("!8E4  'AL+W=O<FMS:&5E=',O<VAE970Q
M-RYX;6Q02P$"% ,4    " !'@'Q89\K/K40+  "9(   &0
M@('Y5P  >&PO=V]R:W-H965T<R]S:&5E=#$X+GAM;%!+ 0(4 Q0    ( $>
M?%B22F*EH (  )L%   9              " @71C  !X;"]W;W)K<VAE971S
M+W-H965T,3DN>&UL4$L! A0#%     @ 1X!\6"<TG!;@ @  .08  !D
M         ("!2V8  'AL+W=O<FMS:&5E=',O<VAE970R,"YX;6Q02P$"% ,4
M    " !'@'Q8;S^M7( "  " !0  &0              @(%B:0  >&PO=V]R
M:W-H965T<R]S:&5E=#(Q+GAM;%!+ 0(4 Q0    ( $> ?%AOSM$DV (  -T&
M   9              " @1EL  !X;"]W;W)K<VAE971S+W-H965T,C(N>&UL
M4$L! A0#%     @ 1X!\6'%,O,=B @  204  !D              ("!*&\
M 'AL+W=O<FMS:&5E=',O<VAE970R,RYX;6Q02P$"% ,4    " !'@'Q8'K@O
MD+@"   .!@  &0              @('!<0  >&PO=V]R:W-H965T<R]S:&5E
M=#(T+GAM;%!+ 0(4 Q0    ( $> ?%B$S2EJP@(  .(%   9
M  " @;!T  !X;"]W;W)K<VAE971S+W-H965T,C4N>&UL4$L! A0#%     @
M1X!\6!S3Z4TY @  ^P0  !D              ("!J7<  'AL+W=O<FMS:&5E
M=',O<VAE970R-BYX;6Q02P$"% ,4    " !'@'Q80OX6M-X$  #'$   &0
M            @($9>@  >&PO=V]R:W-H965T<R]S:&5E=#(W+GAM;%!+ 0(4
M Q0    ( $> ?%CU78JQBP(  #D'   9              " @2Y_  !X;"]W
M;W)K<VAE971S+W-H965T,C@N>&UL4$L! A0#%     @ 1X!\6+O+0UXJ P
MOA   !D              ("!\($  'AL+W=O<FMS:&5E=',O<VAE970R.2YX
M;6Q02P$"% ,4    " !'@'Q8@:$'G5\"  !+!@  &0              @(%1
MA0  >&PO=V]R:W-H965T<R]S:&5E=#,P+GAM;%!+ 0(4 Q0    ( $> ?%@1
M'P9A/ (  (D%   9              " @>>'  !X;"]W;W)K<VAE971S+W-H
M965T,S$N>&UL4$L! A0#%     @ 1X!\6#KR8NBA @  = <  !D
M     ("!6HH  'AL+W=O<FMS:&5E=',O<VAE970S,BYX;6Q02P$"% ,4
M" !'@'Q8.L&;7O$"  "!"   &0              @($RC0  >&PO=V]R:W-H
M965T<R]S:&5E=#,S+GAM;%!+ 0(4 Q0    ( $> ?%CQ<&#HAP(  .8&   9
M              " @5J0  !X;"]W;W)K<VAE971S+W-H965T,S0N>&UL4$L!
M A0#%     @ 1X!\6,8@,8Y' P  ; L  !D              ("!&),  'AL
M+W=O<FMS:&5E=',O<VAE970S-2YX;6Q02P$"% ,4    " !'@'Q8T*7\Z;T"
M  #O!P  &0              @(&6E@  >&PO=V]R:W-H965T<R]S:&5E=#,V
M+GAM;%!+ 0(4 Q0    ( $> ?%@8SJ&(6P,  .X*   9              "
M@8J9  !X;"]W;W)K<VAE971S+W-H965T,S<N>&UL4$L! A0#%     @ 1X!\
M6#9\C*!K P  Z@H  !D              ("!')T  'AL+W=O<FMS:&5E=',O
M<VAE970S."YX;6Q02P$"% ,4    " !'@'Q8N//Q%^\!  #] P  &0
M        @(&^H   >&PO=V]R:W-H965T<R]S:&5E=#,Y+GAM;%!+ 0(4 Q0
M   ( $> ?%A7)IH/50(  *X%   9              " @>2B  !X;"]W;W)K
M<VAE971S+W-H965T-# N>&UL4$L! A0#%     @ 1X!\6,)Q01MY @  R@8
M !D              ("!<*4  'AL+W=O<FMS:&5E=',O<VAE970T,2YX;6Q0
M2P$"% ,4    " !'@'Q8'JA1YJX&  !;(@  &0              @($@J
M>&PO=V]R:W-H965T<R]S:&5E=#0R+GAM;%!+ 0(4 Q0    ( $> ?%BTCLN)
MP00  )4:   9              " @06O  !X;"]W;W)K<VAE971S+W-H965T
M-#,N>&UL4$L! A0#%     @ 1X!\6&R >$L; P  [PL  !D
M ("!_;,  'AL+W=O<FMS:&5E=',O<VAE970T-"YX;6Q02P$"% ,4    " !'
M@'Q8+;+CC8$"  ":!@  &0              @(%/MP  >&PO=V]R:W-H965T
M<R]S:&5E=#0U+GAM;%!+ 0(4 Q0    ( $> ?%C'YO6_9@(  %X&   9
M          " @0>Z  !X;"]W;W)K<VAE971S+W-H965T-#8N>&UL4$L! A0#
M%     @ 1X!\6-19#229 @  #@<  !D              ("!I+P  'AL+W=O
M<FMS:&5E=',O<VAE970T-RYX;6Q02P$"% ,4    " !'@'Q8'<MB[G,"  "!
M!@  &0              @(%TOP  >&PO=V]R:W-H965T<R]S:&5E=#0X+GAM
M;%!+ 0(4 Q0    ( $> ?%C43[1F*@,  $82   -              "  1["
M  !X;"]S='EL97,N>&UL4$L! A0#%     @ 1X!\6)>*NQS     $P(   L
M             ( !<\4  %]R96QS+RYR96QS4$L! A0#%     @ 1X!\6(1:
MLH%@!   B2    \              ( !7,8  'AL+W=O<FMB;V]K+GAM;%!+
M 0(4 Q0    ( $> ?%B2+*"6N $  .<<   :              "  >G*  !X
M;"]?<F5L<R]W;W)K8F]O:RYX;6PN<F5L<U!+ 0(4 Q0    ( $> ?%B,3^J/
MN@$  .X<   3              "  =G,  !;0V]N=&5N=%]4>7!E<UTN>&UL
64$L%!@     X #@ /P\  ,3.      $!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>64
<FILENAME>Show.js
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
// 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)}}}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>65
<FILENAME>report.css
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
/* 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;
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>67
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.24.1</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>88</ContextCount>
  <ElementCount>197</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>false</FootnotesReported>
  <SegmentCount>24</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>4</UnitCount>
  <MyReports>
    <Report instance="d45311d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>000010 - Document - Document and Entity Information</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20231231/role/idr_DocumentDocumentAndEntityInformation</Role>
      <ShortName>Document and Entity Information</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report instance="d45311d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R2.htm</HtmlFileName>
      <LongName>000020 - Statement - Consolidated Balance Sheets</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedBalanceSheets</Role>
      <ShortName>Consolidated Balance Sheets</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>2</Position>
    </Report>
    <Report instance="d45311d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R3.htm</HtmlFileName>
      <LongName>000030 - Statement - Consolidated Balance Sheets - Parenthetical</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedBalanceSheetsParenthetical</Role>
      <ShortName>Consolidated Balance Sheets - Parenthetical</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>3</Position>
    </Report>
    <Report instance="d45311d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R4.htm</HtmlFileName>
      <LongName>000040 - Statement - Consolidated Statements of Operations</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfOperations</Role>
      <ShortName>Consolidated Statements of Operations</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>4</Position>
    </Report>
    <Report instance="d45311d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R5.htm</HtmlFileName>
      <LongName>000050 - Statement - Consolidated Statements of Shareholders' Equity</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfShareholdersEquity</Role>
      <ShortName>Consolidated Statements of Shareholders' Equity</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>5</Position>
    </Report>
    <Report instance="d45311d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R6.htm</HtmlFileName>
      <LongName>000060 - Statement - Consolidated Statements of Shareholders' Equity - Parenthetical</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfShareholdersEquityParenthetical</Role>
      <ShortName>Consolidated Statements of Shareholders' Equity - Parenthetical</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>6</Position>
    </Report>
    <Report instance="d45311d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R7.htm</HtmlFileName>
      <LongName>000070 - Statement - Consolidated Statements of Cash Flows</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfCashFlows</Role>
      <ShortName>Consolidated Statements of Cash Flows</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>7</Position>
    </Report>
    <Report instance="d45311d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R8.htm</HtmlFileName>
      <LongName>000080 - Disclosure - 1 - Nature of Business and Significant Accounting Policies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20231231/role/idr_Disclosure1NatureOfBusinessAndSignificantAccountingPolicies</Role>
      <ShortName>1 - Nature of Business and Significant Accounting Policies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>8</Position>
    </Report>
    <Report instance="d45311d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R9.htm</HtmlFileName>
      <LongName>000090 - Disclosure - 2 - Balance Sheet Details</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20231231/role/idr_Disclosure2BalanceSheetDetails</Role>
      <ShortName>2 - Balance Sheet Details</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>9</Position>
    </Report>
    <Report instance="d45311d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R10.htm</HtmlFileName>
      <LongName>000100 - Disclosure - 3 - Income Taxes</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20231231/role/idr_Disclosure3IncomeTaxes</Role>
      <ShortName>3 - Income Taxes</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>10</Position>
    </Report>
    <Report instance="d45311d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R11.htm</HtmlFileName>
      <LongName>000110 - Disclosure - 4 - Profit Sharing Plan</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20231231/role/idr_Disclosure4ProfitSharingPlan</Role>
      <ShortName>4 - Profit Sharing Plan</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>11</Position>
    </Report>
    <Report instance="d45311d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R12.htm</HtmlFileName>
      <LongName>000120 - Disclosure - 5 - Other Income</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20231231/role/idr_Disclosure5OtherIncome</Role>
      <ShortName>5 - Other Income</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>12</Position>
    </Report>
    <Report instance="d45311d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R13.htm</HtmlFileName>
      <LongName>000130 - Disclosure - 6 - Segment Information</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20231231/role/idr_Disclosure6SegmentInformation</Role>
      <ShortName>6 - Segment Information</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>13</Position>
    </Report>
    <Report instance="d45311d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R14.htm</HtmlFileName>
      <LongName>000140 - Disclosure - 7 - Additional Financial Information Disclosure</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20231231/role/idr_Disclosure7AdditionalFinancialInformationDisclosure</Role>
      <ShortName>7 - Additional Financial Information Disclosure</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>14</Position>
    </Report>
    <Report instance="d45311d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R15.htm</HtmlFileName>
      <LongName>000150 - Disclosure - 8 - Commitments and Contingencies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20231231/role/idr_Disclosure8CommitmentsAndContingencies</Role>
      <ShortName>8 - Commitments and Contingencies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>15</Position>
    </Report>
    <Report instance="d45311d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R16.htm</HtmlFileName>
      <LongName>000160 - Disclosure - 9 - Risks and Uncertainties for Health Emergencies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20231231/role/idr_Disclosure9RisksAndUncertaintiesForHealthEmergencies</Role>
      <ShortName>9 - Risks and Uncertainties for Health Emergencies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>16</Position>
    </Report>
    <Report instance="d45311d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R17.htm</HtmlFileName>
      <LongName>000170 - Disclosure - 10 - Subsequent Events</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20231231/role/idr_Disclosure10SubsequentEvents</Role>
      <ShortName>10 - Subsequent Events</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>17</Position>
    </Report>
    <Report instance="d45311d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R18.htm</HtmlFileName>
      <LongName>000180 - Disclosure - Significant Accounting Policies (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20231231/role/idr_DisclosureSignificantAccountingPoliciesPolicies</Role>
      <ShortName>Significant Accounting Policies (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <ParentRole>http://www.chicagorivet.com/20231231/role/idr_Disclosure1NatureOfBusinessAndSignificantAccountingPolicies</ParentRole>
      <Position>18</Position>
    </Report>
    <Report instance="d45311d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R19.htm</HtmlFileName>
      <LongName>000190 - Disclosure - 2 - Balance Sheet Details: Inventory (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20231231/role/idr_Disclosure2BalanceSheetDetailsInventoryTables</Role>
      <ShortName>2 - Balance Sheet Details: Inventory (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>19</Position>
    </Report>
    <Report instance="d45311d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R20.htm</HtmlFileName>
      <LongName>000200 - Disclosure - 2 - Balance Sheet Details: Property, Plant and Equipment (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20231231/role/idr_Disclosure2BalanceSheetDetailsPropertyPlantAndEquipmentTables</Role>
      <ShortName>2 - Balance Sheet Details: Property, Plant and Equipment (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>20</Position>
    </Report>
    <Report instance="d45311d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R21.htm</HtmlFileName>
      <LongName>000210 - Disclosure - 2 - Balance Sheet Details: Other Accrued Expenses (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20231231/role/idr_Disclosure2BalanceSheetDetailsOtherAccruedExpensesTables</Role>
      <ShortName>2 - Balance Sheet Details: Other Accrued Expenses (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>21</Position>
    </Report>
    <Report instance="d45311d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R22.htm</HtmlFileName>
      <LongName>000220 - Disclosure - 2 - Balance Sheet Details: Schedule of Valuation and Qualifying Accounts (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20231231/role/idr_Disclosure2BalanceSheetDetailsScheduleOfValuationAndQualifyingAccountsTables</Role>
      <ShortName>2 - Balance Sheet Details: Schedule of Valuation and Qualifying Accounts (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>22</Position>
    </Report>
    <Report instance="d45311d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R23.htm</HtmlFileName>
      <LongName>000230 - Disclosure - 3 - Income Taxes: Provision for Income Tax Expense (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20231231/role/idr_Disclosure3IncomeTaxesProvisionForIncomeTaxExpenseTables</Role>
      <ShortName>3 - Income Taxes: Provision for Income Tax Expense (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>23</Position>
    </Report>
    <Report instance="d45311d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R24.htm</HtmlFileName>
      <LongName>000240 - Disclosure - 3 - Income Taxes: Schedule of Effective Income Tax Rate Reconciliation (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20231231/role/idr_Disclosure3IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationTables</Role>
      <ShortName>3 - Income Taxes: Schedule of Effective Income Tax Rate Reconciliation (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>24</Position>
    </Report>
    <Report instance="d45311d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R25.htm</HtmlFileName>
      <LongName>000250 - Disclosure - 3 - Income Taxes: Schedule of Deferred Tax Assets and Liabilities (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20231231/role/idr_Disclosure3IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesTables</Role>
      <ShortName>3 - Income Taxes: Schedule of Deferred Tax Assets and Liabilities (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>25</Position>
    </Report>
    <Report instance="d45311d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R26.htm</HtmlFileName>
      <LongName>000260 - Disclosure - 5 - Other Income: Other Income (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20231231/role/idr_Disclosure5OtherIncomeOtherIncomeTables</Role>
      <ShortName>5 - Other Income: Other Income (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>26</Position>
    </Report>
    <Report instance="d45311d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R27.htm</HtmlFileName>
      <LongName>000270 - Disclosure - 6 - Segment Information: Schedule of Segment Reporting Information (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20231231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationTables</Role>
      <ShortName>6 - Segment Information: Schedule of Segment Reporting Information (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>27</Position>
    </Report>
    <Report instance="d45311d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R28.htm</HtmlFileName>
      <LongName>000280 - Disclosure - Contracts with Customers Revenue Recognized (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20231231/role/idr_DisclosureContractsWithCustomersRevenueRecognizedDetails</Role>
      <ShortName>Contracts with Customers Revenue Recognized (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>28</Position>
    </Report>
    <Report instance="d45311d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R29.htm</HtmlFileName>
      <LongName>000290 - Disclosure - Estimated Useful Lives by Asset Category (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20231231/role/idr_DisclosureEstimatedUsefulLivesByAssetCategoryDetails</Role>
      <ShortName>Estimated Useful Lives by Asset Category (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>29</Position>
    </Report>
    <Report instance="d45311d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R30.htm</HtmlFileName>
      <LongName>000300 - Disclosure - Uncertain Tax Positions and Unrecognized Tax Benefits (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20231231/role/idr_DisclosureUncertainTaxPositionsAndUnrecognizedTaxBenefitsDetails</Role>
      <ShortName>Uncertain Tax Positions and Unrecognized Tax Benefits (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>30</Position>
    </Report>
    <Report instance="d45311d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R31.htm</HtmlFileName>
      <LongName>000310 - Disclosure - Weighted Avg. Number of Shares Outstanding (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20231231/role/idr_DisclosureWeightedAvgNumberOfSharesOutstandingDetails</Role>
      <ShortName>Weighted Avg. Number of Shares Outstanding (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>31</Position>
    </Report>
    <Report instance="d45311d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R32.htm</HtmlFileName>
      <LongName>000320 - Disclosure - 2 - Balance Sheet Details: Inventory (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20231231/role/idr_Disclosure2BalanceSheetDetailsInventoryDetails</Role>
      <ShortName>2 - Balance Sheet Details: Inventory (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.chicagorivet.com/20231231/role/idr_Disclosure2BalanceSheetDetailsInventoryTables</ParentRole>
      <Position>32</Position>
    </Report>
    <Report instance="d45311d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R33.htm</HtmlFileName>
      <LongName>000330 - Disclosure - 2 - Balance Sheet Details: Property, Plant and Equipment (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20231231/role/idr_Disclosure2BalanceSheetDetailsPropertyPlantAndEquipmentDetails</Role>
      <ShortName>2 - Balance Sheet Details: Property, Plant and Equipment (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.chicagorivet.com/20231231/role/idr_Disclosure2BalanceSheetDetailsPropertyPlantAndEquipmentTables</ParentRole>
      <Position>33</Position>
    </Report>
    <Report instance="d45311d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R34.htm</HtmlFileName>
      <LongName>000340 - Disclosure - 2 - Balance Sheet Details: Other Accrued Expenses (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20231231/role/idr_Disclosure2BalanceSheetDetailsOtherAccruedExpensesDetails</Role>
      <ShortName>2 - Balance Sheet Details: Other Accrued Expenses (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.chicagorivet.com/20231231/role/idr_Disclosure2BalanceSheetDetailsOtherAccruedExpensesTables</ParentRole>
      <Position>34</Position>
    </Report>
    <Report instance="d45311d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R35.htm</HtmlFileName>
      <LongName>000350 - Disclosure - Schedule of Valuation and Qualifying Accounts (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20231231/role/idr_DisclosureScheduleOfValuationAndQualifyingAccountsDetails</Role>
      <ShortName>Schedule of Valuation and Qualifying Accounts (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>35</Position>
    </Report>
    <Report instance="d45311d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R36.htm</HtmlFileName>
      <LongName>000360 - Disclosure - 3 - Income Taxes: Provision for Income Tax Expense (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20231231/role/idr_Disclosure3IncomeTaxesProvisionForIncomeTaxExpenseDetails</Role>
      <ShortName>3 - Income Taxes: Provision for Income Tax Expense (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.chicagorivet.com/20231231/role/idr_Disclosure3IncomeTaxesProvisionForIncomeTaxExpenseTables</ParentRole>
      <Position>36</Position>
    </Report>
    <Report instance="d45311d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R37.htm</HtmlFileName>
      <LongName>000370 - Disclosure - 3 - Income Taxes: Schedule of Effective Income Tax Rate Reconciliation (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20231231/role/idr_Disclosure3IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails</Role>
      <ShortName>3 - Income Taxes: Schedule of Effective Income Tax Rate Reconciliation (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.chicagorivet.com/20231231/role/idr_Disclosure3IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationTables</ParentRole>
      <Position>37</Position>
    </Report>
    <Report instance="d45311d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R38.htm</HtmlFileName>
      <LongName>000380 - Disclosure - 3 - Income Taxes: Schedule of Deferred Tax Assets and Liabilities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20231231/role/idr_Disclosure3IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails</Role>
      <ShortName>3 - Income Taxes: Schedule of Deferred Tax Assets and Liabilities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.chicagorivet.com/20231231/role/idr_Disclosure3IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesTables</ParentRole>
      <Position>38</Position>
    </Report>
    <Report instance="d45311d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R39.htm</HtmlFileName>
      <LongName>000390 - Disclosure - 3 - Income Taxes (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20231231/role/idr_Disclosure3IncomeTaxesDetails</Role>
      <ShortName>3 - Income Taxes (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.chicagorivet.com/20231231/role/idr_Disclosure3IncomeTaxesProvisionForIncomeTaxExpenseTables</ParentRole>
      <Position>39</Position>
    </Report>
    <Report instance="d45311d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R40.htm</HtmlFileName>
      <LongName>000400 - Disclosure - Profit Sharing Plan (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20231231/role/idr_DisclosureProfitSharingPlanDetails</Role>
      <ShortName>Profit Sharing Plan (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>40</Position>
    </Report>
    <Report instance="d45311d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R41.htm</HtmlFileName>
      <LongName>000410 - Disclosure - 5 - Other Income: Other Income (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20231231/role/idr_Disclosure5OtherIncomeOtherIncomeDetails</Role>
      <ShortName>5 - Other Income: Other Income (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.chicagorivet.com/20231231/role/idr_Disclosure5OtherIncomeOtherIncomeTables</ParentRole>
      <Position>41</Position>
    </Report>
    <Report instance="d45311d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R42.htm</HtmlFileName>
      <LongName>000420 - Disclosure - 6 - Segment Information: Schedule of Segment Reporting Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20231231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationDetails</Role>
      <ShortName>6 - Segment Information: Schedule of Segment Reporting Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.chicagorivet.com/20231231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationTables</ParentRole>
      <Position>42</Position>
    </Report>
    <Report instance="d45311d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R43.htm</HtmlFileName>
      <LongName>000430 - Disclosure - 6 - Segment Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20231231/role/idr_Disclosure6SegmentInformationDetails</Role>
      <ShortName>6 - Segment Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.chicagorivet.com/20231231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationTables</ParentRole>
      <Position>43</Position>
    </Report>
    <Report instance="d45311d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R44.htm</HtmlFileName>
      <LongName>000440 - Disclosure - Summary of % of Revenues and A/R from Major Customers (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20231231/role/idr_DisclosureSummaryOfOfRevenuesAndARFromMajorCustomersDetails</Role>
      <ShortName>Summary of % of Revenues and A/R from Major Customers (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>44</Position>
    </Report>
    <Report instance="d45311d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R45.htm</HtmlFileName>
      <LongName>000450 - Disclosure - 7 - Additional Financial Information Disclosure (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20231231/role/idr_Disclosure7AdditionalFinancialInformationDisclosureDetails</Role>
      <ShortName>7 - Additional Financial Information Disclosure (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.chicagorivet.com/20231231/role/idr_Disclosure7AdditionalFinancialInformationDisclosure</ParentRole>
      <Position>45</Position>
    </Report>
    <Report instance="d45311d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R46.htm</HtmlFileName>
      <LongName>000460 - Disclosure - Commitments and Contingencies (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20231231/role/idr_DisclosureCommitmentsAndContingenciesDetails</Role>
      <ShortName>Commitments and Contingencies (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>46</Position>
    </Report>
    <Report instance="d45311d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R47.htm</HtmlFileName>
      <LongName>000470 - Disclosure - Subsequent Events (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20231231/role/idr_DisclosureSubsequentEventsDetails</Role>
      <ShortName>Subsequent Events (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>47</Position>
    </Report>
    <Report instance="d45311d10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R48.htm</HtmlFileName>
      <LongName>000480 - Disclosure - 10 - Subsequent Events (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.chicagorivet.com/20231231/role/idr_Disclosure10SubsequentEventsDetails</Role>
      <ShortName>10 - Subsequent Events (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.chicagorivet.com/20231231/role/idr_Disclosure10SubsequentEvents</ParentRole>
      <Position>48</Position>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <LongName>All Reports</LongName>
      <ReportType>Book</ReportType>
      <ShortName>All Reports</ShortName>
    </Report>
  </MyReports>
  <Logs>
    <Log type="Warning">[EFM.5.02.05.anchorElementPosition] If element &lt;a&gt; does not have attribute @href, it should not have any ancestors other than html, body, or div.  Disallowed ancestors: b, span, p - d45311d10k.htm 1700 - d45311d10k.htm 1700</Log>
    <Log type="Warning">[ix-0514-Hidden-Fact-Eligible-For-Transform] WARN: 3 fact(s) appearing in ix:hidden were eligible for transformation: dei:CurrentFiscalYearEndDate, dei:EntityRegistrantName, dei:SecurityExchangeName -  d45311d10k.htm 8</Log>
    <Log type="Warning">[dqc-0043-Incorrect-Calculation-Weights-In-Operating-Cash-Flows] The concept IncreaseDecreaseInContractWithCustomerAsset is included in the calculation of NetCashProvidedByUsedInOperatingActivities.IncreaseDecreaseInContractWithCustomerAsset is a credit balance type concept representing a natural cash outflow in the reconciliation of net income (loss) to NetCashProvidedByUsedInOperatingActivities. A credit balance type concept should always be assigned a negative one (-1) calculation weight as it is a deduction from net income (loss) to reconcile to NetCashProvidedByUsedInOperatingActivities.IncreaseDecreaseInContractWithCustomerAsset has been incorrectly provided a positive one (+1) calculation weight in the extension taxonomy. Correct the calculation weight to negative one (-1) and input the value as a positive amount if it is a deduction of a non-cash income or gain, an increase in an asset, or a decrease in a liability. If the value is an add-back of a non-cash expense or loss, decrease in an asset, or an increase in a liability and IncreaseDecreaseInContractWithCustomerAsset is the correct concept, input a negative value. Rule Element Id: 7488. https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd 4602, 15893</Log>
    <Log type="Warning">[dqc-0043-Incorrect-Calculation-Weights-In-Operating-Cash-Flows] The concept IncreaseDecreaseInAccountsReceivable is included in the calculation of NetCashProvidedByUsedInOperatingActivities.IncreaseDecreaseInAccountsReceivable is a credit balance type concept representing a natural cash outflow in the reconciliation of net income (loss) to NetCashProvidedByUsedInOperatingActivities. A credit balance type concept should always be assigned a negative one (-1) calculation weight as it is a deduction from net income (loss) to reconcile to NetCashProvidedByUsedInOperatingActivities.IncreaseDecreaseInAccountsReceivable has been incorrectly provided a positive one (+1) calculation weight in the extension taxonomy. Correct the calculation weight to negative one (-1) and input the value as a positive amount if it is a deduction of a non-cash income or gain, an increase in an asset, or a decrease in a liability. If the value is an add-back of a non-cash expense or loss, decrease in an asset, or an increase in a liability and IncreaseDecreaseInAccountsReceivable is the correct concept, input a negative value. Rule Element Id: 7488. https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd 1910, 4602</Log>
    <Log type="Warning">[dqc-0043-Incorrect-Calculation-Weights-In-Operating-Cash-Flows] The concept IncreaseDecreaseInOtherOperatingAssets is included in the calculation of NetCashProvidedByUsedInOperatingActivities.IncreaseDecreaseInOtherOperatingAssets is a credit balance type concept representing a natural cash outflow in the reconciliation of net income (loss) to NetCashProvidedByUsedInOperatingActivities. A credit balance type concept should always be assigned a negative one (-1) calculation weight as it is a deduction from net income (loss) to reconcile to NetCashProvidedByUsedInOperatingActivities.IncreaseDecreaseInOtherOperatingAssets has been incorrectly provided a positive one (+1) calculation weight in the extension taxonomy. Correct the calculation weight to negative one (-1) and input the value as a positive amount if it is a deduction of a non-cash income or gain, an increase in an asset, or a decrease in a liability. If the value is an add-back of a non-cash expense or loss, decrease in an asset, or an increase in a liability and IncreaseDecreaseInOtherOperatingAssets is the correct concept, input a negative value. Rule Element Id: 7488. https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd 3739, 4602</Log>
    <Log type="Warning">[dqc-0043-Incorrect-Calculation-Weights-In-Operating-Cash-Flows] The concept GainLossOnDispositionOfAssets is included in the calculation of NetCashProvidedByUsedInOperatingActivities.GainLossOnDispositionOfAssets is a credit balance type concept representing a natural cash outflow in the reconciliation of net income (loss) to NetCashProvidedByUsedInOperatingActivities. A credit balance type concept should always be assigned a negative one (-1) calculation weight as it is a deduction from net income (loss) to reconcile to NetCashProvidedByUsedInOperatingActivities.GainLossOnDispositionOfAssets has been incorrectly provided a positive one (+1) calculation weight in the extension taxonomy. Correct the calculation weight to negative one (-1) and input the value as a positive amount if it is a deduction of a non-cash income or gain, an increase in an asset, or a decrease in a liability. If the value is an add-back of a non-cash expense or loss, decrease in an asset, or an increase in a liability and GainLossOnDispositionOfAssets is the correct concept, input a negative value. Rule Element Id: 7488. https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd 3430, 4602</Log>
    <Log type="Warning">[dqc-0043-Incorrect-Calculation-Weights-In-Operating-Cash-Flows] The concept IncreaseDecreaseInInventories is included in the calculation of NetCashProvidedByUsedInOperatingActivities.IncreaseDecreaseInInventories is a credit balance type concept representing a natural cash outflow in the reconciliation of net income (loss) to NetCashProvidedByUsedInOperatingActivities. A credit balance type concept should always be assigned a negative one (-1) calculation weight as it is a deduction from net income (loss) to reconcile to NetCashProvidedByUsedInOperatingActivities.IncreaseDecreaseInInventories has been incorrectly provided a positive one (+1) calculation weight in the extension taxonomy. Correct the calculation weight to negative one (-1) and input the value as a positive amount if it is a deduction of a non-cash income or gain, an increase in an asset, or a decrease in a liability. If the value is an add-back of a non-cash expense or loss, decrease in an asset, or an increase in a liability and IncreaseDecreaseInInventories is the correct concept, input a negative value. Rule Element Id: 7488. https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd 1957, 4602</Log>
    <Log type="Warning">[DQC.US.0057.9728] One of the following elements CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents, CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations should appear as the opening and closing balance in the cash flow statement using the group http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfCashFlows. Instead the following balance items have been used in this statement CashAndCashEquivalentsAtCarryingValue. Due to the implementaion of ASU-2016-18 at least one of the opening and closing balance items listed must be used in the cash flow statement. - https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd 1778 - https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd 1778</Log>
  </Logs>
  <InputFiles>
    <File>cvr-20231231.xsd</File>
    <File>cvr-20231231_cal.xml</File>
    <File>cvr-20231231_def.xml</File>
    <File>cvr-20231231_lab.xml</File>
    <File>cvr-20231231_pre.xml</File>
    <File doctype="10-K" isDefinitelyFs="true" isUsgaap="true" original="d45311d10k.htm">d45311d10k.htm</File>
  </InputFiles>
  <SupplementalFiles>
    <File>g45311cvr10k2023_1.jpg</File>
  </SupplementalFiles>
  <BaseTaxonomies>
    <BaseTaxonomy items="1">http://fasb.org/srt/2023</BaseTaxonomy>
    <BaseTaxonomy items="429">http://fasb.org/us-gaap/2023</BaseTaxonomy>
    <BaseTaxonomy items="37">http://xbrl.sec.gov/dei/2023</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>true</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>JSON
<SEQUENCE>70
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "version": "2.2",
 "instance": {
  "d45311d10k.htm": {
   "nsprefix": "fil",
   "nsuri": "http://www.chicagorivet.com/20231231",
   "dts": {
    "schema": {
     "local": [
      "cvr-20231231.xsd"
     ],
     "remote": [
      "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xl-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xlink-2003-12-31.xsd",
      "http://www.xbrl.org/2005/xbrldt-2005.xsd",
      "http://www.xbrl.org/2006/ref-2006-02-27.xsd",
      "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/net-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd",
      "https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd",
      "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd",
      "https://www.xbrl.org/dtr/type/2022-03-31/types.xsd",
      "https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd",
      "https://xbrl.fasb.org/srt/2023/elts/srt-roles-2023.xsd",
      "https://xbrl.fasb.org/srt/2023/elts/srt-types-2023.xsd",
      "https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd",
      "https://xbrl.fasb.org/us-gaap/2023/elts/us-roles-2023.xsd",
      "https://xbrl.fasb.org/us-gaap/2023/elts/us-types-2023.xsd",
      "https://xbrl.sec.gov/country/2023/country-2023.xsd",
      "https://xbrl.sec.gov/dei/2023/dei-2023.xsd"
     ]
    },
    "calculationLink": {
     "local": [
      "cvr-20231231_cal.xml"
     ]
    },
    "definitionLink": {
     "local": [
      "cvr-20231231_def.xml"
     ]
    },
    "labelLink": {
     "local": [
      "cvr-20231231_lab.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "cvr-20231231_pre.xml"
     ]
    },
    "inline": {
     "local": [
      "d45311d10k.htm"
     ]
    }
   },
   "keyStandard": 195,
   "keyCustom": 2,
   "axisStandard": 8,
   "axisCustom": 0,
   "memberStandard": 17,
   "memberCustom": 7,
   "hidden": {
    "total": 7,
    "http://xbrl.sec.gov/dei/2023": 7
   },
   "contextCount": 88,
   "entityCount": 1,
   "segmentCount": 24,
   "elementCount": 261,
   "unitCount": 4,
   "baseTaxonomies": {
    "http://fasb.org/us-gaap/2023": 429,
    "http://xbrl.sec.gov/dei/2023": 37,
    "http://fasb.org/srt/2023": 1
   },
   "report": {
    "R1": {
     "role": "http://www.chicagorivet.com/20231231/role/idr_DocumentDocumentAndEntityInformation",
     "longName": "000010 - Document - Document and Entity Information",
     "shortName": "Document and Entity Information",
     "isDefault": "true",
     "groupType": "document",
     "subGroupType": "",
     "menuCat": "Cover",
     "order": "1",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "dei:DocumentType",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "b",
       "span",
       "p",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d45311d10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "dei:DocumentType",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "b",
       "span",
       "p",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d45311d10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R2": {
     "role": "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedBalanceSheets",
     "longName": "000020 - Statement - Consolidated Balance Sheets",
     "shortName": "Consolidated Balance Sheets",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "2",
     "firstAnchor": {
      "contextRef": "E23",
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "b",
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d45311d10k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "E23",
      "name": "us-gaap:ShortTermInvestments",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "b",
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d45311d10k.htm",
      "unique": true
     }
    },
    "R3": {
     "role": "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedBalanceSheetsParenthetical",
     "longName": "000030 - Statement - Consolidated Balance Sheets - Parenthetical",
     "shortName": "Consolidated Balance Sheets - Parenthetical",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "parenthetical",
     "menuCat": "Statements",
     "order": "3",
     "firstAnchor": {
      "contextRef": "E23",
      "name": "us-gaap:PreferredStockParOrStatedValuePerShare",
      "unitRef": "UsdPerShare",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d45311d10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "E23",
      "name": "us-gaap:PreferredStockParOrStatedValuePerShare",
      "unitRef": "UsdPerShare",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d45311d10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R4": {
     "role": "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfOperations",
     "longName": "000040 - Statement - Consolidated Statements of Operations",
     "shortName": "Consolidated Statements of Operations",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "4",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:Revenues",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "b",
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d45311d10k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:CostOfRevenue",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "b",
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d45311d10k.htm",
      "unique": true
     }
    },
    "R5": {
     "role": "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfShareholdersEquity",
     "longName": "000050 - Statement - Consolidated Statements of Shareholders' Equity",
     "shortName": "Consolidated Statements of Shareholders' Equity",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "5",
     "firstAnchor": {
      "contextRef": "E21",
      "name": "us-gaap:StockholdersEquity",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d45311d10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "E21",
      "name": "us-gaap:StockholdersEquity",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d45311d10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R6": {
     "role": "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfShareholdersEquityParenthetical",
     "longName": "000060 - Statement - Consolidated Statements of Shareholders' Equity - Parenthetical",
     "shortName": "Consolidated Statements of Shareholders' Equity - Parenthetical",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "parenthetical",
     "menuCat": "Statements",
     "order": "6",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:CommonStockDividendsPerShareDeclared",
      "unitRef": "UsdPerShare",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "b",
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d45311d10k.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R7": {
     "role": "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfCashFlows",
     "longName": "000070 - Statement - Consolidated Statements of Cash Flows",
     "shortName": "Consolidated Statements of Cash Flows",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "7",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:NetIncomeLoss",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "b",
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d45311d10k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:GainLossOnDispositionOfAssets",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "b",
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d45311d10k.htm",
      "unique": true
     }
    },
    "R8": {
     "role": "http://www.chicagorivet.com/20231231/role/idr_Disclosure1NatureOfBusinessAndSignificantAccountingPolicies",
     "longName": "000080 - Disclosure - 1 - Nature of Business and Significant Accounting Policies",
     "shortName": "1 - Nature of Business and Significant Accounting Policies",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "8",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d45311d10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d45311d10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R9": {
     "role": "http://www.chicagorivet.com/20231231/role/idr_Disclosure2BalanceSheetDetails",
     "longName": "000090 - Disclosure - 2 - Balance Sheet Details",
     "shortName": "2 - Balance Sheet Details",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "9",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d45311d10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d45311d10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R10": {
     "role": "http://www.chicagorivet.com/20231231/role/idr_Disclosure3IncomeTaxes",
     "longName": "000100 - Disclosure - 3 - Income Taxes",
     "shortName": "3 - Income Taxes",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "10",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d45311d10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d45311d10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R11": {
     "role": "http://www.chicagorivet.com/20231231/role/idr_Disclosure4ProfitSharingPlan",
     "longName": "000110 - Disclosure - 4 - Profit Sharing Plan",
     "shortName": "4 - Profit Sharing Plan",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "11",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:CompensationAndEmployeeBenefitPlansOtherThanShareBasedCompensationTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d45311d10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:CompensationAndEmployeeBenefitPlansOtherThanShareBasedCompensationTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d45311d10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R12": {
     "role": "http://www.chicagorivet.com/20231231/role/idr_Disclosure5OtherIncome",
     "longName": "000120 - Disclosure - 5 - Other Income",
     "shortName": "5 - Other Income",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "12",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:InterestAndOtherIncomeTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d45311d10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:InterestAndOtherIncomeTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d45311d10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R13": {
     "role": "http://www.chicagorivet.com/20231231/role/idr_Disclosure6SegmentInformation",
     "longName": "000130 - Disclosure - 6 - Segment Information",
     "shortName": "6 - Segment Information",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "13",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:SegmentReportingDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d45311d10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:SegmentReportingDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d45311d10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R14": {
     "role": "http://www.chicagorivet.com/20231231/role/idr_Disclosure7AdditionalFinancialInformationDisclosure",
     "longName": "000140 - Disclosure - 7 - Additional Financial Information Disclosure",
     "shortName": "7 - Additional Financial Information Disclosure",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "14",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:AdditionalFinancialInformationDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d45311d10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:AdditionalFinancialInformationDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d45311d10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R15": {
     "role": "http://www.chicagorivet.com/20231231/role/idr_Disclosure8CommitmentsAndContingencies",
     "longName": "000150 - Disclosure - 8 - Commitments and Contingencies",
     "shortName": "8 - Commitments and Contingencies",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "15",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d45311d10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d45311d10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R16": {
     "role": "http://www.chicagorivet.com/20231231/role/idr_Disclosure9RisksAndUncertaintiesForHealthEmergencies",
     "longName": "000160 - Disclosure - 9 - Risks and Uncertainties for Health Emergencies",
     "shortName": "9 - Risks and Uncertainties for Health Emergencies",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "16",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:UnusualOrInfrequentItemsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d45311d10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:UnusualOrInfrequentItemsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d45311d10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R17": {
     "role": "http://www.chicagorivet.com/20231231/role/idr_Disclosure10SubsequentEvents",
     "longName": "000170 - Disclosure - 10 - Subsequent Events",
     "shortName": "10 - Subsequent Events",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "17",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:ScheduleOfSubsequentEventsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d45311d10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:ScheduleOfSubsequentEventsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d45311d10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R18": {
     "role": "http://www.chicagorivet.com/20231231/role/idr_DisclosureSignificantAccountingPoliciesPolicies",
     "longName": "000180 - Disclosure - Significant Accounting Policies (Policies)",
     "shortName": "Significant Accounting Policies (Policies)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "policies",
     "menuCat": "Policies",
     "order": "18",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:ConsolidationPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d45311d10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:ConsolidationPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d45311d10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R19": {
     "role": "http://www.chicagorivet.com/20231231/role/idr_Disclosure2BalanceSheetDetailsInventoryTables",
     "longName": "000190 - Disclosure - 2 - Balance Sheet Details: Inventory (Tables)",
     "shortName": "2 - Balance Sheet Details: Inventory (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "19",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d45311d10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d45311d10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R20": {
     "role": "http://www.chicagorivet.com/20231231/role/idr_Disclosure2BalanceSheetDetailsPropertyPlantAndEquipmentTables",
     "longName": "000200 - Disclosure - 2 - Balance Sheet Details: Property, Plant and Equipment (Tables)",
     "shortName": "2 - Balance Sheet Details: Property, Plant and Equipment (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "20",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:PropertyPlantAndEquipmentTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d45311d10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:PropertyPlantAndEquipmentTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d45311d10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R21": {
     "role": "http://www.chicagorivet.com/20231231/role/idr_Disclosure2BalanceSheetDetailsOtherAccruedExpensesTables",
     "longName": "000210 - Disclosure - 2 - Balance Sheet Details: Other Accrued Expenses (Tables)",
     "shortName": "2 - Balance Sheet Details: Other Accrued Expenses (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "21",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d45311d10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d45311d10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R22": {
     "role": "http://www.chicagorivet.com/20231231/role/idr_Disclosure2BalanceSheetDetailsScheduleOfValuationAndQualifyingAccountsTables",
     "longName": "000220 - Disclosure - 2 - Balance Sheet Details: Schedule of Valuation and Qualifying Accounts (Tables)",
     "shortName": "2 - Balance Sheet Details: Schedule of Valuation and Qualifying Accounts (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "22",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d45311d10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d45311d10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R23": {
     "role": "http://www.chicagorivet.com/20231231/role/idr_Disclosure3IncomeTaxesProvisionForIncomeTaxExpenseTables",
     "longName": "000230 - Disclosure - 3 - Income Taxes: Provision for Income Tax Expense (Tables)",
     "shortName": "3 - Income Taxes: Provision for Income Tax Expense (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "23",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d45311d10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d45311d10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R24": {
     "role": "http://www.chicagorivet.com/20231231/role/idr_Disclosure3IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationTables",
     "longName": "000240 - Disclosure - 3 - Income Taxes: Schedule of Effective Income Tax Rate Reconciliation (Tables)",
     "shortName": "3 - Income Taxes: Schedule of Effective Income Tax Rate Reconciliation (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "24",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d45311d10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d45311d10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R25": {
     "role": "http://www.chicagorivet.com/20231231/role/idr_Disclosure3IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesTables",
     "longName": "000250 - Disclosure - 3 - Income Taxes: Schedule of Deferred Tax Assets and Liabilities (Tables)",
     "shortName": "3 - Income Taxes: Schedule of Deferred Tax Assets and Liabilities (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "25",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d45311d10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d45311d10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R26": {
     "role": "http://www.chicagorivet.com/20231231/role/idr_Disclosure5OtherIncomeOtherIncomeTables",
     "longName": "000260 - Disclosure - 5 - Other Income: Other Income (Tables)",
     "shortName": "5 - Other Income: Other Income (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "26",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:InterestAndOtherIncomeTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:InterestAndOtherIncomeTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d45311d10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:InterestAndOtherIncomeTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:InterestAndOtherIncomeTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d45311d10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R27": {
     "role": "http://www.chicagorivet.com/20231231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationTables",
     "longName": "000270 - Disclosure - 6 - Segment Information: Schedule of Segment Reporting Information (Tables)",
     "shortName": "6 - Segment Information: Schedule of Segment Reporting Information (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "27",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d45311d10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d45311d10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R28": {
     "role": "http://www.chicagorivet.com/20231231/role/idr_DisclosureContractsWithCustomersRevenueRecognizedDetails",
     "longName": "000280 - Disclosure - Contracts with Customers Revenue Recognized (Details)",
     "shortName": "Contracts with Customers Revenue Recognized (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "28",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:ContractWithCustomerLiabilityRevenueRecognized",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "us-gaap:RevenueRecognitionAccountingPolicyGrossAndNetRevenueDisclosure",
       "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d45311d10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:ContractWithCustomerLiabilityRevenueRecognized",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "us-gaap:RevenueRecognitionAccountingPolicyGrossAndNetRevenueDisclosure",
       "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d45311d10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R29": {
     "role": "http://www.chicagorivet.com/20231231/role/idr_DisclosureEstimatedUsefulLivesByAssetCategoryDetails",
     "longName": "000290 - Disclosure - Estimated Useful Lives by Asset Category (Details)",
     "shortName": "Estimated Useful Lives by Asset Category (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "29",
     "firstAnchor": {
      "contextRef": "E23_Range-Minimum_PpeByType-LandImprovements",
      "name": "us-gaap:PropertyPlantAndEquipmentUsefulLife",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d45311d10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "E23_Range-Minimum_PpeByType-LandImprovements",
      "name": "us-gaap:PropertyPlantAndEquipmentUsefulLife",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d45311d10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R30": {
     "role": "http://www.chicagorivet.com/20231231/role/idr_DisclosureUncertainTaxPositionsAndUnrecognizedTaxBenefitsDetails",
     "longName": "000300 - Disclosure - Uncertain Tax Positions and Unrecognized Tax Benefits (Details)",
     "shortName": "Uncertain Tax Positions and Unrecognized Tax Benefits (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "30",
     "firstAnchor": {
      "contextRef": "E23",
      "name": "us-gaap:LiabilityForUncertainTaxPositionsCurrent",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "us-gaap:IncomeTaxPolicyTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d45311d10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "E23",
      "name": "us-gaap:LiabilityForUncertainTaxPositionsCurrent",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "us-gaap:IncomeTaxPolicyTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d45311d10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R31": {
     "role": "http://www.chicagorivet.com/20231231/role/idr_DisclosureWeightedAvgNumberOfSharesOutstandingDetails",
     "longName": "000310 - Disclosure - Weighted Avg. Number of Shares Outstanding (Details)",
     "shortName": "Weighted Avg. Number of Shares Outstanding (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "31",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:WeightedAverageNumberOfSharesOutstandingBasic",
      "unitRef": "Shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "b",
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d45311d10k.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R32": {
     "role": "http://www.chicagorivet.com/20231231/role/idr_Disclosure2BalanceSheetDetailsInventoryDetails",
     "longName": "000320 - Disclosure - 2 - Balance Sheet Details: Inventory (Details)",
     "shortName": "2 - Balance Sheet Details: Inventory (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "32",
     "firstAnchor": {
      "contextRef": "E23",
      "name": "us-gaap:InventoryRawMaterials",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "b",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d45311d10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "E23",
      "name": "us-gaap:InventoryRawMaterials",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "b",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d45311d10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R33": {
     "role": "http://www.chicagorivet.com/20231231/role/idr_Disclosure2BalanceSheetDetailsPropertyPlantAndEquipmentDetails",
     "longName": "000330 - Disclosure - 2 - Balance Sheet Details: Property, Plant and Equipment (Details)",
     "shortName": "2 - Balance Sheet Details: Property, Plant and Equipment (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "33",
     "firstAnchor": {
      "contextRef": "E23",
      "name": "us-gaap:LandAndLandImprovements",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "b",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:PropertyPlantAndEquipmentTextBlock",
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d45311d10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "E23",
      "name": "us-gaap:LandAndLandImprovements",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "b",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:PropertyPlantAndEquipmentTextBlock",
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d45311d10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R34": {
     "role": "http://www.chicagorivet.com/20231231/role/idr_Disclosure2BalanceSheetDetailsOtherAccruedExpensesDetails",
     "longName": "000340 - Disclosure - 2 - Balance Sheet Details: Other Accrued Expenses (Details)",
     "shortName": "2 - Balance Sheet Details: Other Accrued Expenses (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "34",
     "firstAnchor": {
      "contextRef": "E23",
      "name": "us-gaap:OtherEmployeeRelatedLiabilitiesCurrent",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "b",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock",
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d45311d10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "E23",
      "name": "us-gaap:OtherEmployeeRelatedLiabilitiesCurrent",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "b",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock",
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d45311d10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R35": {
     "role": "http://www.chicagorivet.com/20231231/role/idr_DisclosureScheduleOfValuationAndQualifyingAccountsDetails",
     "longName": "000350 - Disclosure - Schedule of Valuation and Qualifying Accounts (Details)",
     "shortName": "Schedule of Valuation and Qualifying Accounts (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "35",
     "firstAnchor": {
      "contextRef": "E22_ValuationAllowancesAndReservesType-AllowanceForCreditLoss",
      "name": "us-gaap:ValuationAllowancesAndReservesBalance",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "b",
       "p",
       "td",
       "tr",
       "table",
       "srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock",
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d45311d10k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "E21_ValuationAllowancesAndReservesType-AllowanceForCreditLoss",
      "name": "us-gaap:ValuationAllowancesAndReservesBalance",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock",
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d45311d10k.htm",
      "unique": true
     }
    },
    "R36": {
     "role": "http://www.chicagorivet.com/20231231/role/idr_Disclosure3IncomeTaxesProvisionForIncomeTaxExpenseDetails",
     "longName": "000360 - Disclosure - 3 - Income Taxes: Provision for Income Tax Expense (Details)",
     "shortName": "3 - Income Taxes: Provision for Income Tax Expense (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "36",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:FederalIncomeTaxExpenseBenefitContinuingOperations",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "b",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d45311d10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:FederalIncomeTaxExpenseBenefitContinuingOperations",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "b",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d45311d10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R37": {
     "role": "http://www.chicagorivet.com/20231231/role/idr_Disclosure3IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails",
     "longName": "000370 - Disclosure - 3 - Income Taxes: Schedule of Effective Income Tax Rate Reconciliation (Details)",
     "shortName": "3 - Income Taxes: Schedule of Effective Income Tax Rate Reconciliation (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "37",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "b",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d45311d10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "b",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d45311d10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R38": {
     "role": "http://www.chicagorivet.com/20231231/role/idr_Disclosure3IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails",
     "longName": "000380 - Disclosure - 3 - Income Taxes: Schedule of Deferred Tax Assets and Liabilities (Details)",
     "shortName": "3 - Income Taxes: Schedule of Deferred Tax Assets and Liabilities (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "38",
     "firstAnchor": {
      "contextRef": "E23",
      "name": "us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "b",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d45311d10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "E23",
      "name": "us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "b",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d45311d10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R39": {
     "role": "http://www.chicagorivet.com/20231231/role/idr_Disclosure3IncomeTaxesDetails",
     "longName": "000390 - Disclosure - 3 - Income Taxes (Details)",
     "shortName": "3 - Income Taxes (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "39",
     "firstAnchor": {
      "contextRef": "E23",
      "name": "us-gaap:OperatingLossCarryforwards",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d45311d10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "E23",
      "name": "us-gaap:OperatingLossCarryforwards",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d45311d10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R40": {
     "role": "http://www.chicagorivet.com/20231231/role/idr_DisclosureProfitSharingPlanDetails",
     "longName": "000400 - Disclosure - Profit Sharing Plan (Details)",
     "shortName": "Profit Sharing Plan (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "40",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "us-gaap:CompensationAndEmployeeBenefitPlansOtherThanShareBasedCompensationTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d45311d10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "us-gaap:CompensationAndEmployeeBenefitPlansOtherThanShareBasedCompensationTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d45311d10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R41": {
     "role": "http://www.chicagorivet.com/20231231/role/idr_Disclosure5OtherIncomeOtherIncomeDetails",
     "longName": "000410 - Disclosure - 5 - Other Income: Other Income (Details)",
     "shortName": "5 - Other Income: Other Income (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "41",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:InvestmentIncomeInterest",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "b",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:InterestAndOtherIncomeTableTextBlock",
       "us-gaap:InterestAndOtherIncomeTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d45311d10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:InvestmentIncomeInterest",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "b",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:InterestAndOtherIncomeTableTextBlock",
       "us-gaap:InterestAndOtherIncomeTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d45311d10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R42": {
     "role": "http://www.chicagorivet.com/20231231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationDetails",
     "longName": "000420 - Disclosure - 6 - Segment Information: Schedule of Segment Reporting Information (Details)",
     "shortName": "6 - Segment Information: Schedule of Segment Reporting Information (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "42",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:Revenues",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "b",
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d45311d10k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23_StBusnSeg-Fastener",
      "name": "us-gaap:Revenues",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock",
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d45311d10k.htm",
      "unique": true
     }
    },
    "R43": {
     "role": "http://www.chicagorivet.com/20231231/role/idr_Disclosure6SegmentInformationDetails",
     "longName": "000430 - Disclosure - 6 - Segment Information (Details)",
     "shortName": "6 - Segment Information (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "43",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d45311d10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d45311d10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R44": {
     "role": "http://www.chicagorivet.com/20231231/role/idr_DisclosureSummaryOfOfRevenuesAndARFromMajorCustomersDetails",
     "longName": "000440 - Disclosure - Summary of % of Revenues and A/R from Major Customers (Details)",
     "shortName": "Summary of % of Revenues and A/R from Major Customers (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "44",
     "firstAnchor": {
      "contextRef": "Y23_MajCust-TIGroupAutomotiveSystems",
      "name": "us-gaap:ConcentrationRiskPercentage1",
      "unitRef": "Pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d45311d10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23_MajCust-TIGroupAutomotiveSystems",
      "name": "us-gaap:ConcentrationRiskPercentage1",
      "unitRef": "Pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d45311d10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R45": {
     "role": "http://www.chicagorivet.com/20231231/role/idr_Disclosure7AdditionalFinancialInformationDisclosureDetails",
     "longName": "000450 - Disclosure - 7 - Additional Financial Information Disclosure (Details)",
     "shortName": "7 - Additional Financial Information Disclosure (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "45",
     "firstAnchor": {
      "contextRef": "D240101",
      "name": "us-gaap:SaleLeasebackTransactionMonthlyRentalPayments",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "us-gaap:ScheduleOfSubsequentEventsTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d45311d10k.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R46": {
     "role": "http://www.chicagorivet.com/20231231/role/idr_DisclosureCommitmentsAndContingenciesDetails",
     "longName": "000460 - Disclosure - Commitments and Contingencies (Details)",
     "shortName": "Commitments and Contingencies (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "46",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:OperatingLeasesRentExpenseNet",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d45311d10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:OperatingLeasesRentExpenseNet",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d45311d10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R47": {
     "role": "http://www.chicagorivet.com/20231231/role/idr_DisclosureSubsequentEventsDetails",
     "longName": "000470 - Disclosure - Subsequent Events (Details)",
     "shortName": "Subsequent Events (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "47",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:DividendsPayableDateDeclaredDayMonthAndYear",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "us-gaap:ScheduleOfSubsequentEventsTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d45311d10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:DividendsPayableDateDeclaredDayMonthAndYear",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "us-gaap:ScheduleOfSubsequentEventsTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d45311d10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R48": {
     "role": "http://www.chicagorivet.com/20231231/role/idr_Disclosure10SubsequentEventsDetails",
     "longName": "000480 - Disclosure - 10 - Subsequent Events (Details)",
     "shortName": "10 - Subsequent Events (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "48",
     "firstAnchor": {
      "contextRef": "D240101",
      "name": "us-gaap:SaleLeasebackTransactionMonthlyRentalPayments",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "us-gaap:ScheduleOfSubsequentEventsTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d45311d10k.htm",
      "first": true
     },
     "uniqueAnchor": null
    }
   },
   "tag": {
    "us-gaap_AccountsPayableCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountsPayableCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts Payable {1}",
        "terseLabel": "Accounts Payable",
        "documentation": "Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r9",
      "r452"
     ]
    },
    "us-gaap_AccountsReceivableNetCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountsReceivableNetCurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationDetails",
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts Receivable - Less allowances of $160,000",
        "verboseLabel": "Accounts receivable, net",
        "documentation": "Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current."
       }
      }
     },
     "auth_ref": [
      "r215",
      "r216"
     ]
    },
    "us-gaap_AccrualForTaxesOtherThanIncomeTaxesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccrualForTaxesOtherThanIncomeTaxesCurrent",
     "crdr": "credit",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_Disclosure2BalanceSheetDetailsOtherAccruedExpensesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property taxes",
        "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable for real and property taxes. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r11",
      "r38",
      "r438"
     ]
    },
    "us-gaap_AccruedLiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccruedLiabilitiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_Disclosure2BalanceSheetDetailsOtherAccruedExpensesDetails",
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Accrued Expenses",
        "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r11"
     ]
    },
    "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment",
     "crdr": "credit",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_Disclosure2BalanceSheetDetailsPropertyPlantAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Less: Accumulated Depreciation",
        "negatedLabel": "Less: Accumulated Depreciation",
        "documentation": "Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services."
       }
      }
     },
     "auth_ref": [
      "r35",
      "r127",
      "r326"
     ]
    },
    "us-gaap_AdditionalFinancialInformationDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdditionalFinancialInformationDisclosureTextBlock",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_Disclosure7AdditionalFinancialInformationDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "7 - Additional Financial Information Disclosure",
        "documentation": "The entire disclosures of supplemental information, including descriptions and amounts, related to the balance sheet, income statement, and/or cash flow statement."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AdditionalInformationAboutEntitysReportableSegments": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdditionalInformationAboutEntitysReportableSegments",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_DisclosureSummaryOfOfRevenuesAndARFromMajorCustomersDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Percentage of accounts receivable balances",
        "documentation": "Additional information about the entity or its reportable segments that may contribute to an understanding of the enterprise."
       }
      }
     },
     "auth_ref": [
      "r70"
     ]
    },
    "us-gaap_AdditionalPaidInCapital": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdditionalPaidInCapital",
     "crdr": "credit",
     "calculation": {
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Additional Paid-in Capital",
        "documentation": "Amount of excess of issue price over par or stated value of stock and from other transaction involving stock or stockholder. Includes, but is not limited to, additional paid-in capital (APIC) for common and preferred stock."
       }
      }
     },
     "auth_ref": [
      "r48",
      "r452",
      "r533"
     ]
    },
    "us-gaap_AdditionalPaidInCapitalMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdditionalPaidInCapitalMember",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Additional Paid-in Capital {1}",
        "terseLabel": "Additional Paid-in Capital",
        "documentation": "Excess of issue price over par or stated value of the entity's capital stock and amounts received from other transactions involving the entity's stock or stockholders."
       }
      }
     },
     "auth_ref": [
      "r264",
      "r265",
      "r266",
      "r357",
      "r493",
      "r494",
      "r495",
      "r518",
      "r534"
     ]
    },
    "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustments to Reconcile Net Income to Net Cash Used in Operating Activities"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AllowanceForCreditLossMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AllowanceForCreditLossMember",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_DisclosureScheduleOfValuationAndQualifyingAccountsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SEC Schedule, 12-09, Allowance, Credit Loss",
        "documentation": "Allowance for credit loss from right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time."
       }
      }
     },
     "auth_ref": [
      "r488",
      "r489",
      "r490",
      "r491",
      "r492"
     ]
    },
    "dei_AmendmentFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AmendmentFlag",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amendment Flag",
        "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission."
       }
      }
     },
     "auth_ref": []
    },
    "fil_AssemblyEquipmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.chicagorivet.com/20231231",
     "localname": "AssemblyEquipmentMember",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_Disclosure6SegmentInformationDetails",
      "http://www.chicagorivet.com/20231231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assembly Equipment",
        "documentation": "Represents the Assembly Equipment, during the indicated time period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_Assets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "Assets",
     "crdr": "debit",
     "calculation": {
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedBalanceSheets": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total Assets",
        "totalLabel": "Total Assets",
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events."
       }
      }
     },
     "auth_ref": [
      "r84",
      "r129",
      "r144",
      "r179",
      "r200",
      "r206",
      "r218",
      "r242",
      "r243",
      "r244",
      "r245",
      "r246",
      "r247",
      "r248",
      "r249",
      "r250",
      "r292",
      "r294",
      "r304",
      "r320",
      "r383",
      "r452",
      "r464",
      "r506",
      "r507",
      "r520"
     ]
    },
    "us-gaap_AssetsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AssetsAbstract",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets {1}",
        "terseLabel": "Assets"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AssetsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AssetsCurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total Current Assets",
        "totalLabel": "Total Current Assets",
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events."
       }
      }
     },
     "auth_ref": [
      "r123",
      "r133",
      "r144",
      "r218",
      "r242",
      "r243",
      "r244",
      "r245",
      "r246",
      "r247",
      "r248",
      "r249",
      "r250",
      "r292",
      "r294",
      "r304",
      "r452",
      "r506",
      "r507",
      "r520"
     ]
    },
    "us-gaap_AssetsCurrentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AssetsCurrentAbstract",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current Assets"
       }
      }
     },
     "auth_ref": []
    },
    "dei_AuditorFirmId": {
     "xbrltype": "nonemptySequenceNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AuditorFirmId",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Auditor Firm ID",
        "documentation": "PCAOB issued Audit Firm Identifier"
       }
      }
     },
     "auth_ref": [
      "r468",
      "r469",
      "r470"
     ]
    },
    "dei_AuditorLocation": {
     "xbrltype": "internationalNameItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AuditorLocation",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Auditor Location"
       }
      }
     },
     "auth_ref": [
      "r468",
      "r469",
      "r470"
     ]
    },
    "dei_AuditorName": {
     "xbrltype": "internationalNameItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AuditorName",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Auditor Name"
       }
      }
     },
     "auth_ref": [
      "r468",
      "r469",
      "r470"
     ]
    },
    "fil_AutomotiveMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.chicagorivet.com/20231231",
     "localname": "AutomotiveMember",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_Disclosure6SegmentInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Automotive",
        "documentation": "Represents the Automotive, during the indicated time period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BasisOfPresentationAndSignificantAccountingPoliciesTextBlock",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_Disclosure1NatureOfBusinessAndSignificantAccountingPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "1 - Nature of Business and Significant Accounting Policies",
        "documentation": "The entire disclosure for the basis of presentation and significant accounting policies concepts. Basis of presentation describes the underlying basis used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS). Accounting policies describe all significant accounting policies of the reporting entity."
       }
      }
     },
     "auth_ref": [
      "r69"
     ]
    },
    "us-gaap_BuildingImprovementsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BuildingImprovementsMember",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_DisclosureEstimatedUsefulLivesByAssetCategoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Building Improvements",
        "documentation": "Addition, improvement, or renovation to a facility held for productive use including, but not limited to, office, production, storage and distribution facilities."
       }
      }
     },
     "auth_ref": [
      "r72"
     ]
    },
    "us-gaap_BuildingsAndImprovementsGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BuildingsAndImprovementsGross",
     "crdr": "debit",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_Disclosure2BalanceSheetDetailsPropertyPlantAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Buildings and improvements",
        "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."
       }
      }
     },
     "auth_ref": [
      "r72"
     ]
    },
    "us-gaap_CashAndCashEquivalentsAtCarryingValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashAndCashEquivalentsAtCarryingValue",
     "crdr": "debit",
     "calculation": {
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedBalanceSheets",
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash and Cash Equivalents",
        "periodStartLabel": "Beginning of Year",
        "periodEndLabel": "End of Year",
        "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."
       }
      }
     },
     "auth_ref": [
      "r18",
      "r126",
      "r435"
     ]
    },
    "us-gaap_CashAndCashEquivalentsAtCarryingValueAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashAndCashEquivalentsAtCarryingValueAbstract",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash and Cash Equivalents {1}",
        "terseLabel": "Cash and Cash Equivalents"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CashAndCashEquivalentsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashAndCashEquivalentsPolicyTextBlock",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_DisclosureSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash and Cash Equivalents and Short-Term Investments",
        "documentation": "Disclosure of accounting policy for cash and cash equivalents, including the policy for determining which items are treated as cash equivalents. Other information that may be disclosed includes (1) the nature of any restrictions on the entity's use of its cash and cash equivalents, (2) whether the entity's cash and cash equivalents are insured or expose the entity to credit risk, (3) the classification of any negative balance accounts (overdrafts), and (4) the carrying basis of cash equivalents (for example, at cost) and whether the carrying amount of cash equivalents approximates fair value."
       }
      }
     },
     "auth_ref": [
      "r19"
     ]
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect",
     "crdr": "debit",
     "calculation": {
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Increase (Decrease) in Cash and Cash Equivalents",
        "totalLabel": "Net Increase (Decrease) in Cash and Cash Equivalents",
        "documentation": "Amount of increase (decrease) in cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; excluding effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates."
       }
      }
     },
     "auth_ref": [
      "r0",
      "r66"
     ]
    },
    "dei_CityAreaCode": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "CityAreaCode",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "City Area Code",
        "documentation": "Area code of city"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommitmentsAndContingenciesDisclosureAbstract",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Commitments and Contingencies (Note 8)"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommitmentsAndContingenciesDisclosureTextBlock",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_Disclosure8CommitmentsAndContingencies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "8 - Commitments and Contingencies",
        "documentation": "The entire disclosure for commitments and contingencies."
       }
      }
     },
     "auth_ref": [
      "r73",
      "r236",
      "r237",
      "r421",
      "r503"
     ]
    },
    "us-gaap_CommonStockDividendsPerShareDeclared": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockDividendsPerShareDeclared",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfOperations",
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfShareholdersEquityParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash Dividends Declared Per Share",
        "documentation": "Aggregate dividends declared during the period for each share of common stock outstanding."
       }
      }
     },
     "auth_ref": [
      "r74"
     ]
    },
    "us-gaap_CommonStockMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockMember",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Stock",
        "documentation": "Stock that is subordinate to all other stock of the issuer."
       }
      }
     },
     "auth_ref": [
      "r455",
      "r456",
      "r457",
      "r459",
      "r460",
      "r461",
      "r462",
      "r493",
      "r494",
      "r518",
      "r532",
      "r534"
     ]
    },
    "us-gaap_CommonStockParOrStatedValuePerShare": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockParOrStatedValuePerShare",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Stock, Par or Stated Value Per Share",
        "documentation": "Face amount or stated value per share of common stock."
       }
      }
     },
     "auth_ref": [
      "r47"
     ]
    },
    "us-gaap_CommonStockSharesAuthorized": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockSharesAuthorized",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Stock, Shares Authorized",
        "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws."
       }
      }
     },
     "auth_ref": [
      "r47",
      "r371"
     ]
    },
    "us-gaap_CommonStockSharesIssued": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockSharesIssued",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Stock, Shares, Issued",
        "documentation": "Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury."
       }
      }
     },
     "auth_ref": [
      "r47"
     ]
    },
    "us-gaap_CommonStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockSharesOutstanding",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedBalanceSheetsParenthetical",
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Stock, Shares, Outstanding",
        "periodStartLabel": "Common Stock Shares",
        "periodEndLabel": "Common Stock Shares",
        "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation."
       }
      }
     },
     "auth_ref": [
      "r6",
      "r47",
      "r371",
      "r389",
      "r534",
      "r535"
     ]
    },
    "us-gaap_CommonStockValueOutstanding": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockValueOutstanding",
     "crdr": "credit",
     "calculation": {
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Stock, $1.00 Par Value, 4,000,000 Shares Authorized: 1,138,096 Shares Issued, 966,132 Shares Outstanding",
        "documentation": "Value of all classes of common stock held by shareholders. May be all or portion of the number of common shares authorized. These shares exclude common shares repurchased by the entity and held as treasury shares."
       }
      }
     },
     "auth_ref": [
      "r47",
      "r371"
     ]
    },
    "us-gaap_CompensationAndEmployeeBenefitPlansOtherThanShareBasedCompensationTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CompensationAndEmployeeBenefitPlansOtherThanShareBasedCompensationTextBlock",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_Disclosure4ProfitSharingPlan"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "4 - Profit Sharing Plan",
        "documentation": "The entire disclosure of an entity's employee compensation and benefit plans, excluding share-based compensation and including, but not limited to, postemployment and postretirement benefit plans, defined benefit pension plans, defined contribution plans, non-qualified and supplemental benefit plans, deferred compensation, life insurance, severance, health care, unemployment and other benefit plans."
       }
      }
     },
     "auth_ref": [
      "r76",
      "r77",
      "r78"
     ]
    },
    "us-gaap_ConcentrationRiskCreditRisk": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskCreditRisk",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_DisclosureSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Credit Risk",
        "documentation": "Disclosure of accounting policy for credit risk."
       }
      }
     },
     "auth_ref": [
      "r45",
      "r101"
     ]
    },
    "us-gaap_ConcentrationRiskPercentage1": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskPercentage1",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_DisclosureSummaryOfOfRevenuesAndARFromMajorCustomersDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Percentage of revenues from major customers",
        "documentation": "For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the \"benchmark\" (or denominator) in the equation, this concept represents the concentration percentage derived from the division."
       }
      }
     },
     "auth_ref": [
      "r24",
      "r25",
      "r43",
      "r44",
      "r214"
     ]
    },
    "us-gaap_ConsolidationPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConsolidationPolicyTextBlock",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_DisclosureSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Principles of Consolidation",
        "documentation": "Disclosure of accounting policy regarding (1) the principles it follows in consolidating or combining the separate financial statements, including the principles followed in determining the inclusion or exclusion of subsidiaries or other entities in the consolidated or combined financial statements and (2) its treatment of interests (for example, common stock, a partnership interest or other means of exerting influence) in other entities, for example consolidation or use of the equity or cost methods of accounting. The accounting policy may also address the accounting treatment for intercompany accounts and transactions, noncontrolling interest, and the income statement treatment in consolidation for issuances of stock by a subsidiary."
       }
      }
     },
     "auth_ref": [
      "r42",
      "r439"
     ]
    },
    "us-gaap_ContractWithCustomerAssetNetCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ContractWithCustomerAssetNetCurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationDetails",
      "http://www.chicagorivet.com/20231231/role/idr_DisclosureContractsWithCustomersRevenueRecognizedDetails",
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contract Assets",
        "verboseLabel": "Contract Assets",
        "documentation": "Amount, after allowance for credit loss, of right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time, classified as current."
       }
      }
     },
     "auth_ref": [
      "r253",
      "r254",
      "r257"
     ]
    },
    "us-gaap_ContractWithCustomerLiabilityRevenueRecognized": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ContractWithCustomerLiabilityRevenueRecognized",
     "crdr": "credit",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_DisclosureContractsWithCustomersRevenueRecognizedDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue Recognized, Performance Obligation",
        "documentation": "Amount of revenue recognized that was previously included in balance of obligation to transfer good or service to customer for which consideration from customer has been received or is due."
       }
      }
     },
     "auth_ref": [
      "r258"
     ]
    },
    "fil_CooperStandardHoldingsIncMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.chicagorivet.com/20231231",
     "localname": "CooperStandardHoldingsIncMember",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_DisclosureSummaryOfOfRevenuesAndARFromMajorCustomersDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cooper Standard Holdings Inc.",
        "documentation": "Represents the Cooper Standard Holdings Inc., during the indicated time period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CorporateMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CorporateMember",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Corporate Segment",
        "documentation": "Component of an entity that usually provides financial, operational and administrative support and is considered an operating segment. Excludes intersegment elimination and reconciling items."
       }
      }
     },
     "auth_ref": [
      "r496"
     ]
    },
    "us-gaap_CostOfRevenue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CostOfRevenue",
     "crdr": "debit",
     "calculation": {
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfOperations": {
       "parentTag": "us-gaap_GrossProfit",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cost of Goods Sold",
        "documentation": "The aggregate cost of goods produced and sold and services rendered during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r59",
      "r144",
      "r218",
      "r242",
      "r243",
      "r244",
      "r245",
      "r246",
      "r247",
      "r248",
      "r249",
      "r250",
      "r304",
      "r506"
     ]
    },
    "dei_CurrentFiscalYearEndDate": {
     "xbrltype": "gMonthDayItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "CurrentFiscalYearEndDate",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fiscal Year End",
        "documentation": "End date of current fiscal year in the format --MM-DD."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CurrentStateAndLocalTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CurrentStateAndLocalTaxExpenseBenefit",
     "crdr": "debit",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_Disclosure3IncomeTaxesProvisionForIncomeTaxExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Provision for State income tax expense, Current",
        "documentation": "Amount of current state and local tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, current regional, territorial, and provincial tax expense (benefit) for non-US (United States of America) jurisdiction."
       }
      }
     },
     "auth_ref": [
      "r476",
      "r487",
      "r513"
     ]
    },
    "us-gaap_CustomerAdvancesAndDepositsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CustomerAdvancesAndDepositsCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Unearned Revenue and Customer Deposits",
        "documentation": "The current portion of aggregate prepayments received from customers for goods or services to be provided in the future, as well as the current portion of money or property received from customers that are to be returned upon satisfactory contract completion or as partial prepayment for goods or services to be provided in the future."
       }
      }
     },
     "auth_ref": [
      "r91"
     ]
    },
    "us-gaap_DeferredIncomeTaxAssetsNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredIncomeTaxAssetsNet",
     "crdr": "debit",
     "calculation": {
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Income Taxes, net",
        "documentation": "Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting."
       }
      }
     },
     "auth_ref": [
      "r270",
      "r271"
     ]
    },
    "us-gaap_DeferredIncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredIncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_Disclosure3IncomeTaxesProvisionForIncomeTaxExpenseDetails",
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Income Taxes",
        "verboseLabel": "Provision for income tax expense, Deferred",
        "documentation": "Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r3",
      "r82",
      "r107",
      "r285",
      "r286",
      "r487"
     ]
    },
    "us-gaap_DeferredIncomeTaxLiabilitiesNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredIncomeTaxLiabilitiesNet",
     "crdr": "credit",
     "calculation": {
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Income Taxes, net {1}",
        "terseLabel": "Deferred Income Taxes, net",
        "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting."
       }
      }
     },
     "auth_ref": [
      "r270",
      "r271",
      "r321"
     ]
    },
    "us-gaap_DeferredTaxAssetsInventory": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsInventory",
     "crdr": "debit",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_Disclosure3IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Assets, Inventory",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from inventory."
       }
      }
     },
     "auth_ref": [
      "r41",
      "r512"
     ]
    },
    "us-gaap_DeferredTaxAssetsNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsNet",
     "crdr": "debit",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_Disclosure3IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Assets, Net of Valuation Allowance",
        "documentation": "Amount after allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards."
       }
      }
     },
     "auth_ref": [
      "r511"
     ]
    },
    "us-gaap_DeferredTaxAssetsOperatingLossCarryforwards": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsOperatingLossCarryforwards",
     "crdr": "debit",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_Disclosure3IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Assets, Operating Loss Carryforwards",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible operating loss carryforwards."
       }
      }
     },
     "auth_ref": [
      "r41",
      "r512"
     ]
    },
    "us-gaap_DeferredTaxAssetsOther": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsOther",
     "crdr": "debit",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_Disclosure3IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Assets, Other",
        "documentation": "Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary differences, classified as other."
       }
      }
     },
     "auth_ref": [
      "r41",
      "r512"
     ]
    },
    "us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsCompensatedAbsences": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsCompensatedAbsences",
     "crdr": "debit",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_Disclosure3IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Assets, Tax Deferred Expense, Compensation and Benefits, Compensated Absences",
        "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)."
       }
      }
     },
     "auth_ref": [
      "r41",
      "r512"
     ]
    },
    "us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts",
     "crdr": "debit",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_Disclosure3IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Asset, Tax Deferred Expense, Reserve and Accrual, Accounts Receivable, Allowance for Credit Loss",
        "documentation": "Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary difference from allowance for credit loss on accounts receivable."
       }
      }
     },
     "auth_ref": [
      "r41",
      "r512"
     ]
    },
    "us-gaap_DeferredTaxLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxLiabilities",
     "crdr": "credit",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_Disclosure3IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Liabilities, Net",
        "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences without jurisdictional netting."
       }
      }
     },
     "auth_ref": [
      "r39",
      "r511"
     ]
    },
    "us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxLiabilitiesPropertyPlantAndEquipment",
     "crdr": "credit",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_Disclosure3IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Liabilities, Property, Plant and Equipment",
        "negatedLabel": "Deferred Tax Liabilities, Property, Plant and Equipment",
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from property, plant, and equipment."
       }
      }
     },
     "auth_ref": [
      "r41",
      "r512"
     ]
    },
    "us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DefinedContributionPlanEmployerDiscretionaryContributionAmount",
     "crdr": "debit",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_DisclosureProfitSharingPlanDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Defined Contribution Plan, Employer Discretionary Contribution Amount",
        "documentation": "Amount of discretionary contributions made by an employer to a defined contribution plan."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_Depreciation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "Depreciation",
     "crdr": "debit",
     "calculation": {
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationDetails",
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Depreciation and Amortization",
        "documentation": "The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation."
       }
      }
     },
     "auth_ref": [
      "r3",
      "r34"
     ]
    },
    "us-gaap_DisclosureTextBlockAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DisclosureTextBlockAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Notes"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DividendPayableDateToBePaidDayMonthAndYear": {
     "xbrltype": "dateItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DividendPayableDateToBePaidDayMonthAndYear",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_DisclosureSubsequentEventsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Dividends Payable, Date to be Paid",
        "documentation": "Date the declared dividend will be paid, in YYYY-MM-DD format."
       }
      }
     },
     "auth_ref": [
      "r21"
     ]
    },
    "us-gaap_Dividends": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "Dividends",
     "crdr": "debit",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Dividends Declared",
        "negatedLabel": "Dividends Declared",
        "documentation": "Amount of paid and unpaid cash, stock, and paid-in-kind (PIK) dividends declared, for example, but not limited to, common and preferred stock."
       }
      }
     },
     "auth_ref": [
      "r1",
      "r74"
     ]
    },
    "us-gaap_DividendsPayableAmountPerShare": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DividendsPayableAmountPerShare",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_DisclosureSubsequentEventsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Dividends per share declared",
        "documentation": "The per share amount of a dividend declared, but not paid, as of the financial reporting date."
       }
      }
     },
     "auth_ref": [
      "r21"
     ]
    },
    "us-gaap_DividendsPayableCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DividendsPayableCurrent",
     "crdr": "credit",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_DisclosureSubsequentEventsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Dividends payable amount",
        "documentation": "Carrying value as of the balance sheet date of dividends declared but unpaid on equity securities issued by the entity and outstanding. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r11"
     ]
    },
    "us-gaap_DividendsPayableDateDeclaredDayMonthAndYear": {
     "xbrltype": "dateItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DividendsPayableDateDeclaredDayMonthAndYear",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_DisclosureSubsequentEventsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Dividend declaration date",
        "documentation": "Date the dividend to be paid was declared, in YYYY-MM-DD format."
       }
      }
     },
     "auth_ref": [
      "r21"
     ]
    },
    "us-gaap_DividendsPayableDateOfRecordDayMonthAndYear": {
     "xbrltype": "dateItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DividendsPayableDateOfRecordDayMonthAndYear",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_DisclosureSubsequentEventsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Dividends Payable, Date of Record",
        "documentation": "Date the holder must own the stock to be entitled to the dividend, in YYYY-MM-DD format."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentAnnualReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentAnnualReport",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Annual Report",
        "documentation": "Boolean flag that is true only for a form used as an annual report."
       }
      }
     },
     "auth_ref": [
      "r468",
      "r469",
      "r470"
     ]
    },
    "dei_DocumentFinStmtErrorCorrectionFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentFinStmtErrorCorrectionFlag",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Financial Statement Error Correction",
        "documentation": "Indicates whether any of the financial statement period in the filing include a restatement due to error correction."
       }
      }
     },
     "auth_ref": [
      "r468",
      "r469",
      "r470",
      "r472"
     ]
    },
    "dei_DocumentFiscalPeriodFocus": {
     "xbrltype": "fiscalPeriodItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentFiscalPeriodFocus",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Fiscal Period Focus",
        "documentation": "Fiscal period values are FY, Q1, Q2, and Q3.  1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentFiscalYearFocus": {
     "xbrltype": "gYearItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentFiscalYearFocus",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Fiscal Year Focus",
        "documentation": "This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentPeriodEndDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentPeriodEndDate",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Period End Date",
        "documentation": "For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period.  The format of the date is YYYY-MM-DD."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentTransitionReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentTransitionReport",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Transition Report",
        "documentation": "Boolean flag that is true only for a form used as a transition report."
       }
      }
     },
     "auth_ref": [
      "r471"
     ]
    },
    "dei_DocumentType": {
     "xbrltype": "submissionTypeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentType",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Type",
        "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EarningsPerShareAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerShareAbstract",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Per Share Data"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EarningsPerSharePolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerSharePolicyTextBlock",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_DisclosureSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Income Per Share",
        "documentation": "Disclosure of accounting policy for computing basic and diluted earnings or loss per share for each class of common stock and participating security. Addresses all significant policy factors, including any antidilutive items that have been excluded from the computation and takes into account stock dividends, splits and reverse splits that occur after the balance sheet date of the latest reporting period but before the issuance of the financial statements."
       }
      }
     },
     "auth_ref": [
      "r22",
      "r23"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateContinuingOperations": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateContinuingOperations",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_Disclosure3IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income tax expense, %",
        "documentation": "Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations."
       }
      }
     },
     "auth_ref": [
      "r273"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_Disclosure3IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Expected tax at U.S. statutory rate, %",
        "documentation": "Percentage of domestic federal statutory tax rate applicable to pretax income (loss)."
       }
      }
     },
     "auth_ref": [
      "r147",
      "r273",
      "r288"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateReconciliationOtherAdjustments",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_Disclosure3IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Permanent differences, %",
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to other adjustments."
       }
      }
     },
     "auth_ref": [
      "r510",
      "r514"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_Disclosure3IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "State taxes, net of federal benefit, %",
        "documentation": "Percentage 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 applicable to state and local income tax expense (benefit), net of federal tax expense (benefit)."
       }
      }
     },
     "auth_ref": [
      "r510",
      "r514"
     ]
    },
    "us-gaap_EmployeeRelatedLiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EmployeeRelatedLiabilitiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accrued Wages and Salaries",
        "documentation": "Total of the carrying values as of the balance sheet date of obligations incurred through that date and payable for obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r11"
     ]
    },
    "dei_EntityAddressAddressLine1": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressAddressLine1",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Address Line One",
        "documentation": "Address Line 1 such as Attn, Building Name, Street Name"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressCityOrTown": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressCityOrTown",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, City or Town",
        "documentation": "Name of the City or Town"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressPostalZipCode": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressPostalZipCode",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Postal Zip Code",
        "documentation": "Code for the postal or zip code"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressStateOrProvince": {
     "xbrltype": "stateOrProvinceItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressStateOrProvince",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, State or Province",
        "documentation": "Name of the state or province."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityCentralIndexKey": {
     "xbrltype": "centralIndexKeyItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityCentralIndexKey",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Registrant CIK",
        "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK."
       }
      }
     },
     "auth_ref": [
      "r466"
     ]
    },
    "dei_EntityCommonStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityCommonStockSharesOutstanding",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Common Stock, Shares Outstanding",
        "documentation": "Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityCurrentReportingStatus": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityCurrentReportingStatus",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Current Reporting Status",
        "documentation": "Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityEmergingGrowthCompany": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityEmergingGrowthCompany",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Emerging Growth Company",
        "documentation": "Indicate if registrant meets the emerging growth company criteria."
       }
      }
     },
     "auth_ref": [
      "r466"
     ]
    },
    "dei_EntityFileNumber": {
     "xbrltype": "fileNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityFileNumber",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity File Number",
        "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityFilerCategory": {
     "xbrltype": "filerCategoryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityFilerCategory",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Filer Category",
        "documentation": "Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure."
       }
      }
     },
     "auth_ref": [
      "r466"
     ]
    },
    "dei_EntityIncorporationStateCountryCode": {
     "xbrltype": "edgarStateCountryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityIncorporationStateCountryCode",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Incorporation, State or Country Code",
        "documentation": "Two-character EDGAR code representing the state or country of incorporation."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityInteractiveDataCurrent": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityInteractiveDataCurrent",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Interactive Data Current",
        "documentation": "Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files)."
       }
      }
     },
     "auth_ref": [
      "r473"
     ]
    },
    "dei_EntityPublicFloat": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityPublicFloat",
     "crdr": "credit",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Public Float",
        "documentation": "The aggregate market value of the voting and non-voting common equity held by non-affiliates computed by reference to the price at which the common equity was last sold, or the average bid and asked price of such common equity, as of the last business day of the registrant's most recently completed second fiscal quarter."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityRegistrantName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityRegistrantName",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Registrant Name",
        "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC."
       }
      }
     },
     "auth_ref": [
      "r466"
     ]
    },
    "dei_EntityShellCompany": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityShellCompany",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Shell Company",
        "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r466"
     ]
    },
    "dei_EntitySmallBusiness": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntitySmallBusiness",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Small Business",
        "documentation": "Indicates that the company is a Smaller Reporting Company (SRC)."
       }
      }
     },
     "auth_ref": [
      "r466"
     ]
    },
    "dei_EntityTaxIdentificationNumber": {
     "xbrltype": "employerIdItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityTaxIdentificationNumber",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Tax Identification Number",
        "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS."
       }
      }
     },
     "auth_ref": [
      "r466"
     ]
    },
    "dei_EntityVoluntaryFilers": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityVoluntaryFilers",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Voluntary Filers",
        "documentation": "Indicate 'Yes' or 'No' if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityWellKnownSeasonedIssuer": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityWellKnownSeasonedIssuer",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Well-known Seasoned Issuer",
        "documentation": "Indicate 'Yes' or 'No' if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. Is used on Form Type: 10-K, 10-Q, 8-K, 20-F, 6-K, 10-K/A, 10-Q/A, 20-F/A, 6-K/A, N-CSR, N-Q, N-1A."
       }
      }
     },
     "auth_ref": [
      "r474"
     ]
    },
    "us-gaap_EquityComponentDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EquityComponentDomain",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Component",
        "documentation": "Components of equity are the parts of the total Equity balance including that which is allocated to common, preferred, treasury stock, retained earnings, etc."
       }
      }
     },
     "auth_ref": [
      "r6",
      "r120",
      "r137",
      "r138",
      "r139",
      "r155",
      "r156",
      "r157",
      "r159",
      "r164",
      "r166",
      "r174",
      "r219",
      "r220",
      "r252",
      "r264",
      "r265",
      "r266",
      "r281",
      "r282",
      "r296",
      "r297",
      "r298",
      "r299",
      "r300",
      "r301",
      "r302",
      "r305",
      "r306",
      "r307",
      "r308",
      "r309",
      "r310",
      "r311",
      "r348",
      "r349",
      "r350",
      "r357",
      "r408"
     ]
    },
    "us-gaap_FairValueOfFinancialInstrumentsPolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueOfFinancialInstrumentsPolicy",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_DisclosureSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value of Financial Instruments",
        "documentation": "Disclosure of accounting policy for determining the fair value of financial instruments."
       }
      }
     },
     "auth_ref": [
      "r5",
      "r7"
     ]
    },
    "fil_FastenerMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.chicagorivet.com/20231231",
     "localname": "FastenerMember",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_Disclosure6SegmentInformationDetails",
      "http://www.chicagorivet.com/20231231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fastener",
        "documentation": "Represents the Fastener, during the indicated time period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FederalIncomeTaxExpenseBenefitContinuingOperations": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FederalIncomeTaxExpenseBenefitContinuingOperations",
     "crdr": "debit",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_Disclosure3IncomeTaxesProvisionForIncomeTaxExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Provision for Federal income tax expense, Current",
        "documentation": "Amount of current and deferred federal tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, current and deferred national tax expense (benefit) for non-US (United States of America) jurisdiction."
       }
      }
     },
     "auth_ref": [
      "r145",
      "r272"
     ]
    },
    "us-gaap_GainLossOnDispositionOfAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GainLossOnDispositionOfAssets",
     "crdr": "credit",
     "calculation": {
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Gain on the Sale of Property and Equipment",
        "documentation": "Amount of gain (loss) on sale or disposal of property, plant and equipment assets, excluding oil and gas property and timber property."
       }
      }
     },
     "auth_ref": [
      "r485",
      "r500",
      "r501"
     ]
    },
    "us-gaap_GainLossOnSaleOfPropertyPlantEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GainLossOnSaleOfPropertyPlantEquipment",
     "crdr": "credit",
     "calculation": {
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfOperations": {
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationDetails",
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Gain on sale of property",
        "negatedLabel": "Gain on Sale of Property",
        "documentation": "Amount of gain (loss) on sale or disposal of property, plant and equipment assets, including oil and gas property and timber property."
       }
      }
     },
     "auth_ref": [
      "r3"
     ]
    },
    "us-gaap_GrossProfit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GrossProfit",
     "crdr": "credit",
     "calculation": {
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfOperations": {
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Gross Profit (Loss)",
        "totalLabel": "Gross Profit (Loss)",
        "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity."
       }
      }
     },
     "auth_ref": [
      "r58",
      "r144",
      "r179",
      "r199",
      "r205",
      "r208",
      "r218",
      "r242",
      "r243",
      "r244",
      "r245",
      "r246",
      "r247",
      "r248",
      "r249",
      "r250",
      "r304",
      "r442",
      "r506"
     ]
    },
    "dei_IcfrAuditorAttestationFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "IcfrAuditorAttestationFlag",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "ICFR Auditor Attestation Flag"
       }
      }
     },
     "auth_ref": [
      "r468",
      "r469",
      "r470"
     ]
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic",
     "crdr": "credit",
     "calculation": {
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfOperations": {
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income (Loss) Before Income Taxes",
        "totalLabel": "Income (Loss) Before Income Taxes",
        "documentation": "The portion of earnings or loss from continuing operations before income taxes that is attributable to domestic operations."
       }
      }
     },
     "auth_ref": [
      "r146",
      "r287"
     ]
    },
    "us-gaap_IncomeLossFromContinuingOperationsPerBasicShare": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeLossFromContinuingOperationsPerBasicShare",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Basic net income (loss) per share",
        "documentation": "The amount of net income (loss) from continuing operations per each share of common stock or unit outstanding during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r56",
      "r88",
      "r89",
      "r141",
      "r158",
      "r160",
      "r161",
      "r162",
      "r163",
      "r169",
      "r171",
      "r172",
      "r303",
      "r316",
      "r529"
     ]
    },
    "us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeLossFromContinuingOperationsPerDilutedShare",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Diluted net income (loss) per share",
        "documentation": "The amount of net income (loss) derived from continuing operations during the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r56",
      "r141",
      "r158",
      "r160",
      "r161",
      "r162",
      "r163",
      "r169",
      "r171",
      "r172",
      "r173",
      "r303",
      "r316",
      "r529"
     ]
    },
    "us-gaap_IncomeStatementAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeStatementAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Consolidated Statements of Operations"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeTaxDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxDisclosureTextBlock",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_Disclosure3IncomeTaxes"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "3 - Income Taxes",
        "documentation": "The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information."
       }
      }
     },
     "auth_ref": [
      "r147",
      "r267",
      "r274",
      "r276",
      "r279",
      "r283",
      "r289",
      "r290",
      "r291",
      "r356"
     ]
    },
    "us-gaap_IncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfOperations": {
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_Disclosure3IncomeTaxesProvisionForIncomeTaxExpenseDetails",
      "http://www.chicagorivet.com/20231231/role/idr_Disclosure3IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails",
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Provision (Benefit) for Income Taxes",
        "verboseLabel": "Provision (Benefit) for Income Taxes",
        "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations."
       }
      }
     },
     "auth_ref": [
      "r97",
      "r108",
      "r165",
      "r166",
      "r187",
      "r272",
      "r284",
      "r329"
     ]
    },
    "us-gaap_IncomeTaxPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxPolicyTextBlock",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_DisclosureSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Taxes",
        "documentation": "Disclosure of accounting policy for income taxes, which may include its accounting policies for recognizing and measuring deferred tax assets and liabilities and related valuation allowances, recognizing investment tax credits, operating loss carryforwards, tax credit carryforwards, and other carryforwards, methodologies for determining its effective income tax rate and the characterization of interest and penalties in the financial statements."
       }
      }
     },
     "auth_ref": [
      "r136",
      "r268",
      "r269",
      "r276",
      "r277",
      "r278",
      "r280",
      "r354"
     ]
    },
    "us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate",
     "crdr": "debit",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_Disclosure3IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Expected tax at U.S. statutory rate",
        "documentation": "The amount of income tax expense or benefit for the period computed by applying the domestic federal statutory tax rates to pretax income from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r273"
     ]
    },
    "us-gaap_IncomeTaxReconciliationOtherAdjustments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxReconciliationOtherAdjustments",
     "crdr": "debit",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_Disclosure3IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Permanent differences",
        "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to other adjustments."
       }
      }
     },
     "auth_ref": [
      "r510"
     ]
    },
    "us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxReconciliationStateAndLocalIncomeTaxes",
     "crdr": "debit",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_Disclosure3IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "State taxes, net of federal benefit",
        "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)."
       }
      }
     },
     "auth_ref": [
      "r510"
     ]
    },
    "us-gaap_IncomeTaxesPaidNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxesPaidNet",
     "crdr": "credit",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash Paid for Income Taxes",
        "documentation": "The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income, net of any cash received during the current period as refunds for the overpayment of taxes."
       }
      }
     },
     "auth_ref": [
      "r20"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccountsPayable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInAccountsPayable",
     "crdr": "debit",
     "calculation": {
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 9.0
      }
     },
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts Payable {2}",
        "terseLabel": "Accounts Payable",
        "documentation": "The increase (decrease) during the reporting period in the aggregate amount of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business."
       }
      }
     },
     "auth_ref": [
      "r2"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccountsReceivable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInAccountsReceivable",
     "crdr": "credit",
     "calculation": {
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts Receivable, net",
        "documentation": "The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services."
       }
      }
     },
     "auth_ref": [
      "r2"
     ]
    },
    "us-gaap_IncreaseDecreaseInContractWithCustomerAsset": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInContractWithCustomerAsset",
     "crdr": "credit",
     "calculation": {
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contract Assets {1}",
        "terseLabel": "Contract Assets",
        "documentation": "Amount of increase (decrease) in right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time."
       }
      }
     },
     "auth_ref": [
      "r484"
     ]
    },
    "us-gaap_IncreaseDecreaseInCustomerAdvancesAndDeposits": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInCustomerAdvancesAndDeposits",
     "crdr": "debit",
     "calculation": {
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 12.0
      }
     },
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Unearned Revenue and Customer Deposits {1}",
        "terseLabel": "Unearned Revenue and Customer Deposits",
        "documentation": "The increase (decrease) during the reporting period in the amount of (a) prepayments by customers for goods or services to be provided at a later date, (b) the amount of customer money held in customer accounts, including security deposits, collateral for a current or future transactions, initial payment of the cost of acquisition or for the right to enter into a contract or agreement, or (c) a combination of (a) and (b)."
       }
      }
     },
     "auth_ref": [
      "r92"
     ]
    },
    "us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInEmployeeRelatedLiabilities",
     "crdr": "debit",
     "calculation": {
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 10.0
      }
     },
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accrued Wages and Salaries {1}",
        "terseLabel": "Accrued Wages and Salaries",
        "documentation": "The increase (decrease) during the reporting period in the aggregate amount of obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits."
       }
      }
     },
     "auth_ref": [
      "r2"
     ]
    },
    "us-gaap_IncreaseDecreaseInInventories": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInInventories",
     "crdr": "credit",
     "calculation": {
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventories, net {1}",
        "terseLabel": "Inventories, net",
        "documentation": "The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities."
       }
      }
     },
     "auth_ref": [
      "r2"
     ]
    },
    "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInOperatingCapitalAbstract",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Changes in Operating Assets and Liabilities"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncreaseDecreaseInOtherAccruedLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInOtherAccruedLiabilities",
     "crdr": "debit",
     "calculation": {
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 11.0
      }
     },
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Accrued Expenses {1}",
        "terseLabel": "Other Accrued Expenses",
        "documentation": "The increase (decrease) during the reporting period in other expenses incurred but not yet paid."
       }
      }
     },
     "auth_ref": [
      "r2"
     ]
    },
    "us-gaap_IncreaseDecreaseInOtherOperatingAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInOtherOperatingAssets",
     "crdr": "credit",
     "calculation": {
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 8.0
      }
     },
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Current Assets and Prepaid Income Taxes",
        "documentation": "Amount of increase (decrease) in operating assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r2"
     ]
    },
    "us-gaap_InterestAndOtherIncome": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InterestAndOtherIncome",
     "crdr": "credit",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Income {3}",
        "terseLabel": "Other Income",
        "documentation": "The amount of interest income and other income recognized during the period. Included in this element is interest derived from investments in debt securities, cash and cash equivalents, and other investments which reflect the time value of money or transactions in which the payments are for the use or forbearance of money and other income from ancillary business-related activities (that is, excluding major activities considered part of the normal operations of the business)."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InterestAndOtherIncomeTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InterestAndOtherIncomeTableTextBlock",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_Disclosure5OtherIncomeOtherIncomeTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Income {2}",
        "terseLabel": "Other Income",
        "documentation": "Tabular disclosure of interest income and income classified as other."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InterestAndOtherIncomeTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InterestAndOtherIncomeTextBlock",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_Disclosure5OtherIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "5 - Other Income",
        "documentation": "The entire disclosure for interest and other income."
       }
      }
     },
     "auth_ref": [
      "r75"
     ]
    },
    "us-gaap_InventoryFinishedGoods": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryFinishedGoods",
     "crdr": "debit",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_Disclosure2BalanceSheetDetailsInventoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finished goods",
        "documentation": "Amount before valuation and LIFO reserves of completed merchandise or goods expected to be sold within one year or operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r479"
     ]
    },
    "us-gaap_InventoryNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryNet",
     "crdr": "debit",
     "calculation": {
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_Disclosure2BalanceSheetDetailsInventoryDetails",
      "http://www.chicagorivet.com/20231231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationDetails",
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventories, net",
        "documentation": "Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r131",
      "r436",
      "r452"
     ]
    },
    "us-gaap_InventoryPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryPolicyTextBlock",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_DisclosureSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventories",
        "documentation": "Disclosure of inventory accounting policy for inventory classes, including, but not limited to, basis for determining inventory amounts, methods by which amounts are added and removed from inventory classes, loss recognition on impairment of inventories, and situations in which inventories are stated above cost."
       }
      }
     },
     "auth_ref": [
      "r98",
      "r125",
      "r130",
      "r221",
      "r222",
      "r223",
      "r314",
      "r440"
     ]
    },
    "us-gaap_InventoryRawMaterials": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryRawMaterials",
     "crdr": "debit",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_Disclosure2BalanceSheetDetailsInventoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Raw materials",
        "documentation": "Amount before valuation and LIFO reserves of raw materials expected to be sold, or consumed within one year or operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r481"
     ]
    },
    "us-gaap_InventoryValuationReserveMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryValuationReserveMember",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_DisclosureScheduleOfValuationAndQualifyingAccountsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SEC Schedule, 12-09, Reserve, Inventory",
        "documentation": "Reserve to reduce inventory to lower of cost or net realizable value."
       }
      }
     },
     "auth_ref": [
      "r488",
      "r489",
      "r490",
      "r491",
      "r492"
     ]
    },
    "us-gaap_InventoryValuationReserves": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryValuationReserves",
     "crdr": "credit",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_Disclosure2BalanceSheetDetailsInventoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Valuation reserves",
        "negatedLabel": "Valuation reserves",
        "documentation": "Amount of valuation reserve for inventory."
       }
      }
     },
     "auth_ref": [
      "r32",
      "r482"
     ]
    },
    "us-gaap_InventoryWorkInProcess": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryWorkInProcess",
     "crdr": "debit",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_Disclosure2BalanceSheetDetailsInventoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Work in process",
        "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."
       }
      }
     },
     "auth_ref": [
      "r480"
     ]
    },
    "us-gaap_InvestmentIncomeInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InvestmentIncomeInterest",
     "crdr": "credit",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_Disclosure5OtherIncomeOtherIncomeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Interest income",
        "documentation": "Amount before accretion (amortization) of purchase discount (premium) of interest income on nonoperating securities."
       }
      }
     },
     "auth_ref": [
      "r61",
      "r182"
     ]
    },
    "us-gaap_LandAndLandImprovements": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LandAndLandImprovements",
     "crdr": "debit",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_Disclosure2BalanceSheetDetailsPropertyPlantAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Land and improvements",
        "documentation": "Amount before accumulated depreciation and depletion of real estate held for productive use and additions or improvements to real estate held for productive use, examples include, but are not limited to, walkways, driveways, fences, and parking lots. Excludes land held for sale."
       }
      }
     },
     "auth_ref": [
      "r478"
     ]
    },
    "us-gaap_LandImprovementsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LandImprovementsMember",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_DisclosureEstimatedUsefulLivesByAssetCategoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Land Improvements {1}",
        "terseLabel": "Land Improvements",
        "documentation": "Additions or improvements to real estate held."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_Liabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "Liabilities",
     "crdr": "credit",
     "calculation": {
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total Liabilities",
        "totalLabel": "Total Liabilities",
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future."
       }
      }
     },
     "auth_ref": [
      "r10",
      "r144",
      "r218",
      "r242",
      "r243",
      "r244",
      "r245",
      "r246",
      "r247",
      "r248",
      "r249",
      "r250",
      "r293",
      "r294",
      "r295",
      "r304",
      "r370",
      "r441",
      "r464",
      "r506",
      "r520",
      "r521"
     ]
    },
    "us-gaap_LiabilitiesAndStockholdersEquity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilitiesAndStockholdersEquity",
     "crdr": "credit",
     "calculation": {
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedBalanceSheets": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total Liabilities and Shareholders' Equity",
        "totalLabel": "Total Liabilities and Shareholders' Equity",
        "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any."
       }
      }
     },
     "auth_ref": [
      "r52",
      "r85",
      "r324",
      "r452",
      "r486",
      "r498",
      "r519"
     ]
    },
    "us-gaap_LiabilitiesAndStockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilitiesAndStockholdersEquityAbstract",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities and Shareholders' Equity"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilitiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total Current Liabilities",
        "totalLabel": "Total Current Liabilities",
        "documentation": "Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r12",
      "r124",
      "r144",
      "r218",
      "r242",
      "r243",
      "r244",
      "r245",
      "r246",
      "r247",
      "r248",
      "r249",
      "r250",
      "r293",
      "r294",
      "r295",
      "r304",
      "r452",
      "r506",
      "r520",
      "r521"
     ]
    },
    "us-gaap_LiabilitiesCurrentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilitiesCurrentAbstract",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current Liabilities"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LiabilityForUncertainTaxPositionsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilityForUncertainTaxPositionsCurrent",
     "crdr": "credit",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_DisclosureUncertainTaxPositionsAndUnrecognizedTaxBenefitsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liability for Uncertain Tax Positions",
        "documentation": "Amount recognized for uncertainty in income taxes classified as current."
       }
      }
     },
     "auth_ref": [
      "r11"
     ]
    },
    "dei_LocalPhoneNumber": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "LocalPhoneNumber",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Local Phone Number",
        "documentation": "Local phone number for entity."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_MachineryAndEquipmentGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "MachineryAndEquipmentGross",
     "crdr": "debit",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_Disclosure2BalanceSheetDetailsPropertyPlantAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Machinery and equipment",
        "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."
       }
      }
     },
     "auth_ref": [
      "r72"
     ]
    },
    "us-gaap_MachineryAndEquipmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "MachineryAndEquipmentMember",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_DisclosureEstimatedUsefulLivesByAssetCategoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Machinery and Equipment",
        "documentation": "Tangible personal property used to produce goods and services, including, but is not limited to, tools, dies and molds, computer and office equipment."
       }
      }
     },
     "auth_ref": []
    },
    "srt_MajorCustomersAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "MajorCustomersAxis",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_DisclosureSummaryOfOfRevenuesAndARFromMajorCustomersDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer [Axis]",
        "documentation": "Information by name or description of a single external customer or a group of external customers."
       }
      }
     },
     "auth_ref": [
      "r214",
      "r450",
      "r509",
      "r530",
      "r531"
     ]
    },
    "fil_MartinreaInternationalIncMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.chicagorivet.com/20231231",
     "localname": "MartinreaInternationalIncMember",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_DisclosureSummaryOfOfRevenuesAndARFromMajorCustomersDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Martinrea International Inc.",
        "documentation": "Represents the Martinrea International Inc., during the indicated time period."
       }
      }
     },
     "auth_ref": []
    },
    "srt_MaximumMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "MaximumMember",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_DisclosureEstimatedUsefulLivesByAssetCategoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Maximum",
        "documentation": "Upper limit of the provided range."
       }
      }
     },
     "auth_ref": [
      "r238",
      "r239",
      "r240",
      "r241",
      "r260",
      "r313",
      "r347",
      "r362",
      "r363",
      "r411",
      "r413",
      "r415",
      "r416",
      "r418",
      "r431",
      "r432",
      "r444",
      "r447",
      "r451",
      "r454",
      "r508",
      "r523",
      "r524",
      "r525",
      "r526",
      "r527",
      "r528"
     ]
    },
    "srt_MinimumMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "MinimumMember",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_DisclosureEstimatedUsefulLivesByAssetCategoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Minimum",
        "documentation": "Lower limit of the provided range."
       }
      }
     },
     "auth_ref": [
      "r238",
      "r239",
      "r240",
      "r241",
      "r260",
      "r313",
      "r347",
      "r362",
      "r363",
      "r411",
      "r413",
      "r415",
      "r416",
      "r418",
      "r431",
      "r432",
      "r444",
      "r447",
      "r451",
      "r454",
      "r508",
      "r523",
      "r524",
      "r525",
      "r526",
      "r527",
      "r528"
     ]
    },
    "srt_NameOfMajorCustomerDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "NameOfMajorCustomerDomain",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_DisclosureSummaryOfOfRevenuesAndARFromMajorCustomersDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer",
        "documentation": "Single external customer or group of external customers."
       }
      }
     },
     "auth_ref": [
      "r214",
      "r450",
      "r509",
      "r530",
      "r531"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInFinancingActivities",
     "crdr": "debit",
     "calculation": {
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Used in Financing Activities",
        "totalLabel": "Net Cash Used in Financing Activities",
        "documentation": "Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit."
       }
      }
     },
     "auth_ref": [
      "r143"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash Flows from Financing Activities"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInInvestingActivities",
     "crdr": "debit",
     "calculation": {
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used In) Investing Activities",
        "totalLabel": "Net Cash Provided by (Used In) Investing Activities",
        "documentation": "Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets."
       }
      }
     },
     "auth_ref": [
      "r143"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash Flows from Investing Activities"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInOperatingActivities",
     "calculation": {
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Used in Operating Activities",
        "totalLabel": "Net Cash Used in Operating Activities",
        "documentation": "Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities."
       }
      }
     },
     "auth_ref": [
      "r66",
      "r67",
      "r68"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash Flows from Operating Activities"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetIncomeLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetIncomeLoss",
     "crdr": "credit",
     "calculation": {
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 1.0
      },
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfOperations": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfCashFlows",
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfOperations",
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Income (Loss)",
        "totalLabel": "Net Income (Loss)",
        "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent."
       }
      }
     },
     "auth_ref": [
      "r57",
      "r68",
      "r90",
      "r122",
      "r134",
      "r135",
      "r139",
      "r144",
      "r158",
      "r160",
      "r161",
      "r162",
      "r163",
      "r165",
      "r166",
      "r170",
      "r179",
      "r199",
      "r205",
      "r208",
      "r218",
      "r242",
      "r243",
      "r244",
      "r245",
      "r246",
      "r247",
      "r248",
      "r249",
      "r250",
      "r303",
      "r304",
      "r328",
      "r391",
      "r406",
      "r407",
      "r442",
      "r463",
      "r506"
     ]
    },
    "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_DisclosureSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Recent Accounting Pronouncements",
        "documentation": "Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NonUsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NonUsMember",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_Disclosure6SegmentInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-US",
        "documentation": "Countries excluding the United States of America (US)."
       }
      }
     },
     "auth_ref": [
      "r536",
      "r537",
      "r538",
      "r539"
     ]
    },
    "fil_NonautomotiveMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.chicagorivet.com/20231231",
     "localname": "NonautomotiveMember",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_Disclosure6SegmentInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "NonAutomotive",
        "documentation": "Represents the NonAutomotive, during the indicated time period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingExpenses": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingExpenses",
     "crdr": "debit",
     "calculation": {
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfOperations": {
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total Operating Expenses",
        "totalLabel": "Total Operating Expenses",
        "documentation": "Generally recurring costs associated with normal operations except for the portion of these expenses which can be clearly related to production and included in cost of sales or services. Includes selling, general and administrative expense."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingExpensesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingExpensesAbstract",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating (Income) Expenses"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingIncomeLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingIncomeLoss",
     "crdr": "credit",
     "calculation": {
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfOperations": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Profit (Loss)",
        "totalLabel": "Operating Profit (Loss)",
        "documentation": "The net result for the period of deducting operating expenses from operating revenues."
       }
      }
     },
     "auth_ref": [
      "r179",
      "r199",
      "r205",
      "r208",
      "r442"
     ]
    },
    "us-gaap_OperatingLeasesFutureMinimumPaymentsDueFutureMinimumSubleaseRentals": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeasesFutureMinimumPaymentsDueFutureMinimumSubleaseRentals",
     "crdr": "debit",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_DisclosureCommitmentsAndContingenciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rent Expense Future Minimum Payments",
        "documentation": "Contractually required future rental payments receivable on noncancelable subleasing arrangements."
       }
      }
     },
     "auth_ref": [
      "r94"
     ]
    },
    "us-gaap_OperatingLeasesRentExpenseNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeasesRentExpenseNet",
     "crdr": "debit",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_DisclosureCommitmentsAndContingenciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rent Expense",
        "documentation": "Rental expense for the reporting period incurred under operating leases, including minimum and any contingent rent expense, net of related sublease income."
       }
      }
     },
     "auth_ref": [
      "r93"
     ]
    },
    "us-gaap_OperatingLossCarryforwards": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLossCarryforwards",
     "crdr": "debit",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_Disclosure3IncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Loss Carryforwards",
        "documentation": "Amount of operating loss carryforward, before tax effects, available to reduce future taxable income under enacted tax laws."
       }
      }
     },
     "auth_ref": [
      "r40"
     ]
    },
    "us-gaap_OtherAccruedLiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherAccruedLiabilitiesCurrent",
     "crdr": "credit",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_Disclosure2BalanceSheetDetailsOtherAccruedExpensesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "All other items",
        "documentation": "Amount of expenses incurred but not yet paid classified as other, due within one year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r11"
     ]
    },
    "us-gaap_OtherAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherAssets",
     "crdr": "debit",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other assets",
        "documentation": "Amount of assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r83",
      "r128",
      "r319",
      "r464"
     ]
    },
    "us-gaap_OtherAssetsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherAssetsCurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Current Assets",
        "documentation": "Amount of current assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r132",
      "r452"
     ]
    },
    "us-gaap_OtherCapitalizedPropertyPlantAndEquipmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherCapitalizedPropertyPlantAndEquipmentMember",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_DisclosureEstimatedUsefulLivesByAssetCategoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Capitalized Property Plant and Equipment",
        "documentation": "All other long term capitalized assets related to property plant and equipment not otherwise previously categorized."
       }
      }
     },
     "auth_ref": [
      "r72"
     ]
    },
    "us-gaap_OtherEmployeeRelatedLiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherEmployeeRelatedLiabilitiesCurrent",
     "crdr": "credit",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_Disclosure2BalanceSheetDetailsOtherAccruedExpensesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Profit sharing plan contribution",
        "documentation": "Amount of obligations incurred for employer-related costs classified as other, payable within one year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r11"
     ]
    },
    "us-gaap_OtherNonoperatingIncome": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherNonoperatingIncome",
     "crdr": "credit",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_Disclosure5OtherIncomeOtherIncomeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other nonoperating income",
        "verboseLabel": "Other nonoperating income",
        "documentation": "Amount of income related to nonoperating activities, classified as other."
       }
      }
     },
     "auth_ref": [
      "r142"
     ]
    },
    "us-gaap_OtherNonoperatingIncomeExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherNonoperatingIncomeExpense",
     "crdr": "credit",
     "calculation": {
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfOperations": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_Disclosure5OtherIncomeOtherIncomeDetails",
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Income {1}",
        "terseLabel": "Other Income",
        "documentation": "Amount of income (expense) related to nonoperating activities, classified as other."
       }
      }
     },
     "auth_ref": [
      "r62"
     ]
    },
    "us-gaap_PaymentsOfDividendsCommonStock": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsOfDividendsCommonStock",
     "crdr": "credit",
     "calculation": {
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash Dividends Paid",
        "negatedLabel": "Cash Dividends Paid",
        "documentation": "Amount of cash outflow in the form of ordinary dividends to common shareholders of the parent entity."
       }
      }
     },
     "auth_ref": [
      "r17"
     ]
    },
    "us-gaap_PaymentsToAcquireHeldToMaturitySecurities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsToAcquireHeldToMaturitySecurities",
     "crdr": "credit",
     "calculation": {
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Purchases of Short-Term Investments",
        "negatedLabel": "Purchases of Short-Term Investments",
        "documentation": "Amount of cash outflow through purchase of long-term held-to-maturity securities."
       }
      }
     },
     "auth_ref": [
      "r16",
      "r217"
     ]
    },
    "us-gaap_PaymentsToAcquireProductiveAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsToAcquireProductiveAssets",
     "crdr": "credit",
     "calculation": {
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Capital Expenditures",
        "negatedLabel": "Capital Expenditures",
        "documentation": "The cash outflow for purchases of and capital improvements on property, plant and equipment (capital expenditures), software, and other intangible assets."
       }
      }
     },
     "auth_ref": [
      "r96",
      "r515",
      "r516",
      "r517"
     ]
    },
    "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsToAcquirePropertyPlantAndEquipment",
     "crdr": "credit",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Capital expenditures",
        "documentation": "The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets."
       }
      }
     },
     "auth_ref": [
      "r65"
     ]
    },
    "us-gaap_PolicyTextBlockAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PolicyTextBlockAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Policies"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PreferredStockMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PreferredStockMember",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Preferred Stock",
        "documentation": "Preferred shares may provide a preferential dividend to the dividend on common stock and may take precedence over common stock in the event of a liquidation. Preferred shares typically represent an ownership interest in the company."
       }
      }
     },
     "auth_ref": [
      "r455",
      "r456",
      "r459",
      "r460",
      "r461",
      "r462",
      "r532",
      "r534"
     ]
    },
    "us-gaap_PreferredStockParOrStatedValuePerShare": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PreferredStockParOrStatedValuePerShare",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Preferred Stock, Par or Stated Value Per Share",
        "documentation": "Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer."
       }
      }
     },
     "auth_ref": [
      "r46",
      "r251"
     ]
    },
    "us-gaap_PreferredStockSharesAuthorized": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PreferredStockSharesAuthorized",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Preferred Stock, Shares Authorized",
        "documentation": "The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws."
       }
      }
     },
     "auth_ref": [
      "r46",
      "r371"
     ]
    },
    "us-gaap_PreferredStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PreferredStockSharesOutstanding",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Preferred Stock, Shares Outstanding",
        "documentation": "Aggregate share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased."
       }
      }
     },
     "auth_ref": [
      "r46",
      "r371",
      "r389",
      "r534",
      "r535"
     ]
    },
    "us-gaap_PreferredStockValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PreferredStockValue",
     "crdr": "credit",
     "calculation": {
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Preferred Stock, No Par Value, 500,000 Shares Authorized: None Outstanding",
        "documentation": "Aggregate par or stated value of issued nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred shares, par value and other disclosure concepts are in another section within stockholders' equity."
       }
      }
     },
     "auth_ref": [
      "r46",
      "r322",
      "r452"
     ]
    },
    "us-gaap_PrepaidTaxes": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PrepaidTaxes",
     "crdr": "debit",
     "calculation": {
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Prepaid Income Taxes",
        "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."
       }
      }
     },
     "auth_ref": [
      "r437",
      "r445",
      "r499"
     ]
    },
    "us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfHeldToMaturitySecurities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProceedsFromMaturitiesPrepaymentsAndCallsOfHeldToMaturitySecurities",
     "crdr": "debit",
     "calculation": {
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Proceeds from Short-Term Investments",
        "documentation": "The cash inflow associated with the maturity, prepayments and calls (requests for early payments) of debt securities designated as held-to-maturity."
       }
      }
     },
     "auth_ref": [
      "r15",
      "r497"
     ]
    },
    "us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProceedsFromSaleOfPropertyPlantAndEquipment",
     "crdr": "debit",
     "calculation": {
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Proceeds from the Sale of Property and Equipment",
        "documentation": "The cash inflow from the sale of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale."
       }
      }
     },
     "auth_ref": [
      "r64"
     ]
    },
    "srt_ProductOrServiceAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "ProductOrServiceAxis",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_Disclosure6SegmentInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product and Service [Axis]",
        "documentation": "Information by product and service, or group of similar products and similar services."
       }
      }
     },
     "auth_ref": [
      "r210",
      "r315",
      "r341",
      "r342",
      "r343",
      "r344",
      "r345",
      "r346",
      "r433",
      "r448",
      "r453",
      "r475",
      "r504",
      "r505",
      "r509",
      "r530"
     ]
    },
    "srt_ProductsAndServicesDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "ProductsAndServicesDomain",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_Disclosure6SegmentInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product and Service",
        "documentation": "Product or service, or a group of similar products or similar services."
       }
      }
     },
     "auth_ref": [
      "r210",
      "r315",
      "r341",
      "r342",
      "r343",
      "r344",
      "r345",
      "r346",
      "r433",
      "r448",
      "r453",
      "r475",
      "r504",
      "r505",
      "r509",
      "r530"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentByTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentByTypeAxis",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_DisclosureEstimatedUsefulLivesByAssetCategoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-Lived Tangible Asset [Axis]",
        "documentation": "Information by type of long-lived, physical assets used to produce goods and services and not intended for resale."
       }
      }
     },
     "auth_ref": [
      "r4"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentNet",
     "crdr": "debit",
     "calculation": {
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationDetails",
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment, net",
        "verboseLabel": "Property, plant and equipment, net",
        "documentation": "Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures."
       }
      }
     },
     "auth_ref": [
      "r4",
      "r318",
      "r327",
      "r452"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentOther": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentOther",
     "crdr": "debit",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_Disclosure2BalanceSheetDetailsPropertyPlantAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Capitalized software and other",
        "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."
       }
      }
     },
     "auth_ref": [
      "r4"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentOtherNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentOtherNet",
     "crdr": "debit",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_Disclosure2BalanceSheetDetailsPropertyPlantAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment, Other, Net",
        "documentation": "Amount after depreciation of long-lived, physical assets used to produce goods and services and not intended for resale, classified as other."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PropertyPlantAndEquipmentPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentPolicyTextBlock",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_DisclosureSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment",
        "documentation": "Disclosure of accounting policy for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections."
       }
      }
     },
     "auth_ref": [
      "r4",
      "r102",
      "r106",
      "r325"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentTextBlock",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_Disclosure2BalanceSheetDetailsPropertyPlantAndEquipmentTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment {1}",
        "terseLabel": "Property, Plant and Equipment",
        "documentation": "Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation."
       }
      }
     },
     "auth_ref": [
      "r4"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentTypeDomain",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_DisclosureEstimatedUsefulLivesByAssetCategoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-Lived Tangible Asset",
        "documentation": "Listing of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale. Examples include land, buildings, machinery and equipment, and other types of furniture and equipment including, but not limited to, office equipment, furniture and fixtures, and computer equipment and software."
       }
      }
     },
     "auth_ref": [
      "r72"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentUsefulLife": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentUsefulLife",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_DisclosureEstimatedUsefulLivesByAssetCategoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment, Useful Life",
        "documentation": "Useful life of long lived, physical assets used in the normal conduct of business and not intended for resale, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Examples include, but not limited to, land, buildings, machinery and equipment, office equipment, furniture and fixtures, and computer equipment."
       }
      }
     },
     "auth_ref": []
    },
    "srt_RangeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "RangeAxis",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_DisclosureEstimatedUsefulLivesByAssetCategoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statistical Measurement [Axis]",
        "documentation": "Information by statistical measurement. Includes, but is not limited to, minimum, maximum, weighted average, arithmetic average, and median."
       }
      }
     },
     "auth_ref": [
      "r238",
      "r239",
      "r240",
      "r241",
      "r259",
      "r260",
      "r261",
      "r262",
      "r263",
      "r312",
      "r313",
      "r347",
      "r362",
      "r363",
      "r411",
      "r413",
      "r415",
      "r416",
      "r418",
      "r431",
      "r432",
      "r444",
      "r447",
      "r451",
      "r454",
      "r457",
      "r502",
      "r508",
      "r524",
      "r525",
      "r526",
      "r527",
      "r528"
     ]
    },
    "srt_RangeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "RangeMember",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_DisclosureEstimatedUsefulLivesByAssetCategoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statistical Measurement",
        "documentation": "Statistical measurement. Includes, but is not limited to, minimum, maximum, weighted average, arithmetic average, and median."
       }
      }
     },
     "auth_ref": [
      "r238",
      "r239",
      "r240",
      "r241",
      "r259",
      "r260",
      "r261",
      "r262",
      "r263",
      "r312",
      "r313",
      "r347",
      "r362",
      "r363",
      "r411",
      "r413",
      "r415",
      "r416",
      "r418",
      "r431",
      "r432",
      "r444",
      "r447",
      "r451",
      "r454",
      "r457",
      "r502",
      "r508",
      "r524",
      "r525",
      "r526",
      "r527",
      "r528"
     ]
    },
    "us-gaap_RetainedEarningsAccumulatedDeficit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RetainedEarningsAccumulatedDeficit",
     "crdr": "credit",
     "calculation": {
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Retained Earnings",
        "documentation": "Amount of accumulated undistributed earnings (deficit)."
       }
      }
     },
     "auth_ref": [
      "r49",
      "r74",
      "r323",
      "r351",
      "r352",
      "r355",
      "r372",
      "r452"
     ]
    },
    "us-gaap_RetainedEarningsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RetainedEarningsMember",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Retained Earnings {1}",
        "terseLabel": "Retained Earnings",
        "documentation": "Accumulated undistributed earnings (deficit)."
       }
      }
     },
     "auth_ref": [
      "r120",
      "r155",
      "r156",
      "r157",
      "r159",
      "r164",
      "r166",
      "r219",
      "r220",
      "r264",
      "r265",
      "r266",
      "r281",
      "r282",
      "r296",
      "r298",
      "r299",
      "r301",
      "r302",
      "r348",
      "r350",
      "r357",
      "r534"
     ]
    },
    "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueFromContractWithCustomerExcludingAssessedTax",
     "crdr": "credit",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_Disclosure6SegmentInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue",
        "documentation": "Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise."
       }
      }
     },
     "auth_ref": [
      "r180",
      "r181",
      "r198",
      "r203",
      "r204",
      "r210",
      "r212",
      "r214",
      "r255",
      "r256",
      "r315"
     ]
    },
    "us-gaap_RevenueRecognitionAccountingPolicyGrossAndNetRevenueDisclosure": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueRecognitionAccountingPolicyGrossAndNetRevenueDisclosure",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_DisclosureSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue Recognition",
        "documentation": "Disclosure of accounting policy for recognizing revenue from a transaction on a gross or net basis."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RevenueRemainingPerformanceObligation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueRemainingPerformanceObligation",
     "crdr": "credit",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_DisclosureContractsWithCustomersRevenueRecognizedDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue, Remaining Performance Obligation",
        "documentation": "Amount of transaction price allocated to performance obligation that has not been recognized as revenue."
       }
      }
     },
     "auth_ref": [
      "r105"
     ]
    },
    "us-gaap_Revenues": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "Revenues",
     "crdr": "credit",
     "calculation": {
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfOperations": {
       "parentTag": "us-gaap_GrossProfit",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationDetails",
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Sales",
        "documentation": "Amount of revenue recognized from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss)."
       }
      }
     },
     "auth_ref": [
      "r140",
      "r144",
      "r180",
      "r181",
      "r198",
      "r203",
      "r204",
      "r210",
      "r212",
      "r214",
      "r218",
      "r242",
      "r243",
      "r244",
      "r245",
      "r246",
      "r247",
      "r248",
      "r249",
      "r250",
      "r304",
      "r317",
      "r506"
     ]
    },
    "us-gaap_SaleLeasebackTransactionMonthlyRentalPayments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SaleLeasebackTransactionMonthlyRentalPayments",
     "crdr": "credit",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_Disclosure10SubsequentEventsDetails",
      "http://www.chicagorivet.com/20231231/role/idr_Disclosure7AdditionalFinancialInformationDisclosureDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Sale Leaseback Transaction, Monthly Rental Payments",
        "documentation": "The amount of the monthly rental payments due under the lease entered into in connection with the transactions involving the sale of property to another party and the lease of the property back to the seller."
       }
      }
     },
     "auth_ref": [
      "r95"
     ]
    },
    "us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfAccruedLiabilitiesTableTextBlock",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_Disclosure2BalanceSheetDetailsOtherAccruedExpensesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Accrued Expenses {2}",
        "terseLabel": "Other Accrued Expenses",
        "documentation": "Tabular disclosure of the components of accrued liabilities."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_Disclosure3IncomeTaxesProvisionForIncomeTaxExpenseTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Provision for Income Tax Expense",
        "documentation": "Tabular disclosure of the components of income tax expense attributable to continuing operations for each year presented including, but not limited to: current tax expense (benefit), deferred tax expense (benefit), investment tax credits, government grants, the benefits of operating loss carryforwards, tax expense that results from allocating certain tax benefits either directly to contributed capital or to reduce goodwill or other noncurrent intangible assets of an acquired entity, adjustments of a deferred tax liability or asset for enacted changes in tax laws or rates or a change in the tax status of the entity, and adjustments of the beginning-of-the-year balances of a valuation allowance because of a change in circumstances that causes a change in judgment about the realizability of the related deferred tax asset in future years."
       }
      }
     },
     "auth_ref": [
      "r81"
     ]
    },
    "us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_Disclosure3IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Deferred Tax Assets and Liabilities",
        "documentation": "Tabular disclosure of the components of net deferred tax asset or liability recognized in an entity's statement of financial position, including the following: the total of all deferred tax liabilities, the total of all deferred tax assets, the total valuation allowance recognized for deferred tax assets."
       }
      }
     },
     "auth_ref": [
      "r80"
     ]
    },
    "us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_Disclosure3IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Effective Income Tax Rate Reconciliation",
        "documentation": "Tabular disclosure of the reconciliation using percentage or dollar amounts of the reported amount of income tax expense attributable to continuing operations for the year to the amount of income tax expense that would result from applying domestic federal statutory tax rates to pretax income from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r79"
     ]
    },
    "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfInventoryCurrentTableTextBlock",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_Disclosure2BalanceSheetDetailsInventoryTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory",
        "documentation": "Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process."
       }
      }
     },
     "auth_ref": [
      "r8",
      "r53",
      "r54",
      "r55"
     ]
    },
    "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfSegmentReportingInformationBySegmentTextBlock",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Segment Reporting Information",
        "documentation": "Tabular disclosure of the profit or loss and total assets for each reportable segment. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss."
       }
      }
     },
     "auth_ref": [
      "r29",
      "r30",
      "r31",
      "r33"
     ]
    },
    "us-gaap_ScheduleOfSubsequentEventsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfSubsequentEventsTextBlock",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_Disclosure10SubsequentEvents"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "10 - Subsequent Events",
        "documentation": "Tabular disclosure of significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued. Examples include: the sale of a capital stock issue, purchase of a business, settlement of litigation, losses resulting from fire or flood, losses on receivables, significant realized and unrealized gains and losses that result from changes in quoted market prices of securities, declines in market prices of inventory, changes in authorized or issued debt (SEC), significant foreign exchange rate changes, substantial loans to insiders or affiliates, significant long-term investments, and substantial dividends not in the ordinary course of business."
       }
      }
     },
     "auth_ref": [
      "r522"
     ]
    },
    "srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_Disclosure2BalanceSheetDetailsScheduleOfValuationAndQualifyingAccountsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Valuation and Qualifying Accounts",
        "documentation": "The entire disclosure for valuation and qualifying accounts and reserves."
       }
      }
     },
     "auth_ref": [
      "r109",
      "r154"
     ]
    },
    "dei_Security12bTitle": {
     "xbrltype": "securityTitleItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "Security12bTitle",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title of 12(b) Security",
        "documentation": "Title of a 12(b) registered security."
       }
      }
     },
     "auth_ref": [
      "r465"
     ]
    },
    "dei_SecurityExchangeName": {
     "xbrltype": "edgarExchangeCodeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "SecurityExchangeName",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Security Exchange Name",
        "documentation": "Name of the Exchange on which a security is registered."
       }
      }
     },
     "auth_ref": [
      "r467"
     ]
    },
    "us-gaap_SegmentDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SegmentDomain",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_Disclosure6SegmentInformationDetails",
      "http://www.chicagorivet.com/20231231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Segments",
        "documentation": "Components of an entity that engage in business activities from which they may earn revenue and incur expenses, including transactions with other components of the same entity."
       }
      }
     },
     "auth_ref": [
      "r176",
      "r179",
      "r180",
      "r181",
      "r182",
      "r183",
      "r184",
      "r185",
      "r186",
      "r187",
      "r188",
      "r189",
      "r190",
      "r198",
      "r199",
      "r200",
      "r201",
      "r202",
      "r203",
      "r204",
      "r205",
      "r206",
      "r208",
      "r214",
      "r224",
      "r225",
      "r226",
      "r227",
      "r228",
      "r229",
      "r230",
      "r231",
      "r232",
      "r234",
      "r235",
      "r330",
      "r331",
      "r332",
      "r333",
      "r334",
      "r335",
      "r336",
      "r337",
      "r338",
      "r339",
      "r340",
      "r446",
      "r475",
      "r530"
     ]
    },
    "srt_SegmentGeographicalDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "SegmentGeographicalDomain",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_Disclosure6SegmentInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Geographical",
        "documentation": "Geographical area."
       }
      }
     },
     "auth_ref": [
      "r110",
      "r111",
      "r112",
      "r113",
      "r114",
      "r115",
      "r116",
      "r117",
      "r118",
      "r212",
      "r213",
      "r359",
      "r360",
      "r361",
      "r412",
      "r414",
      "r417",
      "r419",
      "r422",
      "r423",
      "r424",
      "r425",
      "r426",
      "r427",
      "r428",
      "r429",
      "r430",
      "r434",
      "r449",
      "r457",
      "r509",
      "r530"
     ]
    },
    "fil_SegmentOperatingProfit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.chicagorivet.com/20231231",
     "localname": "SegmentOperatingProfit",
     "crdr": "credit",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Segment operating profit",
        "documentation": "The net result for the period of deducting segment operating expenses from segment operating revenues."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SegmentReportingDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SegmentReportingDisclosureTextBlock",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_Disclosure6SegmentInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "6 - Segment Information",
        "documentation": "The entire disclosure for reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments."
       }
      }
     },
     "auth_ref": [
      "r175",
      "r176",
      "r177",
      "r178",
      "r179",
      "r191",
      "r202",
      "r206",
      "r207",
      "r208",
      "r209",
      "r210",
      "r211",
      "r214"
     ]
    },
    "us-gaap_SegmentReportingPolicyPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SegmentReportingPolicyPolicyTextBlock",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_DisclosureSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Segment Information",
        "documentation": "Disclosure of accounting policy for segment reporting."
       }
      }
     },
     "auth_ref": [
      "r192",
      "r193",
      "r194",
      "r195",
      "r196",
      "r197",
      "r212",
      "r443"
     ]
    },
    "fil_SellingAndAdministrativeExpensesUnallocatedCorporate": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.chicagorivet.com/20231231",
     "localname": "SellingAndAdministrativeExpensesUnallocatedCorporate",
     "crdr": "debit",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Selling and Administrative Expenses {1}",
        "terseLabel": "Selling and Administrative Expenses",
        "documentation": "The aggregate total costs related to selling a firm's product and services, as well as all other general and administrative expenses."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SellingGeneralAndAdministrativeExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SellingGeneralAndAdministrativeExpense",
     "crdr": "debit",
     "calculation": {
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfOperations": {
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Selling and Administrative Expenses",
        "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."
       }
      }
     },
     "auth_ref": [
      "r60"
     ]
    },
    "us-gaap_ShortTermInvestments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShortTermInvestments",
     "crdr": "debit",
     "calculation": {
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Short-Term Investments",
        "documentation": "Amount of investments including trading securities, available-for-sale securities, held-to-maturity securities, and short-term investments classified as other and current."
       }
      }
     },
     "auth_ref": [
      "r86",
      "r87",
      "r483"
     ]
    },
    "us-gaap_SoftwareAndSoftwareDevelopmentCostsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SoftwareAndSoftwareDevelopmentCostsMember",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_DisclosureEstimatedUsefulLivesByAssetCategoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Software and Software Development Costs",
        "documentation": "Purchased software applications and internally developed software for sale, licensing or long-term internal use."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementBusinessSegmentsAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementBusinessSegmentsAxis",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_Disclosure6SegmentInformationDetails",
      "http://www.chicagorivet.com/20231231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Segments [Axis]",
        "documentation": "Information by business segments."
       }
      }
     },
     "auth_ref": [
      "r121",
      "r176",
      "r179",
      "r180",
      "r181",
      "r182",
      "r183",
      "r184",
      "r185",
      "r186",
      "r187",
      "r188",
      "r189",
      "r190",
      "r198",
      "r199",
      "r200",
      "r201",
      "r202",
      "r203",
      "r204",
      "r205",
      "r206",
      "r208",
      "r214",
      "r224",
      "r225",
      "r226",
      "r227",
      "r228",
      "r229",
      "r230",
      "r231",
      "r232",
      "r233",
      "r234",
      "r235",
      "r330",
      "r331",
      "r332",
      "r333",
      "r334",
      "r335",
      "r336",
      "r337",
      "r338",
      "r339",
      "r340",
      "r446",
      "r475",
      "r530"
     ]
    },
    "us-gaap_StatementEquityComponentsAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementEquityComponentsAxis",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Components [Axis]",
        "documentation": "Information by component of equity."
       }
      }
     },
     "auth_ref": [
      "r6",
      "r14",
      "r120",
      "r137",
      "r138",
      "r139",
      "r155",
      "r156",
      "r157",
      "r159",
      "r164",
      "r166",
      "r174",
      "r219",
      "r220",
      "r252",
      "r264",
      "r265",
      "r266",
      "r281",
      "r282",
      "r296",
      "r297",
      "r298",
      "r299",
      "r300",
      "r301",
      "r302",
      "r305",
      "r306",
      "r307",
      "r308",
      "r309",
      "r310",
      "r311",
      "r348",
      "r349",
      "r350",
      "r357",
      "r408"
     ]
    },
    "srt_StatementGeographicalAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "StatementGeographicalAxis",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_Disclosure6SegmentInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Geographical [Axis]",
        "documentation": "Information by geographical components."
       }
      }
     },
     "auth_ref": [
      "r110",
      "r119",
      "r212",
      "r213",
      "r359",
      "r360",
      "r361",
      "r412",
      "r414",
      "r417",
      "r419",
      "r420",
      "r422",
      "r423",
      "r424",
      "r425",
      "r426",
      "r427",
      "r428",
      "r429",
      "r430",
      "r434",
      "r449",
      "r457",
      "r509",
      "r530"
     ]
    },
    "us-gaap_StatementLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementLineItems",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_Disclosure6SegmentInformationDetails",
      "http://www.chicagorivet.com/20231231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationDetails",
      "http://www.chicagorivet.com/20231231/role/idr_DisclosureEstimatedUsefulLivesByAssetCategoryDetails",
      "http://www.chicagorivet.com/20231231/role/idr_DisclosureScheduleOfValuationAndQualifyingAccountsDetails",
      "http://www.chicagorivet.com/20231231/role/idr_DisclosureSummaryOfOfRevenuesAndARFromMajorCustomersDetails",
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r155",
      "r156",
      "r157",
      "r174",
      "r315",
      "r353",
      "r358",
      "r364",
      "r365",
      "r366",
      "r367",
      "r368",
      "r369",
      "r371",
      "r374",
      "r375",
      "r376",
      "r377",
      "r378",
      "r379",
      "r380",
      "r381",
      "r382",
      "r384",
      "r385",
      "r386",
      "r387",
      "r388",
      "r390",
      "r392",
      "r393",
      "r394",
      "r395",
      "r396",
      "r397",
      "r398",
      "r399",
      "r400",
      "r401",
      "r402",
      "r403",
      "r404",
      "r405",
      "r408",
      "r458"
     ]
    },
    "us-gaap_StatementOfCashFlowsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementOfCashFlowsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Consolidated Statements of Cash Flows"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementOfFinancialPositionAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementOfFinancialPositionAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Consolidated Balance Sheets",
        "verboseLabel": "Consolidated Balance Sheets - Parenthetical"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementOfStockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementOfStockholdersEquityAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Consolidated Statements of Shareholders' Equity",
        "verboseLabel": "Consolidated Statements of Shareholders' Equity - Parenthetical"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementTable",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_Disclosure6SegmentInformationDetails",
      "http://www.chicagorivet.com/20231231/role/idr_Disclosure6SegmentInformationScheduleOfSegmentReportingInformationDetails",
      "http://www.chicagorivet.com/20231231/role/idr_DisclosureEstimatedUsefulLivesByAssetCategoryDetails",
      "http://www.chicagorivet.com/20231231/role/idr_DisclosureScheduleOfValuationAndQualifyingAccountsDetails",
      "http://www.chicagorivet.com/20231231/role/idr_DisclosureSummaryOfOfRevenuesAndARFromMajorCustomersDetails",
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement",
        "documentation": "Schedule reflecting a Statement of Income, Statement of Cash Flows, Statement of Financial Position, Statement of Shareholders' Equity and Other Comprehensive Income, or other statement as needed."
       }
      }
     },
     "auth_ref": [
      "r155",
      "r156",
      "r157",
      "r174",
      "r315",
      "r353",
      "r358",
      "r364",
      "r365",
      "r366",
      "r367",
      "r368",
      "r369",
      "r371",
      "r374",
      "r375",
      "r376",
      "r377",
      "r378",
      "r379",
      "r380",
      "r381",
      "r382",
      "r384",
      "r385",
      "r386",
      "r387",
      "r388",
      "r390",
      "r392",
      "r393",
      "r394",
      "r395",
      "r396",
      "r397",
      "r398",
      "r399",
      "r400",
      "r401",
      "r402",
      "r403",
      "r404",
      "r405",
      "r408",
      "r458"
     ]
    },
    "us-gaap_StockholdersEquity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockholdersEquity",
     "crdr": "credit",
     "calculation": {
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedBalanceSheets",
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total Shareholders' Equity",
        "totalLabel": "Total Shareholders' Equity",
        "periodStartLabel": "Beginning Balance",
        "periodEndLabel": "Ending Balance",
        "documentation": "Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r47",
      "r50",
      "r51",
      "r71",
      "r373",
      "r389",
      "r409",
      "r410",
      "r452",
      "r464",
      "r486",
      "r498",
      "r519",
      "r534"
     ]
    },
    "us-gaap_StockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockholdersEquityAbstract",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Shareholders' Equity"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SupplementalBalanceSheetDisclosuresTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SupplementalBalanceSheetDisclosuresTextBlock",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_Disclosure2BalanceSheetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "2 - Balance Sheet Details",
        "documentation": "The entire disclosure for supplemental balance sheet disclosures, including descriptions and amounts for assets, liabilities, and equity."
       }
      }
     },
     "auth_ref": [
      "r477"
     ]
    },
    "fil_TIGroupAutomotiveSystemsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.chicagorivet.com/20231231",
     "localname": "TIGroupAutomotiveSystemsMember",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_DisclosureSummaryOfOfRevenuesAndARFromMajorCustomersDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "T.I. Group Automotive Systems",
        "documentation": "Represents the T.I. Group Automotive Systems, during the indicated time period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_TableTextBlockSupplementAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TableTextBlockSupplementAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Tables/Schedules"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_TextBlockAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TextBlockAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Details"
       }
      }
     },
     "auth_ref": []
    },
    "dei_TradingSymbol": {
     "xbrltype": "tradingSymbolItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "TradingSymbol",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Symbol",
        "documentation": "Trading symbol of an instrument as listed on an exchange."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_TreasuryStockCommonMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TreasuryStockCommonMember",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Treasury Stock, Common",
        "documentation": "Previously issued common shares repurchased by the issuing entity and held in treasury."
       }
      }
     },
     "auth_ref": [
      "r36"
     ]
    },
    "us-gaap_TreasuryStockCommonShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TreasuryStockCommonShares",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Treasury Stock Shares",
        "periodStartLabel": "Treasury Stock Shares",
        "periodEndLabel": "Treasury Stock Shares",
        "documentation": "Number of previously issued common shares repurchased by the issuing entity and held in treasury."
       }
      }
     },
     "auth_ref": [
      "r36"
     ]
    },
    "us-gaap_TreasuryStockValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TreasuryStockValue",
     "crdr": "debit",
     "calculation": {
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": -1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Treasury Stock, 171,964 Shares at cost",
        "negatedLabel": "Treasury Stock, 171,964 Shares at cost",
        "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."
       }
      }
     },
     "auth_ref": [
      "r13",
      "r36",
      "r37"
     ]
    },
    "country_US": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2023",
     "localname": "US",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_Disclosure6SegmentInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "UNITED STATES"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense",
     "crdr": "debit",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_DisclosureUncertainTaxPositionsAndUnrecognizedTaxBenefitsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Unrecognized Tax Benefits {1}",
        "terseLabel": "Unrecognized Tax Benefits",
        "documentation": "Amount of expense for interest on an underpayment of income taxes and penalties related to a tax position claimed or expected to be claimed in the tax return."
       }
      }
     },
     "auth_ref": [
      "r275"
     ]
    },
    "us-gaap_UnusualOrInfrequentItemsDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "UnusualOrInfrequentItemsDisclosureTextBlock",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_Disclosure9RisksAndUncertaintiesForHealthEmergencies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "9 - Risks and Uncertainties for Health Emergencies",
        "documentation": "The entire disclosure for an event or transaction that is unusual in nature or infrequent in occurrence, or both."
       }
      }
     },
     "auth_ref": [
      "r63"
     ]
    },
    "us-gaap_UseOfEstimates": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "UseOfEstimates",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_DisclosureSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Use of Estimates",
        "documentation": "Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles."
       }
      }
     },
     "auth_ref": [
      "r26",
      "r27",
      "r28",
      "r99",
      "r100",
      "r103",
      "r104"
     ]
    },
    "us-gaap_ValuationAllowancesAndReservesBalance": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ValuationAllowancesAndReservesBalance",
     "crdr": "credit",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_DisclosureScheduleOfValuationAndQualifyingAccountsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Balance at beginning of year",
        "periodStartLabel": "Balance at beginning of year",
        "periodEndLabel": "Balance at end of year",
        "documentation": "Amount of valuation and qualifying accounts and reserves."
       }
      }
     },
     "auth_ref": [
      "r148",
      "r153"
     ]
    },
    "us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ValuationAllowancesAndReservesChargedToCostAndExpense",
     "crdr": "credit",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_DisclosureScheduleOfValuationAndQualifyingAccountsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Charges to statement of operations",
        "documentation": "Amount of increase in valuation and qualifying accounts and reserves from charge to cost and expense."
       }
      }
     },
     "auth_ref": [
      "r151"
     ]
    },
    "us-gaap_ValuationAllowancesAndReservesDeductions": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ValuationAllowancesAndReservesDeductions",
     "crdr": "debit",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_DisclosureScheduleOfValuationAndQualifyingAccountsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Write-offs",
        "documentation": "Amount of decrease in valuation and qualifying accounts and reserves."
       }
      }
     },
     "auth_ref": [
      "r152"
     ]
    },
    "us-gaap_ValuationAllowancesAndReservesDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ValuationAllowancesAndReservesDomain",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_DisclosureScheduleOfValuationAndQualifyingAccountsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SEC Schedule, 12-09, Valuation Allowances and Reserves",
        "documentation": "Valuation and qualifying accounts and reserves."
       }
      }
     },
     "auth_ref": [
      "r148",
      "r149",
      "r150",
      "r152",
      "r153"
     ]
    },
    "us-gaap_ValuationAllowancesAndReservesTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ValuationAllowancesAndReservesTypeAxis",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_DisclosureScheduleOfValuationAndQualifyingAccountsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SEC Schedule, 12-09, Valuation Allowances and Reserves Type [Axis]",
        "documentation": "Information by valuation and qualifying accounts and reserves."
       }
      }
     },
     "auth_ref": [
      "r148",
      "r149",
      "r150",
      "r152",
      "r153"
     ]
    },
    "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "WeightedAverageNumberOfDilutedSharesOutstanding",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Diluted",
        "documentation": "The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period."
       }
      }
     },
     "auth_ref": [
      "r168",
      "r173"
     ]
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "WeightedAverageNumberOfSharesOutstandingBasic",
     "presentation": [
      "http://www.chicagorivet.com/20231231/role/idr_DisclosureWeightedAvgNumberOfSharesOutstandingDetails",
      "http://www.chicagorivet.com/20231231/role/idr_StatementConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Basic",
        "documentation": "Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period."
       }
      }
     },
     "auth_ref": [
      "r167",
      "r173"
     ]
    }
   }
  }
 },
 "std_ref": {
  "r0": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "SubTopic": "230",
   "Topic": "830",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481877/830-230-45-1"
  },
  "r1": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "SubTopic": "405",
   "Topic": "942",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481071/942-405-45-2"
  },
  "r2": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28"
  },
  "r3": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(b)",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28"
  },
  "r4": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "SubTopic": "10",
   "Topic": "360",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1"
  },
  "r5": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "SubTopic": "10",
   "Topic": "825",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-1"
  },
  "r6": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "SubTopic": "10",
   "Topic": "505",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-2"
  },
  "r7": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "60",
   "Paragraph": "1",
   "SubTopic": "10",
   "Topic": "820",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482053/820-10-60-1"
  },
  "r8": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483489/210-10-50-1"
  },
  "r9": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.19(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r10": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.19-26)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r11": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.20)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r12": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.21)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r13": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.29,30)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r14": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.29-31)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r15": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "12",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-12"
  },
  "r16": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "13",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13"
  },
  "r17": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "15",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15"
  },
  "r18": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-4"
  },
  "r19": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-1"
  },
  "r20": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-2"
  },
  "r21": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-3"
  },
  "r22": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "260",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1"
  },
  "r23": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "260",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-2"
  },
  "r24": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "18",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-18"
  },
  "r25": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "20",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-20"
  },
  "r26": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-4"
  },
  "r27": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-8"
  },
  "r28": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-9"
  },
  "r29": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "22",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r30": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "25",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-25"
  },
  "r31": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "30",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30"
  },
  "r32": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "330",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB TOPIC 5.BB)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480581/330-10-S99-2"
  },
  "r33": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "350",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r34": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "360",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1"
  },
  "r35": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "360",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1"
  },
  "r36": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "30",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481549/505-30-45-1"
  },
  "r37": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "30",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481520/505-30-50-4"
  },
  "r38": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "720",
   "SubTopic": "30",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483384/720-30-45-1"
  },
  "r39": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "740",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-6"
  },
  "r40": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "740",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-3"
  },
  "r41": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "740",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-8"
  },
  "r42": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "810",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1"
  },
  "r43": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "825",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "20",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-20"
  },
  "r44": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "825",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-21"
  },
  "r45": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "942",
   "SubTopic": "825",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480981/942-825-50-1"
  },
  "r46": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(28))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r47": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(29))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r48": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r49": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r50": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r51": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(31))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r52": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(32))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r53": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r54": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r55": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r56": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-03(13))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-1"
  },
  "r57": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(20))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r58": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03.1,2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r59": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03.2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r60": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03.4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r61": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03.7(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r62": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03.9)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r63": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//220-20/tableOfContent"
  },
  "r64": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "12",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-12"
  },
  "r65": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "13",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13"
  },
  "r66": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-24"
  },
  "r67": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-25"
  },
  "r68": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28"
  },
  "r69": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "235",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//235/tableOfContent"
  },
  "r70": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482835/280-10-45-2"
  },
  "r71": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 4.E)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480418/310-10-S99-2"
  },
  "r72": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1"
  },
  "r73": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "440",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//440/tableOfContent"
  },
  "r74": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.3-04)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480008/505-10-S99-1"
  },
  "r75": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "610",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//610/tableOfContent"
  },
  "r76": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "710",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//710/tableOfContent"
  },
  "r77": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "712",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//712/tableOfContent"
  },
  "r78": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "715",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//715/tableOfContent"
  },
  "r79": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Section": "50",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-12"
  },
  "r80": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Section": "50",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2"
  },
  "r81": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Section": "50",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9"
  },
  "r82": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r83": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(10))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r84": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(11))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r85": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(23))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r86": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r87": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r88": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(19))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r89": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(20))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r90": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(22))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r91": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.20)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r92": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28"
  },
  "r93": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "840",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481501/840-20-50-1"
  },
  "r94": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "840",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481501/840-20-50-2"
  },
  "r95": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "840",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481295/840-40-50-1"
  },
  "r96": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "13",
   "Subparagraph": "(c)",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13"
  },
  "r97": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "SubTopic": "20",
   "Topic": "740",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482659/740-20-45-2"
  },
  "r98": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "270",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482989/270-10-45-6"
  },
  "r99": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-1"
  },
  "r100": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-1"
  },
  "r101": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-1"
  },
  "r102": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "SubTopic": "360",
   "Topic": "958",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480321/958-360-50-1"
  },
  "r103": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-11"
  },
  "r104": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-12"
  },
  "r105": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "606",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13"
  },
  "r106": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "SubTopic": "360",
   "Topic": "958",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480321/958-360-50-6"
  },
  "r107": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(b)",
   "SubTopic": "10",
   "Topic": "740",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9"
  },
  "r108": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(h))",
   "SubTopic": "10",
   "Topic": "235",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r109": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "09",
   "Publisher": "SEC"
  },
  "r110": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "28",
   "Footnote": "2",
   "Publisher": "SEC"
  },
  "r111": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "28",
   "Paragraph": "Column B",
   "Publisher": "SEC"
  },
  "r112": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "28",
   "Paragraph": "Column C",
   "Publisher": "SEC"
  },
  "r113": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "28",
   "Paragraph": "Column D",
   "Publisher": "SEC"
  },
  "r114": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "28",
   "Paragraph": "Column E",
   "Publisher": "SEC"
  },
  "r115": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "28",
   "Paragraph": "Column F",
   "Publisher": "SEC"
  },
  "r116": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "28",
   "Paragraph": "Column G",
   "Publisher": "SEC"
  },
  "r117": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "28",
   "Paragraph": "Column H",
   "Publisher": "SEC"
  },
  "r118": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "28",
   "Paragraph": "Column I",
   "Publisher": "SEC"
  },
  "r119": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "29",
   "Footnote": "4",
   "Publisher": "SEC"
  },
  "r120": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "105",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479343/105-10-65-6"
  },
  "r121": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "205",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483499/205-20-50-1"
  },
  "r122": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "205",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483499/205-20-50-7"
  },
  "r123": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1"
  },
  "r124": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-5"
  },
  "r125": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483489/210-10-50-1"
  },
  "r126": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r127": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(14))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r128": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(17))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r129": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(18))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r130": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r131": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r132": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r133": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r134": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1A"
  },
  "r135": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1B"
  },
  "r136": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-1"
  },
  "r137": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-4"
  },
  "r138": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-5"
  },
  "r139": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-6"
  },
  "r140": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r141": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(25))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r142": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(7)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r143": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-24"
  },
  "r144": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(g)(1)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r145": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(h)(1)(Note 1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r146": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(h)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r147": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(h)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r148": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "4",
   "Subparagraph": "(SX 210.12-09(Column B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-4"
  },
  "r149": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "4",
   "Subparagraph": "(SX 210.12-09(Column C(1)))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-4"
  },
  "r150": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "4",
   "Subparagraph": "(SX 210.12-09(Column C(2)))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-4"
  },
  "r151": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "4",
   "Subparagraph": "(SX 210.12-09(Column C)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-4"
  },
  "r152": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "4",
   "Subparagraph": "(SX 210.12-09(Column D))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-4"
  },
  "r153": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "4",
   "Subparagraph": "(SX 210.12-09(Column E))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-4"
  },
  "r154": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "4",
   "Subparagraph": "(SX 210.12-09)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-4"
  },
  "r155": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "23",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-23"
  },
  "r156": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-24"
  },
  "r157": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-5"
  },
  "r158": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1"
  },
  "r159": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1"
  },
  "r160": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-11"
  },
  "r161": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-11"
  },
  "r162": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-3"
  },
  "r163": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-4"
  },
  "r164": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-7"
  },
  "r165": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-8"
  },
  "r166": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-9"
  },
  "r167": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-10"
  },
  "r168": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "16",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-16"
  },
  "r169": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-2"
  },
  "r170": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "60B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-60B"
  },
  "r171": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "60B",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-60B"
  },
  "r172": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-7"
  },
  "r173": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1"
  },
  "r174": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "272",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483014/272-10-45-1"
  },
  "r175": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//280/tableOfContent"
  },
  "r176": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-15"
  },
  "r177": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-21"
  },
  "r178": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-21"
  },
  "r179": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r180": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r181": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r182": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r183": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r184": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r185": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r186": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r187": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r188": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(j)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r189": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "25",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-25"
  },
  "r190": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "25",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-25"
  },
  "r191": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "26",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-26"
  },
  "r192": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "29",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-29"
  },
  "r193": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "29",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-29"
  },
  "r194": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "29",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-29"
  },
  "r195": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "29",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-29"
  },
  "r196": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "29",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-29"
  },
  "r197": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "29",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-29"
  },
  "r198": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30"
  },
  "r199": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30"
  },
  "r200": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30"
  },
  "r201": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30"
  },
  "r202": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-31"
  },
  "r203": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32"
  },
  "r204": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32"
  },
  "r205": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32"
  },
  "r206": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32"
  },
  "r207": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32"
  },
  "r208": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32"
  },
  "r209": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "34",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-34"
  },
  "r210": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "40",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-40"
  },
  "r211": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "41",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41"
  },
  "r212": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "41",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41"
  },
  "r213": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "41",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41"
  },
  "r214": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "42",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-42"
  },
  "r215": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-2"
  },
  "r216": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-9"
  },
  "r217": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481830/320-10-45-11"
  },
  "r218": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3"
  },
  "r219": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "4",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-4"
  },
  "r220": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "5",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-5"
  },
  "r221": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "330",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//330/tableOfContent"
  },
  "r222": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "330",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483080/330-10-50-1"
  },
  "r223": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "330",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483080/330-10-50-4"
  },
  "r224": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r225": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r226": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r227": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r228": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r229": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r230": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r231": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r232": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r233": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-3"
  },
  "r234": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "420",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1"
  },
  "r235": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "420",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 5.P.4(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479823/420-10-S99-2"
  },
  "r236": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "440",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482648/440-10-50-4"
  },
  "r237": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "440",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482648/440-10-50-4"
  },
  "r238": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-4"
  },
  "r239": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-9"
  },
  "r240": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.Y.Q2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1"
  },
  "r241": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.Y.Q4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1"
  },
  "r242": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r243": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii)(A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r244": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(iv))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r245": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r246": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r247": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r248": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r249": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(iv))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r250": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r251": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13"
  },
  "r252": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.3-04)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480008/505-10-S99-1"
  },
  "r253": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479837/606-10-45-1"
  },
  "r254": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479837/606-10-45-3"
  },
  "r255": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-4"
  },
  "r256": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-5"
  },
  "r257": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-8"
  },
  "r258": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-8"
  },
  "r259": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r260": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-5"
  },
  "r261": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r262": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r263": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r264": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "15",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15"
  },
  "r265": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "15",
   "Subparagraph": "(f)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15"
  },
  "r266": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "15",
   "Subparagraph": "(f)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15"
  },
  "r267": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//740/tableOfContent"
  },
  "r268": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-25"
  },
  "r269": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-28"
  },
  "r270": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-4"
  },
  "r271": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-6"
  },
  "r272": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-10"
  },
  "r273": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-12"
  },
  "r274": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "14",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-14"
  },
  "r275": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15"
  },
  "r276": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "17",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-17"
  },
  "r277": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "19",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-19"
  },
  "r278": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "20",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-20"
  },
  "r279": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-21"
  },
  "r280": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9"
  },
  "r281": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "8",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8"
  },
  "r282": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "8",
   "Subparagraph": "(d)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8"
  },
  "r283": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB TOPIC 6.I.5.Q1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r284": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB TOPIC 6.I.7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r285": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.Fact.1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r286": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.Fact.2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r287": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.Fact.3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r288": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.Fact.4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r289": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 11.C)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-2"
  },
  "r290": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "270",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482526/740-270-50-1"
  },
  "r291": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482603/740-30-50-2"
  },
  "r292": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-25"
  },
  "r293": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-25"
  },
  "r294": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(bb)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-3"
  },
  "r295": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-3"
  },
  "r296": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r297": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(h)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r298": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(h)(1)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r299": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(h)(1)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r300": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(h)(1)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r301": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(i)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r302": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(e)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1"
  },
  "r303": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1"
  },
  "r304": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "28",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-28"
  },
  "r305": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "17",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-17"
  },
  "r306": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20"
  },
  "r307": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20"
  },
  "r308": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20"
  },
  "r309": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20"
  },
  "r310": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481674/830-30-50-1"
  },
  "r311": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "848",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)(iii)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483550/848-10-65-2"
  },
  "r312": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r313": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "910",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482546/910-10-50-6"
  },
  "r314": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "912",
   "SubTopic": "330",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482105/912-330-50-1"
  },
  "r315": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "924",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 11.L)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479941/924-10-S99-1"
  },
  "r316": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(27))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r317": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-05(b)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479557/942-235-S99-1"
  },
  "r318": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480842/942-360-50-1"
  },
  "r319": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(10))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r320": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(12))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r321": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(15)(b)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r322": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(21))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r323": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r324": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(25))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r325": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(8)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r326": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(8)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r327": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r328": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(18))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r329": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r330": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1"
  },
  "r331": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1"
  },
  "r332": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column C))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1"
  },
  "r333": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column D))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1"
  },
  "r334": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column E))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1"
  },
  "r335": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column F))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1"
  },
  "r336": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column G))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1"
  },
  "r337": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column H))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1"
  },
  "r338": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column I))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1"
  },
  "r339": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column J))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1"
  },
  "r340": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column K))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1"
  },
  "r341": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2"
  },
  "r342": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2"
  },
  "r343": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column C))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2"
  },
  "r344": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column D))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2"
  },
  "r345": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column E))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2"
  },
  "r346": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column F))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2"
  },
  "r347": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480081/944-40-50-7A"
  },
  "r348": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r349": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(f)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r350": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r351": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r352": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(h)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r353": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3"
  },
  "r354": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(h)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3"
  },
  "r355": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-11"
  },
  "r356": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-13"
  },
  "r357": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-4"
  },
  "r358": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480555/946-210-45-4"
  },
  "r359": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1"
  },
  "r360": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-2"
  },
  "r361": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6"
  },
  "r362": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6"
  },
  "r363": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6"
  },
  "r364": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r365": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(12)(b)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r366": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(12)(b)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r367": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(12)(b)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r368": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(13)(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r369": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(13)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r370": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(14))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r371": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(16)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r372": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(17))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r373": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(19))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r374": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(2)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r375": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(2)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r376": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(3)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r377": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(3)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r378": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(3)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r379": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r380": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r381": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r382": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(e))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r383": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r384": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r385": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r386": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r387": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(e))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r388": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.6-05(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-2"
  },
  "r389": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.6-05(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-2"
  },
  "r390": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-3"
  },
  "r391": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-7"
  },
  "r392": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r393": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(2)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r394": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r395": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r396": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r397": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r398": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r399": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r400": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r401": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r402": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r403": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r404": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r405": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r406": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r407": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(1)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  },
  "r408": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(4)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  },
  "r409": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  },
  "r410": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  },
  "r411": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1"
  },
  "r412": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-12(Column C)(Footnote 5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1"
  },
  "r413": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2"
  },
  "r414": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-12A(Column C)(Footnote 4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2"
  },
  "r415": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3"
  },
  "r416": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3"
  },
  "r417": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column C)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3"
  },
  "r418": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "6",
   "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6"
  },
  "r419": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "6",
   "Subparagraph": "(SX 210.12-14(Column F)(Footnote 7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6"
  },
  "r420": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "948",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-29(Footnote 4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479851/948-310-S99-1"
  },
  "r421": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "954",
   "SubTopic": "440",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480327/954-440-50-1"
  },
  "r422": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r423": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column C))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r424": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column D))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r425": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column E))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r426": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column F))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r427": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column G))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r428": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column H))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r429": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column I))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r430": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r431": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "976",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482856/976-310-50-1"
  },
  "r432": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "978",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482707/978-310-50-1"
  },
  "r433": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "13H",
   "Subparagraph": "(a)",
   "SubTopic": "40",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-13H"
  },
  "r434": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "13H",
   "Subparagraph": "(b)",
   "SubTopic": "40",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-13H"
  },
  "r435": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1"
  },
  "r436": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1"
  },
  "r437": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(g)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1"
  },
  "r438": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "8",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-8"
  },
  "r439": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-4"
  },
  "r440": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-4"
  },
  "r441": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30"
  },
  "r442": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-31"
  },
  "r443": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "47",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482785/280-10-55-47"
  },
  "r444": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "12A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481933/310-10-55-12A"
  },
  "r445": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "340",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "05",
   "Paragraph": "5",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482955/340-10-05-5"
  },
  "r446": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482548/350-20-55-24"
  },
  "r447": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13"
  },
  "r448": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91"
  },
  "r449": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91"
  },
  "r450": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91"
  },
  "r451": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480547/715-80-55-8"
  },
  "r452": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "852",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481372/852-10-55-10"
  },
  "r453": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479401/944-30-55-2"
  },
  "r454": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "29F",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-29F"
  },
  "r455": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1"
  },
  "r456": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6"
  },
  "r457": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480493/946-210-55-1"
  },
  "r458": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480833/946-310-45-1"
  },
  "r459": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1"
  },
  "r460": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2"
  },
  "r461": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 1)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3"
  },
  "r462": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "6",
   "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6"
  },
  "r463": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "830",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-10"
  },
  "r464": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "830",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-12"
  },
  "r465": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b"
  },
  "r466": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b-2"
  },
  "r467": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "d1-1"
  },
  "r468": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 10-K",
   "Number": "249",
   "Section": "310"
  },
  "r469": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Number": "249",
   "Section": "220",
   "Subsection": "f"
  },
  "r470": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Number": "249",
   "Section": "240",
   "Subsection": "f"
  },
  "r471": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Forms 10-K, 10-Q, 20-F",
   "Number": "240",
   "Section": "13",
   "Subsection": "a-1"
  },
  "r472": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w"
  },
  "r473": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-T",
   "Number": "232",
   "Section": "405"
  },
  "r474": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "405"
  },
  "r475": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4H",
   "SubTopic": "40",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480081/944-40-50-4H"
  },
  "r476": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "740",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9"
  },
  "r477": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//210/tableOfContent"
  },
  "r478": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(13))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r479": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r480": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r481": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(a)(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r482": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r483": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r484": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28"
  },
  "r485": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28"
  },
  "r486": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(g)(1)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r487": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(h)(1)(Note 1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r488": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "4",
   "Subparagraph": "(SX 210.12-09(Column B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-4"
  },
  "r489": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "4",
   "Subparagraph": "(SX 210.12-09(Column C(1)))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-4"
  },
  "r490": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "4",
   "Subparagraph": "(SX 210.12-09(Column C(2)))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-4"
  },
  "r491": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "4",
   "Subparagraph": "(SX 210.12-09(Column D))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-4"
  },
  "r492": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "4",
   "Subparagraph": "(SX 210.12-09(Column E))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-4"
  },
  "r493": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "23",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-23"
  },
  "r494": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-24"
  },
  "r495": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-5"
  },
  "r496": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-15"
  },
  "r497": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481830/320-10-45-11"
  },
  "r498": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3"
  },
  "r499": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "340",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483032/340-10-45-1"
  },
  "r500": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482130/360-10-45-5"
  },
  "r501": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-3"
  },
  "r502": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "410",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481931/410-30-50-10"
  },
  "r503": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//450/tableOfContent"
  },
  "r504": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-9"
  },
  "r505": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.Y.Q2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1"
  },
  "r506": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r507": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r508": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r509": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-5"
  },
  "r510": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-12"
  },
  "r511": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2"
  },
  "r512": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-6"
  },
  "r513": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r514": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.Fact.4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r515": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "805",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "25",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480060/805-50-25-1"
  },
  "r516": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "805",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "30",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480027/805-50-30-1"
  },
  "r517": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "805",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "30",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480027/805-50-30-2"
  },
  "r518": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(e)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1"
  },
  "r519": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "28",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-28"
  },
  "r520": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "852",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481404/852-10-50-7"
  },
  "r521": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "852",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481404/852-10-50-7"
  },
  "r522": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "855",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483399/855-10-50-2"
  },
  "r523": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r524": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r525": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r526": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4"
  },
  "r527": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4"
  },
  "r528": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4"
  },
  "r529": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(23))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r530": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479432/944-30-50-2B"
  },
  "r531": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "13H",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-13H"
  },
  "r532": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-4"
  },
  "r533": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(18))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r534": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(4)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  },
  "r535": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  },
  "r536": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1"
  },
  "r537": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2"
  },
  "r538": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 1)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3"
  },
  "r539": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "6",
   "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6"
  }
 }
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>71
<FILENAME>0001193125-24-080560-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0001193125-24-080560-xbrl.zip
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
M3D70>X_"!#2FF^EF(&6:0(OFT2'J+6H1?Z;\-[0]9"[19$D4I:6Y(@I&"_V
MDDCGWT6=9%L43L*$160D:T-APR'4!SH?(.Y AN[9Q;T3>#TDE-\ C2[C,3 N
M.P#3\*44M9T>-3XU&T>5L]'R/)(("_O@@6A*MR&\!5X2 (I4;&>G&*^:I>/*
M61(C!*?(XW]A/FPGC),(: JUE"P33=LY,T*OINZWRJF342 6Q4Z%L1J.<B*V
MDY''H_;ZX\J]WJ,P0MB_01/0#2XY$=N]GL>C]OKOE7N]RX?SGEF20RH$;6=
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
MIO?\"/>&2_.3#+L8DF@X.] 'A?"*/TF7I)& E"(0+@,!(<B^%+[!W8$).S/
M%2:FF11T!1.3'TQ3QC<,JYLTCA;;\O^UZ#?JBX:YC80H/)>,.(+YUG+M)5QM
M3-'!I?5H37L>-\.<M+FS$_<(R-JMB?Z>K U19&3_28#SGN9G0?8H#H0A#=]L
M/V0TO$HNHR3@RVNRFL/2&^41S>8/6<Z"12Z!U !"6+ -EQT#0V!)+N/T8T8
M!*1A1W;\/(/G<$,= A<YRM-\C/E95)P^KY=W.9]4CVG,S9W!G6F^U:#8K"_Z
M8VPC(0JK:9+Q%284U]\-UPSVFG>/_%!1,?Y5L$FSWY*2OX-W@-'T?*+L(:V>
MXQRI2T[(30!77(]47%]X-G6M3-C9K%BC>9()^CT%=Q4:SOEP!BOZOH"3[/7R
M/(H+_E,Q4MEUD8,G _C.2*:J+17LI!TH-6;Z5K0]@^1 0QR"$S-^D\#T8KV)
MTRWE1\U8N(=$P0,_;\*WK;H4EP!3WP\+16/)4"_$BP4K^#KZ/1^<K+Q_"^*
M^;>[,;;&(0+M!FH2S,$#K_39M/HE%CW[/# 0$>XFI*3G<-M@+V#>^+T,E_(8
MT-W7]!"?/>,]"0CAU0MV!M]'^>-9D>7\J,J$++#[5RY])CVQ\+60#KEU%FS<
MP]NQ OH]L:$>QY@ %K8XG!VV6)MDZIQ'<"Y.PNPFV,*=M'JZR%ICIXA&"MR6
MM")--B5M$JS3PCL' 8T%#K%D,A!'P<]<&/>&,K$?-H3102?7:.J7R1&H*",9
MD"4A7?#=IG>''S-CZ/"E&*'!KJKOTR0H^"J8PEN9U$VUKQ7&157!%8,(3G;>
MD'7DF8H4U=(K=4^#S\LA56&HMC.J#DJ3+)A\0HD[OOMTOOA'$3%ZPU)NT7Q[
MPP<GGR=AXRHK63PM"& 74GM9<>\4FP@./L*5+XSR@GEW<K<WR.'".G#TIKD_
MZG5<L'!'M2" OE&REM7!2^Z>H^DO/<.FO44ZUTO#AF\2;/XYB O!>Q['Z4>(
M&,SX9+GEWR_V1+-[SKG']]2R,Q:3=C*B?%8NSDCM<#0CIZ].7KZ>D88]V?$7
MUZ"U! 1$\,O#=9CI#H$[8'PG<G)YX@MYRK:-@+5,$J J.N =772R8 "YPQZK
MJ#J\?T**WA,TB]7@."X[.BMTG7:,T#1:2,"[*(G6Q;KW:-?]/28TH)<3!L\5
M04\@(%6Q'0L@M^8D:]V^1^M=L=G$XB5?X[^B[89=]TSE0CTK 8_L1?U%]FWE
M,#7!X?IA-3:3'I[AU;VZH#I+U^LT$=XBF@.SI).K0[):)K0#W^[*\2:(5)>,
M1Y#?[ MKI\8QC_=J4\B.] ;X.J:'+.P&LGS/Y5$R82P(C.01JY 5=4E+<R)0
M6/.#1$9? $MRE7Q)&JYFCK%^Z*KT)'"KL$>>P JC&7H Z] \R53]CJ59QB5;
M1K+]4;L%=K+U<,/,)D&.E/3(%V_Y/[YT.%L&"JN<#G82'P/N/5H?XEF&B&DV
M8(QN^'=;A+3(MEOM)NC-50\_7!X!08]X')K3IW)GRR&SL34(,KIXODJ?7H0T
M*L>?_V4W[/P?/\R+,.(TW@?KPX$Z_.W0P99P0?F"EN0(T/-D?"5:UD.K,N8(
MHWJ1Y%&^O7ND<0RY&H-DVS.X/8TP8RSGB1GJDBH19$E%UZ,AERO='GF-I4<
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
M8IQQ33)HT]QX-141[N@*A.$;HQ2V ZNK9)FRM5B9WVRK7VJO:0=20]^+X;1
M/7JV*FM4]$G#G;38>P9DI,DZUTP.1GZJ0"SP"J@K'%2>+;63 ,S-LD3E_6.0
MB"B2-T$&#C&[7KI)X)*#@S OU]IB)LNOX:*5I9RUB#H2-39X \^FQ@A&ZPE5
M&@4CT[Z2P!<LWX)4:0+[*,6.1=W'V;N(2B+4M:Z@2W:$_=R=&-E!^D*@'9II
MT74/]W@Z.)6-G.%GCZ>34'Q?$;*GJ1027?-.'2W=7&77)4'.Z2+F?X3RKZ^^
MJ\/H::U\Z$0\N\O\FC1I:KYXABX;NRBB=\T&;C(D1KFX)>#?:7!YYIL6FD#Z
MK)W+@L8UP(Z&"VQ:2XP-]:\8BENC/9;DB_=I3LDW7WJ(5&LK]4%VV,!.@MU6
MV>[*0UH"T)Z&6!3*>:/B2R'#4NW!WJ[0[M K!2>Y,@?4$/&/,3GD)CB< 1KD
M3 )S<5 25X8:F/<TQ,)<SAL#<T&UP4E)WC.(R!4_A(C&ZM-$8K39:[[6_6W1
ML1<J"5!?7Y]1HM2Z$U"A-?P(KFE7BR6;%V'$Z<SSG&:EP\!E'!QF9=(TQCBE
MZ67  .3J[/*65.1)BSX!!I[@Q<P*;5<TPZ&8K(Q])K:!99;1.BFV9(&1-G=1
MREXE!PI%%:TJI- 3W)AJWE?/7CL$QWT#_I#191&_C9:R*S"3GJ.] 7>E0X:N
MJHJ(E<P(</,,=Q;V,7X-E@S?-"?&8-\Q0AFK*FF,/CDJ94"Y&@"NVJ0=UZW
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
M$%PE$0FY/POB7"WE!,XUQ0"<#^!(9N)<SS&;<A/WEM$O\4S$):(0[M?-I9W
M'5 4P/\ GN:M-V&#Q">\G4$<XR@#[29 TP;X)84M1U^F)@#^ ?S08OO[AH0/
M\3R^9HRR(>7O&$]"@D8ER\G041L@Y6 ;IP\S[F^H#%&ED.6@-ZD%@'PP!W:<
M/ 7$NPDH@J>/Y3).0%Q1"HB).YASRJF>B_UO+O7#C&L8W26QB.46*T:PTR2K
MY 0'<K4!4@[@PPZXV?-3T]=LVZO?6PYU31D U0-&U&ZB?&_X)TWS=:BDY4B#
M"@*8'S#F-A,I"YG40[U<UBG<*TH"R!_ ,\VGL3>$S6_])AM2^=YRA&O* *@>
MP _-!0'V+,K?NH&H;(?BFP/XE;D8Q1$\&--U"3=PW2@$8%NXC7^\V%+E'?^@
MJQ-T:6R+L$U#&D8T(#[_T[]"@3BFQR?Y.(Y:GI_3:/B I^<TI#GTV;FU2'<3
M[L!R00A_-= L>EUQG$ZKZDX#LXU"@RCB."I$KQ7J=[":4"#&+Z0I?/+NC&LU
MP8QA_UV& RAU*G*,6833DGW1EV]-:+%8+]LOF<W=;YNV+0WW=&ZR#0=#%,T&
MH2]^7/^6D"4*N*31(!XBQE;<Y_P%!4E]7F%6UP:.@#Y6IDH3"(NH>YA1%C]B
M/O\,ESB*A56I^S#2HHX0TZSFG@[!MC)CGB<.:$3WV,.\WSP%^ ..F_>6M:HX
MPHM<[3T=J6UEXFB8*O&)Q+-A$L5TCEFJI9(FG9J.L*4%PIY.Y[8A30SVD#>[
MXO(![%2*.$)#5:T]'=!M@_>8X04B_B-ZQM!+I%+$$;RK:NWI:&X;O._B63X
M([D-:BCH"/9-*N[I^.[.WH>.U^$*[EJ0_]#"5:0Q"GIR%<>,+C"+5^, 98F(
M^!1](::"\.M!6L4&*N5V2Z:O19/?4=Z#Q*GE.>9V-M,-ID52P7929+I:--_-
MI)):-.NA+G2 9Z0.&:]W!#V1@,0$1WPHIWO[,QIP32(QK..58NE+N[J;2YOZ
MZ%AD]DI"ZZU?2BKT2YMIYP2HLWF-LUBI&*.56*;06YJI%;:&)(.5F;J^1[%I
M<#U?!'2%\3T.Q([:-C( K^IZ+E&L@8)%UI)W2)88< 67=XDCB=86S1;7BX%9
M;F7Q$ACAA7AO*TC2J.@26SHX6+0^JCV6'!]$^J/G.[><@BUGLJ2I@?=<JV4-
MM<9S224>\/O,H=E+22GU>'68S8J>\-O.H?%J[+9;ZZCOPJNY>][+VW%<=*M4
M7ED,2U/)OM=13 AIU-0BW[MTGB45#C[%HU/#)6:DFMODG/D^R>08(\)?OT.T
M(#&J)Q=2E7:)&5!CB]RR>QPC$F+_&K&0]YB(.Y/)/$F=?3Y3(AZ!7CL:%5WB
M2@<'BUX\CPRC*&$KY7NGH:!+M#3IN;M;]B:;YH5XFBYJV3+1TY[@.45ADYYP
M@(Q#,W75_+;E-IO#LW8U(D>QI")F7"0+$!:1W#04N:=PZ'&U1R3R LHM%E9X
M;69M]#W>V^VX&N(DGQ7U?EILG.(TPS%O*]C;T;'J4ZPZ1U85[72HK-.U P[N
M'4L%]=-ISABS-"^#UG("6-E-NZ&+C$7+#U61LXP:@R2>\2'W+UP_@ZY9Z1C(
MVT;"HA6))E'5ZT:J6L=#FTY*F)[7^@S-IDY--_G3PL2B!8RM_$-*:RFKX3QG
MNG:RES,[6W*FB:6U><I+'PE'A>X6G?$Q2&&F5>5(F-)X??69BF3]870WN5O@
M[!ZV3G.2 $_HVZD$Q#K\R4\1 +(61N%#0J5[V+!9XC !PSK67_<[B!7@5G=>
M"H4L\N>&-.+V)Q<-M*'E,L[@75/-(G_L+:-1-&9T FXZEDLX WA%K:.(4<JM
M=CB]?E[@,,*JU$AP>6=(E*ALD5?U@(- Y$['(9<V&(3^P)^3,+UN5]S0D,L.
M+9/J5>Z7,F77JVP]:L)AT8OG+2+A.VXO[L('%."[2>6 [OIT+F0>]2H[Q* N
M'+L'[5H1$["%C:Y!==B0'LFF\%JO# O1:57DE4JZ1U]9S:,(YTC3B'R@(:UJ
M*']G*BJY0ZM">7CYQ*%#$9LN>\-QRN(1$J[K9A'B"D\HP^NC(3@:\5^BF'@
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
MPQ*LL/Q,8:]Q(9FL>A3IU76&+TTHFLE[TP=YUXB%7-#U;<EZM*EJ.4.84GW
M]7[5!U<?(SX-NHYB,D<QF#NH5L@9)NK* <#W=/_NEY*CSFC(?_5P:0:J-VJ,
MFW&&/'.  'I?VW P=3VC?117J.SGG&K]&=8<6ZT+=NBQECYVW5$VYQX52]C*
M:CUN:*TA'29,#+JJK,I=+47U?HV$+EW-^ULJ9"S9Y&H:)Z #M4>CH7JF-49$
M)>C)J'2]CM%Z!<-E0Z*#QNXY19NSJ/5J?,H7-^4W*4=[M#N2QUEC<B0RGJS-
MSE.8[4O"#"<QR@;<LSXFZ!RE%=H (+9HBA/,_Y.@@$Q6:=[>["[*/5HF0Q&L
ML5:&<I\L6%F1B,4E)?A?&P7X'Y]UL55'$>_:FCLV;6?<+/'4RCEZTGSB$7_4
M#67KC_.I04<FR?!QO:<MTI#Q9&IVGBR)Y!PTQ.E%!W64\[P>AK,G\Q;=,3V=
MX&>A^=GHDR5YYPVLOQ6IWT448.CQ^6*6Q*5[@]1*@-Y-5"NI3T9K9Z.EC;:^
MU6K1I,MFJPV"5MNM4>Z8\H^S:S[Y=+#NX^[+9.D]VR)KI2?PR5#M;*AT@-:W
M46:MN6R>#'&SQ#*5<Z^5LV=U8WODK?>>;&Y;I)/]Z#8/G8ZQT*KJGF700\3Y
MA>N&Q&^E\[6U>,U2H8XLS(Z/MR57GHG,)QNU^Q%X&.2K5?ZEP;%XH];<LV2M
M<;-DCB.2_@C=HD\DG@V3*.9VF$75PZ+_PGY7UV88/JX7$V0HX\%-CN;!>CN.
MU*=/+@-93/M76X#"9W=-&NG9A&@>Y#6"Q<8C^'-$Q.&%,6:IE0L]?/<4D&F*
MM>JDO;2N _QI@F#7B?FM'I<ZXN+ZXRS\U6#TU6LZ0)D6 / 9>D-_8XG9$^W%
MXR@.L?@?(SQ)@G>\4G2U2C4=\H]Y,ZNN7N4&C^KE-6X@W^D5#OL%Q1V4Z>08
MFNY7"SE@#^IJ6?2*!0.+KU:/_+&#9P(=O].I:<F-II7>I!567=;>!;:$M",J
M9@C&4?&;FCT?PM/OB7J1\25(+*+P'0K]V_F"T65V:O ]GC]A!K &%':2*$AQ
M>.+JT.7O5PF'2RS#Z#(KJ> DNS( +,H6]1YQU4/,5F7-I$3):CC)E!0"BW)#
M/=!)_(6#(*X SG\=<5<XH*G 0QHI1IA^?2=I-(#'HIQ1Z?[;$"U(C *QW 0J
M+Z76M!4G"3:&:M])J!2'$>Y1.&WR%ZK?V>H1U#38]VJ:#I:-0Z#^;3]X-O)=
M@5'>*;N;>2N ?$]",D_F()35[RT$LZ9 S_WR/7J6PUGYWD8XJPI8-#-=FZ9W
M?'*67G"@6O[:%+35J,ITLPAZ\,U:K.5.H*5(G9J6D+/5K;064<H(6!)#L+Y[
M)DT6&*7)I;,[:=AZ%Y-_E1^?B;K:@&CYV%XV(UK*>MJ8@%?MB@WS&\H:T97O
M:VI7=V S0Q\*BU9=@9Z_R3J*N8@B.)R/DB)<-#^'!U"Z2XL.L+P38/M:TCW8
M.^83)M-9C/W!<OHA$5/%NTF:-#.Z2^(H1J%8Z>SJQ6+RK%[>)B8"GEXAH*@;
M&#%#4PQ">84BX@%JF+7A@)DQ!,62*:@TFV17=D'K(=:D>=F2[&0)0%'76-VC
M+^^Y>\8("B!OO[FL R,;4-*B.>%:PD^4_7H;<A_8PY&2AVIAEXBHJ6E1P.A:
MQ!L2DFB&_;>4^DHFJH5=8J*FID5+86L1UXF1[CF6; DF89=4<(F1!G7AK7!=
M)^9-]O(,\50$AO84F;)6\0.&7HF5(BZQEJHDW]VV,W/R/N>(RH=:,V=42GJ:
M0TK#"$5:@UI0G22.L*FT X,=5-2BF601_)8NAI6$3.^X5 0 -M=Q@!B%TA9-
M+QLCWF3<2"HX0(Q,78NFFJ#U3P.?3#=<LTH.L*-2VZ((S('G)?,D$)/7$>9X
M>EEF+_Y[@/.<J8.Y.'[^K^PR9T@S@,O.FG> ]>Z@A*>[3KDE\F$ ^RKJ>@[T
M!@WEY<&<UEW)L$^'1O8\:WP9F9 G-T8>#W[-NPE=8=YC4P-92M4FCZK0K.R
M0="%P2*?)^WK*+BA+$T/F6KP.$-A*66DG#V#!AQ@T 0.BURCLMDR&W=P)0?8
M4JEMD9MD2H[3O!A3\NVA)T3:5T=T-"$R?5XO$R)3(4\3(E#44P:,0R.^Z;)!
M0+^(>;U8T2SV 15),#0K6W(& #R@H8N!,[1)<V%H5>V7,K-.J4^EA0DQUG+R
MN?.089_$[V@D/]HMK>(J<7(<+/(9P* )*6>J6J[2ID3#(E_B=,:PMT$C[V#Y
M@F*K]U51UQ*"MKJ6_LMIC4)GJ=@7F!'J<]E8W-,^AUSCX0RQ*?8?J<C7(38"
MI$>.VK7E?K\ 47)F?(^X>^REA^/:34DWU=UGLXR%1>_&O1OHSY='0-Y&EP[B
M8RM&^CHL;45;=XMJ5\MYIL_K_=HO'2%/RWF@J#>8CPH4 '=[BCS1)$Q(.+WC
M@P#)7A M&G)@6; -/!8M7>2;$ZEA%3&J_"'!EA8 H7IU'>!0$P2+YFK%_7!
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
MPN*<)JBGA4;[%AKS+\3_GOBS_O35_P-02P,$%     @ 28!\6,IV0FD6Q
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
M40%RC*K!)_\S\IE1K?!"$?+<_23P=D&>-WCH..)N2()>>($SYHH[MZO_M$M
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
M2.Y/AN6YY,*-7X?"Q2"P3/@'AL*;21IO/&0X0"R^854J?U/-MH4 $CLH&XE
M)(H9J4 .1CO@.'G:FX0Q'!D$#(\Y8&.3#OG XA>4 'S6#I+_N F%KY<>75-(
M$1"[3]KG4M;QAW@NM5\6JT:YZ,D+Q:%3[T_6-2+<4E\7)DA%HI2X$S&@9VGM
M#ES?';A_JJ70>4_6 @2-6<I(Y:3WB$-!$9YD[Z8XX8A)-Q;ANY#I6I7HO<DM
M<E16^-T!9\_RG*#M,.)0IM;3-.>.7B9>P*N\IG?.7%_<?Z+32S.\'"PHXZL=
MBJ(% "X)E8'H!2I)TT!'A-\K7-9R@^0_\%:W_[J8JON[",,(R8'4#3PM[!TA
MDWQ-CI,>4) C(4BS>69I>9W!JI/OJ2\VAQV^C8(5%#X17)$K>X+$W1 C(8AZ
M3:GNX,OQ<"&_FO$HCI@>$Z)]?%^"20IGJJ%1&.*.+N<X$P) D#D%%'AH:^H*
M;]3ZO!2QB"61<)#D+=>7G*IG&;Q)A)JN7!!Y"8:*1P /&&<6/N.!!=@DK(VA
MTPH%QQ/SAFI;?$OT>/&,%Z)B%7<G,X[.71QCR$YHUI3UJB*5P!&561,QG87)
M\Z!I]$JY2O/-1%4B"G(2-ZCDODPH_^.63[:)@T_*L R*U_]_Y^[6)&8;<!Z?
M%0DN[O@O=M;/./K1?XLPU6/9*ERFA:@24T-JQL(NR=B;F71;1LI"!>&UZZ%0
MY,0<I8R=5.Q/1#M3Y@R?OQB$KRGOLBDU'F&>DH<7Q#F&TYF(V:*JA:YO\C[2
MP[C,DAV7TWD0DQLQ^%S'=+P:^$K(!9B,3PO2C7@.S6/@HW']'VZ!Q^%(!!X0
M;CAW <B"#$']W8E^Q#!F2<HDZS[YP#P>"6Y"FNEP<6B $/X&AQ'>[E*M,I^$
M"6;B,P,<> 2)Q-8@5S#KHKM(HC$3?\H Y<,JT4-GBN.\_T<4:(P1\: 6KZ<9
M;-3Z_5V^FXE93)HOB>O$J20$KB!BMQ_W840) 6+(#AY;(;81R>H<1Z"K>0[Q
M;T"(GF0P)3. 6)<P>3&O$TE)S8S)R,9 9T=63H4<:)EL1\]B2;DVTB=8J1?R
M#8*=HN$&M"O&3T8I2'&ID^1;$)2")'+ET'"E5XW6D-\1>"?R+RZ<KNP)+ZEC
MQFK'S[^TQ[@Y2D@11@TM(#%,I);D\#E=I#C02D3#^"3'P'@)0J_W LJ54G@B
M&O>")\I4-ES:N$Q6Q?,BE,Z&$ITVSO.PA*5 K^"T]$#E4#&_+W$WH0% ^JW)
MU6M$1? "S]%4$5-\],0<#\TT2O114KW/7@C>BH\_C$"U\,<"E9@R]8#8QHRT
M4<BM#N$^)/<#?$F-VDD:\9,C\@ZY(4"88]_@C! D0QIMIE&H<L5J'H($6IO@
M;MN-2=3V+":Q$G.7<6J5 <,E<9)3M%$FCSQR:BX..8+<>(1Z4#K45>.)'N30
MF)G8,1Y-FY>08\[,AN%*T^KI*8V_F9@SPQ\SF:SR\YPTE>P\'DJP"GA\G3+&
M=&>A<-X(6&F0)JF@07I39[M(LT)SD?!8C*:>HZ<V%#FB6S<MD.KU!7'()S;L
MF"+,Z>6%;Q+DT5=2?X-QKP$Y"_7H0)BJO.3^085R'*L#@E.28#I!AN_9.-?7
M. 9AM$DP8X8@/19=28.^F[03\H*N%JD!>1GP29JH'@3H&.CJ)!,9;\CYW 6Q
M&))UG,P&Y0$>C!1HCX]A3?V^2*%.F3N&,.5$*!UC;5U0X.08&W)1]#VT1,93
MSK\#E?Y2Q3-<OM)4)A570RAI%_TV&.YAFL,XT8\X+'P<"48,2$8<1QN6&3QZ
MDXJ9#C#6BFX7T*XX1WYF*I<+&;&^X\A,'Y-TR)JFTV&0G1S)J/;K="%C.&[0
M ]6O!T3^JNQ]W<<LXK_I]RHE-5:GA[N[)\Z[U%PI#)J$>+D5+"HXQL(X5"P0
M,^:9PETA<Z73>6R<K%//'_E2:^1U'"J6D;*,W101"?M+;$Q$?W0NP$&7W"3R
M$%681L'"3[R?/1W48_'%L2"0$&@I\,XYK-*%L!$IED&V*XDU= X_L(S\ R2!
M:<&EW(ZCM<B^/HNTC71TB1NTQFA(F$2'"[)8=+;#W4<494DM/^)*6.*X3O9#
M49;TU5UG%'$8H"\) Y9!R/1H%J#O'<6Y@;JE*))?FY(84;@DT0F31"L (!@.
M^=]ICS1&M:7-]X2SGDFJP@4/CO\5E]I]-=.<5;N3IDU39B3M*!7%!G8%UIR'
M'V*1$BY?F(DD[7BXR)3"#581@YXIW.-CK&&,M(7K4F%%.O"3*S8GY::/K]S"
MR>&85?H1'\V[83&F0LT^T3 _0%J!$Q#TR(?5H5N5!RT29PM5DWV57J]!DCCE
MAOHI2-CQ(.N0FASEZBW\ ( @T7P^OZ?.!%)4Y 4O1[W@Q4^GGJ"C.ED6K^IP
M)]4'E8B@/P?M3]FT%:T867 W]*C#Y NY/U).>#$G4,UE%K<(ET6Z N723U+*
MN,-$9QH3G$LM/?DHV6>D'Y!,*C+7.26+)I\5:TOAT0'@PC;0KF01]RD*S"7Q
M=<-SA3@&/N*$V&7]-?$>=CW''6C9);"GAQ#I/3:<1^#AT1841^':ENJ=S-XA
MU4=N0 O:)QN4NW$G24FGRCYH*"186(AEIX;(SB*NH_(-B2TC_6(EW:,(0^(Y
ME.DL)B^3Z;ED\OQGA/&&(1]M\FKTG '%<"68.88T4I<)4? 4E5$Y<70F5_"
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
M,G?!U)_\*$] *\DV(]1R7''E'J6%H+.I-*25-FEWIN*8J/YJZ8 \(])-6XE
M.VC5=IF&&^%.G(H_=#T\CSRT;D1^&9D\F2LE]T#$)O<HBV:D6.XJ41CR=G:8
M)X")G1%C]!HE=+DK3OPALE3)4XY-&MRG(.B)O%-)O"*TJKF/!/6).A%8NWB,
MU!&CD2SH?N7Q9%%:D139#3650[DV>*_B/A@.F$9$'F;/$27D='*UEVV4ZBY4
M:YTX$QODH0K9$2_)-Y-V")+'B2Q,A1JF[U.OD->T+-KF>QV=3J\74I-0/)')
MA8_8-P/=W1+,R;/?:V$<M$!!64=;2H80>%A;-J'CF?#RUC*.>1YBU$IPB3%.
M+AXE:R,5'R>S($7*,O$YDG8W^=4,[E>C%!(>'@.2<L0AA#__ X9\6E6_O%>3
M:$3KBD11%-S^],EE_<GQ9Z9&0BJ/-<$?WP!/[G1YISF4!QLE,5#:*>U.X&&V
MV")ZD[BD0X=-7-+XD\G>@F$EL1 N("*=!$T.<X\2=YRI4$\0S7BWOAL9R<&:
M>]6#5@8!<#])GX8!IIT[W ?;SZ 2I3](&4AKQZ2'30L8T>E0(TDS\=HFM"N,
MF2RC<IR^- 6#L_/)%@APM4NI/_PIG)/(PZ7X2?8!FU2]!&?5I-S8<46"D0_3
MS_SO*JF%-_N=Y0*G&@9L'M!_Y<+!C:F8F7QI25Q.+3[-"ZD$:(AN-):XG@?
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
M(%'1X5B?>+O.:U>%*X)7.W0#;D6K&O="*TLS,G2^4'(3)4:Q<, ]00)6V):
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
M2L:8SZ7:*-?JBSE=EB"W=XOH5 O32.[.8GEJ/SR<_,&<T#CW>W!LSUB7#1Z
M^5<MT[ K=G59'\/V:&M)$BH,H#.@:>?D -PL3[QB,3:"7Z,+?&%L<?'Q$O.R
M0*BA[5C3FC\*\/$U2B= #/5*TVS:^0[AWB#3S]]/7Y046'#DQ&K4D;^?K\G]
M?+6&6:D6,KN[$ 9Q&D1D]_X:!+W(N N\WH+=%K<N!!>O%HCBZ[Z@@^*91 L[
MAYL6,(FJE2^3V#E>L&VIO6 =P0STY\\%VJ43NTUQH*:UV*B0@TVU#S'S[UP<
M[UZ/LYP)^=<PB"+C)@SZ;FR\^01_+-?2;!?DW)S$0]HBW^'28HYV?K0\PZOB
M=NKMMEEO3W*[MP=IMVEI-X,&\I9UU0IEG;:L.J:_Y],,N%FV=\M^/LB_@_S[
M+N2?\.+[C\8;WCK\K9KX=5R,(-P41]XA:MR(#V0O[ ;AI[ECGH<TAPF)G=[
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
M=1/5TU8KJ^CJ89&P^6;ZLZW5:'M=DW0!(LEA?:M;89M9WQI6QJ8 N"KCWQ
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
MMQ-YJ&^.Z8:7KA6?JW:1,FROK&,^.7KU)0GL0 *52XFA!B2@MCN&JG=>2\I
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
MS^25S.<.G9XNC7P&<B! [IQY%G/B;,B<DTMVY,G?(O47/U Q[3H(^#TG"0(
MK!47=R &(E?F,5/L6_!XT!*M F[2.9%!R.8R:RE\]L[I]SD.Z@N";/JM2%YA
M(J<W]68Z1VJ_*.XS24+\]<]T<4,D\F3:#JE"1NW7QRS6JT)H\'R6F8?:R/Z.
M202DCU"0Q(HW7I[R6D#'!E& IQ:7>)&%5[])3@;(1L^)9)96+(+F<V8Z/,$"
MWB:R3P4 **4)]?E+2T(MP,P?B\"6!8] 40*=$9@2$YN(D6Y%*6TKS)29R"/2
MV;KMO\BSPO[XQ6B<\LR+6D"T.D0$$I6;,_?36\Q)#_*YD%V?]!HG3W_R_-\E
M;9$T%)15,O-U<S<)W=C4>ZSLWC8U/BBPM\[9A>LM9> NI^2N8,<XYV>9 NRI
MYUD%J& ?$DQ*&[)]@7Z8,$SF8 (X)-E3]V>1F[(B4DP0**:4@9Z;J1:BIT0B
M8XZEMQ[YOZ>6 YQ_$(LEZEKN$1RF&['Y:[[6MFG_!>BANXE6*]QN!>3;*TB^
ME(,O,$2ZFB0,R,M:+>84"<;WGA.1>)6B'%FT)34I[*F-*6I>]#BE#=)3Y*1R
MHR$IM6(_3%E=);-.;N3-KJR;N^?7IW')Z<W=_6*=Z1]3&].-92HR\G= &<@\
MG3M5?P;VN -<C44RLK8OD(6$>27)ZYD)L\)#@@/W.&%KZ2.IJ>QE,,$!<Z@[
MP0&VQ_8<_5>R3M(U?[C=9]JB<#>Q#BI52<2K&\5>^2.D?5)6>>8F?RDI6IRO
M-I+YZI'Y%*$1D2KC)=="V 3NROKO'-J:V%@1 2;H@RATC'@N-67TR1.[N6]#
M,B15K,6J>!WUD@$#+&:C_>8"U<U#KM"U+KVE0__MRG?UU)2CY^S%D$WJY-%
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
M#HVF<+@6=^UAMZT9_?/AX!P0J0_ZK? '+'J)_48=WIL@P0VU3S #/D>!:@,
MSG),ZT!5M.&PWU(VX9(X?*D<8F7=B+I8.(+HA)4&3:-3/P:6; _:W?;@G04F
M?D_O6UI;\.2EP![/EZ38F:5\>#G_;#X'A&.)7MEF113M\&&\VD:^)22OX-TM
M<*UKA\"ZG96LF_OJ<KBV.EU#TRSVHZ-Q%'VD9@OS)*4L+@R\2]IJ\%S'>^$$
M:[JL-D@]G6Z"D$9MLS#%:?2'*@V!9=I&?S!X-QX:1KO+M/;3=RX7KT2=U752
M9Y7D/>;WQ+GGY79Q2>%:^<C9IF!%W3*WR)*ZHIC-,VWSXP_;&"M[T',QL^B"
M67 8C6W9IF^SN"B.LPG6S#4,D#V0^G\$IA:_B#P "X> D,[&00L,S##OF4]7
MNH15?9>]*&_BXEM,@84MF33S"?WMMPUK5VT?UE),1?!?3D985)!)Y%W'W=]2
MHZUYJR!L2-/!]#U@>.I'0[^DBG;3T["ET#;:B=0V_9'ILN#\]H<#^+GDL[R
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
MY2VD*G(\@K!6#DLQ/>6(?0%02P,$%     @ 28!\6 P7KUG !@  2!D  !
M  !D-#4S,3%D97@S,3$N:'1MU5EK;]LZ#/T>(/]!P( ^@+1I^MB&) O0+MUM
ML2>*XN+>CXI-)\)LRU>2DV:__AY*SJ.MMZ9=AV$;D,8V19$\Y"'E]"^N/WX8
M]"_.3X>#9J-_?7G]X7QP_L_>46>_TV^'2]QO5P)"],\^#__E6\/+OP?]+T*F
M:IR_,6H\<<*Z>4IOMA.=NV[GH'#BU"B9]C)IQBKO'FQ#\<7EV>6U"-J_# 04
MW%K4P:)KE9$5GV@FKG0F\[7E6_G(%KW:A76[7;;$7X;&VLS%<%]<J6_?=$M$
M9)Q*YL)-I.MNK&JU,SQ_4+[GZ,;MJ3PF/#]Z6;CM06=_ZT7GY4%O_?-23.24
MA*&IHAG%,$E9(?.\E"EN%MHXH7/Q3IM,= [VW@N=B+<3%<FQAC-3<F)+9D5/
M?)311.4DWNK]GOA5'H4O>RDE"X\.:SPZDQ9^P.AL+K[F>I92/*96<*SR*-8
M-]=.1-A*JAP.ST69.U,2C)".,@2-794BPQ5;(1(9X981.E-..!WD[@GD%)&U
M$FA#))-?"?NNZ;2X%\,8;)GZ;-5)L\$2D3)1F4$NQWJ8$I,1,\1Y(FS)'RL%
M,S)4:6$/,F53DK'*QV*FW 0>VH(B;R'K+6";CN'G%,MB,9JOQV'S+/YIH(X>
M Q2)1.6(!$=UY7D+*$$<C\W:<Y4GR$WI%/2H/$K+&#H1WC4W6X!&F70N"@2'
M@67 TW2%7!4S>V=K)$>L6'&KV8!(F4(".:$14[^?]09%TDY$DNJ9?\@:4.[*
M.B.QD^2;P7"8V5J#Q"ZLN6?N4U#90+P&E.,:4*XGQ-XN/-AZ\?JP\ZIGJ[A7
MQ,79II-$X7+'[GKW+H4TY".)P*A12NRP(, W2I6=\ H6RU!M7'%\'2L;I=J6
M6,=U:'0:(EH8'5&,VU;L(( Q 9(0I?.;:"+S,8E39/A5F4*B<R3W.B<[%*SH
MG,3A*EQB+S)Y@)+U"RZ#-81#P-D6;-1L;+13<FNG9'>7_;P+.P285G\9MZ]C
M^>J0L>R_/QLNEA7:^KSMRI'5:>FH5Z\HK-\+R2!W^VWH& S)HIDB"IYX'L:H
MQ:08R=)NOH3):40 MMK)TUVSH4L##2B/J;)<=2Q&N5?$C7)5K^LU;RB5'L&*
M\%8HM"H^X(<*I0MC$ T52^<M'5D5*VD4>Z "+WL6REE3:9DJ?<Y;SZN^1+4E
M&.006UY42*1.5*:2J05^>2-6E(L5@<#7&P^^C0B"S0:J'PHH[CURGGAZS3]3
MGHQJ\V3C2@.7WLF7S8NT+FU$7=8@U:8JYF205N>2V4A:)!)W5\X0:>(%6L@?
M)4<J56[._%VW+2>O!]9#%M+NENA:=_:D=U,Y5)0&(4:^J[S9D%&D3>PM\(UZ
M3#GZ2(K<P1,J."E9!%,([UD@G2)5@'>>GB"_BTFB*D/.IS(M?;5Q]"A)T&,Q
M,N88D.ZWRF6CV8 ^PF5]]^1\:#:P$J5O0Y,>Z=)]WX1-&$XNI8E'D.3AT4J,
M%L.-SW$*H8 ]/5;^QT$:+XH^!.M^U'F KCJF?U(+[2,JG?E>1U%I$%HTYA6[
MUJC-M'6X'_%HE\! :/JO!#E#]\YWEB3($M3@'>G*<DQTY(?__/9!:#>8-9%V
MV8JX>GU24>S[H ](Q3ESC/A?*:U. G?D6P_%R.?P#X/T<YGTM(GQI'YBK'/D
MX8'1'SSC14:UEB43)H%U5%?EP[ALWFON#P5+\R0& Z>-7;*[OP&5&<YWCN@'
M##72Z!_\/%:PSRO9 ?;@ \M\@[\\GBP2EOXK%<SWR5GFD3\X['9_XBCUVR>
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
M*^X89ZOS7.7DP;:7^.2JQY>WUYNI#0J9$+\CQI=@U(+@>QV0ASCF_RB*-O\
M CW^]Y!!V_^.\C]02P,$%     @ 28!\6/Y0LX6: P  9@T   \   !D-#4S
M,3%D97@S,BYH=&W55]MNVS@0?3?@?QB@0&(#ODAVFK:V*L"7I/&VN2#Q+G8?
M:6ED$2N1*DFMXWY]AY)\27>S==JF0!T#CCG#F3.'9T:F=S&__.![%V>CJ5^O
M>?/9_,.9?_9GN]_SNN476NU69@!O?#W]RRY-9W_XW@VPA"_%6\67L0%MU@F^
M/8ZD, /7R0R,%&?),&5JR<7 .::P%[/Q; XV]HT/V^T!"H/JZ_N]L3]!97C$
M V:X%'"3*YTS8<!(<%_#[YV[SJ0#=Q@45K?_TFEYW;'_S=F8AE$H,X/A-E6]
M9N1WQ=R@>^.<@HS Q AW3"V80-V^OD]P#:/ 6$O/<7K[F;X:_$@L=#8\V'TF
M()!"5'!6W,0%F)$0.4O@%C.I"(> <ZE2<)WV^WJ-4$UB(G\IX9;_@P:.6)H-
MX9(%,1<($]F!AHUQ]#&79CB1:<;$NOS2A$BJ(L$:F0(4(9$ZQ0#3!1'7=UM4
M;Z\/Q'C$$S)M\1!?N>*&HP8F0CB[#V(FEC99FG*M+79Z6\^0&808%1+,/1AE
M)16*5N&94W:EZ> P+!>H*HPH-N4R5!A<1Z0QPD49Z[72>,X%$P%16!C)5AU>
M564+D%@HTB_6$!0RI<7L/Q5Z],(]?34LSZM0J:V;54K;W[+O>)!@;#G,M.Q>
MZ[A 79ABKN%O(5?$[!('5B+4PC]>4M[[\73CE4G-K;(&;*%EDAL<[O;->4K'
M>84KN)4I$U6$=H*1&?1/,W/L-]RFUZ5H^R'WO5[U,N.7'G.JLU)KE"<)D4\G
MDEB];#6D\&/.%:;4I;I0\6Y$-%@32)CNRT;8W-*[D]Q6;A7'[IO^R=#*XHG,
M[-P/(_X',ME[$I-<4)^FY7BE\6 8-79(JP4Q&YH95\1SIE!;1EO6S)($:!O:
M.HAOG1'#NFRN:-,Y]1I%#(M:BEXFMSPQVO(J,U1%4OU%7W6^F>CG</?.KZ_F
M&[>%5#1&V@MIC$P';G8/=#P\A!=.\3KVN[H+[Q0NI5K7:],.S<Q/G^CA86,<
M/M4/5<+^OO)D'7O\5RRU#?\_ K RJ010@84-UN=2[2-8Y]PDAX-]9&9_!^9'
M$C5N%"?]9B3L?V5K_F2*IM1B!S-TR10]DGJOBV?KR7-/K">WQF\2$[CLP%C)
ME=AKBY]"Y)/ZX@'27Z I'OY6>>ZFV&6S0WT4!#(7AHOE+]XC%[</U3QPAC':
MBP[]L^*AB>FSPNR>$!K'_A'XKKT: ?URMS<ENCK9^]5G4$L#!!0    ( $F
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
MU*J!QS5ESRLI;+>8"J8B-#9A,E%"ZU+P;2_&QS:+P&6^)X5&  5ZP2'NHGE
MY@#W9I4_UD!9S7F*A9Y":)7A?&CM_#0;RTFSD%TI1]-:,L/LLO-4XUJFPH*2
M?'A&7*?PK4-I(ZP<4!#F:KR!\3%8L#(E,!QN#;;!CD+(AH$O* (;KN.4D/T#
M94H])"4GRI#5)AQYLJFN@-?@;PKEA)"@23//'-"5CF%U<I.G] HK_J\FL*,7
MZZN)6B1H0/DF-WT"'I4R!24HY6F.\81=@";4O&N&2U=L-L648@$+C+X:S:3Y
M)].-F7Y5B;<P9L332T2$0:#(3MSYYMMU@T$G5@0E/B;EQ@LN E(^L:N7Z(/F
MXC.^4BA_:8("0S@D9%L>@ 2RE2<"M(80:AM7N4' $E_1KC6R[J. '-\?0'KZ
ME #I1X-PV;K8RV+\+S0\,/_V2@F@W@&.HF3<*9G&TM6JH5#WY18!OP#7<HPZ
M#S.H^QVVO[=_0" -QAXB5UB2U=NVC<<"&$!NVM3DCM&F*)'?H!-GTLA+@G[$
MMO:W,7?1;F%+!#15PW(@I3 WEM.KU@(2L,Z+P"&+"Y9%ABM1?E7QM+190,@!
M$B(C6[@U-;%_Q!6Y(#X>*RGM@OXE.!+8(<*?U7U1)M.0C8TMH,\TD'3CR"01
MMYYM+Y6AD?\9"4TP*R55L"Y-V8JT%=5H)30-Y!M"+#"*/  V+J9JL-=M)F.,
M;D&]D3U?*F9[ %#.,6D$+I\<EQAMA29NEDF\Q4HNV,3'@EN;-,C5P_D!$][
M$ ^6\'@N;+WM5JGI"_#0<OD?4^EJ76OKJ5#+;8R63-$$J_MH:EI5VI1MPL>>
M5CL*FP&PPT $K<@1;K#(1YHO@K!1;6CC-)Q;?[NJ(WT00=UZCK)RW7Q;WE2-
M&BQD/Q$=JH+OE)*-F+) EZ)6D>02(UC8[Q(K.( )J)BPN>[RZ>I*:.7L+ZV<
M)O?RR8SFV89&<Z,M$7WR]*V%7+:=Y8U&VWFGE8R!V>B,H3049?U%6F#$<XW+
M$W4MFB?^&3B0<1EVV6N0BI4VR,6IJBHHH66#Y20P]*5ZDDXE99N$-49F/8L7
M<^@"/F1 R0_X#,IJ*+/FL.*R=%AE0@;63YRNPK&J-%LMO49EG/=.H7WQJI&#
MQZP:63_+1J& G=I2XL:V:H2<#2\D <9+3*66RE],)B)P)0ZW*$@+BC0)7%/]
M$M6/5(4;*Z79]R"/*"#YX<OGUL^5D0FC&8VY)"R3A6E0Q";GZ+"&=JO$PKRK
MM*5B>=I-]9P!8RA2JW<(R[R6'/TZQ8R;@1H-0$!SVHP\\PBX$LZKD#ADM9#X
M3KUH\C'8-"S(DZ97E-% N^6C.[B$X*N:&DC,)6!JF>H.5BO[F5 '%Y0TT3QY
M!)?(54JF!?PNJ2NL[BL@5]]/^#UXRO#[3[2RKD@)[.<PSG)D;<"M%P$SOAQ[
MT_HN7<D[Y\PBH/4R"$)B)PN&U&6?%57D"%,9K6O@^I1<7U=::[6&'8&IL <1
MDVX<,( '%;1\'PIZD_H64>+[%D,C+\[$T!!&@(N'F03P\%*,WI14E",V12\F
M3*XB.,-OLS/"+,2[0#1V(A <+\,RTR'"V?J6R?.C%@H+UU<6SNTL!XH;*TWQ
MCG'C?&.%D"A&;142"N(69WIC!+3C[%.I!1>[W%+;7J^=FH$C9CRF@5MAF.Z[
MY7G- .L;\4A&=>5P(],(+=4TC046!8 PY2;U,T/[8": OO)J-S%8-_(>V3ET
M%8]!%/9?$D*X_Y@"?6=0[@3:#,(:0!P)\P;BRW4Z)A>,0\-,)MX#U=#QIQ)1
MQ^:92A*7"LZ6]6Q5ZTB"SBNRC$P3!37/K23BV_#9OLT-* OR&LE/"%,&O% $
M"+GM9.T6Q. [_RY@Z&8K$)6T&%_/1#*V7,M ,>,\Y2$*EE^N8TIHA-EJ:+8W
MP55,/U'T+(2V2(\7X$)+F[NL-AOQ[:W>P38ZBO5;/;Q5%:.#U4ZH&/Y&) 4:
M]5"83=\O7Y# 5-5"RM_ _4V8[R=U\EX_I9,W!";&"0A)8%2&]>R \4[4[*6/
M>3J58W3-EWT^X^Z;BC'3GTF--"0P;$TLSGF4FI3"ALFUS:?X$2>U#I \>TR
MY,U3PH(?\&0#JFX[DRH SI?[U-Q$?KM;F;Z\'^P)-:+4-;?6)/#$9UH,[1:5
MR8+FZR=)X?;RH!E^G>8QZ^WMO#.%WE@,YN+D#M7^P"S4@<5<H()#)\&$0[0)
M)Q=V"\7M@'_#IL&F<RO*>.F6W9T_:OBSOC<X7&='#,8!ZR>6.]9R/F"*.B:=
M74K,(=N2VP8:N;Y&W%T[D,029G?%;4EH!V*7I.5]"TZ6;:B/L7+RU5!8M;J,
MYZ'R<4#/Q_ XOUL%'[QX_OK7WGIR<;#6X1F>M:S)WO';KCLUZEX*^7;AK+UG
MK9/"^@$>"12)T)0=^T=:K7<<V<*RZK)!8]&I57>XL0D>I<QZ]>9Z7&_VW![L
ML9#/%6TD)S\2PR$*1.9>PA;DL&SH<BFAQ>NGL*((/U2JB+,R8FF@#!1=H<PF
M!*="RREZK(-+OMKQ+9N?Z=4_^S \'UY>C>@$MJ/R&)?1X(_AX,]OX7RO7]88
MQU5-H@Q8;/&76W?!NT.NZI&OBSS=L5241,#-42C'#7K65)LM%N52E9G*(,"0
MJ $1KH[31(+7Y$JN,PN1E^BRE^E'[)':F/P]@608^"N=8XF=Q  GRX4VX:_$
MBA:S0]'W+3 P)K0)\7@_":)8(@*A%,]I:S,/;Z0B/4U[-\R^+F&V&->H,CW.
MB1",QY&76(>+D;^Y6[Y$T.$2M?( "XUU[ 8Q!P;4N&][YN6&1[M3 @G$:GPZ
M'NL&3SBI0[4TJ<ANFXVE(PD0 \O11D7BQML XFU<:^ \5LQ6Z(JH\\V&CM5.
MVW6,-HK'LG16VZ+&-,NIS1U#)T46<NVV3*4Y^( F.37WPV-\O=W*9S?NN0JI
MQ1/(.M5NF"KNK=4ZI:;V\?$+#Y]\W?M20*Y5?<F9TBW+6&..%I!E4RF&DQKC
M07">PVQL#K*]6BW8A:(5A+VCM$HPNMZ^",Q0W? (=_R[;5!NYUY5JZT;1*(Z
MB*)& 'A<5?DUI\ @6EGAM?;<X.FH_9/W _NX=2# Q$<\ ]>P_(5.41W1YQF[
M,;.ITZQ\J3D6M??\UR[Z5QD..KFVGGCWF7>)=G?9:^7IJMWG0.RBG[+6[O\E
MAV5GPF,9S0\7ADZ&\8PJF)Q7<$KK9.E S]VKL^]ZE",KG#_<P,Q"Z-NUQ<Y
M'3:.$3Y&1JR_8W$=XC%M.,HRMW.:"WMLPX\RI;WNWK<SF#6/9[Y],+W=_9>[
M6,/]/<FC;S^^05GZSL@S$PV?:$Z1V/N?(_YHH2,=BTP,.S0G5!\MC\B0\NS%
M2T(T[3%+?KA7C2/CUV)G#*KHTPYM3#CDT0P"\:/%\1T@@R':O\[!P0]W+&#P
MZQ[^+VE_B2/V1AO)1.PX_I0#M OI*8YDOX.O=5S^.=LUZ8VU#@A_K)/!']++
MY57_:O!A<.Z?RVJ.A:?SX!]\]OO5VT%UJ/Q:Y[I_P>-PA\?]TW?G%W^^'YR]
M01Z\VAT>?T7P D,42BXJZ !/X!2YP+T^%1YF:SRSJM!4:X[;5<L @3S6U8>+
M$PJ@E3VO;">=)5C@JHHQQ">2Y[@]9M7YXXN'B*^]#]R.!I]*N#OD2"^,F2(<
MB+@EE4'3!AR#_)E<O1WF&(+]<KL.Q5*T_\D[>X&>*!%P&Z1W7-5X)"$,-#!Y
MNS6NG8N=\3EVZO:BE^<]K;VYD7N@/2&2WAZ(;V2;WE-'W?N]*NR^A*XY;HT^
M9'^O_/=-#6WI#P74,-3>RSWO."'_\V..<%MXUU@?G,-:A[POQXAV:YD3MWU>
M21W=*0M?@NA'RB;>4U!N^\1X=4WI^1[]QOU%OQ%4(OXQ'4P>X-_6>;5+?Y'G
MOU!+ P04    " !)@'Q8'> 9IOHD  !/)@  %@   &<T-3,Q,6-V<C$P:S(P
M,C-?,2YJ<&>=>'D\E&_8[R,DA&1?I^PE"2%,YE="E&P)B8FL34C"*&9"R#JA
M*-M8D@I-LF:9P5@3RC;99T:1?88:@UG.]'O/^Y[W?#[GCW/./9_K^3S//,]]
M/]?WOK;O];"_LXG (6L+*PN BXL+F.;\ /848 ;LX_H[_A[W_1T\W'^/O#P\
MW#S[>??O_U?X^ ]PA&___@."!_@%_@[.V4%!@8-_+_XN\A]3]_%R<_,*\.WG
M$_A_'NPV0/0 4 +4<',I ?M$N;A%N=B=  @ N'C_58\+^)^#:Q\W#^]^/HX:
M@IP'Z@YQU.?FYBC-R]&8<S>:<Q_@$>4]?%3GW'XQ>T\^I1!QW9B,X@/*YZO;
M)1R^453TO.[%\@M(2DG+R*JJJ6L<.WY:W\#PC)&QV05S"\N+5M:.5YVN.;NX
M7K_E[>/KYQ]P._1^6'@$//)!W./XA,0G2<F96<^>9^>\>)E;4OJJ['7YF[?O
M/M;4UM4W-'YJZL!W=G7W]/9]'AX9'1LG?)^8))'G?_Q<6/RUM$S=W/K]A[9-
MW]G]BXL+X.;ZS_%_Q"7*P;7OKPWX_N+BVA?Q]P%1'MZC.OL/G[/G\PP14]*-
M.2!^/J.XNIU?6<^!(N%U[YN I,IIDBKU+[1_D?W? 8O]_T+V7\#^%ZY)X" W
M%\=XW*( !& R2I(U@))DO7_VZ][S?]U_W$PF^YI 19]Z70CV!+U,(J^OW#^$
M7P7ZO%S]I^/:2C)]5G]^78+"!C3AC(U#;RU+9AVB2R4JD#'?$CL(75=_OGX?
M=KVPJCS@5%[!^34E)YF=/$S=O::&;L$#'W//IER>,;3:3*_K@-Z^GE !F0S3
M_*2&= XJ; M_<^_<$K2M)?IW-[ERN/;-W2Z)A+)WCKF.;QC#]%O;%W<KM46^
MOL:X;IG."*V9D6U3M*5W(DHDAF;2+&VOA+H,WS9.Z_5!VQ6,82D!5@,6>K/)
M+.\AL,4\5O7-XDM?_7<>RX/W?M;,:+PNP8SWT@*(E%K$ =5-0\:) 39PH+LQ
M+WVNIGAJ:;L"N%^U(8CLK7O/!@@MR#W]FQCK783)L[(V>=T?&WNY;"!!J3A=
MBKG<\([Q]%=04."5P/>O4)"MP?.?&!415^@YY&9)I^RE(''Y#*4MU.7D-G7N
MLGU8YP2&V7R0:&:DA6F5./:+]PXB)")EI_3!]\L&RO2GEW_;2)$'GS]8$<8$
MC:\B4]XM-/6[-<-Z'].R*I]8'JS*I6R-E-WXUG*N\I?NSJ3/BL;@=8.?;LN0
M/LR*MC#KI4SW_I .:J!(H%!KU>EGA/S26NRUWV!Y/Q''G-9S4WVK#XU4%)\5
M[1*T2+9)N8B/MZI'<WJ;@B 3M];<_\'?,W;>SN&GY@A1L8[R/:J=%G7J8V>]
M]JR"<E>'<C")50EO^^Q=4\S%N0N?_^X^:BYNQ_4?(I9>"_C)9]G/S$RY3)T=
MFWZ7T?W)]]97AR$E<]%LLW@/E\*QGUAC:A4AZ>3DX%CRI,5W)S[.]C'RNC8D
M[T'YZ6'S(1[,R!F'UX4U.1&3FA4[6E<8."Y'!;=L8]5FT+PV:(X>&W"B4L5_
M=?=6\QZ:\O[^P;N\P*'07$U&RKR',?D*9+#\Y:+$C%5?L^;>!^=A'3<55"O>
MTY\4\,;QFH"&.K=:*C5WA[M(HQ3L^_1C^NOW!<;/?8MYIAZJO&<16QL,&5IL
M0&F\F0UX4-G ZEBL\;7M>$3PP97OH,T-$&O Y1[^[ ?[$)Z,]1OO_R@KC_K5
M(?I[9()\M$7@0=:IDVFRC*%LCS6JA%;TZ9W"<-E7I@UN3DV,IY,: S(T3-?0
M!8W2TW9<V7SW\D4'PA$ /?'TX?<99,'8SP-[>8EG18K?Z\;R8[Z!#:EZ26#=
MH>(7/Y^#M)B[@5CKC.7<C<#"I7SX%P7Y0'5^C.7W;96;2XWR"_F  N_=.:&6
M^VFR\ BGK.VXE$AW[/8>Y/HZC!G+B464+D2TT3<])-M&7^53*?*!6$,K?V3Y
M=M6UQ#:O#W5WPPJ,,'2.^9RGY-O_-: $U&G4<[A2#==XYN+7+!>OZM-WX9&$
M*E7I<T8&-"O-AFUAG7O/,WH95ZF>L2"ZY0GHXE-?4JO4R#+R^5WEF.0\QU&_
ML3J9.KD$U;*HK>_A$D+(5*P^/".-JIVN.;^H]NM<HSWJXHBMY8K6'"9C5]$M
M+EU$H'1LF7D^;DC<SDJA8M/LJRQ<NB+7(O[=RO"+T_T66<&SP23HVXI"&<KH
M@\^V;V]'5, \_9O73X)B8OIDP,+&'(="*T("'8MN(#O$* (/G1(T.J97"B]F
MA7HK5'-O%NH*GKJSF"J:RTJG]+3M&HT[*QXEYW[$$Z$4DMS#Z[2YYY $R"S,
MHZ"O@[0E/R_S!]PD/[(\FY&\/K>$RU@R/465:M^(ZVL@1Z3<@@VI?T'9-/1?
M[,_WYAI:-I;=9+K1]KZMZA^DJY-X&QLV'P5HG^2Y)]DW-.W8K3/W'K:H8&8_
M&O9P0E_A.@V6EY1?6W/CHFM!4I\*^D$"KNB4T7M;_/UK<HFGQ#^,SM?FBR]#
MC*Y8->^Z,$VT*$.:\:9WNE]5V&Q4I#J77&>N;ONS 6(15-)K+*T3(?MUO.MU
M7XWD1DL/NGDA: 5%GJ([GRMG ^T7U)JQZ=KB49H-,+6#:GMGUQ>[10#=1Y'=
M]QXX#YS]H($YCP)1;8X'"7]\!IUXYD4HRZUK05UO2(Q2=M6F(=PTW:VM=C=P
M+VG:L2P3UA!:7$TR?+=E5G%4U>':G%U'3[-ZVEQ$T9"=9AFA1;V"_E H1#I3
M$G2">J\<-8P5G_I.>,<09E9$P2C/G?&['08-)-H,SJ;QZ?XGU7W^T[&6H;6,
M<O5B(TS*T!DS_""X[#A\]<1=EQP*H:1*#K>S8^,_LCSOF]V[(S^/GP[??[+>
MR7[TTH/0!VQ@ZN/&#];6+_T?OMFUGK8'Z4,=XVS@$$)NEEEQN?%&G_2=6J%I
MT5'1:47+D==WC3 _"HV(X#T\@T34TZAR/JVNX.F@'7#>W9G<5$KR'T^[^CN@
MW+<P3;_)7Z,DF5[CZ6!U-,,W_G-3O5-.->8Z!?*$3!5.DE^X/ #JU]W5CP29
M-!',*"/7W94[83S#$NE+4;A -H!G@=*0EZ.E&-95[>!H6RV,-NT&[.J/O&&]
MO<-K6%237TK!S7%U@86&=-S)\G?V_PP:E>#&S4CGDS6*@%A+B6[&S;&6-%T%
M-<.=Q:Q08<0O-K!";CZ^B4N:1$TQG%4\7:_-ZJ?Z-&T/K>PZ;RT.AR8OW\4]
M;L1YK3D>FK<PF!U&;+&!-L>](3?5XK5J*K;?$<W@H&$#1U%8@5;2P&&DZ.V,
M)4KT7*OF39)SJ_T=6L6L,76LO%T[AL#2CW :#29\'IGWE0F0.WI*;W"_6RHQ
M6I-FRTT7%.RYX9UMNL*?D%+ENIUZO59[-JB_%1.8?N-JQ:7,--X'SV53G?/
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
M"@  ?V@  !               ( !     &-V<BTR,#(S,3(S,2YX<V102P$"
M% ,4    " !)@'Q8P==((!((   F9@  %               @ &4"@  8W9R
M+3(P,C,Q,C,Q7V-A;"YX;6Q02P$"% ,4    " !)@'Q8X>N%Z# .   /U0
M%               @ '8$@  8W9R+3(P,C,Q,C,Q7V1E9BYX;6Q02P$"% ,4
M    " !)@'Q8D"I(NY4V  ! MP( %               @ $Z(0  8W9R+3(P
M,C,Q,C,Q7VQA8BYX;6Q02P$"% ,4    " !)@'Q8312.B)8B  !M9 ( %
M            @ $!6   8W9R+3(P,C,Q,C,Q7W!R92YX;6Q02P$"% ,4
M" !)@'Q8RG9":1;$   *&@< #@              @ ')>@  9#0U,S$Q9#$P
M:RYH=&U02P$"% ,4    " !)@'Q8OVKVW-,!  !I!0  #P
M@ $+/P$ 9#0U,S$Q9&5X,C$N:'1M4$L! A0#%     @ 28!\6 P7KUG !@
M2!D  !               ( !"T$! &0T-3,Q,61E>#,Q,2YH=&U02P$"% ,4
M    " !)@'Q8^9/ZGL$&  !.&0  $               @ 'Y1P$ 9#0U,S$Q
M9&5X,S$R+FAT;5!+ 0(4 Q0    ( $F ?%C^4+.%F@,  &8-   /
M      "  >A. 0!D-#4S,3%D97@S,BYH=&U02P$"% ,4    " !)@'Q8PP\;
M)TL'  !G%0  #P              @ &O4@$ 9#0U,S$Q9&5X-#$N:'1M4$L!
M A0#%     @ 28!\6'_:7I%I%0  F&<   \              ( !)UH! &0T
M-3,Q,61E>#DW+FAT;5!+ 0(4 Q0    ( $F ?%@=X!FF^B0  $\F   6
M          "  ;UO 0!G-#4S,3%C=G(Q,&LR,#(S7S$N:G!G4$L%!@     -
-  T -@,  .N4 0    $!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>73
<FILENAME>d45311d10k_htm.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:country="http://xbrl.sec.gov/country/2023"
  xmlns:dei="http://xbrl.sec.gov/dei/2023"
  xmlns:fil="http://www.chicagorivet.com/20231231"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:srt="http://fasb.org/srt/2023"
  xmlns:us-gaap="http://fasb.org/us-gaap/2023"
  xmlns:xbrldi="http://xbrl.org/2006/xbrldi"
  xmlns:xlink="http://www.w3.org/1999/xlink">
    <link:schemaRef xlink:href="cvr-20231231.xsd" xlink:type="simple"/>
    <context id="Y23">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="E23">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="E23Q2">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="I240318">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
        </entity>
        <period>
            <instant>2024-03-18</instant>
        </period>
    </context>
    <context id="E22">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="Y22">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Y23_StEqComps-RetainedEarnings">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="E21">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="E21_StEqComps-PrefStock">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="E21_StEqComps-CommonStock">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="E21_StEqComps-AddPaidInCap">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="E21_StEqComps-RetainedEarnings">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="E21_StEqComps-TreasuryStockCommon">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="Y22_StEqComps-RetainedEarnings">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="E22_StEqComps-PrefStock">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="E22_StEqComps-CommonStock">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="E22_StEqComps-AddPaidInCap">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="E22_StEqComps-RetainedEarnings">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="E22_StEqComps-TreasuryStockCommon">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="E23_StEqComps-PrefStock">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="E23_StEqComps-CommonStock">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="E23_StEqComps-AddPaidInCap">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="E23_StEqComps-RetainedEarnings">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="E23_StEqComps-TreasuryStockCommon">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="E23_Range-Minimum_PpeByType-LandImprovements">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="E23_Range-Maximum_PpeByType-LandImprovements">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="E23_Range-Minimum_PpeByType-BuildingImprovements">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="E23_Range-Maximum_PpeByType-BuildingImprovements">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="E23_Range-Minimum_PpeByType-MachineryAndEquipment">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="E23_Range-Maximum_PpeByType-MachineryAndEquipment">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="E23_Range-Minimum_PpeByType-SoftwareAndSoftwareDvlpCosts">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:SoftwareAndSoftwareDevelopmentCostsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="E23_Range-Maximum_PpeByType-SoftwareAndSoftwareDvlpCosts">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:SoftwareAndSoftwareDevelopmentCostsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="E23_Range-Minimum_PpeByType-OtherCapizedPpe">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:OtherCapitalizedPropertyPlantAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="E23_Range-Maximum_PpeByType-OtherCapizedPpe">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:OtherCapitalizedPropertyPlantAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="E22_ValuationAllowancesAndReservesType-AllowanceForCreditLoss">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="E21_ValuationAllowancesAndReservesType-AllowanceForCreditLoss">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="Y23_ValuationAllowancesAndReservesType-AllowanceForCreditLoss">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Y22_ValuationAllowancesAndReservesType-AllowanceForCreditLoss">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="E23_ValuationAllowancesAndReservesType-AllowanceForCreditLoss">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="E22_ValuationAllowancesAndReservesType-InventoryValuationReserve">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:InventoryValuationReserveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="E21_ValuationAllowancesAndReservesType-InventoryValuationReserve">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:InventoryValuationReserveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="Y23_ValuationAllowancesAndReservesType-InventoryValuationReserve">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:InventoryValuationReserveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Y22_ValuationAllowancesAndReservesType-InventoryValuationReserve">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:InventoryValuationReserveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="E23_ValuationAllowancesAndReservesType-InventoryValuationReserve">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:InventoryValuationReserveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="Y23_StBusnSeg-Fastener">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:FastenerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Y23_StBusnSeg-AssemblyEquipment">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:AssemblyEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Y23_StBusnSeg-Corporate">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">us-gaap:CorporateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="E23_StBusnSeg-Fastener">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:FastenerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="E23_StBusnSeg-AssemblyEquipment">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:AssemblyEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="E23_StBusnSeg-Corporate">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">us-gaap:CorporateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="Y22_StBusnSeg-Fastener">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:FastenerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Y22_StBusnSeg-AssemblyEquipment">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:AssemblyEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Y22_StBusnSeg-Corporate">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">us-gaap:CorporateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="E22_StBusnSeg-Fastener">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:FastenerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="E22_StBusnSeg-AssemblyEquipment">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:AssemblyEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="E22_StBusnSeg-Corporate">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">us-gaap:CorporateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="Y23_ProductOrService-Automotive">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:AutomotiveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Y23_ProductOrService-Automotive_StBusnSeg-Fastener">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:AutomotiveMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:FastenerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Y23_ProductOrService-Automotive_StBusnSeg-AssemblyEquipment">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:AutomotiveMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:AssemblyEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Y23_ProductOrService-Nonautomotive">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:NonautomotiveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Y23_ProductOrService-Nonautomotive_StBusnSeg-Fastener">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:NonautomotiveMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:FastenerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Y23_ProductOrService-Nonautomotive_StBusnSeg-AssemblyEquipment">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:NonautomotiveMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:AssemblyEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Y22_ProductOrService-Automotive">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:AutomotiveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Y22_ProductOrService-Automotive_StBusnSeg-Fastener">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:AutomotiveMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:FastenerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Y22_ProductOrService-Automotive_StBusnSeg-AssemblyEquipment">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:AutomotiveMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:AssemblyEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Y22_ProductOrService-Nonautomotive">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:NonautomotiveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Y22_ProductOrService-Nonautomotive_StBusnSeg-Fastener">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:NonautomotiveMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:FastenerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Y22_ProductOrService-Nonautomotive_StBusnSeg-AssemblyEquipment">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:NonautomotiveMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:AssemblyEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Y23_StGeo-US">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Y23_StGeo-US_StBusnSeg-Fastener">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:FastenerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Y23_StGeo-US_StBusnSeg-AssemblyEquipment">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:AssemblyEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Y23_StGeo-NonUs">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Y23_StGeo-NonUs_StBusnSeg-Fastener">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:FastenerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Y23_StGeo-NonUs_StBusnSeg-AssemblyEquipment">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:AssemblyEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Y22_StGeo-US">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Y22_StGeo-US_StBusnSeg-Fastener">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:FastenerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Y22_StGeo-US_StBusnSeg-AssemblyEquipment">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:AssemblyEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Y22_StGeo-NonUs">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Y22_StGeo-NonUs_StBusnSeg-Fastener">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:FastenerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Y22_StGeo-NonUs_StBusnSeg-AssemblyEquipment">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">fil:AssemblyEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Y23_MajCust-TIGroupAutomotiveSystems">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fil:TIGroupAutomotiveSystemsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Y22_MajCust-TIGroupAutomotiveSystems">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fil:TIGroupAutomotiveSystemsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Y23_MajCust-CooperStandardHoldingsInc">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fil:CooperStandardHoldingsIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Y22_MajCust-CooperStandardHoldingsInc">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fil:CooperStandardHoldingsIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Y23_MajCust-MartinreaInternationalInc">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">fil:MartinreaInternationalIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="D230101_230630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="D230701_231231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
        </entity>
        <period>
            <startDate>2023-07-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="D240101">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000019871</identifier>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-01-01</endDate>
        </period>
    </context>
    <unit id="Pure">
        <measure>pure</measure>
    </unit>
    <unit id="USD">
        <measure>iso4217:USD</measure>
    </unit>
    <unit id="Shares">
        <measure>shares</measure>
    </unit>
    <unit id="UsdPerShare">
        <divide>
            <unitNumerator>
                <measure>iso4217:USD</measure>
            </unitNumerator>
            <unitDenominator>
                <measure>shares</measure>
            </unitDenominator>
        </divide>
    </unit>
    <dei:EntityCentralIndexKey contextRef="Y23" id="fact1">0000019871</dei:EntityCentralIndexKey>
    <dei:CurrentFiscalYearEndDate contextRef="Y23" id="fact2">--12-31</dei:CurrentFiscalYearEndDate>
    <dei:EntityRegistrantName contextRef="Y23" id="fact3">CHICAGO RIVET &amp; MACHINE CO</dei:EntityRegistrantName>
    <dei:SecurityExchangeName contextRef="Y23" id="fact4">NYSEAMER</dei:SecurityExchangeName>
    <dei:AmendmentFlag contextRef="Y23" id="fact5">false</dei:AmendmentFlag>
    <dei:DocumentFiscalYearFocus contextRef="Y23" id="fact6">2023</dei:DocumentFiscalYearFocus>
    <dei:DocumentFiscalPeriodFocus contextRef="Y23" id="fact7">FY</dei:DocumentFiscalPeriodFocus>
    <dei:DocumentType contextRef="Y23" id="ixv-5202">10-K</dei:DocumentType>
    <dei:DocumentAnnualReport contextRef="Y23" id="ixv-5203">true</dei:DocumentAnnualReport>
    <dei:DocumentPeriodEndDate contextRef="Y23" id="ixv-5204">2023-12-31</dei:DocumentPeriodEndDate>
    <dei:DocumentTransitionReport contextRef="Y23" id="ixv-5205">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber contextRef="Y23" id="ixv-5206">000-01227</dei:EntityFileNumber>
    <dei:EntityIncorporationStateCountryCode contextRef="Y23" id="ixv-5207">IL</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber contextRef="Y23" id="ixv-5208">36-0904920</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1 contextRef="Y23" id="ixv-5209">901 Frontenac Road</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown contextRef="Y23" id="ixv-5210">Naperville</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince contextRef="Y23" id="ixv-5211">IL</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode contextRef="Y23" id="ixv-5212">60563</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode contextRef="Y23" id="ixv-5213">630</dei:CityAreaCode>
    <dei:LocalPhoneNumber contextRef="Y23" id="ixv-5214">357-8500</dei:LocalPhoneNumber>
    <dei:Security12bTitle contextRef="Y23" id="ixv-5215">Common Stock, par value $1.00 per share</dei:Security12bTitle>
    <dei:TradingSymbol contextRef="Y23" id="ixv-5216">CVR</dei:TradingSymbol>
    <dei:EntityWellKnownSeasonedIssuer contextRef="Y23" id="ixv-5217">No</dei:EntityWellKnownSeasonedIssuer>
    <dei:EntityVoluntaryFilers contextRef="Y23" id="ixv-5218">No</dei:EntityVoluntaryFilers>
    <dei:EntityCurrentReportingStatus contextRef="Y23" id="ixv-5219">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent contextRef="Y23" id="ixv-5220">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory contextRef="Y23" id="ixv-5221">Non-accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness contextRef="Y23" id="ixv-5222">true</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany contextRef="Y23" id="ixv-5223">false</dei:EntityEmergingGrowthCompany>
    <dei:IcfrAuditorAttestationFlag contextRef="Y23" id="ixv-5224">false</dei:IcfrAuditorAttestationFlag>
    <dei:DocumentFinStmtErrorCorrectionFlag contextRef="Y23" id="ixv-5225">false</dei:DocumentFinStmtErrorCorrectionFlag>
    <dei:EntityShellCompany contextRef="Y23" id="ixv-5226">false</dei:EntityShellCompany>
    <dei:EntityPublicFloat
      contextRef="E23Q2"
      decimals="INF"
      id="ixv-5227"
      unitRef="USD">24848915</dei:EntityPublicFloat>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="I240318"
      decimals="INF"
      id="ixv-5228"
      unitRef="Shares">966132</dei:EntityCommonStockSharesOutstanding>
    <dei:AuditorFirmId contextRef="Y23" id="ixv-5229">173</dei:AuditorFirmId>
    <dei:AuditorName contextRef="Y23" id="ixv-5230">Crowe LLP</dei:AuditorName>
    <dei:AuditorLocation contextRef="Y23" id="ixv-5231">Oak Brook, Illinois</dei:AuditorLocation>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="E23" decimals="INF" id="ixv-5232" unitRef="USD">1387075</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="E22" decimals="INF" id="ixv-5233" unitRef="USD">4045101</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:ShortTermInvestments contextRef="E23" decimals="INF" id="ixv-5234" unitRef="USD">1771120</us-gaap:ShortTermInvestments>
    <us-gaap:ShortTermInvestments contextRef="E22" decimals="INF" id="ixv-5235" unitRef="USD">2691000</us-gaap:ShortTermInvestments>
    <us-gaap:AccountsReceivableNetCurrent contextRef="E23" decimals="INF" id="ixv-5236" unitRef="USD">4275882</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent contextRef="E22" decimals="INF" id="ixv-5237" unitRef="USD">4975137</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:ContractWithCustomerAssetNetCurrent contextRef="E23" decimals="INF" id="ixv-5238" unitRef="USD">118301</us-gaap:ContractWithCustomerAssetNetCurrent>
    <us-gaap:ContractWithCustomerAssetNetCurrent contextRef="E22" decimals="128" id="ixv-5239" unitRef="USD">0</us-gaap:ContractWithCustomerAssetNetCurrent>
    <us-gaap:InventoryNet contextRef="E23" decimals="INF" id="ixv-5240" unitRef="USD">7327653</us-gaap:InventoryNet>
    <us-gaap:InventoryNet contextRef="E22" decimals="INF" id="ixv-5241" unitRef="USD">9121230</us-gaap:InventoryNet>
    <us-gaap:PrepaidTaxes contextRef="E23" decimals="INF" id="ixv-5242" unitRef="USD">580287</us-gaap:PrepaidTaxes>
    <us-gaap:PrepaidTaxes contextRef="E22" decimals="INF" id="ixv-5243" unitRef="USD">509119</us-gaap:PrepaidTaxes>
    <us-gaap:OtherAssetsCurrent contextRef="E23" decimals="INF" id="ixv-5244" unitRef="USD">380562</us-gaap:OtherAssetsCurrent>
    <us-gaap:OtherAssetsCurrent contextRef="E22" decimals="INF" id="ixv-5245" unitRef="USD">422747</us-gaap:OtherAssetsCurrent>
    <us-gaap:AssetsCurrent contextRef="E23" decimals="INF" id="ixv-5246" unitRef="USD">15840880</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent contextRef="E22" decimals="INF" id="ixv-5247" unitRef="USD">21764334</us-gaap:AssetsCurrent>
    <us-gaap:PropertyPlantAndEquipmentNet contextRef="E23" decimals="INF" id="ixv-5248" unitRef="USD">11665082</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet contextRef="E22" decimals="INF" id="ixv-5249" unitRef="USD">11861793</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:DeferredIncomeTaxAssetsNet contextRef="E23" decimals="INF" id="ixv-5250" unitRef="USD">324943</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:DeferredIncomeTaxAssetsNet contextRef="E22" decimals="128" id="ixv-5251" unitRef="USD">0</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:Assets contextRef="E23" decimals="INF" id="ixv-5252" unitRef="USD">27830905</us-gaap:Assets>
    <us-gaap:Assets contextRef="E22" decimals="INF" id="ixv-5253" unitRef="USD">33626127</us-gaap:Assets>
    <us-gaap:AccountsPayableCurrent contextRef="E23" decimals="INF" id="ixv-5254" unitRef="USD">788974</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent contextRef="E22" decimals="INF" id="ixv-5255" unitRef="USD">697235</us-gaap:AccountsPayableCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent contextRef="E23" decimals="INF" id="ixv-5256" unitRef="USD">514900</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent contextRef="E22" decimals="INF" id="ixv-5257" unitRef="USD">462332</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent contextRef="E23" decimals="INF" id="ixv-5258" unitRef="USD">129963</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent contextRef="E22" decimals="INF" id="ixv-5259" unitRef="USD">327961</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:CustomerAdvancesAndDepositsCurrent contextRef="E23" decimals="INF" id="ixv-5260" unitRef="USD">430179</us-gaap:CustomerAdvancesAndDepositsCurrent>
    <us-gaap:CustomerAdvancesAndDepositsCurrent contextRef="E22" decimals="INF" id="ixv-5261" unitRef="USD">203717</us-gaap:CustomerAdvancesAndDepositsCurrent>
    <us-gaap:LiabilitiesCurrent contextRef="E23" decimals="INF" id="ixv-5262" unitRef="USD">1864016</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent contextRef="E22" decimals="INF" id="ixv-5263" unitRef="USD">1691245</us-gaap:LiabilitiesCurrent>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet contextRef="E23" decimals="128" id="ixv-5264" unitRef="USD">0</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet contextRef="E22" decimals="INF" id="ixv-5265" unitRef="USD">948084</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:Liabilities contextRef="E23" decimals="INF" id="ixv-5266" unitRef="USD">1864016</us-gaap:Liabilities>
    <us-gaap:Liabilities contextRef="E22" decimals="INF" id="ixv-5267" unitRef="USD">2639329</us-gaap:Liabilities>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="E23"
      decimals="INF"
      id="ixv-5268"
      unitRef="UsdPerShare">0</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="E22"
      decimals="INF"
      id="ixv-5269"
      unitRef="UsdPerShare">0</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="E23"
      decimals="INF"
      id="ixv-5270"
      unitRef="Shares">500000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="E22"
      decimals="INF"
      id="ixv-5271"
      unitRef="Shares">500000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="E23"
      decimals="INF"
      id="ixv-5272"
      unitRef="Shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="E22"
      decimals="INF"
      id="ixv-5273"
      unitRef="Shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockValue contextRef="E23" decimals="128" id="ixv-5274" unitRef="USD">0</us-gaap:PreferredStockValue>
    <us-gaap:PreferredStockValue contextRef="E22" decimals="128" id="ixv-5275" unitRef="USD">0</us-gaap:PreferredStockValue>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="E23"
      decimals="INF"
      id="ixv-5276"
      unitRef="UsdPerShare">1</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="E22"
      decimals="INF"
      id="ixv-5277"
      unitRef="UsdPerShare">1</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="E23"
      decimals="INF"
      id="ixv-5278"
      unitRef="Shares">4000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="E22"
      decimals="INF"
      id="ixv-5279"
      unitRef="Shares">4000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesIssued
      contextRef="E23"
      decimals="INF"
      id="ixv-5280"
      unitRef="Shares">1138096</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesIssued
      contextRef="E22"
      decimals="INF"
      id="ixv-5281"
      unitRef="Shares">1138096</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="E23"
      decimals="INF"
      id="ixv-5282"
      unitRef="Shares">966132</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="E22"
      decimals="INF"
      id="ixv-5283"
      unitRef="Shares">966132</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockValueOutstanding contextRef="E23" decimals="INF" id="ixv-5284" unitRef="USD">1138096</us-gaap:CommonStockValueOutstanding>
    <us-gaap:CommonStockValueOutstanding contextRef="E22" decimals="INF" id="ixv-5285" unitRef="USD">1138096</us-gaap:CommonStockValueOutstanding>
    <us-gaap:AdditionalPaidInCapital contextRef="E23" decimals="INF" id="ixv-5286" unitRef="USD">447134</us-gaap:AdditionalPaidInCapital>
    <us-gaap:AdditionalPaidInCapital contextRef="E22" decimals="INF" id="ixv-5287" unitRef="USD">447134</us-gaap:AdditionalPaidInCapital>
    <us-gaap:RetainedEarningsAccumulatedDeficit contextRef="E23" decimals="INF" id="ixv-5288" unitRef="USD">28303757</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit contextRef="E22" decimals="INF" id="ixv-5289" unitRef="USD">33323666</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:TreasuryStockValue contextRef="E23" decimals="INF" id="ixv-5290" unitRef="USD">3922098</us-gaap:TreasuryStockValue>
    <us-gaap:TreasuryStockValue contextRef="E22" decimals="INF" id="ixv-5291" unitRef="USD">3922098</us-gaap:TreasuryStockValue>
    <us-gaap:StockholdersEquity contextRef="E23" decimals="INF" id="ixv-5292" unitRef="USD">25966889</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="E22" decimals="INF" id="ixv-5293" unitRef="USD">30986798</us-gaap:StockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity contextRef="E23" decimals="INF" id="ixv-5294" unitRef="USD">27830905</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity contextRef="E22" decimals="INF" id="ixv-5295" unitRef="USD">33626127</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:Revenues contextRef="Y23" decimals="INF" id="ixv-5296" unitRef="USD">31507722</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="Y22" decimals="INF" id="ixv-5297" unitRef="USD">33646033</us-gaap:Revenues>
    <us-gaap:CostOfRevenue contextRef="Y23" decimals="INF" id="ixv-5298" unitRef="USD">32107312</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue contextRef="Y22" decimals="INF" id="ixv-5299" unitRef="USD">29830710</us-gaap:CostOfRevenue>
    <us-gaap:GrossProfit contextRef="Y23" decimals="INF" id="ixv-5300" unitRef="USD">-599590</us-gaap:GrossProfit>
    <us-gaap:GrossProfit contextRef="Y22" decimals="INF" id="ixv-5301" unitRef="USD">3815323</us-gaap:GrossProfit>
    <us-gaap:SellingGeneralAndAdministrativeExpense contextRef="Y23" decimals="INF" id="ixv-5302" unitRef="USD">5237656</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense contextRef="Y22" decimals="INF" id="ixv-5303" unitRef="USD">4992521</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:GainLossOnSaleOfPropertyPlantEquipment contextRef="Y23" decimals="128" id="ixv-5304" unitRef="USD">0</us-gaap:GainLossOnSaleOfPropertyPlantEquipment>
    <us-gaap:GainLossOnSaleOfPropertyPlantEquipment contextRef="Y22" decimals="INF" id="ixv-5305" unitRef="USD">4738394</us-gaap:GainLossOnSaleOfPropertyPlantEquipment>
    <us-gaap:OperatingExpenses contextRef="Y23" decimals="INF" id="ixv-5306" unitRef="USD">5237656</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses contextRef="Y22" decimals="INF" id="ixv-5307" unitRef="USD">254127</us-gaap:OperatingExpenses>
    <us-gaap:OperatingIncomeLoss contextRef="Y23" decimals="INF" id="ixv-5308" unitRef="USD">-5837246</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss contextRef="Y22" decimals="INF" id="ixv-5309" unitRef="USD">3561196</us-gaap:OperatingIncomeLoss>
    <us-gaap:OtherNonoperatingIncomeExpense contextRef="Y23" decimals="INF" id="ixv-5310" unitRef="USD">108234</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense contextRef="Y22" decimals="INF" id="ixv-5311" unitRef="USD">91433</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic contextRef="Y23" decimals="INF" id="ixv-5312" unitRef="USD">-5729012</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic contextRef="Y22" decimals="INF" id="ixv-5313" unitRef="USD">3652629</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="Y23" decimals="INF" id="ixv-5314" unitRef="USD">-1327428</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="Y22" decimals="INF" id="ixv-5315" unitRef="USD">785000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:NetIncomeLoss contextRef="Y23" decimals="INF" id="ixv-5316" unitRef="USD">-4401584</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="Y22" decimals="INF" id="ixv-5317" unitRef="USD">2867629</us-gaap:NetIncomeLoss>
    <us-gaap:IncomeLossFromContinuingOperationsPerBasicShare
      contextRef="Y23"
      decimals="INF"
      id="ixv-5318"
      unitRef="UsdPerShare">-4.56</us-gaap:IncomeLossFromContinuingOperationsPerBasicShare>
    <us-gaap:IncomeLossFromContinuingOperationsPerBasicShare
      contextRef="Y22"
      decimals="INF"
      id="ixv-5319"
      unitRef="UsdPerShare">2.97</us-gaap:IncomeLossFromContinuingOperationsPerBasicShare>
    <us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare
      contextRef="Y23"
      decimals="INF"
      id="ixv-5320"
      unitRef="UsdPerShare">-4.56</us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare>
    <us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare
      contextRef="Y22"
      decimals="INF"
      id="ixv-5321"
      unitRef="UsdPerShare">2.97</us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Y23"
      decimals="INF"
      id="ixv-5322"
      unitRef="Shares">966132</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Y22"
      decimals="INF"
      id="ixv-5323"
      unitRef="Shares">966132</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="Y23"
      decimals="INF"
      id="ixv-5324"
      unitRef="Shares">966132</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="Y22"
      decimals="INF"
      id="ixv-5325"
      unitRef="Shares">966132</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:CommonStockDividendsPerShareDeclared
      contextRef="Y23"
      decimals="INF"
      id="ixv-5326"
      unitRef="UsdPerShare">0.64</us-gaap:CommonStockDividendsPerShareDeclared>
    <us-gaap:CommonStockDividendsPerShareDeclared
      contextRef="Y22"
      decimals="INF"
      id="ixv-5327"
      unitRef="UsdPerShare">0.88</us-gaap:CommonStockDividendsPerShareDeclared>
    <us-gaap:StockholdersEquity
      contextRef="E21_StEqComps-PrefStock"
      decimals="INF"
      id="ixv-5328"
      unitRef="USD">0</us-gaap:StockholdersEquity>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="E21_StEqComps-CommonStock"
      decimals="INF"
      id="ixv-5329"
      unitRef="Shares">966132</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="E21_StEqComps-CommonStock"
      decimals="INF"
      id="ixv-5330"
      unitRef="USD">1138096</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="E21_StEqComps-AddPaidInCap"
      decimals="INF"
      id="ixv-5331"
      unitRef="USD">447134</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="E21_StEqComps-RetainedEarnings"
      decimals="INF"
      id="ixv-5332"
      unitRef="USD">31306233</us-gaap:StockholdersEquity>
    <us-gaap:TreasuryStockCommonShares
      contextRef="E21_StEqComps-TreasuryStockCommon"
      decimals="INF"
      id="ixv-5333"
      unitRef="Shares">171964</us-gaap:TreasuryStockCommonShares>
    <us-gaap:StockholdersEquity
      contextRef="E21_StEqComps-TreasuryStockCommon"
      decimals="INF"
      id="ixv-5334"
      unitRef="USD">-3922098</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="E21" decimals="INF" id="ixv-5335" unitRef="USD">28969365</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="Y22_StEqComps-RetainedEarnings"
      decimals="INF"
      id="ixv-5336"
      unitRef="USD">2867629</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="Y22" decimals="INF" id="ixv-5337" unitRef="USD">2867629</us-gaap:NetIncomeLoss>
    <us-gaap:CommonStockDividendsPerShareDeclared
      contextRef="Y22"
      decimals="INF"
      id="ixv-5338"
      unitRef="UsdPerShare">0.88</us-gaap:CommonStockDividendsPerShareDeclared>
    <us-gaap:Dividends
      contextRef="Y22_StEqComps-RetainedEarnings"
      decimals="INF"
      id="ixv-5339"
      unitRef="USD">850196</us-gaap:Dividends>
    <us-gaap:Dividends contextRef="Y22" decimals="INF" id="ixv-5340" unitRef="USD">850196</us-gaap:Dividends>
    <us-gaap:StockholdersEquity
      contextRef="E22_StEqComps-PrefStock"
      decimals="INF"
      id="ixv-5341"
      unitRef="USD">0</us-gaap:StockholdersEquity>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="E22_StEqComps-CommonStock"
      decimals="INF"
      id="ixv-5342"
      unitRef="Shares">966132</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="E22_StEqComps-CommonStock"
      decimals="INF"
      id="ixv-5343"
      unitRef="USD">1138096</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="E22_StEqComps-AddPaidInCap"
      decimals="INF"
      id="ixv-5344"
      unitRef="USD">447134</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="E22_StEqComps-RetainedEarnings"
      decimals="INF"
      id="ixv-5345"
      unitRef="USD">33323666</us-gaap:StockholdersEquity>
    <us-gaap:TreasuryStockCommonShares
      contextRef="E21_StEqComps-TreasuryStockCommon"
      decimals="INF"
      id="ixv-5346"
      unitRef="Shares">171964</us-gaap:TreasuryStockCommonShares>
    <us-gaap:StockholdersEquity
      contextRef="E22_StEqComps-TreasuryStockCommon"
      decimals="INF"
      id="ixv-5347"
      unitRef="USD">-3922098</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="E22" decimals="INF" id="ixv-5348" unitRef="USD">30986798</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="Y23_StEqComps-RetainedEarnings"
      decimals="INF"
      id="ixv-5349"
      unitRef="USD">-4401584</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="Y23" decimals="INF" id="ixv-5350" unitRef="USD">-4401584</us-gaap:NetIncomeLoss>
    <us-gaap:CommonStockDividendsPerShareDeclared
      contextRef="Y23"
      decimals="INF"
      id="ixv-5351"
      unitRef="UsdPerShare">0.64</us-gaap:CommonStockDividendsPerShareDeclared>
    <us-gaap:Dividends
      contextRef="Y23_StEqComps-RetainedEarnings"
      decimals="INF"
      id="ixv-5352"
      unitRef="USD">618325</us-gaap:Dividends>
    <us-gaap:Dividends contextRef="Y23" decimals="INF" id="ixv-5353" unitRef="USD">618325</us-gaap:Dividends>
    <us-gaap:StockholdersEquity
      contextRef="E23_StEqComps-PrefStock"
      decimals="INF"
      id="ixv-5354"
      unitRef="USD">0</us-gaap:StockholdersEquity>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="E23_StEqComps-CommonStock"
      decimals="INF"
      id="ixv-5355"
      unitRef="Shares">966132</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="E23_StEqComps-CommonStock"
      decimals="INF"
      id="ixv-5356"
      unitRef="USD">1138096</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="E23_StEqComps-AddPaidInCap"
      decimals="INF"
      id="ixv-5357"
      unitRef="USD">447134</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="E23_StEqComps-RetainedEarnings"
      decimals="INF"
      id="ixv-5358"
      unitRef="USD">28303757</us-gaap:StockholdersEquity>
    <us-gaap:TreasuryStockCommonShares
      contextRef="E23_StEqComps-TreasuryStockCommon"
      decimals="INF"
      id="ixv-5359"
      unitRef="Shares">171964</us-gaap:TreasuryStockCommonShares>
    <us-gaap:StockholdersEquity
      contextRef="E23_StEqComps-TreasuryStockCommon"
      decimals="INF"
      id="ixv-5360"
      unitRef="USD">-3922098</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="E23" decimals="INF" id="ixv-5361" unitRef="USD">25966889</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss contextRef="Y23" decimals="INF" id="ixv-5362" unitRef="USD">-4401584</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="Y22" decimals="INF" id="ixv-5363" unitRef="USD">2867629</us-gaap:NetIncomeLoss>
    <us-gaap:Depreciation contextRef="Y23" decimals="INF" id="ixv-5364" unitRef="USD">1275078</us-gaap:Depreciation>
    <us-gaap:Depreciation contextRef="Y22" decimals="INF" id="ixv-5365" unitRef="USD">1279870</us-gaap:Depreciation>
    <us-gaap:GainLossOnDispositionOfAssets contextRef="Y23" decimals="INF" id="ixv-5366" unitRef="USD">-50422</us-gaap:GainLossOnDispositionOfAssets>
    <us-gaap:GainLossOnDispositionOfAssets contextRef="Y22" decimals="INF" id="ixv-5367" unitRef="USD">-4741096</us-gaap:GainLossOnDispositionOfAssets>
    <us-gaap:DeferredIncomeTaxExpenseBenefit contextRef="Y23" decimals="INF" id="ixv-5368" unitRef="USD">-1273027</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit contextRef="Y22" decimals="INF" id="ixv-5369" unitRef="USD">22000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:IncreaseDecreaseInAccountsReceivable contextRef="Y23" decimals="INF" id="ixv-5370" unitRef="USD">699255</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable contextRef="Y22" decimals="INF" id="ixv-5371" unitRef="USD">672847</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInContractWithCustomerAsset contextRef="Y23" decimals="INF" id="ixv-5372" unitRef="USD">-118301</us-gaap:IncreaseDecreaseInContractWithCustomerAsset>
    <us-gaap:IncreaseDecreaseInContractWithCustomerAsset contextRef="Y22" decimals="INF" id="ixv-5373" unitRef="USD">0</us-gaap:IncreaseDecreaseInContractWithCustomerAsset>
    <us-gaap:IncreaseDecreaseInInventories contextRef="Y23" decimals="INF" id="ixv-5374" unitRef="USD">1793577</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories contextRef="Y22" decimals="INF" id="ixv-5375" unitRef="USD">-601450</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets contextRef="Y23" decimals="INF" id="ixv-5376" unitRef="USD">-28983</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets contextRef="Y22" decimals="INF" id="ixv-5377" unitRef="USD">-585190</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInAccountsPayable contextRef="Y23" decimals="INF" id="ixv-5378" unitRef="USD">91739</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccountsPayable contextRef="Y22" decimals="INF" id="ixv-5379" unitRef="USD">4600</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities contextRef="Y23" decimals="INF" id="ixv-5380" unitRef="USD">52568</us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities>
    <us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities contextRef="Y22" decimals="INF" id="ixv-5381" unitRef="USD">-47000</us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities>
    <us-gaap:IncreaseDecreaseInOtherAccruedLiabilities contextRef="Y23" decimals="INF" id="ixv-5382" unitRef="USD">-197998</us-gaap:IncreaseDecreaseInOtherAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInOtherAccruedLiabilities contextRef="Y22" decimals="INF" id="ixv-5383" unitRef="USD">-38457</us-gaap:IncreaseDecreaseInOtherAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInCustomerAdvancesAndDeposits contextRef="Y23" decimals="INF" id="ixv-5384" unitRef="USD">226462</us-gaap:IncreaseDecreaseInCustomerAdvancesAndDeposits>
    <us-gaap:IncreaseDecreaseInCustomerAdvancesAndDeposits contextRef="Y22" decimals="INF" id="ixv-5385" unitRef="USD">-98707</us-gaap:IncreaseDecreaseInCustomerAdvancesAndDeposits>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities contextRef="Y23" decimals="INF" id="ixv-5386" unitRef="USD">-1931636</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities contextRef="Y22" decimals="INF" id="ixv-5387" unitRef="USD">-1264954</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToAcquireProductiveAssets contextRef="Y23" decimals="INF" id="ixv-5388" unitRef="USD">1078367</us-gaap:PaymentsToAcquireProductiveAssets>
    <us-gaap:PaymentsToAcquireProductiveAssets contextRef="Y22" decimals="INF" id="ixv-5389" unitRef="USD">969943</us-gaap:PaymentsToAcquireProductiveAssets>
    <us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment contextRef="Y23" decimals="INF" id="ixv-5390" unitRef="USD">50422</us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment>
    <us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment contextRef="Y22" decimals="INF" id="ixv-5391" unitRef="USD">5043240</us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment>
    <us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfHeldToMaturitySecurities contextRef="Y23" decimals="INF" id="ixv-5392" unitRef="USD">2691000</us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfHeldToMaturitySecurities>
    <us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfHeldToMaturitySecurities contextRef="Y22" decimals="INF" id="ixv-5393" unitRef="USD">1495000</us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfHeldToMaturitySecurities>
    <us-gaap:PaymentsToAcquireHeldToMaturitySecurities contextRef="Y23" decimals="INF" id="ixv-5394" unitRef="USD">1771120</us-gaap:PaymentsToAcquireHeldToMaturitySecurities>
    <us-gaap:PaymentsToAcquireHeldToMaturitySecurities contextRef="Y22" decimals="INF" id="ixv-5395" unitRef="USD">1445000</us-gaap:PaymentsToAcquireHeldToMaturitySecurities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities contextRef="Y23" decimals="INF" id="ixv-5396" unitRef="USD">-108065</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities contextRef="Y22" decimals="INF" id="ixv-5397" unitRef="USD">4123297</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:PaymentsOfDividendsCommonStock contextRef="Y23" decimals="INF" id="ixv-5398" unitRef="USD">618325</us-gaap:PaymentsOfDividendsCommonStock>
    <us-gaap:PaymentsOfDividendsCommonStock contextRef="Y22" decimals="INF" id="ixv-5399" unitRef="USD">850196</us-gaap:PaymentsOfDividendsCommonStock>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities contextRef="Y23" decimals="INF" id="ixv-5400" unitRef="USD">-618325</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities contextRef="Y22" decimals="INF" id="ixv-5401" unitRef="USD">-850196</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect contextRef="Y23" decimals="INF" id="ixv-5402" unitRef="USD">-2658026</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect contextRef="Y22" decimals="INF" id="ixv-5403" unitRef="USD">2008147</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="E22" decimals="INF" id="ixv-5404" unitRef="USD">4045101</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="E21" decimals="INF" id="ixv-5405" unitRef="USD">2036954</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="E23" decimals="INF" id="ixv-5406" unitRef="USD">1387075</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="E22" decimals="INF" id="ixv-5407" unitRef="USD">4045101</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:IncomeTaxesPaidNet contextRef="Y23" decimals="128" id="ixv-5408" unitRef="USD">0</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:IncomeTaxesPaidNet contextRef="Y22" decimals="INF" id="ixv-5409" unitRef="USD">1271679</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock contextRef="Y23" id="ixv-2396">&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&lt;b&gt;1 - Nature of Business and Significant Accounting Policies&lt;/b&gt;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&lt;b&gt;Nature of Business-&lt;/b&gt;The Company operates in the fastener industry and is in the business of producing and selling rivets, cold-formed fasteners and parts, screw machine products, automatic rivet setting machines and parts and tools for such machines.&lt;/p&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&lt;b&gt;A summary of the Company&#x2019;s significant accounting policies follows:&lt;/b&gt;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&lt;b&gt;Principles of Consolidation-&lt;/b&gt;The consolidated financial statements include the accounts of Chicago Rivet &amp;amp; Machine Co. and its wholly-owned subsidiary, H &amp;amp; L Tool Company, Inc. (&#x201c;H &amp;amp; L Tool&#x201d;). &#160;All significant intercompany accounts and transactions have been eliminated.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&lt;b&gt;Revenue Recognition-&lt;/b&gt; Revenue is recognized when control of the promised goods or services is transferred to our customers, generally upon shipment of goods or completion of services, in an amount that reflects the consideration we expect to receive in exchange for those goods or services. &#160;Sales taxes we may collect concurrent with revenue producing activities are excluded from revenue. &#160;Revenue is recognized net of certain sales adjustments to arrive at net sales as reported on the statement of income. &#160;These adjustments primarily relate to customer returns and allowances, which vary over time. &#160;The Company records a liability and reduction in sales for estimated product returns based upon historical experience. &#160;If we determine that our obligation under warranty claims is probable and subject to reasonable determination, an estimate of that liability is recorded as an offset against revenue at that time. &#160;As of December 31, 2023 and 2022, reserves for warranty claims were not material. &#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;Cash received by the Company prior to shipment is recorded as unearned revenue. &#160;For certain assembly equipment segment transactions, revenue is recognized based on progress toward completion of the performance obligation using a labor-based measure. &#160;Labor incurred and specific material costs are compared to milestone payments per sales contract. &#160;Based on our experience, this method most accurately reflects the transfer of goods under such contracts. &#160;During 2023, the Company realized $342,328 of revenue related to such contracts, and has $123,172 for the remaining performance obligation under such contracts which the Company expects to recognize as revenue in the first quarter of 2024. Contract assets of $118,301 was recorded relating to these contracts. Shipping and handling fees billed to customers are recognized in net sales, and related costs as cost of sales, when incurred.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&lt;b&gt;Credit Risk-&lt;/b&gt;The Company extends credit on the basis of terms that are customary within our markets to various companies doing business primarily in the automotive industry. &#160;The Company has a concentration of credit risk primarily within the automotive industry and in the Midwestern United States. &#160;The Company has established an allowance for accounts that may become uncollectible in the future. &#160;This estimated allowance is based primarily on management's evaluation of the financial condition of the customer and historical experience. &#160;The Company monitors its accounts receivable and charges to expense an amount equal to its estimate of potential credit losses. &#160;The Company considers a number of factors in determining its estimates, including the length of time its trade accounts receivable are past due, the Company's previous loss history and the customer's current ability to pay its obligation. &#160;The Company also considers current economic conditions, the economic outlook and industry-specific factors in its evaluation. &#160;Accounts receivable balances are charged off against the allowance when it is determined that the receivable will not be recovered.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&lt;b&gt;Cash and Cash Equivalents and Short-Term Investments-&lt;/b&gt;The Company considers all highly liquid investments, including U.S. Treasury bills and certificates of deposit, with a maturity of three months or less when purchased to be cash equivalents. &#160;Certificates of deposit and treasury bills with an original maturity of greater than three months but less than one year are separately presented as Short-Term Investments at cost which approximates market value. &#160;The Company maintains cash on deposit in several financial institutions. At times, the account balances may be in excess of Federal Deposit Insurance Corporation insured limits.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&lt;b&gt;Fair Value of Financial Instruments-&lt;/b&gt;The carrying amounts reported in the consolidated balance sheets for cash and cash equivalents, certificates of deposit, treasury bills, accounts receivable and accounts payable approximate fair value based on their short-term nature.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&lt;b&gt;Inventories-&lt;/b&gt;Inventories are stated at the lower of cost or net realizable value, cost being determined by the first-in, first-out method. &#160;The value of inventories is reduced for estimated excess and obsolete inventories based on a review of on-hand inventories compared to historical and estimated future sales and usage.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&lt;b&gt;Property, Plant and Equipment-&lt;/b&gt;Properties are stated at cost and are depreciated over their estimated useful lives using the straight-line method for financial reporting purposes. &#160;Accelerated methods of depreciation are used for income tax purposes. &#160;Direct costs related to developing or obtaining software for internal use are capitalized as property and equipment. &#160;Capitalized software costs are amortized over the software&#x2019;s useful life when the software is placed in service. &#160;The estimated useful lives by asset category are:&lt;/p&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="margin:0 auto;border-collapse:collapse;width:277pt"&gt;
&lt;tr&gt;
&lt;td style="width:162.55pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;&lt;i&gt;Asset Category&lt;/i&gt;&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:114.45pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;&lt;i&gt;Estimated Useful Life&lt;/i&gt;&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:162.55pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Land improvements&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;..&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:114.45pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;15 to 40 years&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:162.55pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Buildings and improvements&#x2026;&#x2026;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:114.45pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;10 to 40 years&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:162.55pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Machinery and equipment&#x2026;&#x2026;&#x2026;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:114.45pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;5 to 18 years&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:162.55pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Capitalized software costs&#x2026;&#x2026;&#x2026;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:114.45pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;3 to 5 years&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:162.55pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Other equipment&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:114.45pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;3 to 10 years&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt; &lt;/table&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;The Company reviews the carrying value of property, plant and equipment for impairment whenever events and circumstances indicate that the carrying value of an asset may not be recoverable from the estimated future cash flows expected to result from its use and eventual disposition. &#160;In cases where undiscounted expected future cash flows are less than the carrying value, an impairment loss is recognized equal to an amount by which the carrying value exceeds the fair value of assets. &#160;There were no triggering events requiring assessment of impairment as of December 31, 2023 and 2022.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;When properties are retired or sold, the related cost and accumulated depreciation are removed from the respective accounts, and any gain or loss on disposition is recognized in current operations. &#160;Maintenance, repairs and minor betterments that do not improve the related asset or extend its useful life are charged to operations as incurred. &lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&lt;b&gt;Income Taxes&#x2014;&lt;/b&gt;Deferred income taxes are determined under the asset and liability method. &#160;Deferred income taxes arise from temporary differences between the income tax basis of assets and liabilities and their reported amounts in the financial statements. &#160;Deferred taxes are shown on the balance sheet as a net long-term asset or liability.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;The Company applies a comprehensive model for the financial statement recognition, measurement, classification and disclosure of uncertain tax positions.&#160; In the first step of the two-step process, the Company evaluates the tax position for recognition by determining if the weight of available evidence indicates that it is more likely than not that the position will be sustained on audit, including resolution of related appeals or litigation processes, if any. In the second step, the Company measures the tax benefit as the largest amount that is more than 50% likely of being realized upon settlement.&#160; As of December 31, 2023 and 2022, the Company determined that there are no uncertain tax positions with a more than 50% likelihood of being realized upon settlement.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;The Company classifies interest and penalties related to unrecognized tax benefits as a component of income tax expense. &#160;There were no such expenses in 2023 or 2022.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;The Company&#x2019;s federal income tax returns for the 2020 through 2022 tax years are subject to examination by the Internal Revenue Service (&#x201c;IRS&#x201d;). &#160;While it may be possible that a reduction could occur with respect to the Company&#x2019;s unrecognized tax benefits as an outcome of an IRS examination, management does not anticipate any adjustments that would result in a material change to the results of operations or financial condition of the Company.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;No statutes have been extended on any of the Company&#x2019;s federal income tax filings. The statute of limitations on the Company&#x2019;s 2020, 2021 and 2022 federal income tax returns will expire on September 15, 2024, 2025 and 2026, respectively.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;The Company&#x2019;s state income tax returns for the 2020 through 2022 tax years are subject to examination by various state authorities with the latest closing period on October 31, 2026. &#160;The Company is currently not under examination by any state authority for income tax purposes and no statutes for state income tax filings have been extended.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&lt;b&gt;Segment Information-&lt;/b&gt;The Company reports segment information based on the internal structure and reporting of the Company&#x2019;s operations.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&lt;b&gt;Net Income Per Share-&lt;/b&gt; Net income per share of common stock is based on the weighted average number of shares outstanding of 966,132 in 2023 and 2022.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="font-family:Arial"&gt;&lt;b&gt;Use of Estimates-&lt;/b&gt;The preparation of financial statements in conformity with generally accepted accounting principles requires management to make estimates and assumptions that affect the amounts reported in the consolidated financial statements and the accompanying notes. &#160;Significant items subject to estimates and assumptions include depreciable lives, deferred taxes and valuation allowances for accounts receivable and inventory obsolescence. &#160;Actual results could differ from those estimates.&lt;/span&gt;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&lt;b&gt;Recent Accounting Pronouncements-&lt;/b&gt; In June 2016, the FASB issued ASU No. 2016-13, Financial Instruments&#160;- Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments and in November 2018 issued an amendment, ASU 2018-19, Codification Improvements to Topic 326, Financial Instruments &#x2013;&#160;Credit Losses. &#160;ASU 2016-13 amends the impairment model by requiring entities to use a forward-looking approach based on expected losses rather than incurred losses to estimate credit losses on certain types of financial instruments, including trade receivables. This may result in the earlier recognition of allowances for losses. ASU 2016-13 and ASU 2018-19 should be applied on either a prospective transition or modified-retrospective approach depending on the subtopic. &#160;ASU 2016-13 is effective for annual periods beginning after December 15, 2022, including interim periods within those fiscal years, with early adoption permitted. The Company adopted this ASU on January 1, 2023. &#160;The impact of the adoption on our consolidated financial statements was not material and primarily resulted in new/enhanced disclosures only.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;In November 2023, the FASB issued ASU No. 2023-07, Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures, which requires a public entity to disclose its significant segment expense categories and amounts for each reportable segment. &#160;The new guidance is effective for fiscal years beginning after December 15, 2023, and interim periods in fiscal years beginning after December 15, 2024. &#160;The Company is evaluating the impact of this ASU. &#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;In December 2023, the FASB issued ASU No. 2023-09, Income Taxes (Topic 740): Improvements to Income Tax Disclosures, to enhance the transparency and decision usefulness of income tax disclosures providing investors with information to better assess how an entity&#x2019;s operations and related tax risks and tax planning and operational opportunities affect its tax rate and prospects for future cash flows. The new guidance is effective for annual periods beginning after December 31, 2024. &#160;The Company is evaluating the impact that it will have on our consolidated financial statements and disclosures.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; </us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock>
    <us-gaap:ConsolidationPolicyTextBlock contextRef="Y23" id="ixv-2406">&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&lt;b&gt;Principles of Consolidation-&lt;/b&gt;The consolidated financial statements include the accounts of Chicago Rivet &amp;amp; Machine Co. and its wholly-owned subsidiary, H &amp;amp; L Tool Company, Inc. (&#x201c;H &amp;amp; L Tool&#x201d;). &#160;All significant intercompany accounts and transactions have been eliminated.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; </us-gaap:ConsolidationPolicyTextBlock>
    <us-gaap:RevenueRecognitionAccountingPolicyGrossAndNetRevenueDisclosure contextRef="Y23" id="ixv-2412">&lt;p style="font:10pt Arial;margin:0"&gt;&lt;b&gt;Revenue Recognition-&lt;/b&gt; Revenue is recognized when control of the promised goods or services is transferred to our customers, generally upon shipment of goods or completion of services, in an amount that reflects the consideration we expect to receive in exchange for those goods or services. &#160;Sales taxes we may collect concurrent with revenue producing activities are excluded from revenue. &#160;Revenue is recognized net of certain sales adjustments to arrive at net sales as reported on the statement of income. &#160;These adjustments primarily relate to customer returns and allowances, which vary over time. &#160;The Company records a liability and reduction in sales for estimated product returns based upon historical experience. &#160;If we determine that our obligation under warranty claims is probable and subject to reasonable determination, an estimate of that liability is recorded as an offset against revenue at that time. &#160;As of December 31, 2023 and 2022, reserves for warranty claims were not material. &#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;Cash received by the Company prior to shipment is recorded as unearned revenue. &#160;For certain assembly equipment segment transactions, revenue is recognized based on progress toward completion of the performance obligation using a labor-based measure. &#160;Labor incurred and specific material costs are compared to milestone payments per sales contract. &#160;Based on our experience, this method most accurately reflects the transfer of goods under such contracts. &#160;During 2023, the Company realized $342,328 of revenue related to such contracts, and has $123,172 for the remaining performance obligation under such contracts which the Company expects to recognize as revenue in the first quarter of 2024. Contract assets of $118,301 was recorded relating to these contracts. Shipping and handling fees billed to customers are recognized in net sales, and related costs as cost of sales, when incurred.&lt;/p&gt; </us-gaap:RevenueRecognitionAccountingPolicyGrossAndNetRevenueDisclosure>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized contextRef="Y23" decimals="INF" id="ixv-5410" unitRef="USD">342328</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:RevenueRemainingPerformanceObligation contextRef="E23" decimals="INF" id="ixv-5411" unitRef="USD">123172</us-gaap:RevenueRemainingPerformanceObligation>
    <us-gaap:ContractWithCustomerAssetNetCurrent contextRef="E23" decimals="INF" id="ixv-5412" unitRef="USD">118301</us-gaap:ContractWithCustomerAssetNetCurrent>
    <us-gaap:ConcentrationRiskCreditRisk contextRef="Y23" id="ixv-2418">&lt;p style="font:10pt Arial;margin:0"&gt;&lt;b&gt;Credit Risk-&lt;/b&gt;The Company extends credit on the basis of terms that are customary within our markets to various companies doing business primarily in the automotive industry. &#160;The Company has a concentration of credit risk primarily within the automotive industry and in the Midwestern United States. &#160;The Company has established an allowance for accounts that may become uncollectible in the future. &#160;This estimated allowance is based primarily on management's evaluation of the financial condition of the customer and historical experience. &#160;The Company monitors its accounts receivable and charges to expense an amount equal to its estimate of potential credit losses. &#160;The Company considers a number of factors in determining its estimates, including the length of time its trade accounts receivable are past due, the Company's previous loss history and the customer's current ability to pay its obligation. &#160;The Company also considers current economic conditions, the economic outlook and industry-specific factors in its evaluation. &#160;Accounts receivable balances are charged off against the allowance when it is determined that the receivable will not be recovered.&lt;/p&gt; </us-gaap:ConcentrationRiskCreditRisk>
    <us-gaap:CashAndCashEquivalentsPolicyTextBlock contextRef="Y23" id="ixv-2422">&lt;p style="font:10pt Arial;margin:0"&gt;&lt;b&gt;Cash and Cash Equivalents and Short-Term Investments-&lt;/b&gt;The Company considers all highly liquid investments, including U.S. Treasury bills and certificates of deposit, with a maturity of three months or less when purchased to be cash equivalents. &#160;Certificates of deposit and treasury bills with an original maturity of greater than three months but less than one year are separately presented as Short-Term Investments at cost which approximates market value. &#160;The Company maintains cash on deposit in several financial institutions. At times, the account balances may be in excess of Federal Deposit Insurance Corporation insured limits.&lt;/p&gt; </us-gaap:CashAndCashEquivalentsPolicyTextBlock>
    <us-gaap:FairValueOfFinancialInstrumentsPolicy contextRef="Y23" id="ixv-2426">&lt;p style="font:10pt Arial;margin:0"&gt;&lt;b&gt;Fair Value of Financial Instruments-&lt;/b&gt;The carrying amounts reported in the consolidated balance sheets for cash and cash equivalents, certificates of deposit, treasury bills, accounts receivable and accounts payable approximate fair value based on their short-term nature.&lt;/p&gt; </us-gaap:FairValueOfFinancialInstrumentsPolicy>
    <us-gaap:InventoryPolicyTextBlock contextRef="Y23" id="ixv-2430">&lt;p style="font:10pt Arial;margin:0"&gt;&lt;b&gt;Inventories-&lt;/b&gt;Inventories are stated at the lower of cost or net realizable value, cost being determined by the first-in, first-out method. &#160;The value of inventories is reduced for estimated excess and obsolete inventories based on a review of on-hand inventories compared to historical and estimated future sales and usage.&lt;/p&gt; </us-gaap:InventoryPolicyTextBlock>
    <us-gaap:PropertyPlantAndEquipmentPolicyTextBlock contextRef="Y23" id="ixv-2441">&lt;p style="font:10pt Arial;margin:0"&gt;&lt;b&gt;Property, Plant and Equipment-&lt;/b&gt;Properties are stated at cost and are depreciated over their estimated useful lives using the straight-line method for financial reporting purposes. &#160;Accelerated methods of depreciation are used for income tax purposes. &#160;Direct costs related to developing or obtaining software for internal use are capitalized as property and equipment. &#160;Capitalized software costs are amortized over the software&#x2019;s useful life when the software is placed in service. &#160;The estimated useful lives by asset category are:&lt;/p&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="margin:0 auto;border-collapse:collapse;width:277pt"&gt;
&lt;tr&gt;
&lt;td style="width:162.55pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;&lt;i&gt;Asset Category&lt;/i&gt;&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:114.45pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;&lt;i&gt;Estimated Useful Life&lt;/i&gt;&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:162.55pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Land improvements&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;..&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:114.45pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;15 to 40 years&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:162.55pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Buildings and improvements&#x2026;&#x2026;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:114.45pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;10 to 40 years&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:162.55pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Machinery and equipment&#x2026;&#x2026;&#x2026;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:114.45pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;5 to 18 years&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:162.55pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Capitalized software costs&#x2026;&#x2026;&#x2026;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:114.45pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;3 to 5 years&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:162.55pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Other equipment&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:114.45pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;3 to 10 years&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt; &lt;/table&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;The Company reviews the carrying value of property, plant and equipment for impairment whenever events and circumstances indicate that the carrying value of an asset may not be recoverable from the estimated future cash flows expected to result from its use and eventual disposition. &#160;In cases where undiscounted expected future cash flows are less than the carrying value, an impairment loss is recognized equal to an amount by which the carrying value exceeds the fair value of assets. &#160;There were no triggering events requiring assessment of impairment as of December 31, 2023 and 2022.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;When properties are retired or sold, the related cost and accumulated depreciation are removed from the respective accounts, and any gain or loss on disposition is recognized in current operations. &#160;Maintenance, repairs and minor betterments that do not improve the related asset or extend its useful life are charged to operations as incurred. &lt;/p&gt; </us-gaap:PropertyPlantAndEquipmentPolicyTextBlock>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="E23_Range-Minimum_PpeByType-LandImprovements"
      id="ixv-5413">P15Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="E23_Range-Maximum_PpeByType-LandImprovements"
      id="ixv-5414">P40Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="E23_Range-Minimum_PpeByType-BuildingImprovements"
      id="ixv-5415">P10Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="E23_Range-Maximum_PpeByType-BuildingImprovements"
      id="ixv-5416">P40Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="E23_Range-Minimum_PpeByType-MachineryAndEquipment"
      id="ixv-5417">P5Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="E23_Range-Maximum_PpeByType-MachineryAndEquipment"
      id="ixv-5418">P18Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="E23_Range-Minimum_PpeByType-SoftwareAndSoftwareDvlpCosts"
      id="ixv-5419">P3Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="E23_Range-Maximum_PpeByType-SoftwareAndSoftwareDvlpCosts"
      id="ixv-5420">P5Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="E23_Range-Minimum_PpeByType-OtherCapizedPpe"
      id="ixv-5421">P3Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="E23_Range-Maximum_PpeByType-OtherCapizedPpe"
      id="ixv-5422">P10Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:IncomeTaxPolicyTextBlock contextRef="Y23" id="ixv-2485">&lt;p style="font:10pt Arial;margin:0"&gt;&lt;b&gt;Income Taxes&#x2014;&lt;/b&gt;Deferred income taxes are determined under the asset and liability method. &#160;Deferred income taxes arise from temporary differences between the income tax basis of assets and liabilities and their reported amounts in the financial statements. &#160;Deferred taxes are shown on the balance sheet as a net long-term asset or liability.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;The Company applies a comprehensive model for the financial statement recognition, measurement, classification and disclosure of uncertain tax positions.&#160; In the first step of the two-step process, the Company evaluates the tax position for recognition by determining if the weight of available evidence indicates that it is more likely than not that the position will be sustained on audit, including resolution of related appeals or litigation processes, if any. In the second step, the Company measures the tax benefit as the largest amount that is more than 50% likely of being realized upon settlement.&#160; As of December 31, 2023 and 2022, the Company determined that there are no uncertain tax positions with a more than 50% likelihood of being realized upon settlement.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;The Company classifies interest and penalties related to unrecognized tax benefits as a component of income tax expense. &#160;There were no such expenses in 2023 or 2022.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;The Company&#x2019;s federal income tax returns for the 2020 through 2022 tax years are subject to examination by the Internal Revenue Service (&#x201c;IRS&#x201d;). &#160;While it may be possible that a reduction could occur with respect to the Company&#x2019;s unrecognized tax benefits as an outcome of an IRS examination, management does not anticipate any adjustments that would result in a material change to the results of operations or financial condition of the Company.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;No statutes have been extended on any of the Company&#x2019;s federal income tax filings. The statute of limitations on the Company&#x2019;s 2020, 2021 and 2022 federal income tax returns will expire on September 15, 2024, 2025 and 2026, respectively.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;The Company&#x2019;s state income tax returns for the 2020 through 2022 tax years are subject to examination by various state authorities with the latest closing period on October 31, 2026. &#160;The Company is currently not under examination by any state authority for income tax purposes and no statutes for state income tax filings have been extended.&lt;/p&gt; </us-gaap:IncomeTaxPolicyTextBlock>
    <us-gaap:LiabilityForUncertainTaxPositionsCurrent contextRef="E23" decimals="INF" id="ixv-5423" unitRef="USD">0</us-gaap:LiabilityForUncertainTaxPositionsCurrent>
    <us-gaap:LiabilityForUncertainTaxPositionsCurrent contextRef="E22" decimals="INF" id="ixv-5424" unitRef="USD">0</us-gaap:LiabilityForUncertainTaxPositionsCurrent>
    <us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense contextRef="Y23" decimals="INF" id="ixv-5425" unitRef="USD">0</us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense>
    <us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense contextRef="Y22" decimals="INF" id="ixv-5426" unitRef="USD">0</us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense>
    <us-gaap:SegmentReportingPolicyPolicyTextBlock contextRef="Y23" id="ixv-2505">&lt;p style="font:10pt Arial;margin:0"&gt;&lt;b&gt;Segment Information-&lt;/b&gt;The Company reports segment information based on the internal structure and reporting of the Company&#x2019;s operations.&lt;/p&gt; </us-gaap:SegmentReportingPolicyPolicyTextBlock>
    <us-gaap:EarningsPerSharePolicyTextBlock contextRef="Y23" id="ixv-2509">&lt;p style="font:10pt Arial;margin:0"&gt;&lt;b&gt;Net Income Per Share-&lt;/b&gt; Net income per share of common stock is based on the weighted average number of shares outstanding of 966,132 in 2023 and 2022.&lt;/p&gt; </us-gaap:EarningsPerSharePolicyTextBlock>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Y23"
      decimals="INF"
      id="ixv-5427"
      unitRef="Shares">966132</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Y22"
      decimals="INF"
      id="ixv-5428"
      unitRef="Shares">966132</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:UseOfEstimates contextRef="Y23" id="ixv-2513">&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="font-family:Arial"&gt;&lt;b&gt;Use of Estimates-&lt;/b&gt;The preparation of financial statements in conformity with generally accepted accounting principles requires management to make estimates and assumptions that affect the amounts reported in the consolidated financial statements and the accompanying notes. &#160;Significant items subject to estimates and assumptions include depreciable lives, deferred taxes and valuation allowances for accounts receivable and inventory obsolescence. &#160;Actual results could differ from those estimates.&lt;/span&gt;&lt;/p&gt; </us-gaap:UseOfEstimates>
    <us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock contextRef="Y23" id="ixv-2518">&lt;p style="font:10pt Arial;margin:0"&gt;&lt;b&gt;Recent Accounting Pronouncements-&lt;/b&gt; In June 2016, the FASB issued ASU No. 2016-13, Financial Instruments&#160;- Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments and in November 2018 issued an amendment, ASU 2018-19, Codification Improvements to Topic 326, Financial Instruments &#x2013;&#160;Credit Losses. &#160;ASU 2016-13 amends the impairment model by requiring entities to use a forward-looking approach based on expected losses rather than incurred losses to estimate credit losses on certain types of financial instruments, including trade receivables. This may result in the earlier recognition of allowances for losses. ASU 2016-13 and ASU 2018-19 should be applied on either a prospective transition or modified-retrospective approach depending on the subtopic. &#160;ASU 2016-13 is effective for annual periods beginning after December 15, 2022, including interim periods within those fiscal years, with early adoption permitted. The Company adopted this ASU on January 1, 2023. &#160;The impact of the adoption on our consolidated financial statements was not material and primarily resulted in new/enhanced disclosures only.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;In November 2023, the FASB issued ASU No. 2023-07, Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures, which requires a public entity to disclose its significant segment expense categories and amounts for each reportable segment. &#160;The new guidance is effective for fiscal years beginning after December 15, 2023, and interim periods in fiscal years beginning after December 15, 2024. &#160;The Company is evaluating the impact of this ASU. &#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;In December 2023, the FASB issued ASU No. 2023-09, Income Taxes (Topic 740): Improvements to Income Tax Disclosures, to enhance the transparency and decision usefulness of income tax disclosures providing investors with information to better assess how an entity&#x2019;s operations and related tax risks and tax planning and operational opportunities affect its tax rate and prospects for future cash flows. The new guidance is effective for annual periods beginning after December 31, 2024. &#160;The Company is evaluating the impact that it will have on our consolidated financial statements and disclosures.&lt;/p&gt; </us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock>
    <us-gaap:SupplementalBalanceSheetDisclosuresTextBlock contextRef="Y23" id="ixv-2532">&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&lt;b&gt;2 - Balance Sheet Details&lt;/b&gt;&lt;/p&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse"&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="bottom"&gt;&lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;b&gt;December 31,&lt;/b&gt;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;b&gt;2023&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;December 31,&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;2022&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Inventories:&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Raw materials&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$&#160;2,878,869&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$&#160;4,460,071&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Work in process&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;2,374,795&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;2,747,427&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Finished goods&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;2,614,989&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;2,534,732&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;7,868,653&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;9,742,230&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Valuation reserves&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;(541,000)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;(621,000)&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="top"&gt;&lt;/td&gt;
&lt;td style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$&#160;7,327,653&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$&#160;9,121,230&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt; &lt;/table&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse"&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="bottom"&gt;&lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;b&gt;December 31,&lt;/b&gt;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;b&gt;2023&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;December 31,&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;2022&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:13.95pt"&gt;
&lt;td style="width:216pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Property, Plant and Equipment, net:&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Land and improvements&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$&#160;1,510,513&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$&#160;1,510,513&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Buildings and improvements&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;6,835,619&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;6,818,066&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Machinery and equipment&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;37,019,453&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;35,982,194&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Capitalized software and other&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;933,449&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;1,038,768&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="top"&gt;&lt;p style="font:13pt Arial Narrow;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;46,299,034&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;45,349,541&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Accumulated depreciation&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;(34,633,952)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;(33,487,748)&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="top"&gt;&lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$&#160;11,665,082&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$&#160;11,861,793&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt; &lt;/table&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse"&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="bottom"&gt;&lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;b&gt;December 31,&lt;/b&gt;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;b&gt;2023&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;December 31,&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;2022&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Other Accrued Expenses:&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Profit sharing plan contribution&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;0&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$&#160;170,000&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Property taxes&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;20,342&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;41,497&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;All other items &lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;109,621&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;116,464&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="top"&gt;&lt;/td&gt;
&lt;td style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$&#160;129,963&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$&#160;327,961&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt; &lt;/table&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse"&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;b&gt;December 31,&lt;/b&gt;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;b&gt;2023&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;December 31,&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;2022&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Allowance for Credit Losses:&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt; &#160;Balance at beginning of year&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$ 160,000&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$ 170,000&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt; &#160;Charges to statement of operations&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt; 13,804&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;(1,660)&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt; &#160;Write-offs, net of recoveries&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt; (13,804)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;(8,340)&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt; &#160;Balance at end of year&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$ &#160;160,000&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$ 160,000&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt; &lt;/table&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse"&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;b&gt;December 31,&lt;/b&gt;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;b&gt;2023&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;December 31,&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;2022&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Inventory Valuation Reserves:&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt; &#160;Balance at beginning of year&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$ &#160; 621,000&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$ &#160; 612,000&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt; &#160;Charges to statement of operations&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;143,233&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;17,070&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt; &#160;Write-offs&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt; (223,233)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt; (8,070)&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt; &#160;Balance at end of year&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$ &#160; 541,000&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$ &#160;&#160;621,000&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt; &lt;/table&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt; </us-gaap:SupplementalBalanceSheetDisclosuresTextBlock>
    <us-gaap:ScheduleOfInventoryCurrentTableTextBlock contextRef="Y23" id="ixv-2536">&lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse"&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="bottom"&gt;&lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;b&gt;December 31,&lt;/b&gt;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;b&gt;2023&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;December 31,&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;2022&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Inventories:&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Raw materials&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$&#160;2,878,869&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$&#160;4,460,071&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Work in process&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;2,374,795&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;2,747,427&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Finished goods&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;2,614,989&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;2,534,732&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;7,868,653&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;9,742,230&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Valuation reserves&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;(541,000)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;(621,000)&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="top"&gt;&lt;/td&gt;
&lt;td style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$&#160;7,327,653&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$&#160;9,121,230&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt; &lt;/table&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt; </us-gaap:ScheduleOfInventoryCurrentTableTextBlock>
    <us-gaap:InventoryRawMaterials contextRef="E23" decimals="INF" id="ixv-5429" unitRef="USD">2878869</us-gaap:InventoryRawMaterials>
    <us-gaap:InventoryRawMaterials contextRef="E22" decimals="INF" id="ixv-5430" unitRef="USD">4460071</us-gaap:InventoryRawMaterials>
    <us-gaap:InventoryWorkInProcess contextRef="E23" decimals="INF" id="ixv-5431" unitRef="USD">2374795</us-gaap:InventoryWorkInProcess>
    <us-gaap:InventoryWorkInProcess contextRef="E22" decimals="INF" id="ixv-5432" unitRef="USD">2747427</us-gaap:InventoryWorkInProcess>
    <us-gaap:InventoryFinishedGoods contextRef="E23" decimals="INF" id="ixv-5433" unitRef="USD">2614989</us-gaap:InventoryFinishedGoods>
    <us-gaap:InventoryFinishedGoods contextRef="E22" decimals="INF" id="ixv-5434" unitRef="USD">2534732</us-gaap:InventoryFinishedGoods>
    <us-gaap:InventoryValuationReserves contextRef="E23" decimals="INF" id="ixv-5435" unitRef="USD">541000</us-gaap:InventoryValuationReserves>
    <us-gaap:InventoryValuationReserves contextRef="E22" decimals="INF" id="ixv-5436" unitRef="USD">621000</us-gaap:InventoryValuationReserves>
    <us-gaap:InventoryNet contextRef="E23" decimals="INF" id="ixv-5437" unitRef="USD">7327653</us-gaap:InventoryNet>
    <us-gaap:InventoryNet contextRef="E22" decimals="INF" id="ixv-5438" unitRef="USD">9121230</us-gaap:InventoryNet>
    <us-gaap:PropertyPlantAndEquipmentTextBlock contextRef="Y23" id="ixv-2605">&lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse"&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="bottom"&gt;&lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;b&gt;December 31,&lt;/b&gt;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;b&gt;2023&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;December 31,&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;2022&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:13.95pt"&gt;
&lt;td style="width:216pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Property, Plant and Equipment, net:&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Land and improvements&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$&#160;1,510,513&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$&#160;1,510,513&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Buildings and improvements&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;6,835,619&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;6,818,066&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Machinery and equipment&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;37,019,453&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;35,982,194&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Capitalized software and other&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;933,449&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;1,038,768&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="top"&gt;&lt;p style="font:13pt Arial Narrow;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;46,299,034&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;45,349,541&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Accumulated depreciation&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;(34,633,952)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;(33,487,748)&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="top"&gt;&lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$&#160;11,665,082&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$&#160;11,861,793&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt; &lt;/table&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt; </us-gaap:PropertyPlantAndEquipmentTextBlock>
    <us-gaap:LandAndLandImprovements contextRef="E23" decimals="INF" id="ixv-5439" unitRef="USD">1510513</us-gaap:LandAndLandImprovements>
    <us-gaap:LandAndLandImprovements contextRef="E22" decimals="INF" id="ixv-5440" unitRef="USD">1510513</us-gaap:LandAndLandImprovements>
    <us-gaap:BuildingsAndImprovementsGross contextRef="E23" decimals="INF" id="ixv-5441" unitRef="USD">6835619</us-gaap:BuildingsAndImprovementsGross>
    <us-gaap:BuildingsAndImprovementsGross contextRef="E22" decimals="INF" id="ixv-5442" unitRef="USD">6818066</us-gaap:BuildingsAndImprovementsGross>
    <us-gaap:MachineryAndEquipmentGross contextRef="E23" decimals="INF" id="ixv-5443" unitRef="USD">37019453</us-gaap:MachineryAndEquipmentGross>
    <us-gaap:MachineryAndEquipmentGross contextRef="E22" decimals="INF" id="ixv-5444" unitRef="USD">35982194</us-gaap:MachineryAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentOther contextRef="E23" decimals="INF" id="ixv-5445" unitRef="USD">933449</us-gaap:PropertyPlantAndEquipmentOther>
    <us-gaap:PropertyPlantAndEquipmentOther contextRef="E22" decimals="INF" id="ixv-5446" unitRef="USD">1038768</us-gaap:PropertyPlantAndEquipmentOther>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment contextRef="E23" decimals="INF" id="ixv-5447" unitRef="USD">34633952</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment contextRef="E22" decimals="INF" id="ixv-5448" unitRef="USD">33487748</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentOtherNet contextRef="E23" decimals="INF" id="ixv-5449" unitRef="USD">11665082</us-gaap:PropertyPlantAndEquipmentOtherNet>
    <us-gaap:PropertyPlantAndEquipmentOtherNet contextRef="E22" decimals="INF" id="ixv-5450" unitRef="USD">11861793</us-gaap:PropertyPlantAndEquipmentOtherNet>
    <us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock contextRef="Y23" id="ixv-2682">&lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse"&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="bottom"&gt;&lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;b&gt;December 31,&lt;/b&gt;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;b&gt;2023&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;December 31,&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;2022&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Other Accrued Expenses:&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Profit sharing plan contribution&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;0&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$&#160;170,000&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Property taxes&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;20,342&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;41,497&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;All other items &lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;109,621&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;116,464&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="top"&gt;&lt;/td&gt;
&lt;td style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$&#160;129,963&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$&#160;327,961&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt; &lt;/table&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt; </us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock>
    <us-gaap:OtherEmployeeRelatedLiabilitiesCurrent contextRef="E23" decimals="INF" id="ixv-5451" unitRef="USD">0</us-gaap:OtherEmployeeRelatedLiabilitiesCurrent>
    <us-gaap:OtherEmployeeRelatedLiabilitiesCurrent contextRef="E22" decimals="INF" id="ixv-5452" unitRef="USD">170000</us-gaap:OtherEmployeeRelatedLiabilitiesCurrent>
    <us-gaap:AccrualForTaxesOtherThanIncomeTaxesCurrent contextRef="E23" decimals="INF" id="ixv-5453" unitRef="USD">20342</us-gaap:AccrualForTaxesOtherThanIncomeTaxesCurrent>
    <us-gaap:AccrualForTaxesOtherThanIncomeTaxesCurrent contextRef="E22" decimals="INF" id="ixv-5454" unitRef="USD">41497</us-gaap:AccrualForTaxesOtherThanIncomeTaxesCurrent>
    <us-gaap:OtherAccruedLiabilitiesCurrent contextRef="E23" decimals="INF" id="ixv-5455" unitRef="USD">109621</us-gaap:OtherAccruedLiabilitiesCurrent>
    <us-gaap:OtherAccruedLiabilitiesCurrent contextRef="E22" decimals="INF" id="ixv-5456" unitRef="USD">116464</us-gaap:OtherAccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent contextRef="E23" decimals="INF" id="ixv-5457" unitRef="USD">129963</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent contextRef="E22" decimals="INF" id="ixv-5458" unitRef="USD">327961</us-gaap:AccruedLiabilitiesCurrent>
    <srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock contextRef="Y23" id="ixv-2735">&lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse"&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;b&gt;December 31,&lt;/b&gt;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;b&gt;2023&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;December 31,&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;2022&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Allowance for Credit Losses:&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt; &#160;Balance at beginning of year&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$ 160,000&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$ 170,000&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt; &#160;Charges to statement of operations&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt; 13,804&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;(1,660)&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt; &#160;Write-offs, net of recoveries&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt; (13,804)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;(8,340)&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt; &#160;Balance at end of year&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$ &#160;160,000&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$ 160,000&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt; &lt;/table&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse"&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;b&gt;December 31,&lt;/b&gt;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;b&gt;2023&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;December 31,&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;2022&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Inventory Valuation Reserves:&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt; &#160;Balance at beginning of year&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$ &#160; 621,000&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$ &#160; 612,000&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt; &#160;Charges to statement of operations&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;143,233&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;17,070&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt; &#160;Write-offs&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt; (223,233)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:90pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt; (8,070)&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt; &#160;Balance at end of year&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$ &#160; 541,000&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:90pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$ &#160;&#160;621,000&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt; &lt;/table&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt; </srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="E22_ValuationAllowancesAndReservesType-AllowanceForCreditLoss"
      decimals="INF"
      id="ixv-5459"
      unitRef="USD">160000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="E21_ValuationAllowancesAndReservesType-AllowanceForCreditLoss"
      decimals="INF"
      id="ixv-5460"
      unitRef="USD">170000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense
      contextRef="Y23_ValuationAllowancesAndReservesType-AllowanceForCreditLoss"
      decimals="INF"
      id="ixv-5461"
      unitRef="USD">13804</us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense>
    <us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense
      contextRef="Y22_ValuationAllowancesAndReservesType-AllowanceForCreditLoss"
      decimals="INF"
      id="ixv-5462"
      unitRef="USD">-1660</us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense>
    <us-gaap:ValuationAllowancesAndReservesDeductions
      contextRef="Y23_ValuationAllowancesAndReservesType-AllowanceForCreditLoss"
      decimals="INF"
      id="ixv-5463"
      unitRef="USD">-13804</us-gaap:ValuationAllowancesAndReservesDeductions>
    <us-gaap:ValuationAllowancesAndReservesDeductions
      contextRef="Y22_ValuationAllowancesAndReservesType-AllowanceForCreditLoss"
      decimals="INF"
      id="ixv-5464"
      unitRef="USD">-8340</us-gaap:ValuationAllowancesAndReservesDeductions>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="E23_ValuationAllowancesAndReservesType-AllowanceForCreditLoss"
      decimals="INF"
      id="ixv-5465"
      unitRef="USD">160000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="E22_ValuationAllowancesAndReservesType-AllowanceForCreditLoss"
      decimals="INF"
      id="ixv-5466"
      unitRef="USD">160000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="E22_ValuationAllowancesAndReservesType-InventoryValuationReserve"
      decimals="INF"
      id="ixv-5467"
      unitRef="USD">621000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="E21_ValuationAllowancesAndReservesType-InventoryValuationReserve"
      decimals="INF"
      id="ixv-5468"
      unitRef="USD">612000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense
      contextRef="Y23_ValuationAllowancesAndReservesType-InventoryValuationReserve"
      decimals="INF"
      id="ixv-5469"
      unitRef="USD">143233</us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense>
    <us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense
      contextRef="Y22_ValuationAllowancesAndReservesType-InventoryValuationReserve"
      decimals="INF"
      id="ixv-5470"
      unitRef="USD">17070</us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense>
    <us-gaap:ValuationAllowancesAndReservesDeductions
      contextRef="Y23_ValuationAllowancesAndReservesType-InventoryValuationReserve"
      decimals="INF"
      id="ixv-5471"
      unitRef="USD">-223233</us-gaap:ValuationAllowancesAndReservesDeductions>
    <us-gaap:ValuationAllowancesAndReservesDeductions
      contextRef="Y22_ValuationAllowancesAndReservesType-InventoryValuationReserve"
      decimals="INF"
      id="ixv-5472"
      unitRef="USD">-8070</us-gaap:ValuationAllowancesAndReservesDeductions>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="E23_ValuationAllowancesAndReservesType-InventoryValuationReserve"
      decimals="INF"
      id="ixv-5473"
      unitRef="USD">541000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="E22_ValuationAllowancesAndReservesType-InventoryValuationReserve"
      decimals="INF"
      id="ixv-5474"
      unitRef="USD">621000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:IncomeTaxDisclosureTextBlock contextRef="Y23" id="ixv-2847">&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="font-family:Arial"&gt;&lt;b&gt;3&lt;/b&gt;&lt;b&gt; - &lt;/b&gt;&lt;b&gt;Income Taxes&#x2014;&lt;/b&gt;The provision (benefit) for income tax expense consists of the following&lt;/span&gt;&lt;span style="font-family:Arial;color:#833C0B"&gt;:&lt;/span&gt;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse"&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:151.9pt" valign="bottom"&gt;&lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:72pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;&lt;b&gt;20&lt;/b&gt;&lt;b&gt;23&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:72pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2022&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:151.9pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Current:&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:72pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:72pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:151.9pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Federal&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:72pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$ &#160;&#160;&#160;&#160;&#160;&#160;(1,569)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:72pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$ &#160;&#160;&#160;723,000&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:151.9pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;State&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:72pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;(52,832)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:72pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;40,000&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:151.9pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Deferred&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:72pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;(1,273,027)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:72pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;22,000&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;
&lt;td style="width:151.9pt" valign="top"&gt;&lt;/td&gt;
&lt;td style="width:72pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$ (1,327,428)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:72pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$ &#160;&#160; 785,000&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt; &lt;/table&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;The following is a reconciliation of the statutory federal income tax rate to the actual effective tax rate:&lt;/p&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse"&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td colspan="3" style="background-color:#CEE7FF;width:118.35pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;b&gt;2023&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:11.1pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td colspan="3" style="background-color:#CEE7FF;width:120.05pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;2022&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:72pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;b&gt;Amount&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:11.8pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:34.55pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;b&gt;%&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:11.1pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:72pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;Amount&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:11.1pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:36.95pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;%&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Expected tax at U.S. statutory rate&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:72pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;color:#000000;text-align:right"&gt;&lt;b&gt;$ (1,203,000)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:11.8pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:34.55pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;(21.0)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:11.1pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:72pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$ &#160;&#160;&#160; 767,000&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:11.1pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:36.95pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;21.0&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Permanent differences&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:72pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt; (3,428)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:11.8pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:34.55pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;(0.1)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:11.1pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:72pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt; (14,000)&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:11.1pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:36.95pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt; (0.4)&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;State taxes, net of federal benefit&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:72pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;(121,000)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:11.8pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:34.55pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;(2.1)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:11.1pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:72pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;32,000&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:11.1pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:36.95pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;0.9&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Income tax expense (benefit)&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:72pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$ (1,327,428)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:11.8pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:34.55pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;(23.2)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:11.1pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:72pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$ &#160;&#160; 785,000&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:11.1pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:36.95pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;21.5&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt; &lt;/table&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;The deferred tax assets (liabilites) consist of the following:&lt;/p&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse"&gt;
&lt;tr style="height:18pt"&gt;
&lt;td style="background-color:#CADFF9" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;&lt;b&gt;20&lt;/b&gt;&lt;b&gt;23&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2022&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CADFF9" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Depreciation and amortization&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$&#160;(1,254,472)&#160;&#160;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$&#160;(1,216,451)&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Inventory&lt;/p&gt; &lt;/td&gt;
&lt;td valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;157,307&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;157,687&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CADFF9" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Accrued vacation&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;66,240&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;71,923&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Allowance for credit losses&lt;/p&gt; &lt;/td&gt;
&lt;td valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;33,600&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;38,250&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CADFF9" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Net operating losses&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;1,262,621&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;0&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Other, net &#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;59,647&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;507&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CADFF9" valign="top"&gt;&lt;p style="font:13pt Arial Narrow;margin:0;color:#339966"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$ &#160;&#160;&#160;&#160;&#160;324,943&#160;&#160;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$&#160;(948,084)&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt; &lt;/table&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;At December 31, 2023, the Company had federal net operating loss carryforwards of approximately $6,045,000. &#160;The net operating loss carryforwards are not subject to expiration, however are subject to annual utilization limitations for U.S. federal income tax purposes. &#160;&#160;The Company believes it is more-likely-than-not that its deferred tax assets will be realized, based primarily on its expectation of future taxable income and considering future reversals of existing taxable temporary differences. &#160;The Company reviews the need for a valuation allowance on a quarterly basis for each of its tax jurisdictions.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; </us-gaap:IncomeTaxDisclosureTextBlock>
    <us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock contextRef="Y23" id="ixv-2855">&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse"&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:151.9pt" valign="bottom"&gt;&lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:72pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;&lt;b&gt;20&lt;/b&gt;&lt;b&gt;23&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:72pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2022&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:151.9pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Current:&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:72pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:72pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:151.9pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Federal&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:72pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$ &#160;&#160;&#160;&#160;&#160;&#160;(1,569)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:72pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$ &#160;&#160;&#160;723,000&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:151.9pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;State&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:72pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;(52,832)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:72pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;40,000&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:151.9pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Deferred&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:72pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;(1,273,027)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:72pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;22,000&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;
&lt;td style="width:151.9pt" valign="top"&gt;&lt;/td&gt;
&lt;td style="width:72pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$ (1,327,428)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:72pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$ &#160;&#160; 785,000&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt; &lt;/table&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt; </us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock>
    <us-gaap:FederalIncomeTaxExpenseBenefitContinuingOperations contextRef="Y23" decimals="INF" id="ixv-5475" unitRef="USD">-1569</us-gaap:FederalIncomeTaxExpenseBenefitContinuingOperations>
    <us-gaap:FederalIncomeTaxExpenseBenefitContinuingOperations contextRef="Y22" decimals="INF" id="ixv-5476" unitRef="USD">723000</us-gaap:FederalIncomeTaxExpenseBenefitContinuingOperations>
    <us-gaap:CurrentStateAndLocalTaxExpenseBenefit contextRef="Y23" decimals="INF" id="ixv-5477" unitRef="USD">-52832</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
    <us-gaap:CurrentStateAndLocalTaxExpenseBenefit contextRef="Y22" decimals="INF" id="ixv-5478" unitRef="USD">40000</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit contextRef="Y23" decimals="INF" id="ixv-5479" unitRef="USD">-1273027</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit contextRef="Y22" decimals="INF" id="ixv-5480" unitRef="USD">22000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="Y23" decimals="INF" id="ixv-5481" unitRef="USD">-1327428</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="Y22" decimals="INF" id="ixv-5482" unitRef="USD">785000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock contextRef="Y23" id="ixv-2909">&lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse"&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td colspan="3" style="background-color:#CEE7FF;width:118.35pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;b&gt;2023&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:11.1pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td colspan="3" style="background-color:#CEE7FF;width:120.05pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;2022&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:72pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;b&gt;Amount&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:11.8pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:34.55pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;b&gt;%&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:11.1pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:72pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;Amount&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:11.1pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:36.95pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;%&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Expected tax at U.S. statutory rate&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:72pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;color:#000000;text-align:right"&gt;&lt;b&gt;$ (1,203,000)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:11.8pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:34.55pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;(21.0)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:11.1pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:72pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$ &#160;&#160;&#160; 767,000&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:11.1pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:36.95pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;21.0&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Permanent differences&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:72pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt; (3,428)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:11.8pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:34.55pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;(0.1)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:11.1pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:72pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt; (14,000)&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:11.1pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:36.95pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt; (0.4)&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:216pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;State taxes, net of federal benefit&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:72pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;(121,000)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:11.8pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:34.55pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;(2.1)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:11.1pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:72pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;32,000&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:11.1pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:36.95pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;0.9&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:216pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Income tax expense (benefit)&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:72pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$ (1,327,428)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:11.8pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:34.55pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;(23.2)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:11.1pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:72pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$ &#160;&#160; 785,000&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:11.1pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:36.95pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;21.5&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt; &lt;/table&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt; </us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock>
    <us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate contextRef="Y23" decimals="INF" id="ixv-5483" unitRef="USD">-1203000</us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="Y23"
      decimals="INF"
      id="ixv-5484"
      unitRef="Pure">0.21</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate contextRef="Y22" decimals="INF" id="ixv-5485" unitRef="USD">767000</us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="Y22"
      decimals="INF"
      id="ixv-5486"
      unitRef="Pure">0.21</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:IncomeTaxReconciliationOtherAdjustments contextRef="Y23" decimals="INF" id="ixv-5487" unitRef="USD">-3428</us-gaap:IncomeTaxReconciliationOtherAdjustments>
    <us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments
      contextRef="Y23"
      decimals="INF"
      id="ixv-5488"
      unitRef="Pure">-0.001</us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments>
    <us-gaap:IncomeTaxReconciliationOtherAdjustments contextRef="Y22" decimals="INF" id="ixv-5489" unitRef="USD">-14000</us-gaap:IncomeTaxReconciliationOtherAdjustments>
    <us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments
      contextRef="Y22"
      decimals="INF"
      id="ixv-5490"
      unitRef="Pure">-0.004</us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments>
    <us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes contextRef="Y23" decimals="INF" id="ixv-5491" unitRef="USD">-121000</us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
      contextRef="Y23"
      decimals="INF"
      id="ixv-5492"
      unitRef="Pure">-0.021</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes contextRef="Y22" decimals="INF" id="ixv-5493" unitRef="USD">32000</us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
      contextRef="Y22"
      decimals="INF"
      id="ixv-5494"
      unitRef="Pure">0.009</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="Y23" decimals="INF" id="ixv-5495" unitRef="USD">-1327428</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="Y23"
      decimals="INF"
      id="ixv-5496"
      unitRef="Pure">-0.232</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="Y22" decimals="INF" id="ixv-5497" unitRef="USD">785000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="Y22"
      decimals="INF"
      id="ixv-5498"
      unitRef="Pure">0.215</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock contextRef="Y23" id="ixv-3020">&lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse"&gt;
&lt;tr style="height:18pt"&gt;
&lt;td style="background-color:#CADFF9" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;&lt;b&gt;20&lt;/b&gt;&lt;b&gt;23&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2022&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td valign="top"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CADFF9" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Depreciation and amortization&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$&#160;(1,254,472)&#160;&#160;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$&#160;(1,216,451)&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Inventory&lt;/p&gt; &lt;/td&gt;
&lt;td valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;157,307&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;157,687&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CADFF9" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Accrued vacation&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;66,240&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;71,923&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Allowance for credit losses&lt;/p&gt; &lt;/td&gt;
&lt;td valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;33,600&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;38,250&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CADFF9" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Net operating losses&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;1,262,621&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;0&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Other, net &#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;59,647&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;507&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CADFF9" valign="top"&gt;&lt;p style="font:13pt Arial Narrow;margin:0;color:#339966"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$ &#160;&#160;&#160;&#160;&#160;324,943&#160;&#160;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$&#160;(948,084)&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt; &lt;/table&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; </us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock>
    <us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment contextRef="E23" decimals="INF" id="ixv-5499" unitRef="USD">1254472</us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment>
    <us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment contextRef="E22" decimals="INF" id="ixv-5500" unitRef="USD">1216451</us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment>
    <us-gaap:DeferredTaxAssetsInventory contextRef="E23" decimals="INF" id="ixv-5501" unitRef="USD">157307</us-gaap:DeferredTaxAssetsInventory>
    <us-gaap:DeferredTaxAssetsInventory contextRef="E22" decimals="INF" id="ixv-5502" unitRef="USD">157687</us-gaap:DeferredTaxAssetsInventory>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsCompensatedAbsences contextRef="E23" decimals="INF" id="ixv-5503" unitRef="USD">66240</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsCompensatedAbsences>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsCompensatedAbsences contextRef="E22" decimals="INF" id="ixv-5504" unitRef="USD">71923</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsCompensatedAbsences>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts contextRef="E23" decimals="INF" id="ixv-5505" unitRef="USD">33600</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts contextRef="E22" decimals="INF" id="ixv-5506" unitRef="USD">38250</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwards contextRef="E23" decimals="INF" id="ixv-5507" unitRef="USD">1262621</us-gaap:DeferredTaxAssetsOperatingLossCarryforwards>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwards contextRef="E22" decimals="INF" id="ixv-5508" unitRef="USD">0</us-gaap:DeferredTaxAssetsOperatingLossCarryforwards>
    <us-gaap:DeferredTaxAssetsOther contextRef="E23" decimals="INF" id="ixv-5509" unitRef="USD">59647</us-gaap:DeferredTaxAssetsOther>
    <us-gaap:DeferredTaxAssetsOther contextRef="E22" decimals="INF" id="ixv-5510" unitRef="USD">507</us-gaap:DeferredTaxAssetsOther>
    <us-gaap:DeferredTaxAssetsNet contextRef="E23" decimals="INF" id="ixv-5511" unitRef="USD">324943</us-gaap:DeferredTaxAssetsNet>
    <us-gaap:DeferredTaxLiabilities contextRef="E22" decimals="INF" id="ixv-5512" unitRef="USD">948084</us-gaap:DeferredTaxLiabilities>
    <us-gaap:OperatingLossCarryforwards contextRef="E23" decimals="INF" id="ixv-5513" unitRef="USD">6045000</us-gaap:OperatingLossCarryforwards>
    <us-gaap:CompensationAndEmployeeBenefitPlansOtherThanShareBasedCompensationTextBlock contextRef="Y23" id="ixv-3125">&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&lt;b&gt;4 - Profit Sharing Plan- &lt;/b&gt;The Company has a noncontributory profit sharing plan covering substantially all employees. &#160;Total expenses relating to the profit sharing plan were zero in 2023 and $170,000 in 2022.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; </us-gaap:CompensationAndEmployeeBenefitPlansOtherThanShareBasedCompensationTextBlock>
    <us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount contextRef="Y23" decimals="INF" id="ixv-5514" unitRef="USD">0</us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount>
    <us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount contextRef="Y22" decimals="INF" id="ixv-5515" unitRef="USD">170000</us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount>
    <us-gaap:InterestAndOtherIncomeTextBlock contextRef="Y23" id="ixv-3131">&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&lt;b&gt;5 - Other Income- &lt;/b&gt;consists of the following:&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse"&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:159.15pt" valign="bottom"&gt;&lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:63.65pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;&lt;b&gt;20&lt;/b&gt;&lt;b&gt;23&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:11.8pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:68.55pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2022&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:14.4pt"&gt;
&lt;td style="width:159.15pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Interest income&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:63.65pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$&#160;103,230&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:11.8pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:68.55pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$&#160; 55,333&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:159.15pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Other&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:63.65pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;5,004&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:11.8pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:68.55pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;36,100&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:159.15pt" valign="bottom"&gt;&lt;/td&gt;
&lt;td style="width:63.65pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$&#160;108,234&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:11.8pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:68.55pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$&#160;91,433&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt; &lt;/table&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; </us-gaap:InterestAndOtherIncomeTextBlock>
    <us-gaap:InterestAndOtherIncomeTableTextBlock contextRef="Y23" id="ixv-3135">&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse"&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:159.15pt" valign="bottom"&gt;&lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:63.65pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;&lt;b&gt;20&lt;/b&gt;&lt;b&gt;23&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:11.8pt" valign="top"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:68.55pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2022&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:14.4pt"&gt;
&lt;td style="width:159.15pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Interest income&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:63.65pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$&#160;103,230&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:11.8pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:68.55pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$&#160; 55,333&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:159.15pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0"&gt;Other&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:63.65pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;5,004&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:11.8pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:68.55pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;36,100&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:159.15pt" valign="bottom"&gt;&lt;/td&gt;
&lt;td style="width:63.65pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&lt;b&gt;$&#160;108,234&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:11.8pt" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:68.55pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Arial;margin:0;text-align:right"&gt;$&#160;91,433&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt; &lt;/table&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt; </us-gaap:InterestAndOtherIncomeTableTextBlock>
    <us-gaap:InvestmentIncomeInterest contextRef="Y23" decimals="INF" id="ixv-5516" unitRef="USD">103230</us-gaap:InvestmentIncomeInterest>
    <us-gaap:InvestmentIncomeInterest contextRef="Y22" decimals="INF" id="ixv-5517" unitRef="USD">55333</us-gaap:InvestmentIncomeInterest>
    <us-gaap:OtherNonoperatingIncome contextRef="Y23" decimals="INF" id="ixv-5518" unitRef="USD">5004</us-gaap:OtherNonoperatingIncome>
    <us-gaap:OtherNonoperatingIncome contextRef="Y22" decimals="INF" id="ixv-5519" unitRef="USD">36100</us-gaap:OtherNonoperatingIncome>
    <us-gaap:OtherNonoperatingIncomeExpense contextRef="Y23" decimals="INF" id="ixv-5520" unitRef="USD">108234</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense contextRef="Y22" decimals="INF" id="ixv-5521" unitRef="USD">91433</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:SegmentReportingDisclosureTextBlock contextRef="Y23" id="ixv-3182">&lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&lt;b&gt;6 - Segment Information- &lt;/b&gt;The Company operates in the United States in two business segments as determined by its products. &#160;The fastener segment, which comprises H &amp;amp; L Tool and the parent company&#x2019;s fastener operations, includes rivets, cold-formed fasteners and parts and screw machine products. &#160;The assembly equipment segment includes automatic rivet setting machines and parts and tools for such machines. &#160;Information by segment is as follows:&lt;/p&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse;margin-left:-3.6pt"&gt;
&lt;tr&gt;
&lt;td style="background-color:#CADFF9;width:179.1pt" valign="bottom"&gt;&lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;&lt;b&gt;Fastener&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;&lt;b&gt;Assembly Equipment&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;&lt;b&gt;Other&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;&lt;b&gt;Consolidated&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;&lt;b&gt;Year Ended December 31, 2023:&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CADFF9;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;color:#E36C0A"&gt;&lt;span style="color:#000000"&gt;Net Sales&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;$ &#160;&#160;&#160;&#160;&#160;28,161,362&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;$ &#160;&#160;&#160;&#160;&#160;3,346,360&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;31,507,722&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CADFF9;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Depreciation&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;...&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;1,145,620&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;122,928&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;6,530&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;1,275,078&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CADFF9;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Segment operating profit (loss) &#160;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;(3,747,744)&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;549,156&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;margin-left:20.25pt;text-align:right"&gt;0 &lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;(3,198,588)&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Selling and administrative expenses&#x2026;&#x2026;&#x2026;&#x2026;..&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;(2,638,658)&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;(2,638,658)&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CADFF9;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Other income&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;..&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;108,234&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;108,234&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Loss before income taxes&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;(5,729,012)&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CADFF9;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Capital expenditures&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;.&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;1,041,896&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;5,235&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;31,236&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;1,078,367&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CADFF9;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Segment assets:&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CADFF9;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt; &#160;&#160;Accounts receivable, net&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;...&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;3,994,372&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;281,510&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;4,275,882&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt; &#160;&#160;Contract assets&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;...&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;118,301&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;118,301&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CADFF9;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt; &#160;&#160;Inventories, net&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;...&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;5,714,826&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;1,612,827&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;7,327,653&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt; &#160;&#160;Property, plant and equipment, net&#x2026;&#x2026;&#x2026;&#x2026;.&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;9,458,605&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;1,185,804&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;1,020,673&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;11,665,082&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CADFF9;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt; &#160;&#160;Other assets&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;4,443,987&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;4,443,987&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;27,830,905&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CADFF9;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Year Ended December 31, 2022:&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CADFF9;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;color:#E36C0A"&gt;&lt;span style="color:#000000"&gt;Net Sales&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;$ &#160;&#160;&#160;&#160;&#160;30,291,547&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;$ &#160;&#160;&#160;&#160;&#160;3,354,486&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;33,646,033&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CADFF9;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Depreciation&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;...&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;1,129,151&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;133,615&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;17,104&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;1,279,870&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CADFF9;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Segment operating profit&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;505,751&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;413,995&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;margin-left:20.25pt;text-align:right"&gt;0 &lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;919,746&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Selling and administrative expenses&#x2026;&#x2026;&#x2026;&#x2026;..&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;(2,096,944)&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;(2,096,944)&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CADFF9;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Gain on sale of property &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;4,738,394&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;4,738,394&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Other income&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;..&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;91,433&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;91,433&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CADFF9;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Income before income taxes&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;3,652,629&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CADFF9;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Capital expenditures&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;.&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;868,654&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;3,207&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;98,082&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;969,943&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CADFF9;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Segment assets:&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt; &#160;&#160;Accounts receivable, net&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;...&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;4,683,620&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;291,517&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;4,975,137&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CADFF9;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt; &#160;&#160;Inventories, net&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;...&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;7,766,703&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;1,354,527&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;9,121,230&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt; &#160;&#160;Property, plant and equipment, net&#x2026;&#x2026;&#x2026;&#x2026;.&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;9,562,329&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;1,303,497&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;995,967&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;11,861,793&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CADFF9;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt; &#160;&#160;Other assets&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;7,667,967&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;7,667,967&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;33,626,127&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt; &lt;/table&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;The Company does not allocate certain selling and administrative expenses for internal reporting, thus, no allocation was made for these expenses for segment disclosure purposes. &#160;Segment assets reported internally are limited to accounts receivable, inventory and long-lived assets. &#160;Certain long-lived assets of one plant location are allocated between the two segments based on estimated plant utilization, as this plant serves both fastener and assembly equipment activities. &#160;Other assets are not allocated to segments internally and to do so would be impracticable.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;The following table presents revenue by segment, further disaggregated by end-market:&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse"&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:148.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:63pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:center"&gt; &#160;&lt;b&gt;Fastener&lt;/b&gt; &#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:center"&gt; &#160;&lt;b&gt;Assembly Equipment&lt;/b&gt; &#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:center"&gt; &#160;&lt;b&gt;Consolidated&lt;/b&gt; &#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:148.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="font:9pt Arial"&gt;&lt;b&gt;Year Ended December 31, &lt;/b&gt;&lt;b&gt;2023&lt;/b&gt;&lt;b&gt;:&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:63pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:148.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="font:9pt Arial"&gt;Automotive&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:63pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;&#160;19,297,188&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;131,821&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;&#160;19,429,009&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:148.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="font:9pt Arial"&gt;Non-automotive&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:63pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;8,864,174&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;3,214,539&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;12,078,713&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:148.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="font:9pt Arial"&gt;Total net sales&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:63pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;&#160;28,161,362&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;&#160;&#160;&#160;3,346,360&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;&#160;31,507,722&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:148.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:63pt;padding-left:2pt;padding-right:2pt;border-top:3px double #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:3px double #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:3px double #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:148.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="font:9pt Arial"&gt;Year Ended December 31, 2022:&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:63pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:148.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="font:9pt Arial"&gt;Automotive&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:63pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;18,454,238&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;209,735&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;&#160;18,663,973&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:148.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="font:9pt Arial"&gt;Non-automotive&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:63pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt; 11,837,309&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt; 3,144,751&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt; 14,982,060&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:148.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="font:9pt Arial"&gt;Total net sales&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:63pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;30,291,547&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;&#160;&#160;&#160;3,354,486&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;&#160;33,646,033&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt; &lt;/table&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;The following table presents revenue by segment, further disaggregated by location:&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse"&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:61.35pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:center"&gt; &#160;&lt;b&gt;Fastener&lt;/b&gt; &#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:center"&gt; &#160;&lt;b&gt;Assembly Equipment&lt;/b&gt; &#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:center"&gt; &#160;&lt;b&gt;Consolidated&lt;/b&gt; &#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="font:9pt Arial"&gt;&lt;b&gt;Year Ended December 31, 20&lt;/b&gt;&lt;b&gt;23&lt;/b&gt;&lt;b&gt;:&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:61.35pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="font:9pt Arial"&gt;United States&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:61.35pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;22,635,244&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;&#160;&#160;&#160;&#160;&#160;3,154,677&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;&#160;25,789,921&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="font:9pt Arial"&gt;Foreign&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:61.35pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;5,526,118&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;191,683&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;5,717,801&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="font:9pt Arial"&gt;Total net sales&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:61.35pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;28,161,362&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;&#160;&#160;&#160;3,346,360&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;&#160;31,507,722&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:61.35pt;padding-left:2pt;padding-right:2pt;border-top:3px double #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:3px double #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:3px double #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="font:9pt Arial"&gt;Year Ended December 31, 2022:&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:61.35pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="font:9pt Arial"&gt;United States&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:61.35pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;24,955,181&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;&#160;&#160;&#160;&#160;&#160;3,202,729&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;&#160;28,157,910&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CEE7FF;width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="font:9pt Arial"&gt;Foreign&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:61.35pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;5,336,366&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;151,757&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CEE7FF;width:67.5pt;padding-left:2pt;padding-right:2pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;5,488,123&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:150.15pt;padding-left:2pt;padding-right:2pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="font:9pt Arial"&gt;Total net sales&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:61.35pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;30,291,547&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;&#160;&#160;&#160;3,354,486&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:67.5pt;padding-left:2pt;padding-right:2pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:9pt Arial;margin:0;color:#000000;text-align:right"&gt;$ &#160;&#160;33,646,033&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt; &lt;/table&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;Sales to one customer in the fastener segment accounted for 16% of consolidated revenues during 2023 and 15% in 2022. &#160;The accounts receivable balance for this customer accounted for 15% and 19% of consolidated accounts receivable as of December 31, 2023 and 2022, respectively. &#160;Sales to a second customer in the fastener segment accounted for 14% of consolidated revenues during 2023 and 2022. &#160;The accounts receivable balance for this customer accounted for 14% and 16% of consolidated accounts receivable as of December 31, 2023 and 2022, respectively. &#160;Sales to a third customer were 11% of consolidated revenue in 2023. The accounts receivable balance for this customer accounted for 20% of consolidated accounts receivable as of December 31, 2023.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; </us-gaap:SegmentReportingDisclosureTextBlock>
    <us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock contextRef="Y23" id="ixv-3186">&lt;p style="font:10pt Courier New;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse;margin-left:-3.6pt"&gt;
&lt;tr&gt;
&lt;td style="background-color:#CADFF9;width:179.1pt" valign="bottom"&gt;&lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;&lt;b&gt;Fastener&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;&lt;b&gt;Assembly Equipment&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;&lt;b&gt;Other&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;&lt;b&gt;Consolidated&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;&lt;b&gt;Year Ended December 31, 2023:&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CADFF9;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;color:#E36C0A"&gt;&lt;span style="color:#000000"&gt;Net Sales&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;$ &#160;&#160;&#160;&#160;&#160;28,161,362&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;$ &#160;&#160;&#160;&#160;&#160;3,346,360&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;31,507,722&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CADFF9;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Depreciation&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;...&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;1,145,620&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;122,928&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;6,530&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;1,275,078&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CADFF9;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Segment operating profit (loss) &#160;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;(3,747,744)&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;549,156&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;margin-left:20.25pt;text-align:right"&gt;0 &lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;(3,198,588)&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Selling and administrative expenses&#x2026;&#x2026;&#x2026;&#x2026;..&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;(2,638,658)&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;(2,638,658)&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CADFF9;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Other income&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;..&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;108,234&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;108,234&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Loss before income taxes&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;(5,729,012)&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CADFF9;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Capital expenditures&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;.&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;1,041,896&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;5,235&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;31,236&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;1,078,367&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CADFF9;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Segment assets:&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CADFF9;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt; &#160;&#160;Accounts receivable, net&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;...&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;3,994,372&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;281,510&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;4,275,882&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt; &#160;&#160;Contract assets&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;...&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;118,301&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;118,301&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CADFF9;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt; &#160;&#160;Inventories, net&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;...&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;5,714,826&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;1,612,827&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;7,327,653&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt; &#160;&#160;Property, plant and equipment, net&#x2026;&#x2026;&#x2026;&#x2026;.&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;9,458,605&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;1,185,804&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;1,020,673&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;11,665,082&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CADFF9;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt; &#160;&#160;Other assets&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;4,443,987&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;4,443,987&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;27,830,905&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CADFF9;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Year Ended December 31, 2022:&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CADFF9;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;color:#E36C0A"&gt;&lt;span style="color:#000000"&gt;Net Sales&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;$ &#160;&#160;&#160;&#160;&#160;30,291,547&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;$ &#160;&#160;&#160;&#160;&#160;3,354,486&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;33,646,033&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CADFF9;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Depreciation&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;...&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;1,129,151&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;133,615&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;17,104&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;1,279,870&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CADFF9;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Segment operating profit&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;505,751&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;413,995&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;margin-left:20.25pt;text-align:right"&gt;0 &lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;919,746&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Selling and administrative expenses&#x2026;&#x2026;&#x2026;&#x2026;..&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;(2,096,944)&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;(2,096,944)&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CADFF9;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Gain on sale of property &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;4,738,394&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;4,738,394&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Other income&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;..&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;91,433&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;91,433&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CADFF9;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Income before income taxes&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;3,652,629&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CADFF9;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Capital expenditures&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;.&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;868,654&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;3,207&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;98,082&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;969,943&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CADFF9;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;Segment assets:&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt; &#160;&#160;Accounts receivable, net&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;...&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;4,683,620&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;291,517&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;4,975,137&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CADFF9;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt; &#160;&#160;Inventories, net&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;...&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;7,766,703&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;1,354,527&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;9,121,230&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt; &#160;&#160;Property, plant and equipment, net&#x2026;&#x2026;&#x2026;&#x2026;.&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;9,562,329&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;1,303,497&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;995,967&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;11,861,793&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="background-color:#CADFF9;width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt; &#160;&#160;Other assets&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&#x2026;&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;0&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;7,667,967&lt;/p&gt; &lt;/td&gt;
&lt;td style="background-color:#CADFF9;width:75.6pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;7,667,967&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="width:179.1pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;&#160;&lt;/p&gt; &lt;/td&gt;
&lt;td style="width:75.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:8pt Arial;margin:0;text-align:right"&gt;33,626,127&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt; &lt;/table&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; </us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock>
    <us-gaap:Revenues
      contextRef="Y23_StBusnSeg-Fastener"
      decimals="INF"
      id="ixv-5522"
      unitRef="USD">28161362</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Y23_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      id="ixv-5523"
      unitRef="USD">3346360</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Y23_StBusnSeg-Corporate"
      decimals="INF"
      id="ixv-5524"
      unitRef="USD">0</us-gaap:Revenues>
    <us-gaap:Depreciation
      contextRef="Y23_StBusnSeg-Fastener"
      decimals="INF"
      id="ixv-5525"
      unitRef="USD">1145620</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="Y23_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      id="ixv-5526"
      unitRef="USD">122928</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="Y23_StBusnSeg-Corporate"
      decimals="INF"
      id="ixv-5527"
      unitRef="USD">6530</us-gaap:Depreciation>
    <fil:SegmentOperatingProfit
      contextRef="Y23_StBusnSeg-Fastener"
      decimals="INF"
      id="ixv-5528"
      unitRef="USD">-3747744</fil:SegmentOperatingProfit>
    <fil:SegmentOperatingProfit
      contextRef="Y23_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      id="ixv-5529"
      unitRef="USD">549156</fil:SegmentOperatingProfit>
    <fil:SegmentOperatingProfit
      contextRef="Y23_StBusnSeg-Corporate"
      decimals="INF"
      id="ixv-5530"
      unitRef="USD">0</fil:SegmentOperatingProfit>
    <fil:SellingAndAdministrativeExpensesUnallocatedCorporate
      contextRef="Y23_StBusnSeg-Fastener"
      decimals="INF"
      id="ixv-5531"
      unitRef="USD">0</fil:SellingAndAdministrativeExpensesUnallocatedCorporate>
    <fil:SellingAndAdministrativeExpensesUnallocatedCorporate
      contextRef="Y23_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      id="ixv-5532"
      unitRef="USD">0</fil:SellingAndAdministrativeExpensesUnallocatedCorporate>
    <fil:SellingAndAdministrativeExpensesUnallocatedCorporate
      contextRef="Y23_StBusnSeg-Corporate"
      decimals="INF"
      id="ixv-5533"
      unitRef="USD">-2638658</fil:SellingAndAdministrativeExpensesUnallocatedCorporate>
    <us-gaap:InterestAndOtherIncome
      contextRef="Y23_StBusnSeg-Fastener"
      decimals="INF"
      id="ixv-5534"
      unitRef="USD">0</us-gaap:InterestAndOtherIncome>
    <us-gaap:InterestAndOtherIncome
      contextRef="Y23_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      id="ixv-5535"
      unitRef="USD">0</us-gaap:InterestAndOtherIncome>
    <us-gaap:InterestAndOtherIncome
      contextRef="Y23_StBusnSeg-Corporate"
      decimals="INF"
      id="ixv-5536"
      unitRef="USD">108234</us-gaap:InterestAndOtherIncome>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="Y23_StBusnSeg-Fastener"
      decimals="INF"
      id="ixv-5537"
      unitRef="USD">1041896</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="Y23_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      id="ixv-5538"
      unitRef="USD">5235</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="Y23_StBusnSeg-Corporate"
      decimals="INF"
      id="ixv-5539"
      unitRef="USD">31236</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="E23_StBusnSeg-Fastener"
      decimals="INF"
      id="ixv-5540"
      unitRef="USD">3994372</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="E23_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      id="ixv-5541"
      unitRef="USD">281510</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="E23_StBusnSeg-Corporate"
      decimals="INF"
      id="ixv-5542"
      unitRef="USD">0</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:ContractWithCustomerAssetNetCurrent
      contextRef="E23_StBusnSeg-Fastener"
      decimals="INF"
      id="ixv-5543"
      unitRef="USD">0</us-gaap:ContractWithCustomerAssetNetCurrent>
    <us-gaap:ContractWithCustomerAssetNetCurrent
      contextRef="E23_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      id="ixv-5544"
      unitRef="USD">118301</us-gaap:ContractWithCustomerAssetNetCurrent>
    <us-gaap:ContractWithCustomerAssetNetCurrent
      contextRef="E23_StBusnSeg-Corporate"
      decimals="INF"
      id="ixv-5545"
      unitRef="USD">0</us-gaap:ContractWithCustomerAssetNetCurrent>
    <us-gaap:InventoryNet
      contextRef="E23_StBusnSeg-Fastener"
      decimals="INF"
      id="ixv-5546"
      unitRef="USD">5714826</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="E23_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      id="ixv-5547"
      unitRef="USD">1612827</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="E23_StBusnSeg-Corporate"
      decimals="INF"
      id="ixv-5548"
      unitRef="USD">0</us-gaap:InventoryNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="E23_StBusnSeg-Fastener"
      decimals="INF"
      id="ixv-5549"
      unitRef="USD">9458605</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="E23_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      id="ixv-5550"
      unitRef="USD">1185804</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="E23_StBusnSeg-Corporate"
      decimals="INF"
      id="ixv-5551"
      unitRef="USD">1020673</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:OtherAssets
      contextRef="E23_StBusnSeg-Fastener"
      decimals="INF"
      id="ixv-5552"
      unitRef="USD">0</us-gaap:OtherAssets>
    <us-gaap:OtherAssets
      contextRef="E23_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      id="ixv-5553"
      unitRef="USD">0</us-gaap:OtherAssets>
    <us-gaap:OtherAssets
      contextRef="E23_StBusnSeg-Corporate"
      decimals="INF"
      id="ixv-5554"
      unitRef="USD">4443987</us-gaap:OtherAssets>
    <us-gaap:Revenues
      contextRef="Y22_StBusnSeg-Fastener"
      decimals="INF"
      id="ixv-5555"
      unitRef="USD">30291547</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Y22_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      id="ixv-5556"
      unitRef="USD">3354486</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Y22_StBusnSeg-Corporate"
      decimals="INF"
      id="ixv-5557"
      unitRef="USD">0</us-gaap:Revenues>
    <us-gaap:Depreciation
      contextRef="Y22_StBusnSeg-Fastener"
      decimals="INF"
      id="ixv-5558"
      unitRef="USD">1129151</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="Y22_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      id="ixv-5559"
      unitRef="USD">133615</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="Y22_StBusnSeg-Corporate"
      decimals="INF"
      id="ixv-5560"
      unitRef="USD">17104</us-gaap:Depreciation>
    <fil:SegmentOperatingProfit
      contextRef="Y22_StBusnSeg-Fastener"
      decimals="INF"
      id="ixv-5561"
      unitRef="USD">505751</fil:SegmentOperatingProfit>
    <fil:SegmentOperatingProfit
      contextRef="Y22_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      id="ixv-5562"
      unitRef="USD">413995</fil:SegmentOperatingProfit>
    <fil:SegmentOperatingProfit
      contextRef="Y22_StBusnSeg-Corporate"
      decimals="INF"
      id="ixv-5563"
      unitRef="USD">0</fil:SegmentOperatingProfit>
    <fil:SellingAndAdministrativeExpensesUnallocatedCorporate
      contextRef="Y22_StBusnSeg-Fastener"
      decimals="INF"
      id="ixv-5564"
      unitRef="USD">0</fil:SellingAndAdministrativeExpensesUnallocatedCorporate>
    <fil:SellingAndAdministrativeExpensesUnallocatedCorporate
      contextRef="Y22_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      id="ixv-5565"
      unitRef="USD">0</fil:SellingAndAdministrativeExpensesUnallocatedCorporate>
    <fil:SellingAndAdministrativeExpensesUnallocatedCorporate
      contextRef="Y22_StBusnSeg-Corporate"
      decimals="INF"
      id="ixv-5566"
      unitRef="USD">-2096944</fil:SellingAndAdministrativeExpensesUnallocatedCorporate>
    <us-gaap:GainLossOnSaleOfPropertyPlantEquipment
      contextRef="Y22_StBusnSeg-Corporate"
      decimals="INF"
      id="ixv-5567"
      unitRef="USD">4738394</us-gaap:GainLossOnSaleOfPropertyPlantEquipment>
    <us-gaap:InterestAndOtherIncome
      contextRef="Y22_StBusnSeg-Fastener"
      decimals="INF"
      id="ixv-5568"
      unitRef="USD">0</us-gaap:InterestAndOtherIncome>
    <us-gaap:InterestAndOtherIncome
      contextRef="Y22_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      id="ixv-5569"
      unitRef="USD">0</us-gaap:InterestAndOtherIncome>
    <us-gaap:InterestAndOtherIncome
      contextRef="Y22_StBusnSeg-Corporate"
      decimals="INF"
      id="ixv-5570"
      unitRef="USD">91433</us-gaap:InterestAndOtherIncome>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="Y22_StBusnSeg-Fastener"
      decimals="INF"
      id="ixv-5571"
      unitRef="USD">868654</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="Y22_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      id="ixv-5572"
      unitRef="USD">3207</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="Y22_StBusnSeg-Corporate"
      decimals="INF"
      id="ixv-5573"
      unitRef="USD">98082</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="E22_StBusnSeg-Fastener"
      decimals="INF"
      id="ixv-5574"
      unitRef="USD">4683620</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="E22_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      id="ixv-5575"
      unitRef="USD">291517</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="E22_StBusnSeg-Corporate"
      decimals="INF"
      id="ixv-5576"
      unitRef="USD">0</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:InventoryNet
      contextRef="E22_StBusnSeg-Fastener"
      decimals="INF"
      id="ixv-5577"
      unitRef="USD">7766703</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="E22_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      id="ixv-5578"
      unitRef="USD">1354527</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="E22_StBusnSeg-Corporate"
      decimals="INF"
      id="ixv-5579"
      unitRef="USD">0</us-gaap:InventoryNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="E22_StBusnSeg-Fastener"
      decimals="INF"
      id="ixv-5580"
      unitRef="USD">9562329</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="E22_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      id="ixv-5581"
      unitRef="USD">1303497</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="E22_StBusnSeg-Corporate"
      decimals="INF"
      id="ixv-5582"
      unitRef="USD">995967</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:OtherAssets
      contextRef="E22_StBusnSeg-Fastener"
      decimals="INF"
      id="ixv-5583"
      unitRef="USD">0</us-gaap:OtherAssets>
    <us-gaap:OtherAssets
      contextRef="E22_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      id="ixv-5584"
      unitRef="USD">0</us-gaap:OtherAssets>
    <us-gaap:OtherAssets
      contextRef="E22_StBusnSeg-Corporate"
      decimals="INF"
      id="ixv-5585"
      unitRef="USD">7667967</us-gaap:OtherAssets>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y23_ProductOrService-Automotive_StBusnSeg-Fastener"
      decimals="INF"
      id="ixv-5586"
      unitRef="USD">19297188</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y23_ProductOrService-Automotive_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      id="ixv-5587"
      unitRef="USD">131821</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y23_ProductOrService-Automotive"
      decimals="INF"
      id="ixv-5588"
      unitRef="USD">19429009</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y23_ProductOrService-Nonautomotive_StBusnSeg-Fastener"
      decimals="INF"
      id="ixv-5589"
      unitRef="USD">8864174</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y23_ProductOrService-Nonautomotive_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      id="ixv-5590"
      unitRef="USD">3214539</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y23_ProductOrService-Nonautomotive"
      decimals="INF"
      id="ixv-5591"
      unitRef="USD">12078713</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y23_StBusnSeg-Fastener"
      decimals="INF"
      id="ixv-5592"
      unitRef="USD">28161362</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y23_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      id="ixv-5593"
      unitRef="USD">3346360</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="Y23" decimals="INF" id="ixv-5594" unitRef="USD">31507722</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y22_ProductOrService-Automotive_StBusnSeg-Fastener"
      decimals="INF"
      id="ixv-5595"
      unitRef="USD">18454238</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y22_ProductOrService-Automotive_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      id="ixv-5596"
      unitRef="USD">209735</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y22_ProductOrService-Automotive"
      decimals="INF"
      id="ixv-5597"
      unitRef="USD">18663973</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y22_ProductOrService-Nonautomotive_StBusnSeg-Fastener"
      decimals="INF"
      id="ixv-5598"
      unitRef="USD">11837309</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y22_ProductOrService-Nonautomotive_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      id="ixv-5599"
      unitRef="USD">3144751</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y22_ProductOrService-Nonautomotive"
      decimals="INF"
      id="ixv-5600"
      unitRef="USD">14982060</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y22_StBusnSeg-Fastener"
      decimals="INF"
      id="ixv-5601"
      unitRef="USD">30291547</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y22_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      id="ixv-5602"
      unitRef="USD">3354486</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="Y22" decimals="INF" id="ixv-5603" unitRef="USD">33646033</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y23_StGeo-US_StBusnSeg-Fastener"
      decimals="INF"
      id="ixv-5604"
      unitRef="USD">22635244</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y23_StGeo-US_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      id="ixv-5605"
      unitRef="USD">3154677</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y23_StGeo-US"
      decimals="INF"
      id="ixv-5606"
      unitRef="USD">25789921</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y23_StGeo-NonUs_StBusnSeg-Fastener"
      decimals="INF"
      id="ixv-5607"
      unitRef="USD">5526118</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y23_StGeo-NonUs_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      id="ixv-5608"
      unitRef="USD">191683</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y23_StGeo-NonUs"
      decimals="INF"
      id="ixv-5609"
      unitRef="USD">5717801</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y23_StBusnSeg-Fastener"
      decimals="INF"
      id="ixv-5610"
      unitRef="USD">28161362</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y23_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      id="ixv-5611"
      unitRef="USD">3346360</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="Y23" decimals="INF" id="ixv-5612" unitRef="USD">31507722</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y22_StGeo-US_StBusnSeg-Fastener"
      decimals="INF"
      id="ixv-5613"
      unitRef="USD">24955181</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y22_StGeo-US_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      id="ixv-5614"
      unitRef="USD">3202729</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y22_StGeo-US"
      decimals="INF"
      id="ixv-5615"
      unitRef="USD">28157910</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y22_StGeo-NonUs_StBusnSeg-Fastener"
      decimals="INF"
      id="ixv-5616"
      unitRef="USD">5336366</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y22_StGeo-NonUs_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      id="ixv-5617"
      unitRef="USD">151757</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y22_StGeo-NonUs"
      decimals="INF"
      id="ixv-5618"
      unitRef="USD">5488123</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y22_StBusnSeg-Fastener"
      decimals="INF"
      id="ixv-5619"
      unitRef="USD">30291547</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y22_StBusnSeg-AssemblyEquipment"
      decimals="INF"
      id="ixv-5620"
      unitRef="USD">3354486</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="Y22" decimals="INF" id="ixv-5621" unitRef="USD">33646033</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Y23_MajCust-TIGroupAutomotiveSystems"
      decimals="INF"
      id="ixv-5622"
      unitRef="Pure">0.16</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Y22_MajCust-TIGroupAutomotiveSystems"
      decimals="INF"
      id="ixv-5623"
      unitRef="Pure">0.15</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:AdditionalInformationAboutEntitysReportableSegments
      contextRef="Y23_MajCust-TIGroupAutomotiveSystems"
      id="ixv-5624">15</us-gaap:AdditionalInformationAboutEntitysReportableSegments>
    <us-gaap:AdditionalInformationAboutEntitysReportableSegments
      contextRef="Y22_MajCust-TIGroupAutomotiveSystems"
      id="ixv-5625">19</us-gaap:AdditionalInformationAboutEntitysReportableSegments>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Y23_MajCust-CooperStandardHoldingsInc"
      decimals="INF"
      id="ixv-5626"
      unitRef="Pure">0.14</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Y22_MajCust-CooperStandardHoldingsInc"
      decimals="INF"
      id="ixv-5627"
      unitRef="Pure">0.14</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:AdditionalInformationAboutEntitysReportableSegments
      contextRef="Y23_MajCust-CooperStandardHoldingsInc"
      id="ixv-5628">14</us-gaap:AdditionalInformationAboutEntitysReportableSegments>
    <us-gaap:AdditionalInformationAboutEntitysReportableSegments
      contextRef="Y22_MajCust-CooperStandardHoldingsInc"
      id="ixv-5629">16</us-gaap:AdditionalInformationAboutEntitysReportableSegments>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Y23_MajCust-MartinreaInternationalInc"
      decimals="INF"
      id="ixv-5630"
      unitRef="Pure">0.11</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:AdditionalInformationAboutEntitysReportableSegments
      contextRef="Y23_MajCust-MartinreaInternationalInc"
      id="ixv-5631">20</us-gaap:AdditionalInformationAboutEntitysReportableSegments>
    <us-gaap:AdditionalFinancialInformationDisclosureTextBlock contextRef="Y23" id="ixv-3874">&lt;p style="font:10pt Arial;margin:0"&gt;&lt;b&gt;7 - Gain on Sale of Property - &lt;/b&gt; On August 12, 2022, the Company entered into a Purchase and Sale Agreement (the &#x201c;PSA&#x201d;) with Frontenac Properties LLC (the &#x201c;Purchaser&#x201d;) pursuant to which the Company agreed, subject to the terms and conditions of the PSA, to sell its facility in Naperville, Illinois, in which the Company&#x2019;s headquarters and warehouse space are located, to the Purchaser. &#160;On September 27, 2022, the Company&#x2019;s sale of the facility to the Purchaser was completed for a selling price of $5,350,000 in cash, less customary closing costs. The net gain on the transaction was $4,738,394. &#160;A portion of the net proceeds was invested in U.S. Treasury bills and is included in cash and cash equivalents as of December 31, 2022.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;Concurrently with the completion of the sale of the Naperville facility, the Company and the Purchaser entered into a lease agreement pursuant to which the Company leased the office and warehouse portion of the Naperville facility from the Purchaser until December 31, 2022 and the office portion until June 30, 2023. &#160;The monthly rent payable by the Company under the lease was $12,500 for the period from the closing until December 31, 2022 and was $8,500 for the period from January 1, 2023 to June 30, 2023. &#160;For the period from July 1, 2023 through December 31, 2023 the lease was extended on a month to month basis at $8,500 per month. The Company adopted the practical expedient for short-term leases under ASC 842 which allows for leases of 12 months or less to be expensed on a straight-line basis over the lease term without reporting on the balance sheet.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; </us-gaap:AdditionalFinancialInformationDisclosureTextBlock>
    <us-gaap:SaleLeasebackTransactionMonthlyRentalPayments
      contextRef="D230101_230630"
      decimals="INF"
      id="ixv-5632"
      unitRef="USD">8500</us-gaap:SaleLeasebackTransactionMonthlyRentalPayments>
    <us-gaap:SaleLeasebackTransactionMonthlyRentalPayments
      contextRef="D230701_231231"
      decimals="INF"
      id="ixv-5633"
      unitRef="USD">8500</us-gaap:SaleLeasebackTransactionMonthlyRentalPayments>
    <us-gaap:CommitmentsAndContingenciesDisclosureTextBlock contextRef="Y23" id="ixv-3886">&lt;p style="font:10pt Arial;margin:0"&gt;&lt;b&gt;8 - Commitments and Contingencies- &lt;/b&gt;The Company recorded rent expense aggregating approximately $128,000 and $91,000 in 2023 and 2022, respectively. &#160;Total future minimum rentals at December 31, 2023 were $112,800.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0"&gt;The Company is, from time to time involved in litigation, including environmental claims, in the normal course of business. &#160;While it is not possible at this time to establish the ultimate amount of liability with respect to contingent liabilities, including those related to legal proceedings, management is of the opinion that the aggregate amount of any such liabilities, for which provision has not been made, will not have a material adverse effect on the Company's financial position.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0;color:#000000"&gt;&#160;&lt;/p&gt; </us-gaap:CommitmentsAndContingenciesDisclosureTextBlock>
    <us-gaap:OperatingLeasesRentExpenseNet contextRef="Y23" decimals="INF" id="ixv-5634" unitRef="USD">128000</us-gaap:OperatingLeasesRentExpenseNet>
    <us-gaap:OperatingLeasesRentExpenseNet contextRef="Y22" decimals="INF" id="ixv-5635" unitRef="USD">91000</us-gaap:OperatingLeasesRentExpenseNet>
    <us-gaap:OperatingLeasesFutureMinimumPaymentsDueFutureMinimumSubleaseRentals contextRef="E23" decimals="INF" id="ixv-5636" unitRef="USD">112800</us-gaap:OperatingLeasesFutureMinimumPaymentsDueFutureMinimumSubleaseRentals>
    <us-gaap:UnusualOrInfrequentItemsDisclosureTextBlock contextRef="Y23" id="ixv-3893">&lt;p style="font:10pt Arial;margin:0"&gt;&lt;b&gt;9. - Risks and Uncertainties for Health Emergencies. &#160;&lt;/b&gt;Our global operations expose us to risks associated with pandemics, epidemics, or other public health emergencies. &#160;Such events could lead to restrictions and mandates, and there could be global impacts resulting directly or indirectly from such an event including labor shortages, logistical challenges, and supply chain disruptions such as increases in costs for certain goods and services. &#160;While much of our customer demand and shipments have recovered from the impact of the COVID-19 pandemic, the extent to which any resurgence in the future would impact our business, including the automotive industry upon which we rely for sales, will depend on a number of evolving factors, all of which are highly uncertain and cannot be predicted, and could last for an extended period of time.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0;color:#000000"&gt;&#160;&lt;/p&gt; </us-gaap:UnusualOrInfrequentItemsDisclosureTextBlock>
    <us-gaap:ScheduleOfSubsequentEventsTextBlock contextRef="Y23" id="ixv-3898">&lt;p style="font:10pt Arial;margin:0;color:#000000"&gt;&lt;b&gt;10 - Subsequent Events- &lt;/b&gt;On February 19, 2024, the Board of Directors declared a regular quarterly dividend of $0.10 per share, or $96,613.20, payable March 20, 2024 to shareholders of record on March 5, 2024.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0;color:#000000"&gt;&#160;&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0;color:#000000"&gt;On January 1, 2024, the Company entered into a one-year lease agreement for the Naperville facility that extends through December 31, 2024 at the rate of $9,400 per month.&lt;/p&gt; &lt;p style="font:10pt Arial;margin:0;color:#000000"&gt;&#160;&lt;/p&gt; </us-gaap:ScheduleOfSubsequentEventsTextBlock>
    <us-gaap:DividendsPayableDateDeclaredDayMonthAndYear contextRef="Y23" id="ixv-5637">2024-02-19</us-gaap:DividendsPayableDateDeclaredDayMonthAndYear>
    <us-gaap:DividendsPayableAmountPerShare
      contextRef="E23"
      decimals="INF"
      id="ixv-5638"
      unitRef="UsdPerShare">0.1</us-gaap:DividendsPayableAmountPerShare>
    <us-gaap:DividendsPayableCurrent contextRef="E23" decimals="INF" id="ixv-5639" unitRef="USD">96613.2</us-gaap:DividendsPayableCurrent>
    <us-gaap:DividendPayableDateToBePaidDayMonthAndYear contextRef="Y23" id="ixv-5640">2024-03-20</us-gaap:DividendPayableDateToBePaidDayMonthAndYear>
    <us-gaap:DividendsPayableDateOfRecordDayMonthAndYear contextRef="Y23" id="ixv-5641">2024-03-05</us-gaap:DividendsPayableDateOfRecordDayMonthAndYear>
    <us-gaap:SaleLeasebackTransactionMonthlyRentalPayments
      contextRef="D240101"
      decimals="INF"
      id="ixv-5642"
      unitRef="USD">9400</us-gaap:SaleLeasebackTransactionMonthlyRentalPayments>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
</SEC-DOCUMENT>
