<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:cyd="http://xbrl.sec.gov/cyd/2026"
  xmlns:dei="http://xbrl.sec.gov/dei/2026"
  xmlns:ecd="http://xbrl.sec.gov/ecd/2026"
  xmlns:esp="http://esp.com/20260630"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:srt="http://fasb.org/srt/2026"
  xmlns:us-gaap="http://fasb.org/us-gaap/2026"
  xmlns:xbrldi="http://xbrl.org/2006/xbrldi"
  xmlns:xlink="http://www.w3.org/1999/xlink"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <link:schemaRef xlink:href="esp-20260630.xsd" xlink:type="simple"/>
    <context id="cref_925931785">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
        </entity>
        <period>
            <startDate>2026-04-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="cref_1652327793">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
        </entity>
        <period>
            <instant>2025-06-30</instant>
        </period>
    </context>
    <context id="cref_1712351858">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
        </entity>
        <period>
            <instant>2026-06-30</instant>
        </period>
    </context>
    <context id="cref_1746239625">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
        </entity>
        <period>
            <startDate>2025-07-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="cref_174659268">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
        </entity>
        <period>
            <startDate>2025-04-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="cref_1753356508">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-03-31</endDate>
        </period>
    </context>
    <context id="cref_443689078">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
        </entity>
        <period>
            <startDate>2024-10-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="cref_2021105631">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
        </entity>
        <period>
            <startDate>2024-07-01</startDate>
            <endDate>2024-09-30</endDate>
        </period>
    </context>
    <context id="cref_401645156">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
        </entity>
        <period>
            <startDate>2026-01-01</startDate>
            <endDate>2026-03-31</endDate>
        </period>
    </context>
    <context id="cref_890039125">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
        </entity>
        <period>
            <startDate>2025-10-01</startDate>
            <endDate>2025-12-31</endDate>
        </period>
    </context>
    <context id="cref_650031301">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
        </entity>
        <period>
            <startDate>2025-07-01</startDate>
            <endDate>2025-09-30</endDate>
        </period>
    </context>
    <context id="cref_882207396">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
        </entity>
        <period>
            <startDate>2024-07-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="cref_1155046959">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-07-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="cref_817553120">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2026-06-30</instant>
        </period>
    </context>
    <context id="cref_48164798">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">esp:CustomerSixMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CreditConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-07-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="cref_934062831">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">esp:CustomerFiveMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CreditConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-07-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="cref_1321682645">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">esp:CustomerFourMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CreditConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-07-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="cref_332028890">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">esp:CustomerThreeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CreditConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-07-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="cref_1803167661">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">esp:CustomerTwoMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CreditConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-07-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="cref_299696615">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">esp:CustomerOneMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CreditConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-07-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="cref_1899331607">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">esp:SixCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CreditConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-07-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="cref_644618820">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">esp:CustomerThreeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CreditConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-07-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="cref_1815834749">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">esp:CustomerTwoMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CreditConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-07-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="cref_910876168">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">esp:CustomerOneMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CreditConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-07-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="cref_344341378">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">esp:ThreeCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CreditConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-07-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="cref_146568497">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="cref_438973075">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:StockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2026-06-30</instant>
        </period>
    </context>
    <context id="cref_1892830668">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:StockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-07-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="cref_607339698">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:StockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-06-30</instant>
        </period>
    </context>
    <context id="cref_1152724801">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:StockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-07-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="cref_1071546690">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:StockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-06-30</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="cref_74397886">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:StockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="cref_495124243">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-07-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="cref_339010056">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2026-06-30</instant>
        </period>
    </context>
    <context id="cref_1452743619">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">esp:TwoThousandSeventeenPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2026-06-30</instant>
        </period>
    </context>
    <context id="cref_511580538">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">esp:TwoThousandSeventeenPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-07-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="cref_1743023548">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">esp:IndividualEmployeeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">esp:TwoThousandSeventeenPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-07-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="cref_1667680141">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">esp:NonEmployeeDirectorsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">esp:TwoThousandSeventeenPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-07-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="cref_335265335">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">esp:NonEmployeeDirectorsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">esp:TwoThousandSeventeenPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-07-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="cref_801043542">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">esp:NonQualifiedStockOptionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2026-06-30</instant>
        </period>
    </context>
    <context id="cref_619599741">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">esp:IncentiveStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2026-06-30</instant>
        </period>
    </context>
    <context id="cref_782296855">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">esp:NonQualifiedStockOptionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-07-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="cref_1971004044">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">esp:NonQualifiedStockOptionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-07-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="cref_1997001624">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:EmployeeStockOwnershipPlanESOPDisclosuresByPlanAxis">esp:EmployeeStockOwnershipPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-07-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="cref_842945340">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:EmployeeStockOwnershipPlanESOPDisclosuresByPlanAxis">esp:EmployeeStockOwnershipPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-07-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="cref_843556965">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:EmployeeStockOwnershipPlanESOPDisclosuresByPlanAxis">esp:EmployeeStockOwnershipPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2026-06-30</instant>
        </period>
    </context>
    <context id="cref_1207499138">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">esp:USFederalAndStateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-07-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="cref_281886857">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">esp:USFederalAndStateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-07-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="cref_966593992">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">esp:USStateAndLocalOtherStatesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-07-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="cref_511604264">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">esp:USStateAndLocalFloridaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-07-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="cref_470372603">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">esp:USStateAndLocalFloridaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-07-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="cref_276421914">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">esp:USFederalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-07-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="cref_313458875">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">esp:USFederalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-07-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="cref_1297898305">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">esp:ReimbursedUnderFundingAwardMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2026-06-30</instant>
        </period>
    </context>
    <context id="cref_1122863028">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">esp:FacilityAndCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2026-06-30</instant>
        </period>
    </context>
    <context id="cref_418728593">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:AssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2026-06-30</instant>
        </period>
    </context>
    <context id="cref_1966068458">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">esp:MilestoneOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2026-06-30</instant>
        </period>
    </context>
    <context id="cref_71900756">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-07-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="cref_1523438233">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
        </entity>
        <period>
            <startDate>2022-07-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="cref_1009713489">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-06-30</instant>
        </period>
    </context>
    <context id="cref_1083381326">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2026-06-30</instant>
        </period>
    </context>
    <context id="cref_1649081570">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-06-30</instant>
        </period>
    </context>
    <context id="cref_1253582427">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2026-06-30</instant>
        </period>
    </context>
    <context id="cref_161037122">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandBuildingsAndImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-06-30</instant>
        </period>
    </context>
    <context id="cref_1115597257">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandBuildingsAndImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2026-06-30</instant>
        </period>
    </context>
    <context id="cref_1285122235">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-06-30</instant>
        </period>
    </context>
    <context id="cref_956626672">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2026-06-30</instant>
        </period>
    </context>
    <context id="cref_1220714141">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">esp:SaleDebtSecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:MunicipalBondsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-06-30</instant>
        </period>
    </context>
    <context id="cref_85843506">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">esp:SaleDebtSecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CertificatesOfDepositMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-06-30</instant>
        </period>
    </context>
    <context id="cref_1026477933">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">esp:SaleDebtSecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:MunicipalBondsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2026-06-30</instant>
        </period>
    </context>
    <context id="cref_1472203679">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">esp:SaleDebtSecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CertificatesOfDepositMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2026-06-30</instant>
        </period>
    </context>
    <context id="cref_685623249">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">esp:ExportShipmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-07-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="cref_1018043530">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">esp:ExportShipmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-07-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="cref_1831881546">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">esp:CustomerTwoMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-07-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="cref_489833039">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">esp:CustomerOneMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-07-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="cref_1957195676">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">esp:ThreeCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-07-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="cref_1495702793">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">esp:CustomerThreeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-07-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="cref_1028899497">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">esp:CustomerTwoMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-07-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="cref_2122408625">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">esp:CustomerOneMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-07-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="cref_506260295">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">esp:TwoCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-07-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="cref_220190546">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">esp:SixCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-07-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="cref_394766499">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">esp:FiveCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-07-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="cref_1471382908">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">esp:FourCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-07-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="cref_1624281482">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">esp:ThreeCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-07-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="cref_482743140">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">esp:TwoCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-07-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="cref_400714308">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">esp:OneCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-07-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="cref_1989350996">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">esp:DomesticCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-07-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="cref_826230833">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">esp:FiveCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-07-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="cref_1091457075">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">esp:FourCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-07-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="cref_384126604">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">esp:ThreeCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-07-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="cref_801002545">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">esp:TwoCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-07-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="cref_1225931761">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">esp:OneCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-07-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="cref_296554496">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">esp:DomesticCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-07-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="cref_1602987179">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">esp:ASC606Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:OrderOrProductionBacklogMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2026-06-30</instant>
        </period>
    </context>
    <context id="cref_2130128193">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
        </entity>
        <period>
            <instant>2024-07-01</instant>
        </period>
    </context>
    <context id="cref_1517378982">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
        </entity>
        <period>
            <instant>2025-07-01</instant>
        </period>
    </context>
    <context id="cref_933136111">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">esp:ASC606Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-06-30</instant>
        </period>
    </context>
    <context id="cref_216551257">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">esp:ASC606Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2026-06-30</instant>
        </period>
    </context>
    <context id="cref_272114010">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-07-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="cref_1201735229">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">esp:MilestonesAchievedMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">esp:ASC606Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-07-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="cref_1789478324">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">esp:MilestonesAchievedMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">esp:ASC606Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-07-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="cref_1963301343">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">esp:UnitsDeliveredMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">esp:ASC606Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-07-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="cref_657742850">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">esp:UnitsDeliveredMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">esp:ASC606Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-07-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="cref_724441202">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2026-06-30</instant>
        </period>
    </context>
    <context id="cref_1107919036">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2026-06-30</instant>
        </period>
    </context>
    <context id="cref_524822231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</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>2026-06-30</instant>
        </period>
    </context>
    <context id="cref_536207409">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</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>2026-06-30</instant>
        </period>
    </context>
    <context id="cref_724054029">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</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>2026-06-30</instant>
        </period>
    </context>
    <context id="cref_1367317384">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</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>2026-06-30</instant>
        </period>
    </context>
    <context id="cref_1576066784">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">esp:UnearnedESOPSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2026-06-30</instant>
        </period>
    </context>
    <context id="cref_397234858">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2026-06-30</instant>
        </period>
    </context>
    <context id="cref_1764150383">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2026-06-30</instant>
        </period>
    </context>
    <context id="cref_434447396">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2026-06-30</instant>
        </period>
    </context>
    <context id="cref_908580496">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2026-06-30</instant>
        </period>
    </context>
    <context id="cref_449736982">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">esp:UnearnedESOPSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-07-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="cref_1526196474">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-07-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="cref_166117126">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-07-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="cref_791279761">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-07-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="cref_1484321611">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-07-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="cref_1207555535">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">esp:UnearnedESOPSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-06-30</instant>
        </period>
    </context>
    <context id="cref_329514368">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-06-30</instant>
        </period>
    </context>
    <context id="cref_1641389482">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-06-30</instant>
        </period>
    </context>
    <context id="cref_476657666">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-06-30</instant>
        </period>
    </context>
    <context id="cref_946716793">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-06-30</instant>
        </period>
    </context>
    <context id="cref_1900900525">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-06-30</instant>
        </period>
    </context>
    <context id="cref_1157273332">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">esp:UnearnedESOPSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-07-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="cref_115075124">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-07-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="cref_695878551">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-07-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="cref_1341557806">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-07-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="cref_624871116">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-07-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="cref_1296663756">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-07-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="cref_1219128808">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">esp:UnearnedESOPSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="cref_1209995189">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="cref_326757603">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="cref_806565208">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="cref_1982707857">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="cref_49392247">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="cref_880135635">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
        </entity>
        <period>
            <instant>2026-09-15</instant>
        </period>
    </context>
    <context id="cref_419936579">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
        </entity>
        <period>
            <instant>2025-12-31</instant>
        </period>
    </context>
    <context id="cref_424528473">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">esp:USStateAndLocalOtherStatesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-07-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="cref_1639558335">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000033533</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">esp:TwoThousandSevenPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-07-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <unit id="uref_1652327793">
        <measure>iso4217:USD</measure>
    </unit>
    <unit id="uref_1611471486">
        <measure>esp:Segment</measure>
    </unit>
    <unit id="uref_174659268">
        <divide>
            <unitNumerator>
                <measure>iso4217:USD</measure>
            </unitNumerator>
            <unitDenominator>
                <measure>shares</measure>
            </unitDenominator>
        </divide>
    </unit>
    <unit id="uref_2143746030">
        <measure>pure</measure>
    </unit>
    <unit id="uref_51110194">
        <measure>shares</measure>
    </unit>
    <unit id="uref_1921828217">
        <measure>esp:Hour</measure>
    </unit>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="cref_1652327793"
      id="fc_2018172110"
      unitRef="uref_1652327793"
      xsi:nil="true"/>
    <us-gaap:DeferredTaxLiabilitiesDeferredExpenseCapitalizedInventoryCosts
      contextRef="cref_1712351858"
      id="fc_1806963171"
      unitRef="uref_1652327793"
      xsi:nil="true"/>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="cref_424528473"
      id="fc_424528473"
      unitRef="uref_1652327793"
      xsi:nil="true"/>
    <us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPosition
      contextRef="cref_1652327793"
      id="fc_1544389788"
      unitRef="uref_1652327793"
      xsi:nil="true"/>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="cref_1639558335"
      id="fc_1639558335"
      unitRef="uref_51110194"
      xsi:nil="true"/>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="cref_1746239625"
      id="fc_764419438"
      unitRef="uref_51110194"
      xsi:nil="true"/>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="cref_882207396"
      id="fc_1876834240"
      unitRef="uref_51110194"
      xsi:nil="true"/>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="cref_1472203679"
      id="fc_1658783320"
      unitRef="uref_1652327793"
      xsi:nil="true"/>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="cref_1472203679"
      id="fc_361119238"
      unitRef="uref_1652327793"
      xsi:nil="true"/>
    <esp:InventoryEffectOfUniformCapitalization
      contextRef="cref_1652327793"
      id="fc_1926955269"
      unitRef="uref_1652327793"
      xsi:nil="true"/>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="cref_1712351858"
      id="fc_770894434"
      unitRef="uref_1652327793"
      xsi:nil="true"/>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="cref_1652327793"
      id="fc_308527448"
      unitRef="uref_1652327793"
      xsi:nil="true"/>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="cref_74397886"
      id="fc_622660705"
      unitRef="uref_1652327793"
      xsi:nil="true"/>
    <esp:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisedWeightedAverageRemainingContractualTerm
      contextRef="cref_1152724801"
      id="fc_1058481192"
      xsi:nil="true"/>
    <esp:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsForfeitedAndExpiredWeightedAverageRemainingContractualTerm
      contextRef="cref_1152724801"
      id="fc_1602070145"
      xsi:nil="true"/>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="cref_1892830668"
      id="fc_2090950865"
      unitRef="uref_51110194"
      xsi:nil="true"/>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="cref_1892830668"
      id="fc_243133874"
      unitRef="uref_174659268"
      xsi:nil="true"/>
    <esp:WeightedAverageRemainingContrSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTermactualTermGranted
      contextRef="cref_1892830668"
      id="fc_744390503"
      xsi:nil="true"/>
    <esp:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisedWeightedAverageRemainingContractualTerm
      contextRef="cref_1892830668"
      id="fc_644862744"
      xsi:nil="true"/>
    <esp:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsForfeitedAndExpiredWeightedAverageRemainingContractualTerm
      contextRef="cref_1892830668"
      id="fc_644376364"
      xsi:nil="true"/>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="cref_1746239625"
      id="fc_1845515991"
      unitRef="uref_51110194"
      xsi:nil="true"/>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="cref_1746239625"
      id="fc_1042606346"
      unitRef="uref_174659268"
      xsi:nil="true"/>
    <us-gaap:SegmentReportingCodmIndividualTitleAndPositionOrGroupOrCommitteeNameExtensibleEnumeration contextRef="cref_1746239625" id="fc_2019579819">http://fasb.org/srt/2026#ChiefExecutiveOfficerMember</us-gaap:SegmentReportingCodmIndividualTitleAndPositionOrGroupOrCommitteeNameExtensibleEnumeration>
    <us-gaap:GainLossOnSaleOfPropertyPlantEquipment
      contextRef="cref_882207396"
      id="fc_909565731"
      unitRef="uref_1652327793"
      xsi:nil="true"/>
    <us-gaap:IncreaseDecreaseInIncomeTaxesReceivable
      contextRef="cref_882207396"
      id="fc_801817315"
      unitRef="uref_1652327793"
      xsi:nil="true"/>
    <us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued
      contextRef="cref_1712351858"
      id="fc_335869392"
      unitRef="uref_1652327793"
      xsi:nil="true"/>
    <us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued
      contextRef="cref_1652327793"
      id="fc_1043862622"
      unitRef="uref_1652327793"
      xsi:nil="true"/>
    <us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment
      contextRef="cref_882207396"
      id="fc_1442884085"
      unitRef="uref_1652327793"
      xsi:nil="true"/>
    <dei:CurrentFiscalYearEndDate contextRef="cref_1746239625" id="fc_238688797">--06-30</dei:CurrentFiscalYearEndDate>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="cref_85843506"
      id="fc_191769556"
      unitRef="uref_1652327793"
      xsi:nil="true"/>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="cref_85843506"
      id="fc_27446923"
      unitRef="uref_1652327793"
      xsi:nil="true"/>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="cref_1220714141"
      id="fc_1914554811"
      unitRef="uref_1652327793"
      xsi:nil="true"/>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="cref_1746239625"
      id="fc_563841313"
      unitRef="uref_51110194"
      xsi:nil="true"/>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="cref_882207396"
      id="fc_351376514"
      unitRef="uref_51110194"
      xsi:nil="true"/>
    <dei:EntityFileNumber contextRef="cref_1746239625" id="fc_359269622">1-4383</dei:EntityFileNumber>
    <dei:EntityCentralIndexKey contextRef="cref_1746239625" id="ixv-6707">0000033533</dei:EntityCentralIndexKey>
    <dei:AmendmentFlag contextRef="cref_1746239625" id="ixv-6708">false</dei:AmendmentFlag>
    <dei:DocumentFiscalPeriodFocus contextRef="cref_1746239625" id="ixv-6709">FY</dei:DocumentFiscalPeriodFocus>
    <us-gaap:TaxJurisdictionOfDomicileExtensibleEnumeration contextRef="cref_1746239625" id="fc_884904240">http://fasb.org/us-gaap/2026#TaxJurisdictionOfDomicileExtensibleEnumeration</us-gaap:TaxJurisdictionOfDomicileExtensibleEnumeration>
    <us-gaap:TaxJurisdictionOfDomicileExtensibleEnumeration contextRef="cref_882207396" id="fc_1093512561">http://fasb.org/us-gaap/2026#TaxJurisdictionOfDomicileExtensibleEnumeration</us-gaap:TaxJurisdictionOfDomicileExtensibleEnumeration>
    <us-gaap:IncomeTaxesReceivable
      contextRef="cref_1652327793"
      id="fc_1339898291"
      unitRef="uref_1652327793"
      xsi:nil="true"/>
    <us-gaap:TaxesPayableCurrent
      contextRef="cref_1712351858"
      id="fc_572332991"
      unitRef="uref_1652327793"
      xsi:nil="true"/>
    <us-gaap:CommitmentsAndContingencies
      contextRef="cref_1712351858"
      id="fc_1779515135"
      unitRef="uref_1652327793"
      xsi:nil="true"/>
    <us-gaap:CommitmentsAndContingencies
      contextRef="cref_1652327793"
      id="fc_2066427560"
      unitRef="uref_1652327793"
      xsi:nil="true"/>
    <us-gaap:ImpairmentOfLongLivedAssetsToBeDisposedOf
      contextRef="cref_1746239625"
      id="fc_458794615"
      unitRef="uref_1652327793"
      xsi:nil="true"/>
    <us-gaap:ImpairmentOfLongLivedAssetsToBeDisposedOf
      contextRef="cref_882207396"
      id="fc_498486440"
      unitRef="uref_1652327793"
      xsi:nil="true"/>
    <dei:DocumentType contextRef="cref_1746239625" id="ixv-7855">10-K</dei:DocumentType>
    <dei:DocumentAnnualReport contextRef="cref_1746239625" id="ixv-7856">true</dei:DocumentAnnualReport>
    <dei:DocumentPeriodEndDate contextRef="cref_1746239625" id="ixv-22">2026-06-30</dei:DocumentPeriodEndDate>
    <dei:DocumentFiscalYearFocus contextRef="cref_1746239625" id="ixv-7857">2026</dei:DocumentFiscalYearFocus>
    <dei:DocumentTransitionReport contextRef="cref_1746239625" id="ixv-7858">false</dei:DocumentTransitionReport>
    <dei:EntityRegistrantName contextRef="cref_1746239625" id="ixv-7859">ESPEY MFG. &amp; ELECTRONICS CORP.</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode contextRef="cref_1746239625" id="ixv-7860">NY</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber contextRef="cref_1746239625" id="ixv-7861">14-1387171</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1 contextRef="cref_1746239625" id="ixv-7862">233 Ballston Avenue</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown contextRef="cref_1746239625" id="ixv-7863">Saratoga Springs</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince contextRef="cref_1746239625" id="ixv-7864">NY</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode contextRef="cref_1746239625" id="ixv-7865">12866</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode contextRef="cref_1746239625" id="ixv-7866">518</dei:CityAreaCode>
    <dei:LocalPhoneNumber contextRef="cref_1746239625" id="ixv-7867">584-4100</dei:LocalPhoneNumber>
    <dei:Security12bTitle contextRef="cref_1746239625" id="ixv-7868">Common     Stock $.33-1/3 par value</dei:Security12bTitle>
    <dei:TradingSymbol contextRef="cref_1746239625" id="ixv-7869">ESP</dei:TradingSymbol>
    <dei:SecurityExchangeName contextRef="cref_1746239625" id="ixv-7870">NYSEAMER</dei:SecurityExchangeName>
    <dei:EntityWellKnownSeasonedIssuer contextRef="cref_1746239625" id="ixv-7871">No</dei:EntityWellKnownSeasonedIssuer>
    <dei:EntityVoluntaryFilers contextRef="cref_1746239625" id="ixv-7872">No</dei:EntityVoluntaryFilers>
    <dei:EntityCurrentReportingStatus contextRef="cref_1746239625" id="ixv-7873">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent contextRef="cref_1746239625" id="ixv-7874">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory contextRef="cref_1746239625" id="ixv-7875">Non-accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness contextRef="cref_1746239625" id="ixv-7876">true</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany contextRef="cref_1746239625" id="ixv-7877">false</dei:EntityEmergingGrowthCompany>
    <dei:IcfrAuditorAttestationFlag contextRef="cref_1746239625" id="ixv-7878">false</dei:IcfrAuditorAttestationFlag>
    <dei:DocumentFinStmtErrorCorrectionFlag contextRef="cref_1746239625" id="ixv-7879">false</dei:DocumentFinStmtErrorCorrectionFlag>
    <dei:EntityShellCompany contextRef="cref_1746239625" id="ixv-7880">false</dei:EntityShellCompany>
    <dei:EntityPublicFloat
      contextRef="cref_419936579"
      decimals="0"
      id="ixv-7881"
      unitRef="uref_1652327793">167477906</dei:EntityPublicFloat>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="cref_880135635"
      decimals="INF"
      id="ixv-7882"
      unitRef="uref_51110194">3036872</dei:EntityCommonStockSharesOutstanding>
    <dei:DocumentsIncorporatedByReferenceTextBlock contextRef="cref_1746239625" id="ixv-103">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;Portions of the registrant's definitive proxy statement relating to the 2026 Annual Meeting of Shareholders, to be filed with the Securities and Exchange Commission, are incorporated by reference in Part III, Items 10 through 14 on Form 10-K as indicated herein.&lt;/p&gt;</dei:DocumentsIncorporatedByReferenceTextBlock>
    <cyd:CybersecurityRiskManagementProcessesForAssessingIdentifyingAndManagingThreatsTextBlock contextRef="cref_1746239625" id="ixv-7883">Robust cybersecurity is an essential component of our strategic vision. We face a variety of complex cybersecurity threats as a defense contractor. Among the risks are computer malware, ransomware, phishing attacks, Denial of Service attacks and Advanced Persistent Threats. Our security team, comprised of members from senior management, IT, human resources and program management, performs routine risk assessments in accordance with NIST 800-30, using input from observed risks and threats, advisories, federal agencies and local law enforcement. The Audit Committee of the Board of Directors is responsible for oversight of our risk management processes. The Audit Committee is briefed by senior management on cybersecurity posture, initiatives and incidents.</cyd:CybersecurityRiskManagementProcessesForAssessingIdentifyingAndManagingThreatsTextBlock>
    <cyd:CybersecurityRiskBoardOfDirectorsOversightTextBlock contextRef="cref_1746239625" id="ixv-7884">The Audit Committee of the Board of Directors is responsible for oversight of our risk management processes.</cyd:CybersecurityRiskBoardOfDirectorsOversightTextBlock>
    <cyd:CybersecurityRiskManagementPositionsOrCommitteesResponsibleFlag contextRef="cref_1746239625" id="ixv-7885">true</cyd:CybersecurityRiskManagementPositionsOrCommitteesResponsibleFlag>
    <cyd:CybersecurityRiskRoleOfManagementTextBlock contextRef="cref_1746239625" id="ixv-7886">We allocate significant resources to mitigate these risks. We are required to adhere to rigorous regulations, such as those outlined in the Defense Federal Acquisition Regulation Supplement (DFARS), which govern the protection of controlled unclassified information (CUI) and the mandatory reporting of cybersecurity incidents to the Department of Defense (DoD). All DFARS requirements  flow down to our sub-contractors, who are required to self-report their compliance to the U.S. Government. In addition to the processes and systems that we use to identify and mitigate risks, we utilize third party services to conduct valuations of our security controls, including penetration testing and independent audits. Despite our efforts to uphold the highest cybersecurity standards, we may still experience a cybersecurity incident that has a material effect on business strategy, results of operation or financial condition. It is also possible that additional regulations could affect our supply chain and increase costs. Prior cyberattacks directed at us have not had a material impact on our financial results nor restricted us from being awarded contracts from other defense companies or directly from the United States Department of Defense. However, we can provide no assurance that the occurrence of any future event would not adversely affect our internal operations, our reputation and competitive advantage, and our future financial results.</cyd:CybersecurityRiskRoleOfManagementTextBlock>
    <cyd:CybersecurityRiskManagementPositionsOrCommitteesResponsibleTextBlock contextRef="cref_1746239625" id="ixv-7887">We allocate significant resources to mitigate these risks. We are required to adhere to rigorous regulations, such as those outlined in the Defense Federal Acquisition Regulation Supplement (DFARS), which govern the protection of controlled unclassified information (CUI) and the mandatory reporting of cybersecurity incidents to the Department of Defense (DoD). All DFARS requirements  flow down to our sub-contractors, who are required to self-report their compliance to the U.S. Government. In addition to the processes and systems that we use to identify and mitigate risks, we utilize third party services to conduct valuations of our security controls, including penetration testing and independent audits. Despite our efforts to uphold the highest cybersecurity standards, we may still experience a cybersecurity incident that has a material effect on business strategy, results of operation or financial condition.</cyd:CybersecurityRiskManagementPositionsOrCommitteesResponsibleTextBlock>
    <cyd:CybersecurityRiskManagementThirdPartyEngagedFlag contextRef="cref_1746239625" id="ixv-7888">true</cyd:CybersecurityRiskManagementThirdPartyEngagedFlag>
    <cyd:CybersecurityRiskMateriallyAffectedOrReasonablyLikelyToMateriallyAffectRegistrantFlag contextRef="cref_1746239625" id="ixv-7889">true</cyd:CybersecurityRiskMateriallyAffectedOrReasonablyLikelyToMateriallyAffectRegistrantFlag>
    <cyd:CybersecurityRiskMateriallyAffectedOrReasonablyLikelyToMateriallyAffectRegistrantTextBlock contextRef="cref_1746239625" id="ixv-7890">It is also possible that additional regulations could affect our supply chain and increase costs. Prior cyberattacks directed at us have not had a material impact on our financial results nor restricted us from being awarded contracts from other defense companies or directly from the United States Department of Defense. However, we can provide no assurance that the occurrence of any future event would not adversely affect our internal operations, our reputation and competitive advantage, and our future financial results.</cyd:CybersecurityRiskMateriallyAffectedOrReasonablyLikelyToMateriallyAffectRegistrantTextBlock>
    <dei:AuditorOpinionTextBlock contextRef="cref_1746239625" id="ixv-686">&lt;p style="font: 10pt/12pt Times New Roman, Times, Serif; margin: 0 0 6pt; text-align: justify; color: #0057B8;"&gt;&lt;span style="font-weight: bold;"&gt;Opinion on the Financial Statements&lt;/span&gt;&lt;/p&gt; &lt;p style="font: 10pt/12pt Times New Roman, Times, Serif; margin: 0; text-align: justify;"&gt;We have audited the accompanying balance sheet of Espey Mfg. &amp;amp; Electronics Corp. (the &#x201c;Company&#x201d;) as of June 30, 2026, and the related statements of comprehensive income, changes in stockholders&#x2019; equity and cash flows for year ended June 30, 2026, and the related notes (collectively referred to as the &#x201c;financial statements&#x201d;). In our opinion, the financial statements present fairly, in all material respects, the financial position of the Company as of June 30, 2026, and the results of its operations and its cash flows for the year ended June 30, 2026, in conformity with accounting principles generally accepted in the United States of America.&lt;/p&gt;</dei:AuditorOpinionTextBlock>
    <dei:AuditorName contextRef="cref_1746239625" id="ixv-7891">WithumSmith+Brown, PC</dei:AuditorName>
    <dei:AuditorLocation contextRef="cref_1746239625" id="ixv-7892">Rochester, New York</dei:AuditorLocation>
    <dei:AuditorFirmId contextRef="cref_1746239625" id="ixv-7893">100</dei:AuditorFirmId>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="cref_1712351858"
      decimals="0"
      id="ixv-7894"
      unitRef="uref_1652327793">19436966</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="cref_1652327793"
      decimals="0"
      id="ixv-7895"
      unitRef="uref_1652327793">18862645</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent
      contextRef="cref_1712351858"
      decimals="0"
      id="ixv-7896"
      unitRef="uref_1652327793">26006718</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent
      contextRef="cref_1652327793"
      decimals="0"
      id="ixv-7897"
      unitRef="uref_1652327793">24717245</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="cref_1712351858"
      decimals="0"
      id="ixv-7898"
      unitRef="uref_1652327793">3000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="cref_1652327793"
      decimals="0"
      id="ixv-7899"
      unitRef="uref_1652327793">3000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="cref_1712351858"
      decimals="0"
      id="ixv-7900"
      unitRef="uref_1652327793">8959999</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="cref_1652327793"
      decimals="0"
      id="ixv-7901"
      unitRef="uref_1652327793">7598888</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:IncomeTaxesReceivable
      contextRef="cref_1712351858"
      decimals="0"
      id="ixv-7902"
      unitRef="uref_1652327793">443861</us-gaap:IncomeTaxesReceivable>
    <us-gaap:InventoryRawMaterials
      contextRef="cref_1712351858"
      decimals="0"
      id="ixv-7903"
      unitRef="uref_1652327793">2450892</us-gaap:InventoryRawMaterials>
    <us-gaap:InventoryRawMaterials
      contextRef="cref_1652327793"
      decimals="0"
      id="ixv-7904"
      unitRef="uref_1652327793">2120462</us-gaap:InventoryRawMaterials>
    <us-gaap:InventoryWorkInProcess
      contextRef="cref_1712351858"
      decimals="0"
      id="ixv-7905"
      unitRef="uref_1652327793">767381</us-gaap:InventoryWorkInProcess>
    <us-gaap:InventoryWorkInProcess
      contextRef="cref_1652327793"
      decimals="0"
      id="ixv-7906"
      unitRef="uref_1652327793">681334</us-gaap:InventoryWorkInProcess>
    <us-gaap:InventoryForLongTermContractsOrPrograms
      contextRef="cref_1712351858"
      decimals="0"
      id="ixv-7907"
      unitRef="uref_1652327793">22750135</us-gaap:InventoryForLongTermContractsOrPrograms>
    <us-gaap:InventoryForLongTermContractsOrPrograms
      contextRef="cref_1652327793"
      decimals="0"
      id="ixv-7908"
      unitRef="uref_1652327793">15040253</us-gaap:InventoryForLongTermContractsOrPrograms>
    <us-gaap:InventoryNet
      contextRef="cref_1712351858"
      decimals="0"
      id="ixv-7909"
      unitRef="uref_1652327793">25968408</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="cref_1652327793"
      decimals="0"
      id="ixv-7910"
      unitRef="uref_1652327793">17842049</us-gaap:InventoryNet>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="cref_1712351858"
      decimals="0"
      id="ixv-7911"
      unitRef="uref_1652327793">10497773</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="cref_1652327793"
      decimals="0"
      id="ixv-7912"
      unitRef="uref_1652327793">4933562</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="cref_1712351858"
      decimals="0"
      id="ixv-7913"
      unitRef="uref_1652327793">91313725</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="cref_1652327793"
      decimals="0"
      id="ixv-7914"
      unitRef="uref_1652327793">73954389</us-gaap:AssetsCurrent>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="cref_1712351858"
      decimals="0"
      id="fc_832943813"
      unitRef="uref_1652327793">1338858</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="cref_1652327793"
      decimals="0"
      id="fc_914882426"
      unitRef="uref_1652327793">1202019</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="cref_1712351858"
      decimals="0"
      id="ixv-7917"
      unitRef="uref_1652327793">4500814</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="cref_1652327793"
      decimals="0"
      id="ixv-7918"
      unitRef="uref_1652327793">3960156</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:Assets
      contextRef="cref_1712351858"
      decimals="0"
      id="ixv-7919"
      unitRef="uref_1652327793">97153397</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="cref_1652327793"
      decimals="0"
      id="ixv-7920"
      unitRef="uref_1652327793">79116564</us-gaap:Assets>
    <us-gaap:AccountsPayableCurrent
      contextRef="cref_1712351858"
      decimals="0"
      id="ixv-7921"
      unitRef="uref_1652327793">3449040</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent
      contextRef="cref_1652327793"
      decimals="0"
      id="ixv-7922"
      unitRef="uref_1652327793">2641576</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccruedSalariesCurrent
      contextRef="cref_1712351858"
      decimals="0"
      id="ixv-7923"
      unitRef="uref_1652327793">1310642</us-gaap:AccruedSalariesCurrent>
    <us-gaap:AccruedSalariesCurrent
      contextRef="cref_1652327793"
      decimals="0"
      id="ixv-7924"
      unitRef="uref_1652327793">1185387</us-gaap:AccruedSalariesCurrent>
    <us-gaap:AccruedVacationCurrent
      contextRef="cref_1712351858"
      decimals="0"
      id="ixv-7925"
      unitRef="uref_1652327793">536974</us-gaap:AccruedVacationCurrent>
    <us-gaap:AccruedVacationCurrent
      contextRef="cref_1652327793"
      decimals="0"
      id="ixv-7926"
      unitRef="uref_1652327793">568078</us-gaap:AccruedVacationCurrent>
    <us-gaap:OtherEmployeeRelatedLiabilitiesCurrent
      contextRef="cref_1712351858"
      decimals="0"
      id="ixv-7927"
      unitRef="uref_1652327793">283151</us-gaap:OtherEmployeeRelatedLiabilitiesCurrent>
    <us-gaap:OtherEmployeeRelatedLiabilitiesCurrent
      contextRef="cref_1652327793"
      decimals="0"
      id="ixv-7928"
      unitRef="uref_1652327793">594153</us-gaap:OtherEmployeeRelatedLiabilitiesCurrent>
    <us-gaap:AccruedPayrollTaxesCurrent
      contextRef="cref_1712351858"
      decimals="0"
      id="ixv-7929"
      unitRef="uref_1652327793">831</us-gaap:AccruedPayrollTaxesCurrent>
    <us-gaap:AccruedPayrollTaxesCurrent
      contextRef="cref_1652327793"
      decimals="0"
      id="ixv-7930"
      unitRef="uref_1652327793">93456</us-gaap:AccruedPayrollTaxesCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="cref_1712351858"
      decimals="0"
      id="ixv-7931"
      unitRef="uref_1652327793">30999186</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="cref_1652327793"
      decimals="0"
      id="ixv-7932"
      unitRef="uref_1652327793">22886404</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:TaxesPayableCurrent
      contextRef="cref_1652327793"
      decimals="0"
      id="ixv-7933"
      unitRef="uref_1652327793">298510</us-gaap:TaxesPayableCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="cref_1712351858"
      decimals="0"
      id="ixv-7934"
      unitRef="uref_1652327793">36579824</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="cref_1652327793"
      decimals="0"
      id="ixv-7935"
      unitRef="uref_1652327793">28267564</us-gaap:LiabilitiesCurrent>
    <us-gaap:Liabilities
      contextRef="cref_1712351858"
      decimals="0"
      id="ixv-7936"
      unitRef="uref_1652327793">36579824</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="cref_1652327793"
      decimals="0"
      id="ixv-7937"
      unitRef="uref_1652327793">28267564</us-gaap:Liabilities>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="cref_1712351858"
      decimals="2"
      id="ixv-7938"
      unitRef="uref_174659268">0.33</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="cref_1652327793"
      decimals="2"
      id="ixv-7939"
      unitRef="uref_174659268">0.33</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="cref_1712351858"
      decimals="0"
      id="ixv-7940"
      unitRef="uref_51110194">10000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="cref_1652327793"
      decimals="0"
      id="ixv-7941"
      unitRef="uref_51110194">10000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesIssued
      contextRef="cref_1712351858"
      decimals="0"
      id="ixv-7942"
      unitRef="uref_51110194">3129874</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesIssued
      contextRef="cref_1652327793"
      decimals="0"
      id="fc_1397368701"
      unitRef="uref_51110194">3129874</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="cref_1712351858"
      decimals="0"
      id="fc_1914087667"
      unitRef="uref_51110194">3007672</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="cref_1652327793"
      decimals="0"
      id="ixv-7945"
      unitRef="uref_51110194">2896368</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesHeldInEmployeeTrustShares
      contextRef="cref_1712351858"
      decimals="0"
      id="ixv-7946"
      unitRef="uref_51110194">168636</us-gaap:CommonStockSharesHeldInEmployeeTrustShares>
    <us-gaap:CommonStockSharesHeldInEmployeeTrustShares
      contextRef="cref_1652327793"
      decimals="0"
      id="ixv-7947"
      unitRef="uref_51110194">189817</us-gaap:CommonStockSharesHeldInEmployeeTrustShares>
    <us-gaap:CommonStockValue
      contextRef="cref_1712351858"
      decimals="0"
      id="ixv-7948"
      unitRef="uref_1652327793">1043291</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="cref_1652327793"
      decimals="0"
      id="ixv-7949"
      unitRef="uref_1652327793">1043291</us-gaap:CommonStockValue>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="cref_1712351858"
      decimals="0"
      id="ixv-7950"
      unitRef="uref_1652327793">27354936</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="cref_1652327793"
      decimals="0"
      id="ixv-7951"
      unitRef="uref_1652327793">26331842</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="cref_1712351858"
      decimals="0"
      id="ixv-7952"
      unitRef="uref_1652327793">13320</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="cref_1652327793"
      decimals="0"
      id="ixv-7953"
      unitRef="uref_1652327793">11596</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="cref_1712351858"
      decimals="0"
      id="ixv-7954"
      unitRef="uref_1652327793">37898276</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="cref_1652327793"
      decimals="0"
      id="ixv-7955"
      unitRef="uref_1652327793">31550390</us-gaap:RetainedEarningsAccumulatedDeficit>
    <esp:TotalStockholdersEquityBeforyEsopAndTreasuryStock
      contextRef="cref_1712351858"
      decimals="0"
      id="ixv-7956"
      unitRef="uref_1652327793">66309823</esp:TotalStockholdersEquityBeforyEsopAndTreasuryStock>
    <esp:TotalStockholdersEquityBeforyEsopAndTreasuryStock
      contextRef="cref_1652327793"
      decimals="0"
      id="ixv-7957"
      unitRef="uref_1652327793">58937119</esp:TotalStockholdersEquityBeforyEsopAndTreasuryStock>
    <esp:UnearnedESOPSharesCost
      contextRef="cref_1712351858"
      decimals="0"
      id="fc_1434336762"
      unitRef="uref_1652327793">3084342</esp:UnearnedESOPSharesCost>
    <esp:UnearnedESOPSharesCost
      contextRef="cref_1652327793"
      decimals="0"
      id="fc_456215502"
      unitRef="uref_1652327793">3471747</esp:UnearnedESOPSharesCost>
    <us-gaap:TreasuryStockCommonShares
      contextRef="cref_1712351858"
      decimals="0"
      id="ixv-7960"
      unitRef="uref_51110194">122202</us-gaap:TreasuryStockCommonShares>
    <us-gaap:TreasuryStockCommonShares
      contextRef="cref_1652327793"
      decimals="0"
      id="ixv-7961"
      unitRef="uref_51110194">233506</us-gaap:TreasuryStockCommonShares>
    <us-gaap:TreasuryStockValue
      contextRef="cref_1712351858"
      decimals="0"
      id="ixv-7962"
      unitRef="uref_1652327793">2651908</us-gaap:TreasuryStockValue>
    <us-gaap:TreasuryStockValue
      contextRef="cref_1652327793"
      decimals="0"
      id="ixv-7963"
      unitRef="uref_1652327793">4616372</us-gaap:TreasuryStockValue>
    <us-gaap:StockholdersEquity
      contextRef="cref_1712351858"
      decimals="0"
      id="ixv-7964"
      unitRef="uref_1652327793">60573573</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="cref_1652327793"
      decimals="0"
      id="ixv-7965"
      unitRef="uref_1652327793">50849000</us-gaap:StockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="cref_1712351858"
      decimals="0"
      id="ixv-7966"
      unitRef="uref_1652327793">97153397</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="cref_1652327793"
      decimals="0"
      id="ixv-7967"
      unitRef="uref_1652327793">79116564</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:Revenues
      contextRef="cref_1746239625"
      decimals="0"
      id="ixv-7968"
      unitRef="uref_1652327793">46124325</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="cref_882207396"
      decimals="0"
      id="ixv-7969"
      unitRef="uref_1652327793">43950872</us-gaap:Revenues>
    <us-gaap:CostOfRevenue
      contextRef="cref_1746239625"
      decimals="0"
      id="ixv-7970"
      unitRef="uref_1652327793">29840192</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="cref_882207396"
      decimals="0"
      id="ixv-7971"
      unitRef="uref_1652327793">31266241</us-gaap:CostOfRevenue>
    <us-gaap:GrossProfit
      contextRef="cref_1746239625"
      decimals="0"
      id="ixv-7972"
      unitRef="uref_1652327793">16284133</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="cref_882207396"
      decimals="0"
      id="ixv-7973"
      unitRef="uref_1652327793">12684631</us-gaap:GrossProfit>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="cref_1746239625"
      decimals="0"
      id="ixv-7974"
      unitRef="uref_1652327793">4689449</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="cref_882207396"
      decimals="0"
      id="ixv-7975"
      unitRef="uref_1652327793">4557945</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:OperatingIncomeLoss
      contextRef="cref_1746239625"
      decimals="0"
      id="ixv-7976"
      unitRef="uref_1652327793">11594684</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="cref_882207396"
      decimals="0"
      id="ixv-7977"
      unitRef="uref_1652327793">8126686</us-gaap:OperatingIncomeLoss>
    <us-gaap:InvestmentIncomeInterest
      contextRef="cref_1746239625"
      decimals="0"
      id="ixv-7978"
      unitRef="uref_1652327793">1702825</us-gaap:InvestmentIncomeInterest>
    <us-gaap:InvestmentIncomeInterest
      contextRef="cref_882207396"
      decimals="0"
      id="ixv-7979"
      unitRef="uref_1652327793">1259852</us-gaap:InvestmentIncomeInterest>
    <us-gaap:OtherNonoperatingIncome
      contextRef="cref_1746239625"
      decimals="0"
      id="ixv-7980"
      unitRef="uref_1652327793">17827</us-gaap:OtherNonoperatingIncome>
    <us-gaap:OtherNonoperatingIncome
      contextRef="cref_882207396"
      decimals="0"
      id="ixv-7981"
      unitRef="uref_1652327793">342126</us-gaap:OtherNonoperatingIncome>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="cref_1746239625"
      decimals="0"
      id="ixv-7982"
      unitRef="uref_1652327793">1720652</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="cref_882207396"
      decimals="0"
      id="ixv-7983"
      unitRef="uref_1652327793">1601978</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="cref_1746239625"
      decimals="0"
      id="ixv-7984"
      unitRef="uref_1652327793">13315336</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="cref_882207396"
      decimals="0"
      id="ixv-7985"
      unitRef="uref_1652327793">9728664</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="cref_1746239625"
      decimals="0"
      id="ixv-7986"
      unitRef="uref_1652327793">2135577</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="cref_882207396"
      decimals="0"
      id="ixv-7987"
      unitRef="uref_1652327793">1585710</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:NetIncomeLoss
      contextRef="cref_1746239625"
      decimals="0"
      id="ixv-7988"
      unitRef="uref_1652327793">11179759</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="cref_882207396"
      decimals="0"
      id="ixv-7989"
      unitRef="uref_1652327793">8142954</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
      contextRef="cref_1746239625"
      decimals="0"
      id="ixv-7990"
      unitRef="uref_1652327793">1724</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
      contextRef="cref_882207396"
      decimals="0"
      id="ixv-7991"
      unitRef="uref_1652327793">5052</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="cref_1746239625"
      decimals="0"
      id="ixv-7992"
      unitRef="uref_1652327793">11181483</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="cref_882207396"
      decimals="0"
      id="ixv-7993"
      unitRef="uref_1652327793">8148006</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:EarningsPerShareBasic
      contextRef="cref_1746239625"
      decimals="2"
      id="ixv-7994"
      unitRef="uref_174659268">4.04</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="cref_882207396"
      decimals="2"
      id="ixv-7995"
      unitRef="uref_174659268">3.14</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="cref_1746239625"
      decimals="2"
      id="ixv-7996"
      unitRef="uref_174659268">3.89</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="cref_882207396"
      decimals="2"
      id="ixv-7997"
      unitRef="uref_174659268">3.02</us-gaap:EarningsPerShareDiluted>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="cref_1746239625"
      decimals="0"
      id="ixv-7998"
      unitRef="uref_51110194">2770292</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="cref_882207396"
      decimals="0"
      id="ixv-7999"
      unitRef="uref_51110194">2591036</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="cref_1746239625"
      decimals="0"
      id="ixv-8000"
      unitRef="uref_51110194">2871414</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="cref_882207396"
      decimals="0"
      id="ixv-8001"
      unitRef="uref_51110194">2696192</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="cref_49392247"
      decimals="INF"
      id="fc_711538506"
      unitRef="uref_51110194">2733958</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="cref_49392247"
      decimals="0"
      id="fc_49392247"
      unitRef="uref_1652327793">1043291</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="cref_1982707857"
      decimals="0"
      id="fc_1982707857"
      unitRef="uref_1652327793">23930428</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="cref_806565208"
      decimals="0"
      id="fc_806565208"
      unitRef="uref_1652327793">6544</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="cref_326757603"
      decimals="0"
      id="fc_326757603"
      unitRef="uref_1652327793">26004790</us-gaap:StockholdersEquity>
    <us-gaap:TreasuryStockCommonShares
      contextRef="cref_1209995189"
      decimals="INF"
      id="fc_1076007716"
      unitRef="uref_51110194">395916</us-gaap:TreasuryStockCommonShares>
    <us-gaap:StockholdersEquity
      contextRef="cref_1209995189"
      decimals="0"
      id="fc_1209995189"
      unitRef="uref_1652327793">-5842988</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="cref_1219128808"
      decimals="0"
      id="fc_1219128808"
      unitRef="uref_1652327793">-3868093</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="cref_146568497"
      decimals="0"
      id="fc_1399205753"
      unitRef="uref_1652327793">41273972</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="cref_695878551"
      decimals="0"
      id="ixv-8011"
      unitRef="uref_1652327793">8142954</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="cref_882207396"
      decimals="0"
      id="ixv-8012"
      unitRef="uref_1652327793">8142954</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax
      contextRef="cref_882207396"
      decimals="0"
      id="ixv-8013"
      unitRef="uref_1652327793">1061</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax>
    <us-gaap:OtherComprehensiveIncomeDefinedBenefitPlansNetUnamortizedGainLossArisingDuringPeriodNetOfTax
      contextRef="cref_1296663756"
      decimals="0"
      id="ixv-8014"
      unitRef="uref_1652327793">5052</us-gaap:OtherComprehensiveIncomeDefinedBenefitPlansNetUnamortizedGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeDefinedBenefitPlansNetUnamortizedGainLossArisingDuringPeriodNetOfTax
      contextRef="cref_882207396"
      decimals="0"
      id="ixv-8015"
      unitRef="uref_1652327793">5052</us-gaap:OtherComprehensiveIncomeDefinedBenefitPlansNetUnamortizedGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="cref_882207396"
      decimals="0"
      id="ixv-8016"
      unitRef="uref_1652327793">8148006</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="cref_624871116"
      decimals="INF"
      id="ixv-8017"
      unitRef="uref_51110194">162410</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="cref_115075124"
      decimals="0"
      id="ixv-8018"
      unitRef="uref_1652327793">1829006</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="cref_1341557806"
      decimals="INF"
      id="ixv-8019"
      unitRef="uref_51110194">-162410</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="cref_1341557806"
      decimals="0"
      id="ixv-8020"
      unitRef="uref_1652327793">1226616</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="cref_882207396"
      decimals="0"
      id="ixv-8021"
      unitRef="uref_1652327793">3055622</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition
      contextRef="cref_115075124"
      decimals="0"
      id="ixv-8022"
      unitRef="uref_1652327793">346281</us-gaap:AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition
      contextRef="cref_882207396"
      decimals="0"
      id="ixv-8023"
      unitRef="uref_1652327793">346281</us-gaap:AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition>
    <us-gaap:CommonStockDividendsPerShareCashPaid
      contextRef="cref_882207396"
      decimals="2"
      id="ixv-8024"
      unitRef="uref_174659268">1</us-gaap:CommonStockDividendsPerShareCashPaid>
    <us-gaap:DividendsCommonStockCash
      contextRef="cref_695878551"
      decimals="0"
      id="ixv-8025"
      unitRef="uref_1652327793">2597354</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash
      contextRef="cref_882207396"
      decimals="0"
      id="ixv-8026"
      unitRef="uref_1652327793">2597354</us-gaap:DividendsCommonStockCash>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan
      contextRef="cref_115075124"
      decimals="0"
      id="ixv-8027"
      unitRef="uref_1652327793">226127</us-gaap:StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan
      contextRef="cref_1157273332"
      decimals="0"
      id="ixv-8028"
      unitRef="uref_1652327793">396346</us-gaap:StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan
      contextRef="cref_882207396"
      decimals="0"
      id="ixv-8029"
      unitRef="uref_1652327793">622473</us-gaap:StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="cref_1900900525"
      decimals="INF"
      id="fc_435217580"
      unitRef="uref_51110194">2896368</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="cref_1900900525"
      decimals="0"
      id="fc_1481562687"
      unitRef="uref_1652327793">1043291</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="cref_946716793"
      decimals="0"
      id="fc_1649424275"
      unitRef="uref_1652327793">26331842</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="cref_476657666"
      decimals="0"
      id="fc_235961648"
      unitRef="uref_1652327793">11596</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="cref_1641389482"
      decimals="0"
      id="fc_1149818090"
      unitRef="uref_1652327793">31550390</us-gaap:StockholdersEquity>
    <us-gaap:TreasuryStockCommonShares
      contextRef="cref_329514368"
      decimals="INF"
      id="fc_922307741"
      unitRef="uref_51110194">233506</us-gaap:TreasuryStockCommonShares>
    <us-gaap:StockholdersEquity
      contextRef="cref_329514368"
      decimals="0"
      id="fc_1011236449"
      unitRef="uref_1652327793">-4616372</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="cref_1207555535"
      decimals="0"
      id="fc_718353802"
      unitRef="uref_1652327793">-3471747</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="cref_1652327793"
      decimals="0"
      id="fc_1779367681"
      unitRef="uref_1652327793">50849000</us-gaap:StockholdersEquity>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="cref_1900900525"
      decimals="INF"
      id="fc_1324715687"
      unitRef="uref_51110194">2896368</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="cref_1900900525"
      decimals="0"
      id="fc_1900900525"
      unitRef="uref_1652327793">1043291</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="cref_946716793"
      decimals="0"
      id="fc_946716793"
      unitRef="uref_1652327793">26331842</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="cref_476657666"
      decimals="0"
      id="fc_476657666"
      unitRef="uref_1652327793">11596</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="cref_1641389482"
      decimals="0"
      id="fc_1641389482"
      unitRef="uref_1652327793">31550390</us-gaap:StockholdersEquity>
    <us-gaap:TreasuryStockCommonShares
      contextRef="cref_329514368"
      decimals="INF"
      id="fc_1806878978"
      unitRef="uref_51110194">233506</us-gaap:TreasuryStockCommonShares>
    <us-gaap:StockholdersEquity
      contextRef="cref_329514368"
      decimals="0"
      id="fc_329514368"
      unitRef="uref_1652327793">-4616372</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="cref_1207555535"
      decimals="0"
      id="fc_1207555535"
      unitRef="uref_1652327793">-3471747</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="cref_1652327793"
      decimals="0"
      id="fc_2098341923"
      unitRef="uref_1652327793">50849000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="cref_166117126"
      decimals="0"
      id="ixv-8048"
      unitRef="uref_1652327793">11179759</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="cref_1746239625"
      decimals="0"
      id="ixv-8049"
      unitRef="uref_1652327793">11179759</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax
      contextRef="cref_1746239625"
      decimals="0"
      id="ixv-8050"
      unitRef="uref_1652327793">362</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax>
    <us-gaap:OtherComprehensiveIncomeDefinedBenefitPlansNetUnamortizedGainLossArisingDuringPeriodNetOfTax
      contextRef="cref_1484321611"
      decimals="0"
      id="ixv-8051"
      unitRef="uref_1652327793">1724</us-gaap:OtherComprehensiveIncomeDefinedBenefitPlansNetUnamortizedGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeDefinedBenefitPlansNetUnamortizedGainLossArisingDuringPeriodNetOfTax
      contextRef="cref_1746239625"
      decimals="0"
      id="ixv-8052"
      unitRef="uref_1652327793">1724</us-gaap:OtherComprehensiveIncomeDefinedBenefitPlansNetUnamortizedGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="cref_1746239625"
      decimals="0"
      id="ixv-8053"
      unitRef="uref_1652327793">11181483</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="cref_1155046959"
      decimals="INF"
      id="ixv-8054"
      unitRef="uref_51110194">111304</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="cref_1526196474"
      decimals="0"
      id="ixv-8055"
      unitRef="uref_1652327793">112754</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="cref_791279761"
      decimals="INF"
      id="ixv-8056"
      unitRef="uref_51110194">-111304</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="cref_791279761"
      decimals="0"
      id="ixv-8057"
      unitRef="uref_1652327793">1964464</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="cref_1746239625"
      decimals="0"
      id="ixv-8058"
      unitRef="uref_1652327793">2077218</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition
      contextRef="cref_1526196474"
      decimals="0"
      id="ixv-8059"
      unitRef="uref_1652327793">213688</us-gaap:AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition
      contextRef="cref_1746239625"
      decimals="0"
      id="ixv-8060"
      unitRef="uref_1652327793">213688</us-gaap:AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition>
    <us-gaap:CommonStockDividendsPerShareCashPaid
      contextRef="cref_1746239625"
      decimals="2"
      id="ixv-8061"
      unitRef="uref_174659268">1.75</us-gaap:CommonStockDividendsPerShareCashPaid>
    <us-gaap:DividendsCommonStockCash
      contextRef="cref_166117126"
      decimals="0"
      id="ixv-8062"
      unitRef="uref_1652327793">4831873</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash
      contextRef="cref_1746239625"
      decimals="0"
      id="ixv-8063"
      unitRef="uref_1652327793">4831873</us-gaap:DividendsCommonStockCash>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan
      contextRef="cref_1526196474"
      decimals="0"
      id="ixv-8064"
      unitRef="uref_1652327793">696652</us-gaap:StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan
      contextRef="cref_449736982"
      decimals="0"
      id="ixv-8065"
      unitRef="uref_1652327793">387405</us-gaap:StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan
      contextRef="cref_1746239625"
      decimals="0"
      id="ixv-8066"
      unitRef="uref_1652327793">1084057</us-gaap:StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="cref_817553120"
      decimals="INF"
      id="fc_1970475451"
      unitRef="uref_51110194">3007672</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="cref_817553120"
      decimals="0"
      id="fc_563139100"
      unitRef="uref_1652327793">1043291</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="cref_908580496"
      decimals="0"
      id="fc_908580496"
      unitRef="uref_1652327793">27354936</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="cref_434447396"
      decimals="0"
      id="fc_434447396"
      unitRef="uref_1652327793">13320</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="cref_1764150383"
      decimals="0"
      id="fc_1764150383"
      unitRef="uref_1652327793">37898276</us-gaap:StockholdersEquity>
    <us-gaap:TreasuryStockCommonShares
      contextRef="cref_397234858"
      decimals="INF"
      id="fc_2065698173"
      unitRef="uref_51110194">122202</us-gaap:TreasuryStockCommonShares>
    <us-gaap:StockholdersEquity
      contextRef="cref_397234858"
      decimals="0"
      id="fc_397234858"
      unitRef="uref_1652327793">-2651908</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="cref_1576066784"
      decimals="0"
      id="fc_1576066784"
      unitRef="uref_1652327793">-3084342</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="cref_1712351858"
      decimals="0"
      id="fc_1693882592"
      unitRef="uref_1652327793">60573573</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="cref_1746239625"
      decimals="0"
      id="ixv-8076"
      unitRef="uref_1652327793">11179759</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="cref_882207396"
      decimals="0"
      id="ixv-8077"
      unitRef="uref_1652327793">8142954</us-gaap:NetIncomeLoss>
    <us-gaap:ShareBasedCompensation
      contextRef="cref_1746239625"
      decimals="0"
      id="ixv-8078"
      unitRef="uref_1652327793">213688</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="cref_882207396"
      decimals="0"
      id="ixv-8079"
      unitRef="uref_1652327793">346281</us-gaap:ShareBasedCompensation>
    <us-gaap:Depreciation
      contextRef="cref_1746239625"
      decimals="0"
      id="ixv-8080"
      unitRef="uref_1652327793">512341</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="cref_882207396"
      decimals="0"
      id="ixv-8081"
      unitRef="uref_1652327793">451523</us-gaap:Depreciation>
    <us-gaap:EmployeeStockOwnershipPlanESOPCompensationExpense
      contextRef="cref_1746239625"
      decimals="0"
      id="ixv-8082"
      unitRef="uref_1652327793">1084057</us-gaap:EmployeeStockOwnershipPlanESOPCompensationExpense>
    <us-gaap:EmployeeStockOwnershipPlanESOPCompensationExpense
      contextRef="cref_882207396"
      decimals="0"
      id="ixv-8083"
      unitRef="uref_1652327793">622472</us-gaap:EmployeeStockOwnershipPlanESOPCompensationExpense>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="cref_1746239625"
      decimals="0"
      id="ixv-8084"
      unitRef="uref_1652327793">-136839</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="cref_882207396"
      decimals="0"
      id="ixv-8085"
      unitRef="uref_1652327793">-306865</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:GainLossOnSaleOfPropertyPlantEquipment
      contextRef="cref_1746239625"
      decimals="0"
      id="ixv-8086"
      unitRef="uref_1652327793">-20802</us-gaap:GainLossOnSaleOfPropertyPlantEquipment>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="cref_1746239625"
      decimals="0"
      id="ixv-8087"
      unitRef="uref_1652327793">1361111</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="cref_882207396"
      decimals="0"
      id="ixv-8088"
      unitRef="uref_1652327793">963398</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInIncomeTaxesReceivable
      contextRef="cref_1746239625"
      decimals="0"
      id="ixv-8089"
      unitRef="uref_1652327793">443861</us-gaap:IncreaseDecreaseInIncomeTaxesReceivable>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="cref_1746239625"
      decimals="0"
      id="ixv-8090"
      unitRef="uref_1652327793">8126359</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="cref_882207396"
      decimals="0"
      id="ixv-8091"
      unitRef="uref_1652327793">-1401960</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="cref_1746239625"
      decimals="0"
      id="ixv-8092"
      unitRef="uref_1652327793">5564211</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="cref_882207396"
      decimals="0"
      id="ixv-8093"
      unitRef="uref_1652327793">1702160</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="cref_1746239625"
      decimals="0"
      id="ixv-8094"
      unitRef="uref_1652327793">807462</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="cref_882207396"
      decimals="0"
      id="ixv-8095"
      unitRef="uref_1652327793">-1109633</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccruedSalaries
      contextRef="cref_1746239625"
      decimals="0"
      id="ixv-8096"
      unitRef="uref_1652327793">125255</us-gaap:IncreaseDecreaseInAccruedSalaries>
    <us-gaap:IncreaseDecreaseInAccruedSalaries
      contextRef="cref_882207396"
      decimals="0"
      id="ixv-8097"
      unitRef="uref_1652327793">257224</us-gaap:IncreaseDecreaseInAccruedSalaries>
    <esp:IncreaseDecreaseInVacationAccrual
      contextRef="cref_1746239625"
      decimals="0"
      id="ixv-8098"
      unitRef="uref_1652327793">-31104</esp:IncreaseDecreaseInVacationAccrual>
    <esp:IncreaseDecreaseInVacationAccrual
      contextRef="cref_882207396"
      decimals="0"
      id="ixv-8099"
      unitRef="uref_1652327793">56934</esp:IncreaseDecreaseInVacationAccrual>
    <us-gaap:IncreaseDecreaseInOtherAccruedLiabilities
      contextRef="cref_1746239625"
      decimals="0"
      id="ixv-8100"
      unitRef="uref_1652327793">-311002</us-gaap:IncreaseDecreaseInOtherAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInOtherAccruedLiabilities
      contextRef="cref_882207396"
      decimals="0"
      id="ixv-8101"
      unitRef="uref_1652327793">-163399</us-gaap:IncreaseDecreaseInOtherAccruedLiabilities>
    <esp:IncreasedecreaseInPayrollAndOtherTaxesWithheld
      contextRef="cref_1746239625"
      decimals="0"
      id="ixv-8102"
      unitRef="uref_1652327793">-92625</esp:IncreasedecreaseInPayrollAndOtherTaxesWithheld>
    <esp:IncreasedecreaseInPayrollAndOtherTaxesWithheld
      contextRef="cref_882207396"
      decimals="0"
      id="ixv-8103"
      unitRef="uref_1652327793">36594</esp:IncreasedecreaseInPayrollAndOtherTaxesWithheld>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="cref_1746239625"
      decimals="0"
      id="fc_1463976442"
      unitRef="uref_1652327793">8112782</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="cref_882207396"
      decimals="0"
      id="fc_1361126772"
      unitRef="uref_1652327793">13842982</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable
      contextRef="cref_1746239625"
      decimals="0"
      id="ixv-8106"
      unitRef="uref_1652327793">-298510</us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable>
    <us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable
      contextRef="cref_882207396"
      decimals="0"
      id="ixv-8107"
      unitRef="uref_1652327793">77903</us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="cref_1746239625"
      decimals="0"
      id="ixv-8108"
      unitRef="uref_1652327793">5690524</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="cref_882207396"
      decimals="0"
      id="ixv-8109"
      unitRef="uref_1652327793">20991372</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="cref_1746239625"
      decimals="0"
      id="ixv-8110"
      unitRef="uref_1652327793">3108908</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="cref_882207396"
      decimals="0"
      id="ixv-8111"
      unitRef="uref_1652327793">4365403</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <esp:ProceedsFromGrantAward
      contextRef="cref_1746239625"
      decimals="0"
      id="ixv-8112"
      unitRef="uref_1652327793">2029608</esp:ProceedsFromGrantAward>
    <esp:ProceedsFromGrantAward
      contextRef="cref_882207396"
      decimals="0"
      id="ixv-8113"
      unitRef="uref_1652327793">3260000</esp:ProceedsFromGrantAward>
    <us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment
      contextRef="cref_1746239625"
      decimals="0"
      id="ixv-8114"
      unitRef="uref_1652327793">5500</us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquireInvestments
      contextRef="cref_1746239625"
      decimals="0"
      id="ixv-8115"
      unitRef="uref_1652327793">36704748</us-gaap:PaymentsToAcquireInvestments>
    <us-gaap:PaymentsToAcquireInvestments
      contextRef="cref_882207396"
      decimals="0"
      id="ixv-8116"
      unitRef="uref_1652327793">33873762</us-gaap:PaymentsToAcquireInvestments>
    <us-gaap:ProceedsFromSaleAndMaturityOfAvailableForSaleSecurities
      contextRef="cref_1746239625"
      decimals="0"
      id="ixv-8117"
      unitRef="uref_1652327793">35417000</us-gaap:ProceedsFromSaleAndMaturityOfAvailableForSaleSecurities>
    <us-gaap:ProceedsFromSaleAndMaturityOfAvailableForSaleSecurities
      contextRef="cref_882207396"
      decimals="0"
      id="ixv-8118"
      unitRef="uref_1652327793">28040200</us-gaap:ProceedsFromSaleAndMaturityOfAvailableForSaleSecurities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="cref_1746239625"
      decimals="0"
      id="ixv-8119"
      unitRef="uref_1652327793">-2361548</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="cref_882207396"
      decimals="0"
      id="ixv-8120"
      unitRef="uref_1652327793">-6938965</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:PaymentsOfDividendsCommonStock
      contextRef="cref_1746239625"
      decimals="0"
      id="ixv-8121"
      unitRef="uref_1652327793">4831873</us-gaap:PaymentsOfDividendsCommonStock>
    <us-gaap:PaymentsOfDividendsCommonStock
      contextRef="cref_882207396"
      decimals="0"
      id="ixv-8122"
      unitRef="uref_1652327793">2597354</us-gaap:PaymentsOfDividendsCommonStock>
    <us-gaap:ProceedsFromRepurchaseOfEquity
      contextRef="cref_1746239625"
      decimals="0"
      id="ixv-8123"
      unitRef="uref_1652327793">2077218</us-gaap:ProceedsFromRepurchaseOfEquity>
    <us-gaap:ProceedsFromRepurchaseOfEquity
      contextRef="cref_882207396"
      decimals="0"
      id="ixv-8124"
      unitRef="uref_1652327793">3055622</us-gaap:ProceedsFromRepurchaseOfEquity>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="cref_1746239625"
      decimals="0"
      id="ixv-8125"
      unitRef="uref_1652327793">-2754655</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="cref_882207396"
      decimals="0"
      id="ixv-8126"
      unitRef="uref_1652327793">458268</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect
      contextRef="cref_1746239625"
      decimals="0"
      id="ixv-8127"
      unitRef="uref_1652327793">574321</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect
      contextRef="cref_882207396"
      decimals="0"
      id="ixv-8128"
      unitRef="uref_1652327793">14510675</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="cref_1652327793"
      decimals="0"
      id="ixv-8129"
      unitRef="uref_1652327793">18862645</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="cref_146568497"
      decimals="0"
      id="ixv-8130"
      unitRef="uref_1652327793">4351970</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="cref_1712351858"
      decimals="0"
      id="ixv-8131"
      unitRef="uref_1652327793">19436966</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="cref_1652327793"
      decimals="0"
      id="ixv-8132"
      unitRef="uref_1652327793">18862645</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="cref_1746239625"
      decimals="0"
      id="ixv-8133"
      unitRef="uref_1652327793">3015577</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="cref_882207396"
      decimals="0"
      id="ixv-8134"
      unitRef="uref_1652327793">1815732</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:NatureOfOperations contextRef="cref_1746239625" id="ixv-3790">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.75in; text-align: justify; text-indent: -0.75in;"&gt;Note 1. Nature of Operations&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.75in; text-align: justify; text-indent: -0.75in;"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;Espey Mfg. &amp;amp; Electronics Corp. (Espey, the Company, we, or our) is a manufacturer of electronic equipment used primarily in military and industrial applications. The principal markets for the Company's products are companies that provide electronic support to both military and industrial applications across the United States and at some international locations.&lt;/p&gt;</us-gaap:NatureOfOperations>
    <us-gaap:SignificantAccountingPoliciesTextBlock contextRef="cref_1746239625" id="ixv-3795">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0;"&gt;Note 2. Summary of Significant Accounting Policies&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0;"&gt;&#160;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;Revenue&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;The majority of our sales are generated from military contracts from defense companies, the Department of Defense, other agencies of the government of the United States and foreign governments, for the design and development and/or manufacture of products. Sales are also generated from industrial manufacturers for similar services. We provide our products and design and development services under fixed-price contracts. Under fixed-price contracts we agree to perform the specified work for a pre-determined price. To the extent our actual costs vary from the estimates upon which the price was negotiated, we will generate more or less profit or could incur a loss.&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 22.5pt;"&gt;&#160;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;We account for a contract with a customer after it has been approved by all parties to the arrangement, the rights of the parties are identified, payment terms are identified, the contract has commercial substance, and collection of substantially all of the amount to which the entity will be entitled in exchange for the goods or services that will be transferred to the customer is probable. We assess each contract at its inception to determine whether it should be combined with other contracts. When making this determination, we consider factors such as whether two or more contracts were negotiated and executed at or near the same time, or were negotiated with an overall profit objective.&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 22.5pt;"&gt;&#160;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;We evaluate the products or services promised in each contract at inception to determine whether the contract should be accounted for as having one or more performance obligations. Significant judgment is required in determining performance obligations. We determine the transaction price for each contract based on the consideration we expect to receive for the products or services being provided under the contract. As the Company does not have standalone observable prices, a contract&#x2019;s transaction price of each performance obligation is based on the standalone selling price, which is determined using an expected cost plus a margin approach.&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;Inventory&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;Raw materials are valued at the lower of cost (average cost) or net realizable value. Balances for slow-moving and obsolete inventory are reviewed on a regular basis by analyzing estimated demand, inventory on hand, sales levels, market conditions, and other information. Inventory balances are reduced based on this analysis.&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt; Inventory relating to contracts in process and work in process is valued at cost, including factory overhead incurred to date. Contract costs include material, subcontract costs, labor, and an allocation of overhead costs. Work in process represents spare units and parts and other inventory items acquired or produced to service units previously sold or to meet anticipated future orders. Provision for losses on contracts is made when the existence of such losses becomes probable and estimable. The provision for losses on contracts is included in other accrued expenses on the Company&#x2019;s balance sheet. The costs attributed to revenue recognized under contracts reduces costs capitalized and are based on the estimated average cost of all units expected to be produced related to each performance obligation identified. Certain contracts are expected to extend beyond twelve months. &lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;The estimation of total cost at completion of a contract is subject to variables including contract costs incurred and expected to be incurred as well as estimates regarding contract completion dates.&#160;Given the significance of the estimation processes and judgments described above, it is possible that materially different amounts of expected contract costs could be recorded if different assumptions were used, based on changes in circumstances, in the estimation process. When a change in expected estimated cost is determined, changes are reflected in current period earnings.&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt;     &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;Contract Liabilities&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;Contract liabilities include advance payments and billings in excess of revenue recognized. Contracts with customers generally grant the customer a right to cancel a contract for convenience. Although these contracts meet the enforceability criteria of ASC 606 because the customer is legally obligated to reimburse the Company for all costs incurred through the termination date, they do not provide a contractual right to a profit margin upon cancellation. Consequently, any advanced consideration received in excess of amounts that are expected to be owed in the event of termination is recorded as a current contract liability on the Balance Sheet.&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;Depreciation&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;Depreciation of plant and equipment is computed on a straight-line basis over the estimated useful lives of the assets.&#160;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;Estimated useful lives of depreciable assets are as follows:&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt; &lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 80%; border-collapse: collapse;margin-left:auto;margin-right:auto;"&gt; &lt;tbody&gt;&lt;tr style="vertical-align: top; background-color: rgb(204,238,255);"&gt;&lt;td style="width: 50%; padding-bottom: 0pt;"&gt;Buildings and improvements&lt;/td&gt; &lt;td style="width: 50%; padding-bottom: 0pt; text-align: right;"&gt;10 &#x2013; 50 years&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: top; background-color: White;"&gt;&lt;td style="padding-bottom: 0pt;"&gt;Machinery and equipment&lt;/td&gt; &lt;td style="padding-bottom: 0pt; text-align: right;"&gt;3 &#x2013; 20 years&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: top; background-color: rgb(204,238,255);"&gt;&lt;td style="padding-bottom: 0pt;"&gt;Furniture and fixtures&lt;/td&gt; &lt;td style="padding-bottom: 0pt; text-align: right;"&gt;7 &#x2013; 10 years&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt; &lt;/table&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0;"&gt;&#160;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;Income Taxes&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;The Company follows the provisions of the Financial Accounting Standards Board (&#x201c;FASB&#x201d;), Accounting Standards Codification (ASC) Topic 740-10, &#x201c;Accounting for Income Taxes."&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;Under the provisions of FASB ASC 740-10, deferred tax assets and liabilities are recognized for the future tax consequences attributable to differences between the financial statement carrying amounts of existing assets and liabilities and their respective tax bases.&#160;Deferred tax assets and liabilities are measured using enacted tax rates expected to apply to taxable income in the years in which those temporary differences are expected to be recovered or settled.&#160;The effect on deferred taxes and liabilities of a change in tax rates is recognized in earnings in the period that includes the enactment date.&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;Cash and Cash Equivalents&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;Cash and cash equivalents consist of cash and money market accounts. The Company considers all highly liquid investments with original maturities of three months or less to be cash equivalents.&#160;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;Investment Securities&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;The Company accounts for its investments in debt securities in accordance with ASC 320-10-25, &#x201c;Accounting for Certain Investments in Debt and Equity Securities.&#x201d;&#160;Investments in debt securities at June 30, 2026 and 2025 consisted of a combination of municipal bonds and certificates of deposit.&#160;The Company classifies investments in debt securities as available-for-sale, which are reported at fair market value. Unrealized holding gains and losses, net of related tax effect, on available-for-sale debt securities are excluded from earnings and are reported as a separate component of stockholders&#x2019; equity until realized.&#160;Realized gains and losses for debt securities classified as available-for-sale are included in earnings and are determined using the specific identification method.&#160;Interest income is recognized when earned. Fair values are based on quoted market prices available as of the balance sheet date, and are therefore considered a Level 1 valuation.&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt;     &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;Fair Value of Financial Instruments&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;FASB ASC Topic 820 &#x201c;Fair Value Measurement&#x201d; establishes a fair value hierarchy which requires an entity to maximize the use of observable inputs and minimize the use of unobservable inputs when measuring fair value.&#160;The standard describes three levels of inputs that may be used to measure fair value:&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: left;"&gt;&lt;span style="font-family: Wingdings;"&gt;&#xa7;&lt;/span&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Level 1: Quoted prices (unadjusted) for identical assets or liabilities in active markets that the entity has the ability to access as of the measurement date.&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: left;"&gt;&#160;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: left;"&gt;&lt;span style="font-family: Wingdings;"&gt;&#xa7;&lt;/span&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Level 2: Significant other observable inputs other than Level 1 prices such as quoted prices for similar assets or liabilities; quoted prices in markets that are not active; or other inputs that are observable or can be corroborated by observable market data.&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: left;"&gt;&#160;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: left;"&gt;&lt;span style="font-family: Wingdings;"&gt;&#xa7;&lt;/span&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Level 3: Significant unobservable inputs that reflect a reporting entity&#x2019;s own assumptions about the assumptions that market participants would use in pricing an asset or liability.&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;The carrying amounts of financial instruments, including cash and cash equivalents, short term investment securities, accounts receivable, accounts payable and accrued expenses, approximated fair value as of June 30, 2026 and 2025 because of the immediate or short-term maturity of these financial instruments.&#160;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;Accounts Receivable and Allowance for Credit Losses&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt; The Company extends credit to its customers in the normal course of business and collateral is generally not required for trade receivables.&#160;Exposure to credit risk is controlled through the use of credit approvals, credit limits, and monitoring procedures.&#160;Accounts receivable are reported net of an allowance for credit losses.&#160;The Company estimates the allowance based on its analysis of historical experience, current economic market conditions, performance of specific account reviews, and other factored considerations to include, but not limited to, contracts covered by government funding and the overall health of the industry. Interest is not charged on past due balances. Based on these factors, there was an allowance for credit losses of $3,000 at June 30, 2026 and 2025.&#160;Changes to the allowance for credit losses are charged to expense and reduced by charge-offs, net of recoveries. The opening accounts receivable balance, net of allowance for credit losses of $3,000, at July 1, 2025 and July 1, 2024 were $7,598,888 and $6,635,490, respectively. &lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;Per Share Amounts&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;FASB ASC Topic 260-10 &#x201c;Earnings Per Share (EPS)&#x201d; requires the Company to calculate net income per share based on basic and diluted net income per share, as defined.&#160;Basic EPS excludes dilution and unallocated ESOP shares and is computed by dividing net income by the weighted average number of shares outstanding for the period.&#160;Diluted EPS reflects the potential dilution that could occur if securities or other contracts to issue common stock were exercised or converted into common stock.&#160;The dilutive effect of outstanding options issued by the Company are reflected in diluted EPS using the treasury stock method.&#160;Under the treasury stock method, options will only have a dilutive effect when the average market price of common stock during the period exceeds the exercise price of the options.&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;Comprehensive Income&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;Comprehensive income consists of net income and other comprehensive income.&#160;Other comprehensive income for fiscal years ended June 30, 2026 and 2025 consists of unrealized holding gains on available-for-sale debt securities.&#160;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;Use of Estimates&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;The preparation of financial statements in conformity with accounting principles generally accepted in the United States of America requires management to make estimates and assumptions that affect the reported amount of assets and liabilities and disclosure of contingent assets and liabilities at the date of the financial statements and the reported amounts of revenues and expenses during the reporting period. Actual results could differ from those estimates.&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&lt;/p&gt;     &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;Impairment of Long-Lived Assets&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt; Long-lived assets, including property, plant, and equipment, are reviewed for impairment whenever events or changes in circumstances indicate that the carrying amount of an asset may not be recoverable.&#160;Recoverability of assets to be held and used is measured by a comparison of the carrying amount of an asset to estimated undiscounted future cash flows expected to be generated by the asset.&#160;If the carrying amount of an asset exceeds its estimated future cash flows, an impairment charge is recognized by the amount by which the carrying amount of the asset exceeds the fair value of the asset.&#160;There were &lt;span style="-sec-ix-hidden:fc_458794615;"&gt;&lt;span style="-sec-ix-hidden:fc_498486440;"&gt;no&lt;/span&gt;&lt;/span&gt; impairments of long-lived assets in fiscal years 2026 and 2025.&#160;Assets to be disposed of are separately presented in the balance sheet and reported at the lower of the carrying amount or fair value less costs to sell, and no longer depreciated.&#160;The assets and liabilities of a disposed group classified as held for sale are presented separately in the appropriate asset and liability sections of the balance sheet, if applicable. &lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;Concentrations of Risk&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;The market for our defense electronics products is largely dependent on the availability of new contracts from the United States and foreign governments to prime contractors to which we provide components.&#160;Any decline in expenditures by the United States or foreign governments may have an adverse effect on our financial performance.&#160;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;Generally, U.S. Government contracts are subject to procurement laws and regulations.&#160;Some of the Company&#x2019;s contracts are governed by the Federal Acquisition Regulation (FAR), which lays out uniform policies and procedures for acquiring goods and services by the U.S. Government, and agency-specific acquisition regulations that implement or supplement the FAR.&#160;For example, the Department of Defense implements the FAR through the Defense Federal Acquisition Regulation (DFAR).&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;The FAR also contains guidelines and regulations for managing a contract after award, including conditions under which contracts may be terminated, in whole or in part, at the government&#x2019;s convenience or for default. If a contract is terminated for the convenience of the government, a contractor is entitled to receive payments for its allowable costs and, in general, the proportionate share of fees or earnings for the work done.&#160;If a contract is terminated for default, the government generally pays for only the work it has accepted.&#160;These regulations also subject the Company to financial audits and other reviews by the government of its costs, performance, accounting and general business practices relating to its contracts, which may result in adjustment of the Company&#x2019;s contract-related costs and fees.&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;Reclassifications&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;During the year ended June 30, 2026, the Company reclassified deferred tax assets from current assets to non-current assets. Prior period amounts were reclassified for comparability, including presentation of the deferred tax asset as of June 30, 2025 as a non-current asset in the June 30, 2026 balance sheet.&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;Recently Adopted Accounting Standards&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&lt;span style="background-color: white;"&gt;In December 2023, the FASB issued ASU No. 2023-09, &#x201c;Income Taxes (&#x201c;Topic 740&#x201d;): Improvements to Income Tax Disclosures&#x201d;, which includes amendments that further enhance income tax disclosures through the standardization and disaggregation of rate reconciliation categories and income taxes paid. ASU 2023-09 is effective for fiscal years beginning after December 15, 2024 and is to be applied prospectively, with early adoption and retrospective application permitted. Espey adopted ASU 2023-09 effective June 30, 2026. The adoption of 2023-09 did not change the way the company measures or recognizes tax assets and liabilities. Refer to the notes to the financial statements for further information on Espey&#x2019;s income tax disclosures.&lt;/span&gt;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt;      &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;Recent Accounting Pronouncements Not Yet Adopted&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&lt;span style="background-color: white;"&gt;In November, 2024, the FASB issued ASU No. 2024-03, &#x201c;Income Statement &#x2013; Reporting Comprehensive Income &#x2013; Expense Disaggregation Disclosures&#x201d; (Subtopic 220-40) which is intended to improve disclosures around public business entities expenses and address requests from investors for more detailed information about the types of expenses that are within commonly presented expense captions such as cost of sales and selling, general, and administrative costs. This ASU is effective for fiscal years beginning after December 15, 2026, and interim periods within fiscal years beginning after December 15, 2027, with early adoption permitted. We are currently evaluating the impact of this standard to our financial statements. &lt;/span&gt;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;In December 2025, the FASB issued ASU 2025-10, &#x201c;Government Grants (Topic 832): Accounting for Government Grants Received by Business Entities&#x201d; which seeks to enhance investor transparency regarding government grants by strengthening Generally Accepted Accounting Principles and establishing authoritative guidance for the recognition, measurement, and presentation of government grants. For public business entities, the amendments in this update are effective for annual reporting periods beginning after December 15, 2028, and interim reporting periods within those annual reporting periods. Early adoption is permitted in both interim and annual reporting periods in which financial statements have not yet been issued or made available for issuance. If a business entity adopts the amendments in this update in an interim reporting period, it must adopt them as of the beginning of the annual reporting period that includes that interim reporting period. The Company intends to adopt ASU 2025-10 for any future grants received; however, no changes will be made to the disclosures for any existing grants.&lt;/p&gt;</us-gaap:SignificantAccountingPoliciesTextBlock>
    <us-gaap:RevenueFromContractWithCustomerPolicyTextBlock contextRef="cref_1746239625" id="ixv-3798">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;Revenue&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;The majority of our sales are generated from military contracts from defense companies, the Department of Defense, other agencies of the government of the United States and foreign governments, for the design and development and/or manufacture of products. Sales are also generated from industrial manufacturers for similar services. We provide our products and design and development services under fixed-price contracts. Under fixed-price contracts we agree to perform the specified work for a pre-determined price. To the extent our actual costs vary from the estimates upon which the price was negotiated, we will generate more or less profit or could incur a loss.&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 22.5pt;"&gt;&#160;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;We account for a contract with a customer after it has been approved by all parties to the arrangement, the rights of the parties are identified, payment terms are identified, the contract has commercial substance, and collection of substantially all of the amount to which the entity will be entitled in exchange for the goods or services that will be transferred to the customer is probable. We assess each contract at its inception to determine whether it should be combined with other contracts. When making this determination, we consider factors such as whether two or more contracts were negotiated and executed at or near the same time, or were negotiated with an overall profit objective.&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 22.5pt;"&gt;&#160;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;We evaluate the products or services promised in each contract at inception to determine whether the contract should be accounted for as having one or more performance obligations. Significant judgment is required in determining performance obligations. We determine the transaction price for each contract based on the consideration we expect to receive for the products or services being provided under the contract. As the Company does not have standalone observable prices, a contract&#x2019;s transaction price of each performance obligation is based on the standalone selling price, which is determined using an expected cost plus a margin approach.&lt;/p&gt;</us-gaap:RevenueFromContractWithCustomerPolicyTextBlock>
    <us-gaap:InventoryPolicyTextBlock contextRef="cref_1746239625" id="ixv-3807">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;Inventory&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;Raw materials are valued at the lower of cost (average cost) or net realizable value. Balances for slow-moving and obsolete inventory are reviewed on a regular basis by analyzing estimated demand, inventory on hand, sales levels, market conditions, and other information. Inventory balances are reduced based on this analysis.&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt; Inventory relating to contracts in process and work in process is valued at cost, including factory overhead incurred to date. Contract costs include material, subcontract costs, labor, and an allocation of overhead costs. Work in process represents spare units and parts and other inventory items acquired or produced to service units previously sold or to meet anticipated future orders. Provision for losses on contracts is made when the existence of such losses becomes probable and estimable. The provision for losses on contracts is included in other accrued expenses on the Company&#x2019;s balance sheet. The costs attributed to revenue recognized under contracts reduces costs capitalized and are based on the estimated average cost of all units expected to be produced related to each performance obligation identified. Certain contracts are expected to extend beyond twelve months. &lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;The estimation of total cost at completion of a contract is subject to variables including contract costs incurred and expected to be incurred as well as estimates regarding contract completion dates.&#160;Given the significance of the estimation processes and judgments described above, it is possible that materially different amounts of expected contract costs could be recorded if different assumptions were used, based on changes in circumstances, in the estimation process. When a change in expected estimated cost is determined, changes are reflected in current period earnings.&lt;/p&gt;</us-gaap:InventoryPolicyTextBlock>
    <esp:ContractExtendTerm contextRef="cref_1746239625" id="ixv-8135">P12M</esp:ContractExtendTerm>
    <esp:ContractLiabilitiesPolicyTextBlock contextRef="cref_1746239625" id="ixv-3826">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;Contract Liabilities&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;Contract liabilities include advance payments and billings in excess of revenue recognized. Contracts with customers generally grant the customer a right to cancel a contract for convenience. Although these contracts meet the enforceability criteria of ASC 606 because the customer is legally obligated to reimburse the Company for all costs incurred through the termination date, they do not provide a contractual right to a profit margin upon cancellation. Consequently, any advanced consideration received in excess of amounts that are expected to be owed in the event of termination is recorded as a current contract liability on the Balance Sheet.&lt;/p&gt;</esp:ContractLiabilitiesPolicyTextBlock>
    <us-gaap:DepreciationDepletionAndAmortizationPolicyTextBlock contextRef="cref_1746239625" id="ixv-3831">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;Depreciation&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;Depreciation of plant and equipment is computed on a straight-line basis over the estimated useful lives of the assets.&#160;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;Estimated useful lives of depreciable assets are as follows:&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt; &lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 80%; border-collapse: collapse;margin-left:auto;margin-right:auto;"&gt; &lt;tbody&gt;&lt;tr style="vertical-align: top; background-color: rgb(204,238,255);"&gt;&lt;td style="width: 50%; padding-bottom: 0pt;"&gt;Buildings and improvements&lt;/td&gt; &lt;td style="width: 50%; padding-bottom: 0pt; text-align: right;"&gt;10 &#x2013; 50 years&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: top; background-color: White;"&gt;&lt;td style="padding-bottom: 0pt;"&gt;Machinery and equipment&lt;/td&gt; &lt;td style="padding-bottom: 0pt; text-align: right;"&gt;3 &#x2013; 20 years&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: top; background-color: rgb(204,238,255);"&gt;&lt;td style="padding-bottom: 0pt;"&gt;Furniture and fixtures&lt;/td&gt; &lt;td style="padding-bottom: 0pt; text-align: right;"&gt;7 &#x2013; 10 years&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt; &lt;/table&gt;</us-gaap:DepreciationDepletionAndAmortizationPolicyTextBlock>
    <esp:ScheduleOfEstimatedUsefulLivesOfDepreciableAssetsTableTextBlock contextRef="cref_1746239625" id="ixv-3836">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;Estimated useful lives of depreciable assets are as follows:&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt; &lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 80%; border-collapse: collapse;margin-left:auto;margin-right:auto;"&gt; &lt;tbody&gt;&lt;tr style="vertical-align: top; background-color: rgb(204,238,255);"&gt;&lt;td style="width: 50%; padding-bottom: 0pt;"&gt;Buildings and improvements&lt;/td&gt; &lt;td style="width: 50%; padding-bottom: 0pt; text-align: right;"&gt;10 &#x2013; 50 years&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: top; background-color: White;"&gt;&lt;td style="padding-bottom: 0pt;"&gt;Machinery and equipment&lt;/td&gt; &lt;td style="padding-bottom: 0pt; text-align: right;"&gt;3 &#x2013; 20 years&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: top; background-color: rgb(204,238,255);"&gt;&lt;td style="padding-bottom: 0pt;"&gt;Furniture and fixtures&lt;/td&gt; &lt;td style="padding-bottom: 0pt; text-align: right;"&gt;7 &#x2013; 10 years&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt; &lt;/table&gt;</esp:ScheduleOfEstimatedUsefulLivesOfDepreciableAssetsTableTextBlock>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife contextRef="cref_1367317384" id="ixv-8136">P10Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife contextRef="cref_724054029" id="ixv-8137">P50Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife contextRef="cref_536207409" id="ixv-8138">P3Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife contextRef="cref_524822231" id="ixv-8139">P20Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife contextRef="cref_1107919036" id="ixv-8140">P7Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife contextRef="cref_724441202" id="ixv-8141">P10Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:IncomeTaxPolicyTextBlock contextRef="cref_1746239625" id="ixv-3851">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;Income Taxes&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;The Company follows the provisions of the Financial Accounting Standards Board (&#x201c;FASB&#x201d;), Accounting Standards Codification (ASC) Topic 740-10, &#x201c;Accounting for Income Taxes."&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;Under the provisions of FASB ASC 740-10, deferred tax assets and liabilities are recognized for the future tax consequences attributable to differences between the financial statement carrying amounts of existing assets and liabilities and their respective tax bases.&#160;Deferred tax assets and liabilities are measured using enacted tax rates expected to apply to taxable income in the years in which those temporary differences are expected to be recovered or settled.&#160;The effect on deferred taxes and liabilities of a change in tax rates is recognized in earnings in the period that includes the enactment date.&lt;/p&gt;</us-gaap:IncomeTaxPolicyTextBlock>
    <us-gaap:CashAndCashEquivalentsPolicyTextBlock contextRef="cref_1746239625" id="ixv-3858">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;Cash and Cash Equivalents&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;Cash and cash equivalents consist of cash and money market accounts. The Company considers all highly liquid investments with original maturities of three months or less to be cash equivalents.&#160;&lt;/p&gt;</us-gaap:CashAndCashEquivalentsPolicyTextBlock>
    <us-gaap:InvestmentPolicyTextBlock contextRef="cref_1746239625" id="ixv-3863">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;Investment Securities&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;The Company accounts for its investments in debt securities in accordance with ASC 320-10-25, &#x201c;Accounting for Certain Investments in Debt and Equity Securities.&#x201d;&#160;Investments in debt securities at June 30, 2026 and 2025 consisted of a combination of municipal bonds and certificates of deposit.&#160;The Company classifies investments in debt securities as available-for-sale, which are reported at fair market value. Unrealized holding gains and losses, net of related tax effect, on available-for-sale debt securities are excluded from earnings and are reported as a separate component of stockholders&#x2019; equity until realized.&#160;Realized gains and losses for debt securities classified as available-for-sale are included in earnings and are determined using the specific identification method.&#160;Interest income is recognized when earned. Fair values are based on quoted market prices available as of the balance sheet date, and are therefore considered a Level 1 valuation.&lt;/p&gt;</us-gaap:InvestmentPolicyTextBlock>
    <us-gaap:FairValueOfFinancialInstrumentsPolicy contextRef="cref_1746239625" id="ixv-3878">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;Fair Value of Financial Instruments&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;FASB ASC Topic 820 &#x201c;Fair Value Measurement&#x201d; establishes a fair value hierarchy which requires an entity to maximize the use of observable inputs and minimize the use of unobservable inputs when measuring fair value.&#160;The standard describes three levels of inputs that may be used to measure fair value:&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: left;"&gt;&lt;span style="font-family: Wingdings;"&gt;&#xa7;&lt;/span&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Level 1: Quoted prices (unadjusted) for identical assets or liabilities in active markets that the entity has the ability to access as of the measurement date.&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: left;"&gt;&#160;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: left;"&gt;&lt;span style="font-family: Wingdings;"&gt;&#xa7;&lt;/span&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Level 2: Significant other observable inputs other than Level 1 prices such as quoted prices for similar assets or liabilities; quoted prices in markets that are not active; or other inputs that are observable or can be corroborated by observable market data.&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: left;"&gt;&#160;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: left;"&gt;&lt;span style="font-family: Wingdings;"&gt;&#xa7;&lt;/span&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Level 3: Significant unobservable inputs that reflect a reporting entity&#x2019;s own assumptions about the assumptions that market participants would use in pricing an asset or liability.&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;The carrying amounts of financial instruments, including cash and cash equivalents, short term investment securities, accounts receivable, accounts payable and accrued expenses, approximated fair value as of June 30, 2026 and 2025 because of the immediate or short-term maturity of these financial instruments.&#160;&lt;/p&gt;</us-gaap:FairValueOfFinancialInstrumentsPolicy>
    <us-gaap:TradeAndOtherAccountsReceivablePolicy contextRef="cref_1746239625" id="ixv-3894">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;Accounts Receivable and Allowance for Credit Losses&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt; The Company extends credit to its customers in the normal course of business and collateral is generally not required for trade receivables.&#160;Exposure to credit risk is controlled through the use of credit approvals, credit limits, and monitoring procedures.&#160;Accounts receivable are reported net of an allowance for credit losses.&#160;The Company estimates the allowance based on its analysis of historical experience, current economic market conditions, performance of specific account reviews, and other factored considerations to include, but not limited to, contracts covered by government funding and the overall health of the industry. Interest is not charged on past due balances. Based on these factors, there was an allowance for credit losses of $3,000 at June 30, 2026 and 2025.&#160;Changes to the allowance for credit losses are charged to expense and reduced by charge-offs, net of recoveries. The opening accounts receivable balance, net of allowance for credit losses of $3,000, at July 1, 2025 and July 1, 2024 were $7,598,888 and $6,635,490, respectively. &lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt;</us-gaap:TradeAndOtherAccountsReceivablePolicy>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="cref_1712351858"
      decimals="0"
      id="ixv-8142"
      unitRef="uref_1652327793">3000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="cref_1652327793"
      decimals="0"
      id="ixv-8143"
      unitRef="uref_1652327793">3000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="cref_1517378982"
      decimals="0"
      id="ixv-8144"
      unitRef="uref_1652327793">3000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="cref_2130128193"
      decimals="0"
      id="ixv-8145"
      unitRef="uref_1652327793">3000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="cref_1517378982"
      decimals="0"
      id="ixv-8146"
      unitRef="uref_1652327793">7598888</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="cref_2130128193"
      decimals="0"
      id="ixv-8147"
      unitRef="uref_1652327793">6635490</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:EarningsPerSharePolicyTextBlock contextRef="cref_1746239625" id="ixv-3899">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;Per Share Amounts&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;FASB ASC Topic 260-10 &#x201c;Earnings Per Share (EPS)&#x201d; requires the Company to calculate net income per share based on basic and diluted net income per share, as defined.&#160;Basic EPS excludes dilution and unallocated ESOP shares and is computed by dividing net income by the weighted average number of shares outstanding for the period.&#160;Diluted EPS reflects the potential dilution that could occur if securities or other contracts to issue common stock were exercised or converted into common stock.&#160;The dilutive effect of outstanding options issued by the Company are reflected in diluted EPS using the treasury stock method.&#160;Under the treasury stock method, options will only have a dilutive effect when the average market price of common stock during the period exceeds the exercise price of the options.&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt;</us-gaap:EarningsPerSharePolicyTextBlock>
    <us-gaap:ComprehensiveIncomePolicyPolicyTextBlock contextRef="cref_1746239625" id="ixv-3904">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;Comprehensive Income&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;Comprehensive income consists of net income and other comprehensive income.&#160;Other comprehensive income for fiscal years ended June 30, 2026 and 2025 consists of unrealized holding gains on available-for-sale debt securities.&#160;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt;</us-gaap:ComprehensiveIncomePolicyPolicyTextBlock>
    <us-gaap:UseOfEstimates contextRef="cref_1746239625" id="ixv-3909">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;Use of Estimates&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;The preparation of financial statements in conformity with accounting principles generally accepted in the United States of America requires management to make estimates and assumptions that affect the reported amount of assets and liabilities and disclosure of contingent assets and liabilities at the date of the financial statements and the reported amounts of revenues and expenses during the reporting period. Actual results could differ from those estimates.&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt;</us-gaap:UseOfEstimates>
    <us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock contextRef="cref_1746239625" id="ixv-3924">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;Impairment of Long-Lived Assets&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt; Long-lived assets, including property, plant, and equipment, are reviewed for impairment whenever events or changes in circumstances indicate that the carrying amount of an asset may not be recoverable.&#160;Recoverability of assets to be held and used is measured by a comparison of the carrying amount of an asset to estimated undiscounted future cash flows expected to be generated by the asset.&#160;If the carrying amount of an asset exceeds its estimated future cash flows, an impairment charge is recognized by the amount by which the carrying amount of the asset exceeds the fair value of the asset.&#160;There were &lt;span style="-sec-ix-hidden:fc_458794615;"&gt;&lt;span style="-sec-ix-hidden:fc_498486440;"&gt;no&lt;/span&gt;&lt;/span&gt; impairments of long-lived assets in fiscal years 2026 and 2025.&#160;Assets to be disposed of are separately presented in the balance sheet and reported at the lower of the carrying amount or fair value less costs to sell, and no longer depreciated.&#160;The assets and liabilities of a disposed group classified as held for sale are presented separately in the appropriate asset and liability sections of the balance sheet, if applicable. &lt;/p&gt;</us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock>
    <us-gaap:ConcentrationRiskCreditRisk contextRef="cref_1746239625" id="ixv-3931">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;Concentrations of Risk&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;The market for our defense electronics products is largely dependent on the availability of new contracts from the United States and foreign governments to prime contractors to which we provide components.&#160;Any decline in expenditures by the United States or foreign governments may have an adverse effect on our financial performance.&#160;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;Generally, U.S. Government contracts are subject to procurement laws and regulations.&#160;Some of the Company&#x2019;s contracts are governed by the Federal Acquisition Regulation (FAR), which lays out uniform policies and procedures for acquiring goods and services by the U.S. Government, and agency-specific acquisition regulations that implement or supplement the FAR.&#160;For example, the Department of Defense implements the FAR through the Defense Federal Acquisition Regulation (DFAR).&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;The FAR also contains guidelines and regulations for managing a contract after award, including conditions under which contracts may be terminated, in whole or in part, at the government&#x2019;s convenience or for default. If a contract is terminated for the convenience of the government, a contractor is entitled to receive payments for its allowable costs and, in general, the proportionate share of fees or earnings for the work done.&#160;If a contract is terminated for default, the government generally pays for only the work it has accepted.&#160;These regulations also subject the Company to financial audits and other reviews by the government of its costs, performance, accounting and general business practices relating to its contracts, which may result in adjustment of the Company&#x2019;s contract-related costs and fees.&lt;/p&gt;</us-gaap:ConcentrationRiskCreditRisk>
    <esp:ReclassificationsPolicyTextBlock contextRef="cref_1746239625" id="ixv-3940">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;Reclassifications&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;During the year ended June 30, 2026, the Company reclassified deferred tax assets from current assets to non-current assets. Prior period amounts were reclassified for comparability, including presentation of the deferred tax asset as of June 30, 2025 as a non-current asset in the June 30, 2026 balance sheet.&lt;/p&gt;</esp:ReclassificationsPolicyTextBlock>
    <esp:RecentlyAdoptedAccountingStandardsPolicyTextBlock contextRef="cref_1746239625" id="ixv-3945">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;Recently Adopted Accounting Standards&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&lt;span style="background-color: white;"&gt;In December 2023, the FASB issued ASU No. 2023-09, &#x201c;Income Taxes (&#x201c;Topic 740&#x201d;): Improvements to Income Tax Disclosures&#x201d;, which includes amendments that further enhance income tax disclosures through the standardization and disaggregation of rate reconciliation categories and income taxes paid. ASU 2023-09 is effective for fiscal years beginning after December 15, 2024 and is to be applied prospectively, with early adoption and retrospective application permitted. Espey adopted ASU 2023-09 effective June 30, 2026. The adoption of 2023-09 did not change the way the company measures or recognizes tax assets and liabilities. Refer to the notes to the financial statements for further information on Espey&#x2019;s income tax disclosures.&lt;/span&gt;&lt;/p&gt;</esp:RecentlyAdoptedAccountingStandardsPolicyTextBlock>
    <us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock contextRef="cref_1746239625" id="ixv-3961">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;Recent Accounting Pronouncements Not Yet Adopted&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&lt;span style="background-color: white;"&gt;In November, 2024, the FASB issued ASU No. 2024-03, &#x201c;Income Statement &#x2013; Reporting Comprehensive Income &#x2013; Expense Disaggregation Disclosures&#x201d; (Subtopic 220-40) which is intended to improve disclosures around public business entities expenses and address requests from investors for more detailed information about the types of expenses that are within commonly presented expense captions such as cost of sales and selling, general, and administrative costs. This ASU is effective for fiscal years beginning after December 15, 2026, and interim periods within fiscal years beginning after December 15, 2027, with early adoption permitted. We are currently evaluating the impact of this standard to our financial statements. &lt;/span&gt;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;In December 2025, the FASB issued ASU 2025-10, &#x201c;Government Grants (Topic 832): Accounting for Government Grants Received by Business Entities&#x201d; which seeks to enhance investor transparency regarding government grants by strengthening Generally Accepted Accounting Principles and establishing authoritative guidance for the recognition, measurement, and presentation of government grants. For public business entities, the amendments in this update are effective for annual reporting periods beginning after December 15, 2028, and interim reporting periods within those annual reporting periods. Early adoption is permitted in both interim and annual reporting periods in which financial statements have not yet been issued or made available for issuance. If a business entity adopts the amendments in this update in an interim reporting period, it must adopt them as of the beginning of the annual reporting period that includes that interim reporting period. The Company intends to adopt ASU 2025-10 for any future grants received; however, no changes will be made to the disclosures for any existing grants.&lt;/p&gt;</us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock>
    <us-gaap:RevenueFromContractWithCustomerTextBlock contextRef="cref_1746239625" id="ixv-3970">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;Note 3. Revenue&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;The Company follows FASB ASC 606 &#x201c;Revenue from Contracts with Customers&#x201d; to determine the recognition of revenue. This standard requires entities to assess the products or services promised in contracts with customers at contract inception to determine the appropriate unit at which to record revenues.&#160;Revenue is recognized when control of the promised products or services is transferred to customers at an amount that reflects the consideration to which the entity expects to be entitled to in exchange for those products or services.&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;Significant judgment is required in determining performance obligations. Revenues from our performance obligations are satisfied over time using the output method, using direct measurements of the value to the customer of the goods or services transferred to date relative to the remaining goods or services promised under the contract. The output method considers the appraisal of results achieved, milestones reached or units delivered based on contractual shipment terms, typically shipping point.&#160;Revenue is recognized when, or as, the customer takes control of the product or services.&#160;The output method best depicts the transfer of control to the customer as the output method represents progress toward satisfaction of each performance obligation. For units delivered, control is typically transferred to the customer at the shipping point as the Company has a present right to payment, the customer has legal title to the asset, the customer has the significant risks and rewards of ownership of the asset, and in most instances the customer has accepted the asset. For milestones achieved, the customer has confirmed the performance defined in the contract has been met and the Company is entitled to payment.&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt;&lt;p style="text-align: justify; font: 10pt Times New Roman, Times, Serif; margin: 0pt 0;"&gt;Management disaggregates revenue into two primary streams: manufacturing jobs and engineering jobs. Manufacturing jobs primarily consist of the production and delivery of customer-specific products and may include contractual milestones associated with production activities or final unit delivery. Engineering jobs primarily consist of design, development, testing, and other engineering services performed to customer specifications. The nature, timing, and contractual structure of these services differ and form the basis for management's disaggregation of revenue.&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt; Total revenue recognized for the year ended June 30, 2026 for manufacturing jobs totaled $37,582,698 compared to $35,343,557 for the same period in fiscal year 2025. Total revenue recognized for the year ended June 30, 2026 related to engineering jobs totaled $8,541,627 compared to $8,607,314 for the same period in fiscal year 2025. &lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt; The Company offers a standard one-year product warranty. Product warranties offered by the Company are classified as assurance-type warranties, which means, the warranty only guarantees that the good or service functions as promised. Based on this, the provided warranty is not considered to be a distinct performance obligation.&#160;The impact of variable consideration has been considered but none identified which would result in the adjustment of the transaction price as of June 30, 2026.&#160;Our payment terms are generally 30-60 days.&#160; &lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt; Contract liabilities were $30,999,186 and $22,886,404 as of June 30, 2026 and 2025, respectively. The increase in contract liabilities is primarily due to the advance collection of cash on specific contracts, offset in part, by revenue recognized. Revenue recognized, that was in contract liabilities at the beginning of the fiscal year was $6,785,955 and $3,666,815 for the years ended June 30, 2026 and 2025, respectively. The opening contract liabilities balance at July 1, 2025 and July 1, 2024 were $22,886,404 and $9,043,422, respectively. The Company used the practical expedient to expense incremental costs incurred to obtain a contract when the contract term is less than one year. &lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt; The Company&#x2019;s backlog, representing performance obligations not yet satisfied, at June 30, 2026 totaling $134.9 million is expected, based on expected due dates, to be recognized in the following fiscal years: 36% in 2027, 35% in 2028, 12% in 2029, and 17% thereafter. The nature of the contracts that make up the Company&#x2019;s backlog are enforceable and include cancellation clauses. If a contract is terminated for the convenience of the government, a contractor is entitled to receive payments for its allowable costs and, in general, the proportionate share of fees or earnings for the work done. If a contract is terminated for default, the government generally pays for only the work it has accepted. &lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.75in; text-align: justify; text-indent: -0.75in;"&gt;Significant Customers &amp;amp; Accounts Receivable Concentrations:&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.75in; text-align: justify; text-indent: -0.75in;"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt; A significant portion of the Company's business is the production of military and industrial electronic equipment for use by the U.S. and foreign governments and certain industrial customers. Sales to five customers accounted for 67% of total sales in 2026. Each of the five customers accounted for 12%, 13%, 16%, 15% and 11 % of sales in fiscal year 2026. Sales to six customers accounted for 74% of total sales in 2025. These six customers accounted for 16%, 13%, 12%, 12%, 11% and 10%, respectively, of total sales in 2025. Orders from significant customers may include more than one program and procurement may originate from various divisions of the significant customer. The related accounts receivable balance, as a percentage of the Company's total trade accounts receivable balance, was 60% represented by three customers at June 30, 2026. These three customers accounted for 35%, 13% and 12% of accounts receivable in fiscal year 2026. The related accounts receivable balance, as a percentage of the Company's total trade accounts receivable balance, was 51% represented by three customers at June 30, 2025. Each of the three customers accounted for 26%, 14% and 11% of accounts receivable in fiscal year 2025. &lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt; Export shipments in fiscal years 2026 and 2025 were $4,465,966 and $3,124,820, respectively. &lt;/p&gt;</us-gaap:RevenueFromContractWithCustomerTextBlock>
    <us-gaap:Revenues
      contextRef="cref_657742850"
      decimals="0"
      id="ixv-8148"
      unitRef="uref_1652327793">37582698</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="cref_1963301343"
      decimals="0"
      id="ixv-8149"
      unitRef="uref_1652327793">35343557</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="cref_1789478324"
      decimals="0"
      id="ixv-8150"
      unitRef="uref_1652327793">8541627</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="cref_1201735229"
      decimals="0"
      id="ixv-8151"
      unitRef="uref_1652327793">8607314</us-gaap:Revenues>
    <esp:PaymentTerms contextRef="cref_272114010" id="ixv-8152">P30D</esp:PaymentTerms>
    <esp:PaymentTerms contextRef="cref_71900756" id="ixv-8153">P60D</esp:PaymentTerms>
    <us-gaap:ContractWithCustomerLiability
      contextRef="cref_216551257"
      decimals="0"
      id="ixv-8154"
      unitRef="uref_1652327793">30999186</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiability
      contextRef="cref_933136111"
      decimals="0"
      id="ixv-8155"
      unitRef="uref_1652327793">22886404</us-gaap:ContractWithCustomerLiability>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="cref_1746239625"
      decimals="0"
      id="ixv-8156"
      unitRef="uref_1652327793">6785955</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="cref_882207396"
      decimals="0"
      id="ixv-8157"
      unitRef="uref_1652327793">3666815</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:ContractWithCustomerLiability
      contextRef="cref_1517378982"
      decimals="0"
      id="ixv-8158"
      unitRef="uref_1652327793">22886404</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiability
      contextRef="cref_2130128193"
      decimals="0"
      id="ixv-8159"
      unitRef="uref_1652327793">9043422</us-gaap:ContractWithCustomerLiability>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="cref_1602987179"
      decimals="-5"
      id="ixv-8160"
      unitRef="uref_1652327793">134900000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <esp:BacklogPercentageOfRecognitionsYearOne
      contextRef="cref_1602987179"
      decimals="2"
      id="ixv-8161"
      unitRef="uref_2143746030">0.36</esp:BacklogPercentageOfRecognitionsYearOne>
    <esp:BacklogPercentageOfRecognitionsYearTwo
      contextRef="cref_1602987179"
      decimals="2"
      id="ixv-8162"
      unitRef="uref_2143746030">0.35</esp:BacklogPercentageOfRecognitionsYearTwo>
    <esp:BacklogPercentageOfRecognitionsYearThree
      contextRef="cref_1602987179"
      decimals="2"
      id="ixv-8163"
      unitRef="uref_2143746030">0.12</esp:BacklogPercentageOfRecognitionsYearThree>
    <esp:BacklogPercentageOfRecognitions
      contextRef="cref_1602987179"
      decimals="2"
      id="ixv-8164"
      unitRef="uref_2143746030">0.17</esp:BacklogPercentageOfRecognitions>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="cref_296554496"
      decimals="2"
      id="ixv-8165"
      unitRef="uref_2143746030">0.67</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="cref_1225931761"
      decimals="2"
      id="ixv-8166"
      unitRef="uref_2143746030">0.12</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="cref_801002545"
      decimals="2"
      id="ixv-8167"
      unitRef="uref_2143746030">0.13</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="cref_384126604"
      decimals="2"
      id="ixv-8168"
      unitRef="uref_2143746030">0.16</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="cref_1091457075"
      decimals="2"
      id="ixv-8169"
      unitRef="uref_2143746030">0.15</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="cref_826230833"
      decimals="2"
      id="ixv-8170"
      unitRef="uref_2143746030">0.11</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="cref_1989350996"
      decimals="2"
      id="ixv-8171"
      unitRef="uref_2143746030">0.74</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="cref_400714308"
      decimals="2"
      id="ixv-8172"
      unitRef="uref_2143746030">0.16</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="cref_482743140"
      decimals="2"
      id="ixv-8173"
      unitRef="uref_2143746030">0.13</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="cref_1624281482"
      decimals="2"
      id="ixv-8174"
      unitRef="uref_2143746030">0.12</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="cref_1471382908"
      decimals="2"
      id="ixv-8175"
      unitRef="uref_2143746030">0.12</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="cref_394766499"
      decimals="2"
      id="ixv-8176"
      unitRef="uref_2143746030">0.11</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="cref_220190546"
      decimals="2"
      id="ixv-8177"
      unitRef="uref_2143746030">0.10</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="cref_506260295"
      decimals="2"
      id="ixv-8178"
      unitRef="uref_2143746030">0.60</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="cref_2122408625"
      decimals="2"
      id="ixv-8179"
      unitRef="uref_2143746030">0.35</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="cref_1028899497"
      decimals="2"
      id="ixv-8180"
      unitRef="uref_2143746030">0.13</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="cref_1495702793"
      decimals="2"
      id="ixv-8181"
      unitRef="uref_2143746030">0.12</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="cref_1957195676"
      decimals="2"
      id="ixv-8182"
      unitRef="uref_2143746030">0.51</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="cref_489833039"
      decimals="2"
      id="ixv-8183"
      unitRef="uref_2143746030">0.26</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="cref_1831881546"
      decimals="2"
      id="ixv-8184"
      unitRef="uref_2143746030">0.14</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:Revenues
      contextRef="cref_1018043530"
      decimals="0"
      id="ixv-8185"
      unitRef="uref_1652327793">4465966</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="cref_685623249"
      decimals="0"
      id="ixv-8186"
      unitRef="uref_1652327793">3124820</us-gaap:Revenues>
    <us-gaap:InvestmentTextBlock contextRef="cref_1746239625" id="ixv-4012">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;Note 4. Investment Securities&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;Investment securities at June 30, 2026 and June 30, 2025 consisted of certificates of deposit and municipal bonds. The Company classifies investment securities as available-for-sale which have been determined to be level 1 assets.&#160;The cost, gross unrealized gains, gross unrealized losses and fair value debt securities by major security type at June 30, 2026&#160;and June 30, 2025 are as follows: &lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; font: 10pt Times New Roman, Times, Serif;margin-left:auto;margin-right:auto;"&gt; &lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right;"&gt;Gross&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right;"&gt;Gross&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right;"&gt;Amortized&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right;"&gt;Unrealized&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right;"&gt;Unrealized&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right;"&gt;Fair&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid;"&gt;Cost&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid;"&gt;Gains&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid;"&gt;Losses&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid;"&gt;Value&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; white-space: nowrap; text-decoration: underline;"&gt;June 30, 2026&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="width: 48%;"&gt;Certificates of deposit&lt;/td&gt; &lt;td style="width: 1%;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="width: 10%; text-align: right;"&gt;24,787,000&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="width: 10%; text-align: right;"&gt;&lt;span style="-sec-ix-hidden:fc_1658783320;"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="width: 10%; text-align: right;"&gt;&lt;span style="-sec-ix-hidden:fc_361119238;"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="width: 10%; text-align: right;"&gt;24,787,000&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td style="text-align: left; padding-bottom: 1pt;"&gt;Municipal bonds&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;1,202,856&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;19,357&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;(2,495&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left;"&gt;)&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;1,219,718&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="text-align: left; padding-bottom: 2.5pt;"&gt;Total investment securities&lt;/td&gt; &lt;td style="padding-bottom: 2.5pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;25,989,856&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 2.5pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;19,357&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 2.5pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;(2,495&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left;"&gt;)&lt;/td&gt; &lt;td style="padding-bottom: 2.5pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;26,006,718&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; font: 10pt Times New Roman, Times, Serif;margin-left:auto;margin-right:auto;"&gt; &lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right;"&gt;Gross&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right;"&gt;Gross&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right;"&gt;Amortized&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right;"&gt;Unrealized&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right;"&gt;Unrealized&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right;"&gt;Fair&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid;"&gt;Cost&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid;"&gt;Gains&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid;"&gt;Losses&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid;"&gt;Value&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-decoration: underline; white-space: nowrap;"&gt;June 30, 2025&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="width: 48%;"&gt;Certificates of deposit&lt;/td&gt; &lt;td style="width: 1%;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="width: 10%; text-align: right;"&gt;23,539,000&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="width: 10%; text-align: right;"&gt;&lt;span style="-sec-ix-hidden:fc_191769556;"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="width: 10%; text-align: right;"&gt;&lt;span style="-sec-ix-hidden:fc_27446923;"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="width: 10%; text-align: right;"&gt;23,539,000&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td style="text-align: left; padding-bottom: 1pt;"&gt;Municipal bonds&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;1,163,567&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;14,678&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;&lt;span style="-sec-ix-hidden:fc_1914554811;"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;1,178,245&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="text-align: left; padding-bottom: 2.5pt;"&gt;Total investment securities&lt;/td&gt; &lt;td style="padding-bottom: 2.5pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;24,702,567&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 2.5pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;14,678&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 2.5pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;&lt;span style="-sec-ix-hidden:fc_2018172110;"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 2.5pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;24,717,245&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.25in;"&gt;&lt;span style="text-underline-style: double;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt; The portfolio is diversified and highly liquid and primarily consists of investment grade fixed income instruments. Accrued interest associated with the Company&#x2019;s available-for-sale debt securities totaled $237,646 as of June 30, 2026 and $273,921 as of June 30, 2025 and is presented within prepaid expenses and other assets on the balance sheet. &lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt; The Company regularly reviews the available-for-sale debt securities in an unrealized loss position to assess the necessity of an allowance for credit losses. As of June 30, 2026 the securities in an unrealized loss position without an allowance for credit losses are primarily municipal bonds. The Company does not intend to sell these securities, and it is more likely than not that the Company will not be required to sell them before recovery of their amortized cost basis, therefore no allowance for credit losses has been recorded for these instruments. There were &lt;span style="-sec-ix-hidden:fc_1544389788;"&gt;no&lt;/span&gt; investment securities in a loss position of June 30, 2025. &lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;As of June 30, 2026 and June 30, 2025, the remaining contractual maturities of available-for-sale debt securities were as follows:&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; font: 10pt Times New Roman, Times, Serif;margin-left:auto;margin-right:auto;"&gt; &lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td colspan="6" style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid;"&gt;Years to Maturity&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right;"&gt;Less than&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right;"&gt;One to&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: right;"&gt;One Year&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: right;"&gt;Five Years&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: right;"&gt;Total&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt;&lt;td style="text-decoration: underline;"&gt;June 30, 2026&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td style="width: 61%; padding-bottom: 1pt;"&gt;Available-for-sale&lt;/td&gt; &lt;td style="width: 1%; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; border-bottom: Black 1pt solid; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="width: 10%; border-bottom: Black 1pt solid; text-align: right;"&gt;24,752,830&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; padding-bottom: 1pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; border-bottom: Black 1pt solid; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="width: 10%; border-bottom: Black 1pt solid; text-align: right;"&gt;1,253,888&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; padding-bottom: 1pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; border-bottom: Black 1pt solid; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="width: 10%; border-bottom: Black 1pt solid; text-align: right;"&gt;26,006,718&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; padding-bottom: 1pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt;&lt;td style="text-decoration: underline;"&gt;June 30, 2025&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="padding-bottom: 1pt;"&gt;Available-for-sale&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;22,933,933&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;1,783,312&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;24,717,245&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</us-gaap:InvestmentTextBlock>
    <us-gaap:DebtSecuritiesAvailableForSaleTableTextBlock contextRef="cref_1746239625" id="ixv-8187">The cost, gross unrealized gains, gross unrealized losses and fair value debt securities by major security type at June 30, 2026&#160;and June 30, 2025 are as follows:&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; font: 10pt Times New Roman, Times, Serif;margin-left:auto;margin-right:auto;"&gt; &lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right;"&gt;Gross&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right;"&gt;Gross&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right;"&gt;Amortized&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right;"&gt;Unrealized&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right;"&gt;Unrealized&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right;"&gt;Fair&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid;"&gt;Cost&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid;"&gt;Gains&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid;"&gt;Losses&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid;"&gt;Value&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; white-space: nowrap; text-decoration: underline;"&gt;June 30, 2026&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="width: 48%;"&gt;Certificates of deposit&lt;/td&gt; &lt;td style="width: 1%;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="width: 10%; text-align: right;"&gt;24,787,000&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="width: 10%; text-align: right;"&gt;&lt;span style="-sec-ix-hidden:fc_1658783320;"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="width: 10%; text-align: right;"&gt;&lt;span style="-sec-ix-hidden:fc_361119238;"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="width: 10%; text-align: right;"&gt;24,787,000&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td style="text-align: left; padding-bottom: 1pt;"&gt;Municipal bonds&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;1,202,856&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;19,357&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;(2,495&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left;"&gt;)&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;1,219,718&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="text-align: left; padding-bottom: 2.5pt;"&gt;Total investment securities&lt;/td&gt; &lt;td style="padding-bottom: 2.5pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;25,989,856&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 2.5pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;19,357&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 2.5pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;(2,495&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left;"&gt;)&lt;/td&gt; &lt;td style="padding-bottom: 2.5pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;26,006,718&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; font: 10pt Times New Roman, Times, Serif;margin-left:auto;margin-right:auto;"&gt; &lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right;"&gt;Gross&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right;"&gt;Gross&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right;"&gt;Amortized&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right;"&gt;Unrealized&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right;"&gt;Unrealized&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right;"&gt;Fair&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid;"&gt;Cost&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid;"&gt;Gains&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid;"&gt;Losses&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid;"&gt;Value&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="font: 10pt Times New Roman, Times, Serif; text-decoration: underline; white-space: nowrap;"&gt;June 30, 2025&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="width: 48%;"&gt;Certificates of deposit&lt;/td&gt; &lt;td style="width: 1%;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="width: 10%; text-align: right;"&gt;23,539,000&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="width: 10%; text-align: right;"&gt;&lt;span style="-sec-ix-hidden:fc_191769556;"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="width: 10%; text-align: right;"&gt;&lt;span style="-sec-ix-hidden:fc_27446923;"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="width: 10%; text-align: right;"&gt;23,539,000&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td style="text-align: left; padding-bottom: 1pt;"&gt;Municipal bonds&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;1,163,567&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;14,678&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;&lt;span style="-sec-ix-hidden:fc_1914554811;"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;1,178,245&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="text-align: left; padding-bottom: 2.5pt;"&gt;Total investment securities&lt;/td&gt; &lt;td style="padding-bottom: 2.5pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;24,702,567&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 2.5pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;14,678&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 2.5pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;&lt;span style="-sec-ix-hidden:fc_2018172110;"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 2.5pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;24,717,245&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</us-gaap:DebtSecuritiesAvailableForSaleTableTextBlock>
    <us-gaap:TradingSecuritiesDebtAmortizedCost
      contextRef="cref_1472203679"
      decimals="0"
      id="ixv-8188"
      unitRef="uref_1652327793">24787000</us-gaap:TradingSecuritiesDebtAmortizedCost>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent
      contextRef="cref_1472203679"
      decimals="0"
      id="ixv-8189"
      unitRef="uref_1652327793">24787000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:TradingSecuritiesDebtAmortizedCost
      contextRef="cref_1026477933"
      decimals="0"
      id="ixv-8190"
      unitRef="uref_1652327793">1202856</us-gaap:TradingSecuritiesDebtAmortizedCost>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="cref_1026477933"
      decimals="0"
      id="ixv-8191"
      unitRef="uref_1652327793">19357</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="cref_1026477933"
      decimals="0"
      id="ixv-8192"
      unitRef="uref_1652327793">2495</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent
      contextRef="cref_1026477933"
      decimals="0"
      id="ixv-8193"
      unitRef="uref_1652327793">1219718</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:TradingSecuritiesDebtAmortizedCost
      contextRef="cref_1712351858"
      decimals="0"
      id="ixv-8194"
      unitRef="uref_1652327793">25989856</us-gaap:TradingSecuritiesDebtAmortizedCost>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="cref_1712351858"
      decimals="0"
      id="ixv-8195"
      unitRef="uref_1652327793">19357</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="cref_1712351858"
      decimals="0"
      id="ixv-8196"
      unitRef="uref_1652327793">2495</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent
      contextRef="cref_1712351858"
      decimals="0"
      id="ixv-8197"
      unitRef="uref_1652327793">26006718</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:TradingSecuritiesDebtAmortizedCost
      contextRef="cref_85843506"
      decimals="0"
      id="ixv-8198"
      unitRef="uref_1652327793">23539000</us-gaap:TradingSecuritiesDebtAmortizedCost>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent
      contextRef="cref_85843506"
      decimals="0"
      id="ixv-8199"
      unitRef="uref_1652327793">23539000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:TradingSecuritiesDebtAmortizedCost
      contextRef="cref_1220714141"
      decimals="0"
      id="ixv-8200"
      unitRef="uref_1652327793">1163567</us-gaap:TradingSecuritiesDebtAmortizedCost>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="cref_1220714141"
      decimals="0"
      id="ixv-8201"
      unitRef="uref_1652327793">14678</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent
      contextRef="cref_1220714141"
      decimals="0"
      id="ixv-8202"
      unitRef="uref_1652327793">1178245</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:TradingSecuritiesDebtAmortizedCost
      contextRef="cref_1652327793"
      decimals="0"
      id="ixv-8203"
      unitRef="uref_1652327793">24702567</us-gaap:TradingSecuritiesDebtAmortizedCost>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="cref_1652327793"
      decimals="0"
      id="ixv-8204"
      unitRef="uref_1652327793">14678</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent
      contextRef="cref_1652327793"
      decimals="0"
      id="ixv-8205"
      unitRef="uref_1652327793">24717245</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <esp:AccruedInterestInvestmentSecurities
      contextRef="cref_1712351858"
      decimals="0"
      id="ixv-8206"
      unitRef="uref_1652327793">237646</esp:AccruedInterestInvestmentSecurities>
    <esp:AccruedInterestInvestmentSecurities
      contextRef="cref_1652327793"
      decimals="0"
      id="ixv-8207"
      unitRef="uref_1652327793">273921</esp:AccruedInterestInvestmentSecurities>
    <us-gaap:InvestmentsClassifiedByContractualMaturityDateTableTextBlock contextRef="cref_1746239625" id="ixv-4256">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;As of June 30, 2026 and June 30, 2025, the remaining contractual maturities of available-for-sale debt securities were as follows:&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; font: 10pt Times New Roman, Times, Serif;margin-left:auto;margin-right:auto;"&gt; &lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td colspan="6" style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid;"&gt;Years to Maturity&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right;"&gt;Less than&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right;"&gt;One to&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: right;"&gt;One Year&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: right;"&gt;Five Years&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: right;"&gt;Total&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt;&lt;td style="text-decoration: underline;"&gt;June 30, 2026&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td style="width: 61%; padding-bottom: 1pt;"&gt;Available-for-sale&lt;/td&gt; &lt;td style="width: 1%; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; border-bottom: Black 1pt solid; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="width: 10%; border-bottom: Black 1pt solid; text-align: right;"&gt;24,752,830&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; padding-bottom: 1pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; border-bottom: Black 1pt solid; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="width: 10%; border-bottom: Black 1pt solid; text-align: right;"&gt;1,253,888&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; padding-bottom: 1pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; border-bottom: Black 1pt solid; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="width: 10%; border-bottom: Black 1pt solid; text-align: right;"&gt;26,006,718&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; padding-bottom: 1pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt;&lt;td style="text-decoration: underline;"&gt;June 30, 2025&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="padding-bottom: 1pt;"&gt;Available-for-sale&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;22,933,933&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;1,783,312&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;24,717,245&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</us-gaap:InvestmentsClassifiedByContractualMaturityDateTableTextBlock>
    <us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue
      contextRef="cref_1712351858"
      decimals="0"
      id="ixv-8208"
      unitRef="uref_1652327793">24752830</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue>
    <us-gaap:AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue
      contextRef="cref_1712351858"
      decimals="0"
      id="ixv-8209"
      unitRef="uref_1652327793">1253888</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent
      contextRef="cref_1712351858"
      decimals="0"
      id="ixv-8210"
      unitRef="uref_1652327793">26006718</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue
      contextRef="cref_1652327793"
      decimals="0"
      id="ixv-8211"
      unitRef="uref_1652327793">22933933</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue>
    <us-gaap:AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue
      contextRef="cref_1652327793"
      decimals="0"
      id="ixv-8212"
      unitRef="uref_1652327793">1783312</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent
      contextRef="cref_1652327793"
      decimals="0"
      id="ixv-8213"
      unitRef="uref_1652327793">24717245</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:LongTermContractsOrProgramsDisclosureTextBlock contextRef="cref_1746239625" id="ixv-4363">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0;"&gt;Note 5. Contracts in Process&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0;"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.75in; text-align: justify; text-indent: -0.75in;"&gt;Contracts in process at June 30, 2026 and 2025 are as follows:&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.75in; text-align: justify; text-indent: -0.75in;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%;margin-left:auto;margin-right:auto;"&gt; &lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="white-space: nowrap; text-align: justify;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid;"&gt;2026&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid;"&gt;2025&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="width: 74%; text-align: justify;"&gt;Unrecognized gross contract value &lt;/td&gt; &lt;td style="width: 1%;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="width: 10%; text-align: right;"&gt;134,909,753&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="width: 10%; text-align: right;"&gt;139,673,288&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td style="text-align: justify;"&gt;Costs related to contracts in process&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;$&lt;/td&gt; &lt;td style="text-align: right;"&gt;22,750,135&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;$&lt;/td&gt; &lt;td style="text-align: right;"&gt;15,040,253&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;Included in costs relating to contracts in process at June 30, 2026 and 2025 are costs relative to contracts that may not be completed within the ensuing year as contracts vary in size, scope and duration. Under the units-of-delivery method, the related sale and cost of sales will not be reflected in the statements of comprehensive income until the units under contract are shipped.&lt;/p&gt;</us-gaap:LongTermContractsOrProgramsDisclosureTextBlock>
    <esp:ScheduleOfContractsInProcessTableTextBlock contextRef="cref_1746239625" id="ixv-4366">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.75in; text-align: justify; text-indent: -0.75in;"&gt;Contracts in process at June 30, 2026 and 2025 are as follows:&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.75in; text-align: justify; text-indent: -0.75in;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%;margin-left:auto;margin-right:auto;"&gt; &lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="white-space: nowrap; text-align: justify;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid;"&gt;2026&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid;"&gt;2025&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="width: 74%; text-align: justify;"&gt;Unrecognized gross contract value &lt;/td&gt; &lt;td style="width: 1%;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="width: 10%; text-align: right;"&gt;134,909,753&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="width: 10%; text-align: right;"&gt;139,673,288&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td style="text-align: justify;"&gt;Costs related to contracts in process&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;$&lt;/td&gt; &lt;td style="text-align: right;"&gt;22,750,135&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;$&lt;/td&gt; &lt;td style="text-align: right;"&gt;15,040,253&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</esp:ScheduleOfContractsInProcessTableTextBlock>
    <esp:UnrecognizedGrossContractValue
      contextRef="cref_1712351858"
      decimals="0"
      id="ixv-8214"
      unitRef="uref_1652327793">134909753</esp:UnrecognizedGrossContractValue>
    <esp:UnrecognizedGrossContractValue
      contextRef="cref_1652327793"
      decimals="0"
      id="ixv-8215"
      unitRef="uref_1652327793">139673288</esp:UnrecognizedGrossContractValue>
    <esp:CostsRelatedToContractsInProcess
      contextRef="cref_1712351858"
      decimals="0"
      id="ixv-8216"
      unitRef="uref_1652327793">22750135</esp:CostsRelatedToContractsInProcess>
    <esp:CostsRelatedToContractsInProcess
      contextRef="cref_1652327793"
      decimals="0"
      id="ixv-8217"
      unitRef="uref_1652327793">15040253</esp:CostsRelatedToContractsInProcess>
    <us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock contextRef="cref_1746239625" id="ixv-4410">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;Note 6. Property, Plant and Equipment&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;Property, plant and equipment at June 30, 2026 and 2025 is as follows:&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; font: 10pt Times New Roman, Times, Serif;margin-left:auto;margin-right:auto;"&gt; &lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid;"&gt;2026&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid;"&gt;2025&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="width: 74%;"&gt;Land&lt;/td&gt; &lt;td style="width: 1%;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="width: 10%; text-align: right;"&gt;45,000&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="width: 10%; text-align: right;"&gt;45,000&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td style="text-align: left;"&gt;Building and improvements&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;6,006,588&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;6,137,629&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="text-align: left;"&gt;Machinery and equipment&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;12,487,520&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;11,887,737&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td style="text-align: left; padding-bottom: 1pt;"&gt;Furniture and fixture&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;198,579&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;165,651&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;18,737,687&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;18,236,017&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td style="text-align: left; padding-bottom: 1pt;"&gt;Accumulated depreciation&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;(14,236,873&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left;"&gt;)&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;(14,275,861&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left;"&gt;)&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="text-align: left; padding-bottom: 2.5pt;"&gt;Property, plant and equipment, net&lt;/td&gt; &lt;td style="padding-bottom: 2.5pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;4,500,814&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 2.5pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;3,960,156&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt; Depreciation expense was $512,341 and $451,523 for the years ended June 30, 2026 and 2025, respectively. Construction in progress consists of assets under construction or development that have not yet been placed in service. Construction in progress was $1,547,867 as of June 30, 2026 and $1,767,576 as of June 30, 2025. &lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt; The Company was awarded $7.4 million in funding during fiscal year 2023 in support of facility and capital equipment upgrades for testing and qualification for the United States Navy. The work conducted under this grant was completed in fiscal year 2025. As of June 30, 2025 no portion of the property, plant, and equipment or accounts payable balances were related to facility and capital upgrades pending reimbursement under this funding award. All assets related to this award were placed in service as of June 30, 2025. &lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt; The Company received an award for $3.4 million in funding during the second quarter of fiscal year 2025 in support of continued facility and capital equipment upgrades for testing and qualification for the United States Navy. The funding is part of the Navy&#x2019;s investment to improve and sustain the Surface Combatant Industrial Base. Work is being conducted on the Company&#x2019;s property in Saratoga Springs, NY, which is anticipated to be completed by the end of calendar year 2026. The Company will receive payments related to submission of milestone achievements. The first two milestones were achieved upon placement of all purchase orders and subsequently submitted for reimbursement. The final milestone and reimbursement are dependent on completion of all work to be performed and assets purchased to be placed in service. To receive full reimbursement of the $3.4 million award, the Company must invest approximately 15% or $508,000 of company funds over and above the $3.4 million award in relation to these facility improvements and capital equipment upgrades. The Company will record the receipt of milestone payments as a reduction from the cost of the assets. The Company will have an initial cash outlay to satisfy income tax obligations arising from the value of the milestone payments received. The cash outlay arising from federal income tax obligations is expected to be recaptured in future periods. Until recaptured, estimated tax obligations associated with the receipt of milestone payments are recorded on the balance sheet and included in deferred tax assets. As of June 30, 2026, the Company has received $2,029,608 in milestone reimbursements. Included in property, plant, and equipment at June 30, 2026 was $1,925,133, net of reimbursements to date under this funding award. As of June 30, 2026, assets totaling $385,717 have been placed in service relative to this grant. Included in accounts payable at June 30, 2026 was $287,748 for facility and capital upgrades of which $227,656 is eligible to be reimbursed under this funding award. &lt;/p&gt;</us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock>
    <us-gaap:PropertyPlantAndEquipmentTextBlock contextRef="cref_1746239625" id="ixv-4413">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;Property, plant and equipment at June 30, 2026 and 2025 is as follows:&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; font: 10pt Times New Roman, Times, Serif;margin-left:auto;margin-right:auto;"&gt; &lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid;"&gt;2026&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid;"&gt;2025&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="width: 74%;"&gt;Land&lt;/td&gt; &lt;td style="width: 1%;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="width: 10%; text-align: right;"&gt;45,000&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="width: 10%; text-align: right;"&gt;45,000&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td style="text-align: left;"&gt;Building and improvements&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;6,006,588&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;6,137,629&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="text-align: left;"&gt;Machinery and equipment&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;12,487,520&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;11,887,737&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td style="text-align: left; padding-bottom: 1pt;"&gt;Furniture and fixture&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;198,579&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;165,651&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;18,737,687&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;18,236,017&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td style="text-align: left; padding-bottom: 1pt;"&gt;Accumulated depreciation&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;(14,236,873&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left;"&gt;)&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;(14,275,861&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left;"&gt;)&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="text-align: left; padding-bottom: 2.5pt;"&gt;Property, plant and equipment, net&lt;/td&gt; &lt;td style="padding-bottom: 2.5pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;4,500,814&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 2.5pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;3,960,156&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</us-gaap:PropertyPlantAndEquipmentTextBlock>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="cref_956626672"
      decimals="0"
      id="ixv-8218"
      unitRef="uref_1652327793">45000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="cref_1285122235"
      decimals="0"
      id="ixv-8219"
      unitRef="uref_1652327793">45000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="cref_1115597257"
      decimals="0"
      id="ixv-8220"
      unitRef="uref_1652327793">6006588</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="cref_161037122"
      decimals="0"
      id="ixv-8221"
      unitRef="uref_1652327793">6137629</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="cref_1253582427"
      decimals="0"
      id="ixv-8222"
      unitRef="uref_1652327793">12487520</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="cref_1649081570"
      decimals="0"
      id="ixv-8223"
      unitRef="uref_1652327793">11887737</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="cref_1083381326"
      decimals="0"
      id="ixv-8224"
      unitRef="uref_1652327793">198579</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="cref_1009713489"
      decimals="0"
      id="ixv-8225"
      unitRef="uref_1652327793">165651</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="cref_1712351858"
      decimals="0"
      id="ixv-8226"
      unitRef="uref_1652327793">18737687</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="cref_1652327793"
      decimals="0"
      id="ixv-8227"
      unitRef="uref_1652327793">18236017</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="cref_1712351858"
      decimals="0"
      id="ixv-8228"
      unitRef="uref_1652327793">14236873</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="cref_1652327793"
      decimals="0"
      id="ixv-8229"
      unitRef="uref_1652327793">14275861</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="cref_1712351858"
      decimals="0"
      id="ixv-8230"
      unitRef="uref_1652327793">4500814</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="cref_1652327793"
      decimals="0"
      id="ixv-8231"
      unitRef="uref_1652327793">3960156</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:Depreciation
      contextRef="cref_1746239625"
      decimals="0"
      id="ixv-8232"
      unitRef="uref_1652327793">512341</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="cref_882207396"
      decimals="0"
      id="ixv-8233"
      unitRef="uref_1652327793">451523</us-gaap:Depreciation>
    <us-gaap:ConstructionInProgressGross
      contextRef="cref_1712351858"
      decimals="0"
      id="ixv-8234"
      unitRef="uref_1652327793">1547867</us-gaap:ConstructionInProgressGross>
    <us-gaap:ConstructionInProgressGross
      contextRef="cref_1652327793"
      decimals="0"
      id="ixv-8235"
      unitRef="uref_1652327793">1767576</us-gaap:ConstructionInProgressGross>
    <us-gaap:EquipmentExpense
      contextRef="cref_1523438233"
      decimals="-5"
      id="ixv-8236"
      unitRef="uref_1652327793">7400000</us-gaap:EquipmentExpense>
    <us-gaap:EquipmentExpense
      contextRef="cref_890039125"
      decimals="-5"
      id="ixv-8237"
      unitRef="uref_1652327793">3400000</us-gaap:EquipmentExpense>
    <esp:TotalMilestoneReimbursementsReceivedAmount
      contextRef="cref_443689078"
      decimals="-5"
      id="ixv-8238"
      unitRef="uref_1652327793">3400000</esp:TotalMilestoneReimbursementsReceivedAmount>
    <esp:ReimbursementInvestmentPercentage
      contextRef="cref_443689078"
      decimals="2"
      id="ixv-8239"
      unitRef="uref_2143746030">0.15</esp:ReimbursementInvestmentPercentage>
    <esp:ReimbursementInvestmentExpense
      contextRef="cref_443689078"
      decimals="0"
      id="ixv-8240"
      unitRef="uref_1652327793">508000</esp:ReimbursementInvestmentExpense>
    <us-gaap:EquipmentExpense
      contextRef="cref_71900756"
      decimals="-5"
      id="ixv-8241"
      unitRef="uref_1652327793">3400000</us-gaap:EquipmentExpense>
    <us-gaap:DeferredTaxAssetsOther
      contextRef="cref_1712351858"
      decimals="0"
      id="ixv-8242"
      unitRef="uref_1652327793">2029608</us-gaap:DeferredTaxAssetsOther>
    <us-gaap:PropertyPlantAndEquipmentOtherNet
      contextRef="cref_1966068458"
      decimals="0"
      id="ixv-8243"
      unitRef="uref_1652327793">1925133</us-gaap:PropertyPlantAndEquipmentOtherNet>
    <us-gaap:PropertyPlantAndEquipmentOtherNet
      contextRef="cref_418728593"
      decimals="0"
      id="ixv-8244"
      unitRef="uref_1652327793">385717</us-gaap:PropertyPlantAndEquipmentOtherNet>
    <us-gaap:PropertyPlantAndEquipmentOtherNet
      contextRef="cref_1122863028"
      decimals="0"
      id="ixv-8245"
      unitRef="uref_1652327793">287748</us-gaap:PropertyPlantAndEquipmentOtherNet>
    <us-gaap:PropertyPlantAndEquipmentOtherNet
      contextRef="cref_1297898305"
      decimals="0"
      id="ixv-8246"
      unitRef="uref_1652327793">227656</us-gaap:PropertyPlantAndEquipmentOtherNet>
    <us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock contextRef="cref_1746239625" id="ixv-4504">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;Note 7. Pension Expense&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt; The Company is obligated to make contributions to the National Electrical Benefit Fund (NEBF) (Plan identifying number is 53-0181657). The Plan is a defined pension benefit plan covering eligible union employees.&#160;Such contributions and expenses amounted to $89,839 in fiscal year 2026 and $79,739 in fiscal year 2025. The contribution did not and will not in the future have a material impact on the Company&#x2019;s financial statements. &lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt; The Company sponsors a 401(k) plan for non-union workers with employee and employer matching contributions. The employer match is 10% of the employee contribution and was $73,130 and $66,617, for fiscal years 2026 and 2025, respectively. &lt;/p&gt;</us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock>
    <us-gaap:MultiemployerPlanPensionSignificantPlanContribution
      contextRef="cref_1746239625"
      decimals="0"
      id="ixv-8247"
      unitRef="uref_1652327793">89839</us-gaap:MultiemployerPlanPensionSignificantPlanContribution>
    <us-gaap:MultiemployerPlanPensionSignificantPlanContribution
      contextRef="cref_882207396"
      decimals="0"
      id="ixv-8248"
      unitRef="uref_1652327793">79739</us-gaap:MultiemployerPlanPensionSignificantPlanContribution>
    <us-gaap:DefinedContributionPlanEmployerMatchingContributionPercentOfMatch
      contextRef="cref_1746239625"
      decimals="2"
      id="ixv-8249"
      unitRef="uref_2143746030">0.10</us-gaap:DefinedContributionPlanEmployerMatchingContributionPercentOfMatch>
    <us-gaap:DefinedContributionPlanCostRecognized
      contextRef="cref_1746239625"
      decimals="0"
      id="ixv-8250"
      unitRef="uref_1652327793">73130</us-gaap:DefinedContributionPlanCostRecognized>
    <us-gaap:DefinedContributionPlanCostRecognized
      contextRef="cref_882207396"
      decimals="0"
      id="ixv-8251"
      unitRef="uref_1652327793">66617</us-gaap:DefinedContributionPlanCostRecognized>
    <us-gaap:IncomeTaxDisclosureTextBlock contextRef="cref_1746239625" id="ixv-4519">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;Note 8. Provision for Income Taxes&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;A summary of the components of the provision for income taxes for the years ended June 30, 2026 and 2025 is as follows:&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; font: 10pt Times New Roman, Times, Serif;margin-left:auto;margin-right:auto;"&gt; &lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid;"&gt;2026&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid;"&gt;2025&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="width: 74%; text-align: left;"&gt;Current tax expense - federal&lt;/td&gt; &lt;td style="width: 1%;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="width: 10%; text-align: right;"&gt;2,270,703&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="width: 10%; text-align: right;"&gt;1,882,969&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td style="padding-bottom: 1pt; text-align: left;"&gt;Current tax expense - state&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;1,713&lt;/td&gt; &lt;td style="padding-bottom: 1pt; white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;9,606&lt;/td&gt; &lt;td style="padding-bottom: 1pt; white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="padding-left: 20pt; text-align: left;"&gt;Current tax expense&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;2,272,416&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;1,892,575&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td style="text-align: left; padding-bottom: 1pt;"&gt;Deferred tax benefit - federal&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;(136,839&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left;"&gt;)&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;(306,865&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left;"&gt;)&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="padding-left: 40pt; text-align: left; padding-bottom: 2.5pt;"&gt;Provision for income taxes&lt;/td&gt; &lt;td style="padding-bottom: 2.5pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;2,135,577&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 2.5pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;1,585,710&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.75in; text-align: justify; text-indent: -0.75in;"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;Deferred income taxes reflect the impact of "temporary differences" between the amount of assets and liabilities for financial reporting purposes and such amounts measured by tax laws and regulations. These "temporary differences" are determined in accordance with FASB ASC 740-10.&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;Cash payments, net of refunds by jurisdiction for years ending June 30, 2026 and 2025 is as follows:&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; font: 10pt Times New Roman, Times, Serif;margin-left:auto;margin-right:auto;"&gt; &lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid;"&gt;2026&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid;"&gt;2025&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="width: 74%; text-align: left;"&gt;U.S. Federal&lt;/td&gt; &lt;td style="width: 1%;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="width: 10%; text-align: right;"&gt;2,990,264&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="width: 10%; text-align: right;"&gt;1,815,000&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt;&lt;td style="text-align: left;"&gt;U.S. State and Local&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="padding-left: 31.5pt;"&gt;Florida&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;25,313&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;2,000&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 31.5pt;"&gt;Other States&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;&lt;span style="-sec-ix-hidden:fc_424528473;"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;(1,268&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left;"&gt;)&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="text-align: left; padding-bottom: 2.5pt;"&gt;Total cash paid for Income taxes, net&lt;/td&gt; &lt;td style="padding-bottom: 2.5pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;3,015,577&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 2.5pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;1,815,732&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt; The combined U.S. federal and state effective income tax rates of 16.0% and 16.3%, for 2026 and 2025 respectively, differed from the &lt;span style="-sec-ix-hidden:fc_884904240;"&gt;&lt;span style="-sec-ix-hidden:fc_1093512561;"&gt;statutory U.S. federal income tax rate&lt;/span&gt;&lt;/span&gt; for the following reasons: &lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&#160;&lt;/p&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; font: 10pt Times New Roman, Times, Serif;margin-left:auto;margin-right:auto;"&gt; &lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="white-space: nowrap; text-align: justify;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid;"&gt;2026 Amount&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid;"&gt;2026 Percent&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="width: 70%; text-align: left;"&gt;U.S. federal statutory income tax rate&lt;/td&gt; &lt;td style="width: 1%;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 12%; text-align: right;"&gt;2,796,196&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 12%; text-align: right;"&gt;21.00&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left;"&gt;%&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td style="padding-left: 20pt; text-align: left;"&gt;State and local income tax&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;1,713&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;0.05&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="padding-left: 20pt; text-align: left;"&gt;Effects of cross-border tax laws&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;(78,298&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;)&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;(0.60&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;)&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt;&lt;td style="padding-left: 20pt; text-align: left;"&gt;Non-deductible, Non-taxable items&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="padding-left: 50pt; text-align: left;"&gt;ESOP dividend payment&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;(135,398&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;)&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;(1.00&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;)&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td style="padding-left: 50pt; text-align: left;"&gt;ESOP cost versus fair market value&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;146,297&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;1.10&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="padding-left: 50pt; text-align: left;"&gt;Stock based compensation (including windfalls and shortfalls on stock option exercises)&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;(565,745&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;)&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;(4.30&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;)&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt;&lt;td style="padding-left: 50pt; text-align: left;"&gt;Other non-deductible, non-taxable items&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;4,110&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;0.05&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="padding-left: 20pt; text-align: left; padding-bottom: 1pt;"&gt;Other Items&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;(33,297&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left;"&gt;)&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;(0.30&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left;"&gt;)&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td style="text-align: left; padding-bottom: 2.5pt;"&gt;Effective tax rate&lt;/td&gt; &lt;td style="padding-bottom: 2.5pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;2,135,577&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left;"&gt;&lt;/td&gt; &lt;td style="padding-bottom: 2.5pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;16.00&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left;"&gt;%&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.75in; text-align: justify; text-indent: -0.75in;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; font: 10pt Times New Roman, Times, Serif;margin-left:auto;margin-right:auto;"&gt; &lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid;"&gt;2025 Amount&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid;"&gt;2025 Percent&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="width: 70%; text-align: left;"&gt;U.S. federal statutory income tax rate&lt;/td&gt; &lt;td style="width: 1%;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 12%; text-align: right;"&gt;2,043,019&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 12%; text-align: right;"&gt;21.00&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left;"&gt;%&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td style="padding-left: 20pt; text-align: left;"&gt;State and local income tax&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;7,588&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;0.10&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="padding-left: 20pt; text-align: left;"&gt;Effects of cross-border tax laws&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;(53,292&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;)&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;(0.50&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;)&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt;&lt;td style="padding-left: 20pt; text-align: left;"&gt;Non-deductible, non-taxable items&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="padding-left: 50pt; text-align: left;"&gt;ESOP dividend payment&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;(62,533&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;)&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;(0.70&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;)&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td style="padding-left: 50pt; text-align: left;"&gt;ESOP cost versus fair market value&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;47,487&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;0.50&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="padding-left: 50pt; text-align: left;"&gt;Stock based compensation (including windfalls and shortfalls on stock option exercises)&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;(368,631&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;)&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;(3.80&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;)&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt;&lt;td style="padding-left: 50pt; text-align: left;"&gt;Other non-deductible, non-taxable items&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;2,939&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;0.03&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="padding-left: 20pt; text-align: left; padding-bottom: 1pt;"&gt;Other items&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;(30,868&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left;"&gt;)&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;(0.30&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left;"&gt;)&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td style="text-align: left; padding-bottom: 2.5pt;"&gt;Effective tax rate&lt;/td&gt; &lt;td style="padding-bottom: 2.5pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;(1,585,710&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left;"&gt;)&lt;/td&gt; &lt;td style="padding-bottom: 2.5pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;16.30&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left;"&gt;%&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;For the fiscal year ended June 30, 2026 and 2025, our state and local tax expense is fully attributable to the state of Florida which is the sole jurisdiction contributing to our aggregate state income tax expense. Additionally, all income from continuing operations before income taxes was generated exclusively from domestic operations for the same years ended.&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt; For the years ended June 30, 2026 and 2025 deferred income tax benefit of $136,839 and $306,865, respectively, results from the changes in temporary differences for each year. The tax effects of temporary differences that give rise to deferred tax assets and deferred tax liabilities as of June 30, 2026 and 2025 are presented as follows: &lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; font: 10pt Times New Roman, Times, Serif;margin-left:auto;margin-right:auto;"&gt; &lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid;"&gt;2026&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid;"&gt;2025&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt;&lt;td style="text-align: left;"&gt;Deferred tax assets:&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td style="padding-left: 20pt; width: 74%; text-align: left;"&gt;Accrued expenses&lt;/td&gt; &lt;td style="width: 1%;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="width: 10%; text-align: right;"&gt;240,610&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="width: 10%; text-align: right;"&gt;171,491&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="padding-left: 20pt;"&gt;ESOP&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;43,650&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;39,113&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td style="text-indent: -10pt; padding-left: 30pt; text-align: left;"&gt;Property, plant and equipment - principally due to differences in depreciation methods&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;1,030,491&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;1,023,074&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt;&lt;td style="padding-left: 20pt;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td style="padding-left: 20pt; text-align: left; padding-bottom: 1pt;"&gt;Inventory - effect of uniform capitalization&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;57,452&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&lt;span style="-sec-ix-hidden:fc_1926955269;"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="padding-left: 20pt; text-align: left; padding-bottom: 1pt;"&gt;Stock-based compensation&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;29,387&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;38,568&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td style="padding-left: 60pt; text-align: left; padding-bottom: 1pt;"&gt;Total deferred tax assets&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;1,401,590&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;1,272,246&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt;&lt;td style="text-align: left;"&gt;Deferred tax liability:&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="padding-left: 20pt; text-align: left;"&gt;Inventory - effect of uniform capitalization&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&lt;span style="-sec-ix-hidden:fc_1806963171;"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;25,477&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td style="padding-left: 20pt; text-align: left; padding-bottom: 1pt;"&gt;Prepaid expenses&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;62,732&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;44,750&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="padding-left: 60pt; text-align: left; padding-bottom: 1pt;"&gt;Total deferred tax liability&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;$&lt;/td&gt; &lt;td style="text-align: right;"&gt;62,732&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;$&lt;/td&gt; &lt;td style="text-align: right;"&gt;70,227&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="text-align: left; padding-bottom: 2.5pt;"&gt;Net deferred tax asset (liability)&lt;/td&gt; &lt;td style="padding-bottom: 2.5pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;1,338,858&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 2.5pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;1,202,019&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;In assessing the realization of deferred tax assets, management considers whether it is more likely than not that some portion or all of the deferred tax assets will be realized. The ultimate realization of deferred tax assets is dependent upon the generation of future taxable income during the periods in which those temporary differences become deductible. Management considers the scheduled reversal of deferred tax liabilities, projected future taxable income, and tax planning strategies in making this assessment. Based upon the level of historical taxable income and projection for future taxable income over the period in which the deferred tax assets are deductible, management believes it is more likely than not that the Company will realize the benefits of these temporary differences without consideration of a valuation allowance.&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt; As the result of the implementation of ASC 740, &#x201c;Accounting for Income Taxes&#x201d;, the Company recognized no material adjustments to unrecognized tax benefits. As of June 30, 2026 and 2025, the Company has &lt;span style="-sec-ix-hidden:fc_770894434;"&gt;&lt;span style="-sec-ix-hidden:fc_308527448;"&gt;no&lt;/span&gt;&lt;/span&gt; unrecognized tax benefits. &lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt; The Company recognizes interest and penalties in general and administrative expense. As of June 30, 2026 and 2025, the Company has &lt;span style="-sec-ix-hidden:fc_335869392;"&gt;&lt;span style="-sec-ix-hidden:fc_1043862622;"&gt;not&lt;/span&gt;&lt;/span&gt; recorded any provision for accrued interest and penalties. &lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;The Company is subject to taxation in the United States and various state jurisdictions. The federal tax returns are subject to audit for three years from date of filing unless the return was audited within that period. In general, the majority of state statutes follow similar guidelines. As such, the Company&#x2019;s tax returns for tax years ending June 30, 2025, 2024, and 2023 remain open to examination by the respective taxing authorities.&lt;/p&gt;</us-gaap:IncomeTaxDisclosureTextBlock>
    <us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock contextRef="cref_1746239625" id="ixv-4522">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;A summary of the components of the provision for income taxes for the years ended June 30, 2026 and 2025 is as follows:&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; font: 10pt Times New Roman, Times, Serif;margin-left:auto;margin-right:auto;"&gt; &lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid;"&gt;2026&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid;"&gt;2025&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="width: 74%; text-align: left;"&gt;Current tax expense - federal&lt;/td&gt; &lt;td style="width: 1%;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="width: 10%; text-align: right;"&gt;2,270,703&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="width: 10%; text-align: right;"&gt;1,882,969&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td style="padding-bottom: 1pt; text-align: left;"&gt;Current tax expense - state&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;1,713&lt;/td&gt; &lt;td style="padding-bottom: 1pt; white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;9,606&lt;/td&gt; &lt;td style="padding-bottom: 1pt; white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="padding-left: 20pt; text-align: left;"&gt;Current tax expense&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;2,272,416&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;1,892,575&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td style="text-align: left; padding-bottom: 1pt;"&gt;Deferred tax benefit - federal&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;(136,839&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left;"&gt;)&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;(306,865&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left;"&gt;)&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="padding-left: 40pt; text-align: left; padding-bottom: 2.5pt;"&gt;Provision for income taxes&lt;/td&gt; &lt;td style="padding-bottom: 2.5pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;2,135,577&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 2.5pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;1,585,710&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;Cash payments, net of refunds by jurisdiction for years ending June 30, 2026 and 2025 is as follows:&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; font: 10pt Times New Roman, Times, Serif;margin-left:auto;margin-right:auto;"&gt; &lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid;"&gt;2026&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid;"&gt;2025&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="width: 74%; text-align: left;"&gt;U.S. Federal&lt;/td&gt; &lt;td style="width: 1%;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="width: 10%; text-align: right;"&gt;2,990,264&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="width: 10%; text-align: right;"&gt;1,815,000&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt;&lt;td style="text-align: left;"&gt;U.S. State and Local&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="padding-left: 31.5pt;"&gt;Florida&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;25,313&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;2,000&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 31.5pt;"&gt;Other States&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;&lt;span style="-sec-ix-hidden:fc_424528473;"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;(1,268&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left;"&gt;)&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="text-align: left; padding-bottom: 2.5pt;"&gt;Total cash paid for Income taxes, net&lt;/td&gt; &lt;td style="padding-bottom: 2.5pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;3,015,577&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 2.5pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;1,815,732&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock>
    <us-gaap:CurrentFederalTaxExpenseBenefit
      contextRef="cref_1746239625"
      decimals="0"
      id="ixv-8252"
      unitRef="uref_1652327793">2270703</us-gaap:CurrentFederalTaxExpenseBenefit>
    <us-gaap:CurrentFederalTaxExpenseBenefit
      contextRef="cref_882207396"
      decimals="0"
      id="ixv-8253"
      unitRef="uref_1652327793">1882969</us-gaap:CurrentFederalTaxExpenseBenefit>
    <us-gaap:CurrentStateAndLocalTaxExpenseBenefit
      contextRef="cref_1746239625"
      decimals="0"
      id="ixv-8254"
      unitRef="uref_1652327793">1713</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
    <us-gaap:CurrentStateAndLocalTaxExpenseBenefit
      contextRef="cref_882207396"
      decimals="0"
      id="ixv-8255"
      unitRef="uref_1652327793">9606</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="cref_1746239625"
      decimals="0"
      id="ixv-8256"
      unitRef="uref_1652327793">2272416</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="cref_882207396"
      decimals="0"
      id="ixv-8257"
      unitRef="uref_1652327793">1892575</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="cref_1746239625"
      decimals="0"
      id="ixv-8258"
      unitRef="uref_1652327793">-136839</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="cref_882207396"
      decimals="0"
      id="ixv-8259"
      unitRef="uref_1652327793">-306865</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="cref_1746239625"
      decimals="0"
      id="ixv-8260"
      unitRef="uref_1652327793">2135577</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="cref_882207396"
      decimals="0"
      id="ixv-8261"
      unitRef="uref_1652327793">1585710</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="cref_313458875"
      decimals="0"
      id="ixv-8262"
      unitRef="uref_1652327793">2990264</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="cref_276421914"
      decimals="0"
      id="ixv-8263"
      unitRef="uref_1652327793">1815000</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="cref_470372603"
      decimals="0"
      id="ixv-8264"
      unitRef="uref_1652327793">25313</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="cref_511604264"
      decimals="0"
      id="ixv-8265"
      unitRef="uref_1652327793">2000</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="cref_966593992"
      decimals="0"
      id="ixv-8266"
      unitRef="uref_1652327793">-1268</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="cref_1746239625"
      decimals="0"
      id="ixv-8267"
      unitRef="uref_1652327793">3015577</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="cref_882207396"
      decimals="0"
      id="ixv-8268"
      unitRef="uref_1652327793">1815732</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock contextRef="cref_1746239625" id="ixv-4653">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt; The combined U.S. federal and state effective income tax rates of 16.0% and 16.3%, for 2026 and 2025 respectively, differed from the &lt;span style="-sec-ix-hidden:fc_884904240;"&gt;&lt;span style="-sec-ix-hidden:fc_1093512561;"&gt;statutory U.S. federal income tax rate&lt;/span&gt;&lt;/span&gt; for the following reasons: &lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&#160;&lt;/p&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; font: 10pt Times New Roman, Times, Serif;margin-left:auto;margin-right:auto;"&gt; &lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="white-space: nowrap; text-align: justify;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid;"&gt;2026 Amount&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid;"&gt;2026 Percent&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="width: 70%; text-align: left;"&gt;U.S. federal statutory income tax rate&lt;/td&gt; &lt;td style="width: 1%;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 12%; text-align: right;"&gt;2,796,196&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 12%; text-align: right;"&gt;21.00&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left;"&gt;%&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td style="padding-left: 20pt; text-align: left;"&gt;State and local income tax&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;1,713&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;0.05&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="padding-left: 20pt; text-align: left;"&gt;Effects of cross-border tax laws&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;(78,298&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;)&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;(0.60&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;)&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt;&lt;td style="padding-left: 20pt; text-align: left;"&gt;Non-deductible, Non-taxable items&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="padding-left: 50pt; text-align: left;"&gt;ESOP dividend payment&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;(135,398&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;)&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;(1.00&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;)&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td style="padding-left: 50pt; text-align: left;"&gt;ESOP cost versus fair market value&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;146,297&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;1.10&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="padding-left: 50pt; text-align: left;"&gt;Stock based compensation (including windfalls and shortfalls on stock option exercises)&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;(565,745&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;)&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;(4.30&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;)&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt;&lt;td style="padding-left: 50pt; text-align: left;"&gt;Other non-deductible, non-taxable items&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;4,110&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;0.05&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="padding-left: 20pt; text-align: left; padding-bottom: 1pt;"&gt;Other Items&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;(33,297&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left;"&gt;)&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;(0.30&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left;"&gt;)&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td style="text-align: left; padding-bottom: 2.5pt;"&gt;Effective tax rate&lt;/td&gt; &lt;td style="padding-bottom: 2.5pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;2,135,577&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left;"&gt;&lt;/td&gt; &lt;td style="padding-bottom: 2.5pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;16.00&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left;"&gt;%&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.75in; text-align: justify; text-indent: -0.75in;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; font: 10pt Times New Roman, Times, Serif;margin-left:auto;margin-right:auto;"&gt; &lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid;"&gt;2025 Amount&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid;"&gt;2025 Percent&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="width: 70%; text-align: left;"&gt;U.S. federal statutory income tax rate&lt;/td&gt; &lt;td style="width: 1%;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 12%; text-align: right;"&gt;2,043,019&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 12%; text-align: right;"&gt;21.00&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left;"&gt;%&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td style="padding-left: 20pt; text-align: left;"&gt;State and local income tax&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;7,588&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;0.10&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="padding-left: 20pt; text-align: left;"&gt;Effects of cross-border tax laws&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;(53,292&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;)&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;(0.50&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;)&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt;&lt;td style="padding-left: 20pt; text-align: left;"&gt;Non-deductible, non-taxable items&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="padding-left: 50pt; text-align: left;"&gt;ESOP dividend payment&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;(62,533&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;)&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;(0.70&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;)&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td style="padding-left: 50pt; text-align: left;"&gt;ESOP cost versus fair market value&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;47,487&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;0.50&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="padding-left: 50pt; text-align: left;"&gt;Stock based compensation (including windfalls and shortfalls on stock option exercises)&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;(368,631&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;)&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;(3.80&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;)&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt;&lt;td style="padding-left: 50pt; text-align: left;"&gt;Other non-deductible, non-taxable items&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;2,939&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;0.03&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="padding-left: 20pt; text-align: left; padding-bottom: 1pt;"&gt;Other items&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;(30,868&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left;"&gt;)&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;(0.30&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left;"&gt;)&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td style="text-align: left; padding-bottom: 2.5pt;"&gt;Effective tax rate&lt;/td&gt; &lt;td style="padding-bottom: 2.5pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;(1,585,710&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left;"&gt;)&lt;/td&gt; &lt;td style="padding-bottom: 2.5pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;16.30&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left;"&gt;%&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="cref_281886857"
      decimals="3"
      id="ixv-8269"
      unitRef="uref_2143746030">0.16</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="cref_1207499138"
      decimals="3"
      id="ixv-8270"
      unitRef="uref_2143746030">0.163</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate
      contextRef="cref_1746239625"
      decimals="0"
      id="ixv-8271"
      unitRef="uref_1652327793">2796196</us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="cref_1746239625"
      decimals="4"
      id="ixv-8272"
      unitRef="uref_2143746030">0.21</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes
      contextRef="cref_1746239625"
      decimals="0"
      id="ixv-8273"
      unitRef="uref_1652327793">1713</us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
      contextRef="cref_1746239625"
      decimals="4"
      id="ixv-8274"
      unitRef="uref_2143746030">0.0005</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:EffectiveIncomeTaxRateReconciliationCrossBorderOtherAmount
      contextRef="cref_1746239625"
      decimals="0"
      id="ixv-8275"
      unitRef="uref_1652327793">-78298</us-gaap:EffectiveIncomeTaxRateReconciliationCrossBorderOtherAmount>
    <us-gaap:EffectiveIncomeTaxRateReconciliationCrossBorderOtherPercent
      contextRef="cref_1746239625"
      decimals="4"
      id="ixv-8276"
      unitRef="uref_2143746030">-0.006</us-gaap:EffectiveIncomeTaxRateReconciliationCrossBorderOtherPercent>
    <esp:EffectiveIncomeTaxRateReconciliationOfDividendPayment
      contextRef="cref_1746239625"
      decimals="0"
      id="fc_2075000297"
      unitRef="uref_1652327793">-135398</esp:EffectiveIncomeTaxRateReconciliationOfDividendPayment>
    <esp:EffectiveIncomeTaxRateReconciliationDividendOnAllocatedESOPShares
      contextRef="cref_1746239625"
      decimals="4"
      id="ixv-8278"
      unitRef="uref_2143746030">-0.01</esp:EffectiveIncomeTaxRateReconciliationDividendOnAllocatedESOPShares>
    <esp:EffectiveIncomeTaxRateReconciliationFairValue
      contextRef="cref_1746239625"
      decimals="0"
      id="fc_1196683557"
      unitRef="uref_1652327793">146297</esp:EffectiveIncomeTaxRateReconciliationFairValue>
    <esp:EffectiveIncomeTaxRateReconciliationESOPFairValue
      contextRef="cref_1746239625"
      decimals="4"
      id="ixv-8280"
      unitRef="uref_2143746030">0.011</esp:EffectiveIncomeTaxRateReconciliationESOPFairValue>
    <us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount
      contextRef="cref_1746239625"
      decimals="0"
      id="ixv-8281"
      unitRef="uref_1652327793">-565745</us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount>
    <us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost
      contextRef="cref_1746239625"
      decimals="4"
      id="ixv-8282"
      unitRef="uref_2143746030">-0.043</us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost>
    <us-gaap:IncomeTaxReconciliationNondeductibleExpenseOther
      contextRef="cref_1746239625"
      decimals="0"
      id="ixv-8283"
      unitRef="uref_1652327793">4110</us-gaap:IncomeTaxReconciliationNondeductibleExpenseOther>
    <us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseOther
      contextRef="cref_1746239625"
      decimals="4"
      id="ixv-8284"
      unitRef="uref_2143746030">0.0005</us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseOther>
    <us-gaap:IncomeTaxReconciliationOtherReconcilingItems
      contextRef="cref_1746239625"
      decimals="0"
      id="ixv-8285"
      unitRef="uref_1652327793">-33297</us-gaap:IncomeTaxReconciliationOtherReconcilingItems>
    <us-gaap:EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent
      contextRef="cref_1746239625"
      decimals="4"
      id="ixv-8286"
      unitRef="uref_2143746030">-0.003</us-gaap:EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent>
    <esp:EffectiveIncomeTaxRateReconciliationAmount
      contextRef="cref_1746239625"
      decimals="0"
      id="fc_2097189554"
      unitRef="uref_1652327793">2135577</esp:EffectiveIncomeTaxRateReconciliationAmount>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="cref_1746239625"
      decimals="4"
      id="ixv-8288"
      unitRef="uref_2143746030">0.16</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate
      contextRef="cref_882207396"
      decimals="0"
      id="ixv-8289"
      unitRef="uref_1652327793">2043019</us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="cref_882207396"
      decimals="4"
      id="ixv-8290"
      unitRef="uref_2143746030">0.21</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes
      contextRef="cref_882207396"
      decimals="0"
      id="ixv-8291"
      unitRef="uref_1652327793">7588</us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
      contextRef="cref_882207396"
      decimals="4"
      id="ixv-8292"
      unitRef="uref_2143746030">0.001</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:EffectiveIncomeTaxRateReconciliationCrossBorderOtherAmount
      contextRef="cref_882207396"
      decimals="0"
      id="ixv-8293"
      unitRef="uref_1652327793">-53292</us-gaap:EffectiveIncomeTaxRateReconciliationCrossBorderOtherAmount>
    <us-gaap:EffectiveIncomeTaxRateReconciliationCrossBorderOtherPercent
      contextRef="cref_882207396"
      decimals="4"
      id="ixv-8294"
      unitRef="uref_2143746030">-0.005</us-gaap:EffectiveIncomeTaxRateReconciliationCrossBorderOtherPercent>
    <esp:EffectiveIncomeTaxRateReconciliationOfDividendPayment
      contextRef="cref_882207396"
      decimals="0"
      id="fc_1271435177"
      unitRef="uref_1652327793">-62533</esp:EffectiveIncomeTaxRateReconciliationOfDividendPayment>
    <esp:EffectiveIncomeTaxRateReconciliationDividendOnAllocatedESOPShares
      contextRef="cref_882207396"
      decimals="4"
      id="ixv-8296"
      unitRef="uref_2143746030">-0.007</esp:EffectiveIncomeTaxRateReconciliationDividendOnAllocatedESOPShares>
    <esp:EffectiveIncomeTaxRateReconciliationFairValue
      contextRef="cref_882207396"
      decimals="0"
      id="ixv-8297"
      unitRef="uref_1652327793">47487</esp:EffectiveIncomeTaxRateReconciliationFairValue>
    <esp:EffectiveIncomeTaxRateReconciliationESOPFairValue
      contextRef="cref_882207396"
      decimals="4"
      id="ixv-8298"
      unitRef="uref_2143746030">0.005</esp:EffectiveIncomeTaxRateReconciliationESOPFairValue>
    <us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount
      contextRef="cref_882207396"
      decimals="0"
      id="ixv-8299"
      unitRef="uref_1652327793">-368631</us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount>
    <us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost
      contextRef="cref_882207396"
      decimals="4"
      id="ixv-8300"
      unitRef="uref_2143746030">-0.038</us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost>
    <us-gaap:IncomeTaxReconciliationNondeductibleExpenseOther
      contextRef="cref_882207396"
      decimals="0"
      id="ixv-8301"
      unitRef="uref_1652327793">2939</us-gaap:IncomeTaxReconciliationNondeductibleExpenseOther>
    <us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseOther
      contextRef="cref_882207396"
      decimals="4"
      id="ixv-8302"
      unitRef="uref_2143746030">0.0003</us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseOther>
    <us-gaap:IncomeTaxReconciliationOtherReconcilingItems
      contextRef="cref_882207396"
      decimals="0"
      id="ixv-8303"
      unitRef="uref_1652327793">-30868</us-gaap:IncomeTaxReconciliationOtherReconcilingItems>
    <us-gaap:EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent
      contextRef="cref_882207396"
      decimals="4"
      id="ixv-8304"
      unitRef="uref_2143746030">-0.003</us-gaap:EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent>
    <esp:EffectiveIncomeTaxRateReconciliationAmount
      contextRef="cref_882207396"
      decimals="0"
      id="ixv-8305"
      unitRef="uref_1652327793">-1585710</esp:EffectiveIncomeTaxRateReconciliationAmount>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="cref_882207396"
      decimals="4"
      id="ixv-8306"
      unitRef="uref_2143746030">0.163</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="cref_1746239625"
      decimals="0"
      id="ixv-8307"
      unitRef="uref_1652327793">-136839</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="cref_882207396"
      decimals="0"
      id="ixv-8308"
      unitRef="uref_1652327793">-306865</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock contextRef="cref_1746239625" id="ixv-8309">The tax effects of temporary differences that give rise to deferred tax assets and deferred tax liabilities as of June 30, 2026 and 2025 are presented as follows:&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; font: 10pt Times New Roman, Times, Serif;margin-left:auto;margin-right:auto;"&gt; &lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid;"&gt;2026&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid;"&gt;2025&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt;&lt;td style="text-align: left;"&gt;Deferred tax assets:&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td style="padding-left: 20pt; width: 74%; text-align: left;"&gt;Accrued expenses&lt;/td&gt; &lt;td style="width: 1%;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="width: 10%; text-align: right;"&gt;240,610&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="width: 10%; text-align: right;"&gt;171,491&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="padding-left: 20pt;"&gt;ESOP&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;43,650&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;39,113&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td style="text-indent: -10pt; padding-left: 30pt; text-align: left;"&gt;Property, plant and equipment - principally due to differences in depreciation methods&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;1,030,491&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;1,023,074&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt;&lt;td style="padding-left: 20pt;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td style="padding-left: 20pt; text-align: left; padding-bottom: 1pt;"&gt;Inventory - effect of uniform capitalization&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;57,452&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&lt;span style="-sec-ix-hidden:fc_1926955269;"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="padding-left: 20pt; text-align: left; padding-bottom: 1pt;"&gt;Stock-based compensation&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;29,387&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;38,568&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td style="padding-left: 60pt; text-align: left; padding-bottom: 1pt;"&gt;Total deferred tax assets&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;1,401,590&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;1,272,246&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt;&lt;td style="text-align: left;"&gt;Deferred tax liability:&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="padding-left: 20pt; text-align: left;"&gt;Inventory - effect of uniform capitalization&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&lt;span style="-sec-ix-hidden:fc_1806963171;"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;25,477&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td style="padding-left: 20pt; text-align: left; padding-bottom: 1pt;"&gt;Prepaid expenses&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;62,732&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;44,750&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="padding-left: 60pt; text-align: left; padding-bottom: 1pt;"&gt;Total deferred tax liability&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;$&lt;/td&gt; &lt;td style="text-align: right;"&gt;62,732&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;$&lt;/td&gt; &lt;td style="text-align: right;"&gt;70,227&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="text-align: left; padding-bottom: 2.5pt;"&gt;Net deferred tax asset (liability)&lt;/td&gt; &lt;td style="padding-bottom: 2.5pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;1,338,858&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 2.5pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;1,202,019&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities
      contextRef="cref_1712351858"
      decimals="0"
      id="ixv-8310"
      unitRef="uref_1652327793">240610</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities
      contextRef="cref_1652327793"
      decimals="0"
      id="ixv-8311"
      unitRef="uref_1652327793">171491</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsOther
      contextRef="cref_1712351858"
      decimals="0"
      id="ixv-8312"
      unitRef="uref_1652327793">43650</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsOther>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsOther
      contextRef="cref_1652327793"
      decimals="0"
      id="ixv-8313"
      unitRef="uref_1652327793">39113</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsOther>
    <us-gaap:DeferredTaxAssetsPropertyPlantAndEquipment
      contextRef="cref_1712351858"
      decimals="0"
      id="ixv-8314"
      unitRef="uref_1652327793">1030491</us-gaap:DeferredTaxAssetsPropertyPlantAndEquipment>
    <us-gaap:DeferredTaxAssetsPropertyPlantAndEquipment
      contextRef="cref_1652327793"
      decimals="0"
      id="ixv-8315"
      unitRef="uref_1652327793">1023074</us-gaap:DeferredTaxAssetsPropertyPlantAndEquipment>
    <esp:InventoryEffectOfUniformCapitalization
      contextRef="cref_1712351858"
      decimals="0"
      id="fc_1667829102"
      unitRef="uref_1652327793">57452</esp:InventoryEffectOfUniformCapitalization>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost
      contextRef="cref_1712351858"
      decimals="0"
      id="ixv-8317"
      unitRef="uref_1652327793">29387</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost
      contextRef="cref_1652327793"
      decimals="0"
      id="ixv-8318"
      unitRef="uref_1652327793">38568</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost>
    <us-gaap:DeferredTaxAssetsGross
      contextRef="cref_1712351858"
      decimals="0"
      id="ixv-8319"
      unitRef="uref_1652327793">1401590</us-gaap:DeferredTaxAssetsGross>
    <us-gaap:DeferredTaxAssetsGross
      contextRef="cref_1652327793"
      decimals="0"
      id="ixv-8320"
      unitRef="uref_1652327793">1272246</us-gaap:DeferredTaxAssetsGross>
    <us-gaap:DeferredTaxLiabilitiesDeferredExpenseCapitalizedInventoryCosts
      contextRef="cref_1652327793"
      decimals="0"
      id="ixv-8321"
      unitRef="uref_1652327793">25477</us-gaap:DeferredTaxLiabilitiesDeferredExpenseCapitalizedInventoryCosts>
    <us-gaap:DeferredTaxLiabilitiesPrepaidExpenses
      contextRef="cref_1712351858"
      decimals="0"
      id="ixv-8322"
      unitRef="uref_1652327793">62732</us-gaap:DeferredTaxLiabilitiesPrepaidExpenses>
    <us-gaap:DeferredTaxLiabilitiesPrepaidExpenses
      contextRef="cref_1652327793"
      decimals="0"
      id="ixv-8323"
      unitRef="uref_1652327793">44750</us-gaap:DeferredTaxLiabilitiesPrepaidExpenses>
    <us-gaap:DeferredIncomeTaxLiabilities
      contextRef="cref_1712351858"
      decimals="0"
      id="ixv-8324"
      unitRef="uref_1652327793">62732</us-gaap:DeferredIncomeTaxLiabilities>
    <us-gaap:DeferredIncomeTaxLiabilities
      contextRef="cref_1652327793"
      decimals="0"
      id="ixv-8325"
      unitRef="uref_1652327793">70227</us-gaap:DeferredIncomeTaxLiabilities>
    <esp:DeferredTaxAssetLiability
      contextRef="cref_1712351858"
      decimals="0"
      id="ixv-8326"
      unitRef="uref_1652327793">1338858</esp:DeferredTaxAssetLiability>
    <esp:DeferredTaxAssetLiability
      contextRef="cref_1652327793"
      decimals="0"
      id="ixv-8327"
      unitRef="uref_1652327793">1202019</esp:DeferredTaxAssetLiability>
    <us-gaap:CompensationAndEmployeeBenefitPlansTextBlock contextRef="cref_1746239625" id="ixv-5066">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;Note 9. Employee Stock Ownership Plan&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt;&lt;p style="text-align: justify; font: 10pt Times New Roman, Times, Serif; margin: 0pt;"&gt; The Company sponsors a leveraged employee stock ownership plan (the "ESOP") that covers all nonunion employees who work 1,000 or more hours per year and are employed on June 30. The Company makes annual contributions to the ESOP equal to the ESOP's debt service less dividends on unallocated shares received by the ESOP. All dividends on unallocated shares received by the ESOP are used to pay debt service. Dividends on allocated ESOP shares are recorded as a reduction of retained earnings. As the debt is repaid, shares are released and allocated to active employees, based on the proportion of debt service paid in the year. The Company accounts for its ESOP in accordance with FASB ASC 718-40 &#x201c;Compensation-Stock Compensation&#x201d;. Accordingly, the shares purchased by the ESOP are reported as Unearned ESOP Shares in the statement of financial position. As shares are released or committed-to-be-released, the Company reports compensation expense equal to the current average market price of the shares, and the shares become outstanding for earnings-per-share (EPS) computations. The ESOP borrowed from the Corporation an amount equal to the purchase price. The loan will be repaid in fifteen (15) equal annual installments of principal commencing June 2021.&#160;The Board of Directors has fixed the interest rate and the unpaid balance will bear interest at a fixed rate of 3.00% per annum. ESOP compensation expense was $1,084,057 and $622,472 for the years ended June 30, 2026 and 2025, respectively. &lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0in;"&gt;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0in;"&gt;The ESOP shares as of June 30, 2026 and 2025 were as follows:&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0in;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; font: 10pt Times New Roman, Times, Serif;margin-left:auto;margin-right:auto;"&gt; &lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="white-space: nowrap; text-align: justify;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid;"&gt;2026&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid;"&gt;2025&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="width: 74%; text-indent: 0in;"&gt;Allocated shares&lt;/td&gt; &lt;td style="width: 1%;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 10%; text-align: right;"&gt;368,709&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 10%; text-align: right;"&gt;405,482&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td style="padding-bottom: 1pt;"&gt;Unearned shares&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;168,636&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;189,817&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="text-align: left; padding-bottom: 2.5pt;"&gt;Total shares held by the ESOP&lt;/td&gt; &lt;td style="padding-bottom: 2.5pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;537,345&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 2.5pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;595,299&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td style="padding-bottom: 2.5pt;"&gt;Fair value of unearned shares&lt;/td&gt; &lt;td style="padding-bottom: 2.5pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;11,357,635&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 2.5pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;8,676,535&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;The Company may at times be required to repurchase shares at the ESOP participants&#x2019; request at the fair market value. During the years ended June 30, 2026 and 2025, the Company did not repurchase shares previously held by the ESOP.&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt; The ESOP allows for eligible participants to take whole share distributions from the plan on specific dates in accordance with the provision of the plan. Total share distributions from the ESOP during the year ended June 30, 2026 totaled 57,954, of which 31,011 were liquidated and 26,943 were transferred. Total share distributions from the ESOP during the year ended June 30, 2025 totaled 67,320, of which 23,393 were liquidated and 43,927 were transferred. &lt;/p&gt;</us-gaap:CompensationAndEmployeeBenefitPlansTextBlock>
    <esp:EmployeeStockOwnershipPlanHoursWorked
      contextRef="cref_842945340"
      decimals="0"
      id="ixv-8328"
      unitRef="uref_1921828217">1000</esp:EmployeeStockOwnershipPlanHoursWorked>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="cref_843556965"
      decimals="4"
      id="ixv-8329"
      unitRef="uref_2143746030">0.03</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:EmployeeStockOwnershipPlanESOPCompensationExpense
      contextRef="cref_842945340"
      decimals="0"
      id="ixv-8330"
      unitRef="uref_1652327793">1084057</us-gaap:EmployeeStockOwnershipPlanESOPCompensationExpense>
    <us-gaap:EmployeeStockOwnershipPlanESOPCompensationExpense
      contextRef="cref_1997001624"
      decimals="0"
      id="ixv-8331"
      unitRef="uref_1652327793">622472</us-gaap:EmployeeStockOwnershipPlanESOPCompensationExpense>
    <us-gaap:ScheduleOfEmployeeStockOwnershipPlanESOPDisclosuresTextBlock contextRef="cref_1746239625" id="ixv-5080">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0in;"&gt;The ESOP shares as of June 30, 2026 and 2025 were as follows:&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0in;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; font: 10pt Times New Roman, Times, Serif;margin-left:auto;margin-right:auto;"&gt; &lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="white-space: nowrap; text-align: justify;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid;"&gt;2026&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid;"&gt;2025&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="width: 74%; text-indent: 0in;"&gt;Allocated shares&lt;/td&gt; &lt;td style="width: 1%;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 10%; text-align: right;"&gt;368,709&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 10%; text-align: right;"&gt;405,482&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td style="padding-bottom: 1pt;"&gt;Unearned shares&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;168,636&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;189,817&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="text-align: left; padding-bottom: 2.5pt;"&gt;Total shares held by the ESOP&lt;/td&gt; &lt;td style="padding-bottom: 2.5pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;537,345&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 2.5pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;595,299&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td style="padding-bottom: 2.5pt;"&gt;Fair value of unearned shares&lt;/td&gt; &lt;td style="padding-bottom: 2.5pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;11,357,635&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 2.5pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;8,676,535&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</us-gaap:ScheduleOfEmployeeStockOwnershipPlanESOPDisclosuresTextBlock>
    <us-gaap:EmployeeStockOwnershipPlanESOPNumberOfAllocatedShares
      contextRef="cref_1712351858"
      decimals="INF"
      id="ixv-8332"
      unitRef="uref_51110194">368709</us-gaap:EmployeeStockOwnershipPlanESOPNumberOfAllocatedShares>
    <us-gaap:EmployeeStockOwnershipPlanESOPNumberOfAllocatedShares
      contextRef="cref_1652327793"
      decimals="INF"
      id="ixv-8333"
      unitRef="uref_51110194">405482</us-gaap:EmployeeStockOwnershipPlanESOPNumberOfAllocatedShares>
    <us-gaap:EmployeeStockOwnershipPlanESOPNumberOfSuspenseShares
      contextRef="cref_1712351858"
      decimals="INF"
      id="ixv-8334"
      unitRef="uref_51110194">168636</us-gaap:EmployeeStockOwnershipPlanESOPNumberOfSuspenseShares>
    <us-gaap:EmployeeStockOwnershipPlanESOPNumberOfSuspenseShares
      contextRef="cref_1652327793"
      decimals="INF"
      id="ixv-8335"
      unitRef="uref_51110194">189817</us-gaap:EmployeeStockOwnershipPlanESOPNumberOfSuspenseShares>
    <us-gaap:EmployeeStockOwnershipPlanESOPSharesInESOP
      contextRef="cref_1712351858"
      decimals="INF"
      id="ixv-8336"
      unitRef="uref_51110194">537345</us-gaap:EmployeeStockOwnershipPlanESOPSharesInESOP>
    <us-gaap:EmployeeStockOwnershipPlanESOPSharesInESOP
      contextRef="cref_1652327793"
      decimals="INF"
      id="ixv-8337"
      unitRef="uref_51110194">595299</us-gaap:EmployeeStockOwnershipPlanESOPSharesInESOP>
    <us-gaap:EmployeeStockOwnershipPlanESOPDeferredSharesFairValue
      contextRef="cref_1712351858"
      decimals="0"
      id="ixv-8338"
      unitRef="uref_1652327793">11357635</us-gaap:EmployeeStockOwnershipPlanESOPDeferredSharesFairValue>
    <us-gaap:EmployeeStockOwnershipPlanESOPDeferredSharesFairValue
      contextRef="cref_1652327793"
      decimals="0"
      id="ixv-8339"
      unitRef="uref_1652327793">8676535</us-gaap:EmployeeStockOwnershipPlanESOPDeferredSharesFairValue>
    <us-gaap:StockIssuedDuringPeriodSharesEmployeeBenefitPlan
      contextRef="cref_1746239625"
      decimals="0"
      id="ixv-8340"
      unitRef="uref_51110194">57954</us-gaap:StockIssuedDuringPeriodSharesEmployeeBenefitPlan>
    <esp:EmployeeStockOwnershipPlanESOPGainLossOnTransactionsInDeferredLiquidatedShares
      contextRef="cref_1746239625"
      decimals="0"
      id="fc_303545853"
      unitRef="uref_51110194">31011</esp:EmployeeStockOwnershipPlanESOPGainLossOnTransactionsInDeferredLiquidatedShares>
    <esp:EmployeeStockOwnershipPlanESOPGainLossOnTransactionsInDeferredLiquidatedTransferredShares
      contextRef="cref_1746239625"
      decimals="0"
      id="fc_2118983170"
      unitRef="uref_51110194">26943</esp:EmployeeStockOwnershipPlanESOPGainLossOnTransactionsInDeferredLiquidatedTransferredShares>
    <us-gaap:StockIssuedDuringPeriodSharesEmployeeBenefitPlan
      contextRef="cref_882207396"
      decimals="0"
      id="ixv-8343"
      unitRef="uref_51110194">67320</us-gaap:StockIssuedDuringPeriodSharesEmployeeBenefitPlan>
    <esp:EmployeeStockOwnershipPlanESOPGainLossOnTransactionsInDeferredLiquidatedShares
      contextRef="cref_882207396"
      decimals="0"
      id="fc_373421000"
      unitRef="uref_51110194">23393</esp:EmployeeStockOwnershipPlanESOPGainLossOnTransactionsInDeferredLiquidatedShares>
    <esp:EmployeeStockOwnershipPlanESOPGainLossOnTransactionsInDeferredLiquidatedTransferredShares
      contextRef="cref_882207396"
      decimals="0"
      id="fc_557308649"
      unitRef="uref_51110194">43927</esp:EmployeeStockOwnershipPlanESOPGainLossOnTransactionsInDeferredLiquidatedTransferredShares>
    <us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock contextRef="cref_1746239625" id="ixv-5139">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0in;"&gt;Note 10. Stock-based Compensation&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0in;"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;The Company follows FASB ASC 718-40 &#x201c;Compensation-Stock Compensation&#x201d; in establishing standards for the accounting for transactions in which an entity exchanges its equity instruments for goods or services, as well as transactions in which an entity incurs liabilities in exchange for goods or services that are based on the fair value of the entity&#x2019;s equity instruments or that may be settled by the issuance of those equity instruments. ASC 718 requires that the cost resulting from all share-based payment transactions be recognized in the financial statements based on the fair value of the share-based payment. ASC 718 establishes fair value as the measurement objective in accounting for share-based payment transactions with employees, except for equity instruments held by employee share ownership plans. Included as a reduction to the cost recognized for share-based payments is an estimate for option forfeitures. It is the Company&#x2019;s policy to estimate expected option forfeitures based on historical experience. Actual forfeitures are adjusted prior to the vesting date if the impact is material.&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt; Total stock-based compensation expense recognized in the statements of comprehensive income for the fiscal years ended June 30, 2026 and 2025, was $213,688 and $346,281, respectively, before income taxes. The amount of this stock-based compensation expense related to non-qualified stock options (&#x201c;NQSOs&#x201d;) for the fiscal years ended June 30, 2026 and 2025, was $18,000 and $32,145, respectively. The deferred tax benefit related to the NQSOs as of June 30, 2026 and 2025 was $3,780 and $6,750, respectively. The remaining stock option expense, in each year, related to incentive stock options (&#x201c;ISOs&#x201d;) which are not deductible by the corporation when exercised, assuming a qualifying disposition and as such no deferred tax benefit was established related to these amounts. &lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt; As of June 30, 2026, there was $5,781 of unrecognized compensation cost related to stock option awards that is expected to be recognized as expense within the next fiscal year, of which $3,296 relates to ISOs and $2,485 relates to NQSOs. The total deferred tax benefit related to the NQSOs in future years will be $522. &lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt; The Company has one employee stock option plan under which options or stock awards may be granted, the 2017 Stock Option and Restricted Stock Plan (the "2017 Plan"), approved by the Company's stockholders at the Company's Annual Meeting on December 1, 2017. The Board of Directors may grant options to acquire shares of common stock to employees and non-employee directors of the Company at the fair market value of the common stock on the date of grant. The maximum aggregate number of shares of common stock subject to options or awards to non-employee directors is 133,000 and the maximum aggregate number of shares of common stock subject to options or awards granted to non-employee directors during any single fiscal year is the lesser of 13,300 and 33 1/3% of the total number of shares subject to options or awards granted in such fiscal year. The maximum number of shares subject to options or awards granted to any individual employee may not exceed 15,000 in a fiscal year. Generally, options granted have a two-year vesting period based on two years of continuous service and have a ten-year contractual life. Option grants provide for accelerated vesting if there is a change in control. Shares issued upon the exercise of options are from those held in Treasury. Options covering 400,000 shares are authorized for issuance under the 2017 Plan. As of June 30, 2026, options covering 270,689 shares have been exercised, options covering 114,342 shares are outstanding and options covering 313,946 shares have been cancelled. As of June 30, 2026, options covering 14,969 shares remain available for grant, after factoring the cancelled shares, which are eligible to be re-granted. Under the Company&#x2019;s 2007 Stock Option and Restricted Stock Plan, &lt;span style="-sec-ix-hidden:fc_1639558335;"&gt;no&lt;/span&gt; outstanding grants remain. &lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;ASC 718 requires the use of a valuation model to calculate the fair value of stock-based awards. The Company has elected to use the Black-Scholes option valuation model, which incorporates various assumptions including those for volatility, expected life, and interest rates.&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;The table below outlines the weighted average assumptions that the Company used to calculate the fair value of each option award for the year ended June 30, 2025. There were no option awards for the year ended June 30, 2026.&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; font: 10pt Times New Roman, Times, Serif;margin-left:auto;margin-right:auto;"&gt; &lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="white-space: nowrap; text-align: justify;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid;"&gt;2025&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="width: 87%; text-align: left; text-indent: 0in;"&gt;Dividend yield&lt;/td&gt; &lt;td style="width: 1%;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 10%; text-align: right;"&gt;3.79%&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td style="text-align: left;"&gt;Expected stock price volatility&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;32.85%&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="text-align: left;"&gt;Risk-free interest rate&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;4.35%&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td style="text-align: left;"&gt;Expected option life (in years)&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;5.1yrs&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td&gt;Weighted average fair value per share of options granted during the period&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;$&lt;/td&gt; &lt;td style="text-align: right;"&gt;5.37&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.25in; text-align: justify; text-indent: 0.5in;"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt; The Company paid regular cash dividends on common stock of $1.00 per share and a special cash dividend of $0.75 per share for the fiscal year ended June 30, 2026 and paid regular cash dividends on common stock of $1.00 per share for the fiscal year ended June 30, 2025. Expected stock price volatility is based on the historical volatility of the Company&#x2019;s stock. The risk-free interest rate is based on the implied yield available on U.S. Treasury issues with an equivalent term approximating the expected life of the options. The expected option term (in years) represents the estimated period of time until exercise and is based on actual historical experience. &lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;The following table summarizes stock option activity during the years ended June 30, 2026 and 2025:&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif;margin-left:auto;margin-right:auto;"&gt; &lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="white-space: nowrap; text-align: justify;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid;"&gt;&#160;&lt;/td&gt; &lt;td colspan="15" style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid;"&gt;Employee Stock Option Plans&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; text-align: center;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; text-align: center;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; text-align: center;"&gt;Weighted&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; text-align: center;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; text-align: center;"&gt;Number of&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; text-align: center;"&gt;Weighted&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; text-align: center;"&gt;Average&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; text-align: center;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; text-align: center;"&gt;Shares&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; text-align: center;"&gt;Average&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; text-align: center;"&gt;Remaining&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; text-align: center;"&gt;Aggregate&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; text-align: center;"&gt;Subject&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; text-align: center;"&gt;Exercise&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; text-align: center;"&gt;Contractual&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; text-align: center;"&gt;Intrinsic&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid;"&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid;"&gt;to Option&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid;"&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid;"&gt;Price&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid;"&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid;"&gt;Term&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid;"&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid;"&gt;Value&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="width: 48%;"&gt;Balance at July 1, 2024&lt;/td&gt; &lt;td style="width: 3%;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 8%; text-align: right;"&gt;322,056&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 3%;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="width: 8%; text-align: right;"&gt;18.41&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 3%;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 8%; text-align: right;"&gt;6.59&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 3%;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 8%; text-align: right;"&gt;&lt;span style="-sec-ix-hidden:fc_622660705;"&gt;&#160;&lt;/span&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td&gt;Granted&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;79,000&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;$&lt;/td&gt; &lt;td style="text-align: right;"&gt;21.79&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;9.04&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td&gt;Exercised&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;(162,410&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;)&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;$&lt;/td&gt; &lt;td style="text-align: right;"&gt;18.81&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&lt;span style="-sec-ix-hidden:fc_1058481192;"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td style="text-align: left; padding-bottom: 1pt;"&gt;Forfeited or expired&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;(10,500&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left;"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;18.90&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;&lt;span style="-sec-ix-hidden:fc_1602070145;"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="padding-bottom: 2.5pt;"&gt;Outstanding at June 30, 2025&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;228,146&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;19.26&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;7.30&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;6,033,634&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td&gt;Granted&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&lt;span style="-sec-ix-hidden:fc_2090950865;"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&lt;span style="-sec-ix-hidden:fc_243133874;"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&lt;span style="-sec-ix-hidden:fc_744390503;"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td&gt;Exercised&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;(111,304&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;)&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;$&lt;/td&gt; &lt;td style="text-align: right;"&gt;18.66&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&lt;span style="-sec-ix-hidden:fc_644862744;"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td style="text-align: left; padding-bottom: 1pt;"&gt;Forfeited or expired&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;(2,500&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left;"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;21.50&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;&lt;span style="-sec-ix-hidden:fc_644376364;"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="padding-bottom: 2.5pt;"&gt;Outstanding at June 30, 2026&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;114,342&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;19.80&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;7.20&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;5,436,984&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td style="text-align: left; padding-bottom: 2.5pt;"&gt;Vested or expected to vest at June 30, 2026&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;104,838&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;19.65&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;7.12&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;4,982,963&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="padding-bottom: 2.5pt;"&gt;Exercisable at June 30, 2026&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;42,842&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;16.42&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;5.78&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;2,181,734&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt; The aggregate intrinsic value in the table above represents the total pretax intrinsic value (the difference between the closing sale price of the Company&#x2019;s common stock as reported on the NYSE American on June 30, 2026 and the exercise price, multiplied by the number of in-the-money options) that would have been received by the option holders if all option holders had exercised their options on June 30, 2026. This amount changes based on the fair market value of the Company&#x2019;s common stock. The total intrinsic values of the options exercised during the twelve months ended June 30, 2026 and 2025 was $2,622,821 and $2,023,198, respectively. &lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0;"&gt;The following table summarizes changes in non-vested stock options during the years ended June 30, 2026 and 2025:	&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; font: 10pt Times New Roman, Times, Serif;margin-left:auto;margin-right:auto;"&gt; &lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; text-align: center;"&gt;Weighted Number&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; text-align: center;"&gt;Average&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; text-align: center;"&gt;of Shares&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; text-align: center;"&gt;Grant Date&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; text-align: center;"&gt;Subject&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; text-align: center;"&gt;Fair Value&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid;"&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid;"&gt;to Option&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid;"&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid;"&gt;(per Option)&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="width: 74%;"&gt;Non-vested at July 1, 2024&lt;/td&gt; &lt;td style="width: 3%;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 10%; text-align: right;"&gt;147,300&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 3%;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="width: 10%; text-align: right;"&gt;4.15&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td&gt;Granted&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;79,000&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;$&lt;/td&gt; &lt;td style="text-align: right;"&gt;5.37&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td&gt;Vested&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;(71,400&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;)&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;$&lt;/td&gt; &lt;td style="text-align: right;"&gt;4.18&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td style="text-align: left; padding-bottom: 1pt;"&gt;Forfeited or expired&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;(10,500&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left;"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;4.71&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="padding-bottom: 2.5pt;"&gt;Non-vested at June 30, 2025&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;144,400&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;4.76&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td&gt;Granted&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&lt;span style="-sec-ix-hidden:fc_1845515991;"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&lt;span style="-sec-ix-hidden:fc_1042606346;"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td&gt;Vested&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;(70,400&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;)&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;$&lt;/td&gt; &lt;td style="text-align: right;"&gt;4.12&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td style="text-align: left; padding-bottom: 1pt;"&gt;Forfeited or expired&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;(2,500&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left;"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;5.45&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="padding-bottom: 2.5pt;"&gt;Non-vested at June 30, 2026&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;71,500&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;5.36&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="cref_1746239625"
      decimals="0"
      id="ixv-8346"
      unitRef="uref_1652327793">213688</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="cref_882207396"
      decimals="0"
      id="ixv-8347"
      unitRef="uref_1652327793">346281</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="cref_1971004044"
      decimals="0"
      id="ixv-8348"
      unitRef="uref_1652327793">18000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="cref_782296855"
      decimals="0"
      id="ixv-8349"
      unitRef="uref_1652327793">32145</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:DeferredOtherTaxExpenseBenefit
      contextRef="cref_1971004044"
      decimals="0"
      id="ixv-8350"
      unitRef="uref_1652327793">3780</us-gaap:DeferredOtherTaxExpenseBenefit>
    <us-gaap:DeferredOtherTaxExpenseBenefit
      contextRef="cref_782296855"
      decimals="0"
      id="ixv-8351"
      unitRef="uref_1652327793">6750</us-gaap:DeferredOtherTaxExpenseBenefit>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions
      contextRef="cref_1712351858"
      decimals="0"
      id="ixv-8352"
      unitRef="uref_1652327793">5781</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions
      contextRef="cref_619599741"
      decimals="0"
      id="ixv-8353"
      unitRef="uref_1652327793">3296</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions
      contextRef="cref_801043542"
      decimals="0"
      id="ixv-8354"
      unitRef="uref_1652327793">2485</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions>
    <us-gaap:DeferredOtherTaxExpenseBenefit
      contextRef="cref_1746239625"
      decimals="0"
      id="ixv-8355"
      unitRef="uref_1652327793">522</us-gaap:DeferredOtherTaxExpenseBenefit>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNumberOfSharesPeriodIncreaseDecrease
      contextRef="cref_335265335"
      decimals="INF"
      id="ixv-8356"
      unitRef="uref_51110194">133000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNumberOfSharesPeriodIncreaseDecrease>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNumberOfSharesPeriodIncreaseDecrease
      contextRef="cref_1667680141"
      decimals="INF"
      id="ixv-8357"
      unitRef="uref_51110194">13300</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNumberOfSharesPeriodIncreaseDecrease>
    <esp:PercentageOfTotalNumberOfSharesSubjectToOptionsOrAwardsSingleFiscalYear contextRef="cref_1667680141" id="ixv-8358">33 1/3%</esp:PercentageOfTotalNumberOfSharesSubjectToOptionsOrAwardsSingleFiscalYear>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNumberOfSharesPeriodIncreaseDecrease
      contextRef="cref_1743023548"
      decimals="INF"
      id="ixv-8359"
      unitRef="uref_51110194">15000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNumberOfSharesPeriodIncreaseDecrease>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1 contextRef="cref_1746239625" id="ixv-8360">P2Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1 contextRef="cref_511580538" id="ixv-8361">P2Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized
      contextRef="cref_1452743619"
      decimals="INF"
      id="ixv-8362"
      unitRef="uref_51110194">400000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="cref_495124243"
      decimals="0"
      id="ixv-8363"
      unitRef="uref_51110194">270689</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="cref_339010056"
      decimals="0"
      id="ixv-8364"
      unitRef="uref_51110194">114342</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod
      contextRef="cref_495124243"
      decimals="0"
      id="ixv-8365"
      unitRef="uref_51110194">313946</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant
      contextRef="cref_817553120"
      decimals="0"
      id="ixv-8366"
      unitRef="uref_51110194">14969</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant>
    <us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock contextRef="cref_1746239625" id="ixv-5162">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;The table below outlines the weighted average assumptions that the Company used to calculate the fair value of each option award for the year ended June 30, 2025. There were no option awards for the year ended June 30, 2026.&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; font: 10pt Times New Roman, Times, Serif;margin-left:auto;margin-right:auto;"&gt; &lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="white-space: nowrap; text-align: justify;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid;"&gt;2025&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="width: 87%; text-align: left; text-indent: 0in;"&gt;Dividend yield&lt;/td&gt; &lt;td style="width: 1%;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 10%; text-align: right;"&gt;3.79%&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td style="text-align: left;"&gt;Expected stock price volatility&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;32.85%&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="text-align: left;"&gt;Risk-free interest rate&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;4.35%&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td style="text-align: left;"&gt;Expected option life (in years)&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;5.1yrs&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td&gt;Weighted average fair value per share of options granted during the period&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;$&lt;/td&gt; &lt;td style="text-align: right;"&gt;5.37&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="cref_882207396"
      decimals="4"
      id="ixv-8367"
      unitRef="uref_2143746030">0.0379</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
      contextRef="cref_882207396"
      decimals="4"
      id="ixv-8368"
      unitRef="uref_2143746030">0.3285</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
      contextRef="cref_882207396"
      decimals="4"
      id="ixv-8369"
      unitRef="uref_2143746030">0.0435</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1 contextRef="cref_882207396" id="ixv-8370">P5Y1M6D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="cref_882207396"
      decimals="2"
      id="ixv-8371"
      unitRef="uref_174659268">5.37</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:DividendsPayableAmountPerShare
      contextRef="cref_1712351858"
      decimals="2"
      id="ixv-8372"
      unitRef="uref_174659268">1</us-gaap:DividendsPayableAmountPerShare>
    <esp:SpecialCashDividend
      contextRef="cref_1746239625"
      decimals="2"
      id="ixv-8373"
      unitRef="uref_174659268">0.75</esp:SpecialCashDividend>
    <us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock contextRef="cref_1746239625" id="ixv-5205">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;The following table summarizes stock option activity during the years ended June 30, 2026 and 2025:&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif;margin-left:auto;margin-right:auto;"&gt; &lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="white-space: nowrap; text-align: justify;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid;"&gt;&#160;&lt;/td&gt; &lt;td colspan="15" style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid;"&gt;Employee Stock Option Plans&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; text-align: center;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; text-align: center;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; text-align: center;"&gt;Weighted&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; text-align: center;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; text-align: center;"&gt;Number of&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; text-align: center;"&gt;Weighted&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; text-align: center;"&gt;Average&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; text-align: center;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; text-align: center;"&gt;Shares&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; text-align: center;"&gt;Average&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; text-align: center;"&gt;Remaining&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; text-align: center;"&gt;Aggregate&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; text-align: center;"&gt;Subject&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; text-align: center;"&gt;Exercise&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; text-align: center;"&gt;Contractual&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; text-align: center;"&gt;Intrinsic&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid;"&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid;"&gt;to Option&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid;"&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid;"&gt;Price&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid;"&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid;"&gt;Term&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid;"&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid;"&gt;Value&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="width: 48%;"&gt;Balance at July 1, 2024&lt;/td&gt; &lt;td style="width: 3%;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 8%; text-align: right;"&gt;322,056&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 3%;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="width: 8%; text-align: right;"&gt;18.41&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 3%;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 8%; text-align: right;"&gt;6.59&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 3%;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 8%; text-align: right;"&gt;&lt;span style="-sec-ix-hidden:fc_622660705;"&gt;&#160;&lt;/span&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td&gt;Granted&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;79,000&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;$&lt;/td&gt; &lt;td style="text-align: right;"&gt;21.79&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;9.04&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td&gt;Exercised&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;(162,410&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;)&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;$&lt;/td&gt; &lt;td style="text-align: right;"&gt;18.81&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&lt;span style="-sec-ix-hidden:fc_1058481192;"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td style="text-align: left; padding-bottom: 1pt;"&gt;Forfeited or expired&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;(10,500&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left;"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;18.90&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;&lt;span style="-sec-ix-hidden:fc_1602070145;"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="padding-bottom: 2.5pt;"&gt;Outstanding at June 30, 2025&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;228,146&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;19.26&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;7.30&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;6,033,634&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td&gt;Granted&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&lt;span style="-sec-ix-hidden:fc_2090950865;"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&lt;span style="-sec-ix-hidden:fc_243133874;"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&lt;span style="-sec-ix-hidden:fc_744390503;"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td&gt;Exercised&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;(111,304&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;)&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;$&lt;/td&gt; &lt;td style="text-align: right;"&gt;18.66&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&lt;span style="-sec-ix-hidden:fc_644862744;"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td style="text-align: left; padding-bottom: 1pt;"&gt;Forfeited or expired&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;(2,500&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left;"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;21.50&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;&lt;span style="-sec-ix-hidden:fc_644376364;"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="padding-bottom: 2.5pt;"&gt;Outstanding at June 30, 2026&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;114,342&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;19.80&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;7.20&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;5,436,984&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td style="text-align: left; padding-bottom: 2.5pt;"&gt;Vested or expected to vest at June 30, 2026&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;104,838&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;19.65&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;7.12&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;4,982,963&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="padding-bottom: 2.5pt;"&gt;Exercisable at June 30, 2026&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;42,842&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;16.42&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;5.78&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;2,181,734&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="cref_74397886"
      decimals="INF"
      id="ixv-8374"
      unitRef="uref_51110194">322056</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="cref_74397886"
      decimals="2"
      id="ixv-8375"
      unitRef="uref_174659268">18.41</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2 contextRef="cref_1071546690" id="ixv-8376">P6Y7M2D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="cref_1152724801"
      decimals="INF"
      id="ixv-8377"
      unitRef="uref_51110194">79000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="cref_1152724801"
      decimals="2"
      id="ixv-8378"
      unitRef="uref_174659268">21.79</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <esp:WeightedAverageRemainingContrSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTermactualTermGranted contextRef="cref_1152724801" id="ixv-8379">P9Y14D</esp:WeightedAverageRemainingContrSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTermactualTermGranted>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="cref_1152724801"
      decimals="INF"
      id="ixv-8380"
      unitRef="uref_51110194">162410</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="cref_1152724801"
      decimals="2"
      id="ixv-8381"
      unitRef="uref_174659268">18.81</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod
      contextRef="cref_1152724801"
      decimals="INF"
      id="ixv-8382"
      unitRef="uref_51110194">10500</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice
      contextRef="cref_1152724801"
      decimals="2"
      id="ixv-8383"
      unitRef="uref_174659268">18.9</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="cref_607339698"
      decimals="INF"
      id="ixv-8384"
      unitRef="uref_51110194">228146</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="cref_607339698"
      decimals="2"
      id="ixv-8385"
      unitRef="uref_174659268">19.26</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2 contextRef="cref_1152724801" id="ixv-8386">P7Y3M18D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="cref_607339698"
      decimals="0"
      id="ixv-8387"
      unitRef="uref_1652327793">6033634</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="cref_1892830668"
      decimals="INF"
      id="ixv-8388"
      unitRef="uref_51110194">111304</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="cref_1892830668"
      decimals="2"
      id="ixv-8389"
      unitRef="uref_174659268">18.66</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod
      contextRef="cref_1892830668"
      decimals="INF"
      id="ixv-8390"
      unitRef="uref_51110194">2500</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice
      contextRef="cref_1892830668"
      decimals="2"
      id="ixv-8391"
      unitRef="uref_174659268">21.5</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="cref_438973075"
      decimals="INF"
      id="ixv-8392"
      unitRef="uref_51110194">114342</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="cref_438973075"
      decimals="2"
      id="ixv-8393"
      unitRef="uref_174659268">19.8</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2 contextRef="cref_1892830668" id="ixv-8394">P7Y2M12D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="cref_438973075"
      decimals="0"
      id="ixv-8395"
      unitRef="uref_1652327793">5436984</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber
      contextRef="cref_438973075"
      decimals="INF"
      id="ixv-8396"
      unitRef="uref_51110194">104838</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice
      contextRef="cref_438973075"
      decimals="2"
      id="ixv-8397"
      unitRef="uref_174659268">19.65</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1 contextRef="cref_1892830668" id="ixv-8398">P7Y1M13D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue
      contextRef="cref_438973075"
      decimals="0"
      id="ixv-8399"
      unitRef="uref_1652327793">4982963</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
      contextRef="cref_438973075"
      decimals="INF"
      id="ixv-8400"
      unitRef="uref_51110194">42842</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
      contextRef="cref_438973075"
      decimals="2"
      id="ixv-8401"
      unitRef="uref_174659268">16.42</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1 contextRef="cref_1892830668" id="ixv-8402">P5Y9M10D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1
      contextRef="cref_438973075"
      decimals="0"
      id="ixv-8403"
      unitRef="uref_1652327793">2181734</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
      contextRef="cref_1746239625"
      decimals="0"
      id="ixv-8404"
      unitRef="uref_1652327793">2622821</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
      contextRef="cref_882207396"
      decimals="0"
      id="ixv-8405"
      unitRef="uref_1652327793">2023198</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
    <us-gaap:ScheduleOfNonvestedShareActivityTableTextBlock contextRef="cref_1746239625" id="ixv-5519">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0;"&gt;The following table summarizes changes in non-vested stock options during the years ended June 30, 2026 and 2025:	&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; font: 10pt Times New Roman, Times, Serif;margin-left:auto;margin-right:auto;"&gt; &lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; text-align: center;"&gt;Weighted Number&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; text-align: center;"&gt;Average&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; text-align: center;"&gt;of Shares&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; text-align: center;"&gt;Grant Date&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; text-align: center;"&gt;Subject&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; text-align: center;"&gt;Fair Value&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid;"&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid;"&gt;to Option&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid;"&gt;&#160;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; text-align: center; border-bottom: Black 1pt solid;"&gt;(per Option)&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="width: 74%;"&gt;Non-vested at July 1, 2024&lt;/td&gt; &lt;td style="width: 3%;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 10%; text-align: right;"&gt;147,300&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 3%;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="width: 10%; text-align: right;"&gt;4.15&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td&gt;Granted&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;79,000&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;$&lt;/td&gt; &lt;td style="text-align: right;"&gt;5.37&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td&gt;Vested&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;(71,400&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;)&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;$&lt;/td&gt; &lt;td style="text-align: right;"&gt;4.18&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td style="text-align: left; padding-bottom: 1pt;"&gt;Forfeited or expired&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;(10,500&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left;"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;4.71&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="padding-bottom: 2.5pt;"&gt;Non-vested at June 30, 2025&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;144,400&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;4.76&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td&gt;Granted&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&lt;span style="-sec-ix-hidden:fc_1845515991;"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&lt;span style="-sec-ix-hidden:fc_1042606346;"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td&gt;Vested&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;(70,400&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;)&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;$&lt;/td&gt; &lt;td style="text-align: right;"&gt;4.12&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td style="text-align: left; padding-bottom: 1pt;"&gt;Forfeited or expired&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;(2,500&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left;"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;5.45&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="padding-bottom: 2.5pt;"&gt;Non-vested at June 30, 2026&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;71,500&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;5.36&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.5pt double; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</us-gaap:ScheduleOfNonvestedShareActivityTableTextBlock>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares
      contextRef="cref_146568497"
      decimals="INF"
      id="ixv-8406"
      unitRef="uref_51110194">147300</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="cref_146568497"
      decimals="INF"
      id="ixv-8407"
      unitRef="uref_174659268">4.15</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="cref_882207396"
      decimals="INF"
      id="fc_702153514"
      unitRef="uref_51110194">79000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="cref_882207396"
      decimals="INF"
      id="ixv-8409"
      unitRef="uref_174659268">5.37</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares
      contextRef="cref_882207396"
      decimals="INF"
      id="ixv-8410"
      unitRef="uref_51110194">71400</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue
      contextRef="cref_882207396"
      decimals="INF"
      id="ixv-8411"
      unitRef="uref_174659268">4.18</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares
      contextRef="cref_882207396"
      decimals="INF"
      id="ixv-8412"
      unitRef="uref_51110194">10500</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue
      contextRef="cref_882207396"
      decimals="INF"
      id="ixv-8413"
      unitRef="uref_174659268">4.71</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares
      contextRef="cref_1652327793"
      decimals="INF"
      id="ixv-8414"
      unitRef="uref_51110194">144400</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="cref_1652327793"
      decimals="INF"
      id="ixv-8415"
      unitRef="uref_174659268">4.76</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares
      contextRef="cref_1746239625"
      decimals="INF"
      id="ixv-8416"
      unitRef="uref_51110194">70400</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue
      contextRef="cref_1746239625"
      decimals="INF"
      id="ixv-8417"
      unitRef="uref_174659268">4.12</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares
      contextRef="cref_1746239625"
      decimals="INF"
      id="ixv-8418"
      unitRef="uref_51110194">2500</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue
      contextRef="cref_1746239625"
      decimals="INF"
      id="ixv-8419"
      unitRef="uref_174659268">5.45</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares
      contextRef="cref_1712351858"
      decimals="INF"
      id="ixv-8420"
      unitRef="uref_51110194">71500</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="cref_1712351858"
      decimals="INF"
      id="ixv-8421"
      unitRef="uref_174659268">5.36</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ConcentrationRiskDisclosureTextBlock contextRef="cref_1746239625" id="ixv-5642">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0;"&gt;Note 11. Concentration of Credit Risk&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0;"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt; Financial instruments that potentially subject the Company to concentrations of credit risk consist principally of cash and cash equivalents, short-term investments and accounts receivable. The Company maintains cash and cash equivalents with various financial institutions. At times such investments may be in excess of FDIC insurance limits. As disclosed in Note 3, a significant portion of the Company's business is the production of military and industrial electronic equipment for use by the U.S. and foreign governments and certain industrial customers. The related accounts receivable balance, as a percentage of the Company's total trade accounts receivable balance, was 60% represented by three customers at June 30, 2026. Each of the three customers accounted for 35%, 13%, and 12% of accounts receivable in fiscal year 2026. The related accounts receivable balance, as a percentage of the Company's total trade accounts receivable balance, was 70% represented by six customers at June 30, 2025. Each of the six customers accounted for 26%, 14%, 11%, 7%, 7% and 6% of accounts receivable in fiscal year 2025. &lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;Although the Company's exposure to credit risk associated with nonpayment of these concentrated balances is affected by the conditions or occurrences within the U.S. and foreign governments, the Company believes that its trade accounts receivable credit risk exposure is limited. The Company performs ongoing credit evaluations of its customer's financial conditions and requires collateral, such as progress payments, in certain circumstances. The Company establishes an allowance for credit losses based upon factors surrounding the credit risk of specific customers, historical trends and other information.&lt;/p&gt;</us-gaap:ConcentrationRiskDisclosureTextBlock>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="cref_344341378"
      decimals="2"
      id="ixv-8422"
      unitRef="uref_2143746030">0.60</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="cref_910876168"
      decimals="2"
      id="ixv-8423"
      unitRef="uref_2143746030">0.35</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="cref_1815834749"
      decimals="2"
      id="ixv-8424"
      unitRef="uref_2143746030">0.13</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="cref_644618820"
      decimals="2"
      id="ixv-8425"
      unitRef="uref_2143746030">0.12</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="cref_1899331607"
      decimals="2"
      id="ixv-8426"
      unitRef="uref_2143746030">0.70</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="cref_299696615"
      decimals="2"
      id="ixv-8427"
      unitRef="uref_2143746030">0.26</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="cref_1803167661"
      decimals="2"
      id="ixv-8428"
      unitRef="uref_2143746030">0.14</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="cref_332028890"
      decimals="2"
      id="ixv-8429"
      unitRef="uref_2143746030">0.11</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="cref_1321682645"
      decimals="2"
      id="ixv-8430"
      unitRef="uref_2143746030">0.07</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="cref_934062831"
      decimals="2"
      id="ixv-8431"
      unitRef="uref_2143746030">0.07</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="cref_48164798"
      decimals="2"
      id="ixv-8432"
      unitRef="uref_2143746030">0.06</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:RelatedPartyTransactionsDisclosureTextBlock contextRef="cref_1746239625" id="ixv-5650">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;Note 12. Related Parties&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;The administration of the shares of common stock held by the ESOP Trust is subject to the Espey Mfg. &amp;amp; Electronics Corp. Employee Retirement Plan and Trust (ESOP) and a Trust Agreement, each effective as of July 1, 2016. The Trustees&#x2019; rights with respect to the disposition of shares are governed by the terms of the Plan and the Trust Agreement. As to shares that have been allocated to the accounts of participants in the ESOP Trust, the Plan provides that the Trustees are required to vote such shares in accordance with instructions received from the participants. As to unallocated shares and allocated shares for which voting instructions have not been received from participants, the Plan provides that the Trustees are required to vote such shares in accordance with the direction of the Board of Directors of the Company under the terms of the Plan and Trust Agreement, which is currently in the same proportion as the instructions received on the allocated shares. See Note 9 for additional information regarding the ESOP.&lt;/p&gt;</us-gaap:RelatedPartyTransactionsDisclosureTextBlock>
    <us-gaap:CommitmentsAndContingenciesDisclosureTextBlock contextRef="cref_1746239625" id="ixv-5656">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;Note &lt;span&gt;13&lt;/span&gt;. Commitments and Contingencies&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt; The Company at certain times enters into
                                                                                                                                                                                                                                                                                                                                                                              standby letters of credit agreements with financial institutions primarily relating to the guarantee of future performance on
                                                                                                                                                                                                                                                                                                                                                                              certain contracts. Contingent liabilities on outstanding standby letters of credit agreements aggregated to zero
                                                                                                                                                                                                                                                                                                                                                                              at June 30, 2026 and 2025. The Company, as a U.S. Government contractor, is subject to audits, reviews, and investigations by the
                                                                                                                                                                                                                                                                                                                                                                              U.S. Government related to its negotiation and performance of government contracts and its accounting for such contracts. Failure to
                                                                                                                                                                                                                                                                                                                                                                              comply with applicable U.S. Government standards by a contractor may result in suspension from eligibility for award of any new
                                                                                                                                                                                                                                                                                                                                                                              government contract and a guilty plea or conviction may result in debarment from eligibility for awards. The government may, in
                                                                                                                                                                                                                                                                                                                                                                              certain cases, also terminate existing contracts, recover damages, and impose other sanctions and penalties. As a result of contract
                                                                                                                                                                                                                                                                                                                                                                              audits the Company will determine a range of possible outcomes and in accordance with FASB ASC &lt;span&gt;450&lt;/span&gt;
                                                                                                                                                                                                                                                                                                                                                                              &#x201c;Contingencies&#x201d; the Company will accrue amounts within a range that appears to be its best estimate of a possible
                                                                                                                                                                                                                                                                                                                                                                              outcome. As of June 30, 2026, the Company has $25,909,462
                                                                                                                                                                                                                                                                                                                                                                              in open material purchase commitments under our current contracts. Adjustments are made to accruals, if any, periodically based on
                                                                                                                                                                                                                                                                                                                                                                              current information. &lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt;     &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;We are party to various litigation matters and claims arising from time to time in the ordinary course of business.&#160;While the results of such matters cannot be predicted with certainty, we believe that the final outcome of such matters will not have a material adverse effect on our business, financial condition, results of operations or cash flows. Currently, there are no matters pending.&lt;/p&gt;</us-gaap:CommitmentsAndContingenciesDisclosureTextBlock>
    <us-gaap:LettersOfCreditOutstandingAmount
      contextRef="cref_1712351858"
      decimals="0"
      id="ixv-8433"
      unitRef="uref_1652327793">0</us-gaap:LettersOfCreditOutstandingAmount>
    <us-gaap:LettersOfCreditOutstandingAmount
      contextRef="cref_1652327793"
      decimals="0"
      id="ixv-8434"
      unitRef="uref_1652327793">0</us-gaap:LettersOfCreditOutstandingAmount>
    <us-gaap:PurchaseCommitmentRemainingMinimumAmountCommitted
      contextRef="cref_1712351858"
      decimals="0"
      id="ixv-8435"
      unitRef="uref_1652327793">25909462</us-gaap:PurchaseCommitmentRemainingMinimumAmountCommitted>
    <us-gaap:StockholdersEquityNoteDisclosureTextBlock contextRef="cref_1746239625" id="ixv-5676">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;Note 14. Stockholders' Equity&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;Reservation of Shares&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;The Company has reserved common shares for future issuance as follows as of June 30, 2026:&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; font: 10pt Times New Roman, Times, Serif;margin-left:auto;margin-right:auto;"&gt; &lt;tbody&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="width: 87%; text-align: left;"&gt;Stock options outstanding&lt;/td&gt; &lt;td style="width: 1%;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 10%; text-align: right;"&gt;114,342&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td style="text-align: left; padding-bottom: 1pt;"&gt;Stock options available for issuance&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;14,969&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="padding-bottom: 2.5pt;"&gt;Number of common shares reserved&lt;/td&gt; &lt;td style="padding-bottom: 2.5pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;129,311&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;The following table sets forth the reconciliation of the numerators and denominators of the basic and diluted earnings per share computations for continuing operations for the years ended June 30:&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; font: 10pt Times New Roman, Times, Serif;margin-left:auto;margin-right:auto;"&gt; &lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid;"&gt;2026&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid;"&gt;2025&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt;&lt;td&gt;Numerator:&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td style="width: 74%; text-align: left; padding-bottom: 2.5pt;"&gt;Net income&lt;/td&gt; &lt;td style="width: 1%; padding-bottom: 2.5pt;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; border-bottom: Black 2.5pt double; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="width: 10%; border-bottom: Black 2.5pt double; text-align: right;"&gt;11,179,759&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; padding-bottom: 2.5pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; padding-bottom: 2.5pt;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; border-bottom: Black 2.5pt double; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="width: 10%; border-bottom: Black 2.5pt double; text-align: right;"&gt;8,142,954&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; padding-bottom: 2.5pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt;&lt;td&gt;Denominator:&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt;&lt;td style="text-align: left;"&gt;Basic EPS:&lt;/td&gt; &lt;td style="font-family: Courier New, Courier, Monospace;"&gt;&#160;&lt;/td&gt; &lt;td style="font-family: Courier New, Courier, Monospace; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="font-family: Courier New, Courier, Monospace; text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; font-family: Courier New, Courier, Monospace; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="font-family: Courier New, Courier, Monospace;"&gt;&#160;&lt;/td&gt; &lt;td style="font-family: Courier New, Courier, Monospace; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="font-family: Courier New, Courier, Monospace; text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; font-family: Courier New, Courier, Monospace; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td style="text-align: left; padding-left: 20pt;"&gt;Common shares outstanding, beginning of period&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;2,896,368&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;2,733,958&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="padding-left: 20pt;"&gt;Unearned ESOP shares&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;(189,817&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;)&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;(211,487&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;)&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td style="padding-left: 20pt;"&gt;Weighted average common shares issued during the period&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;55,777&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;60,416&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="padding-bottom: 1pt; padding-left: 20pt;"&gt;Weighted average ESOP shares earned during the period&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;7,964&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;8,149&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt;&lt;td style="text-align: left; padding-left: 20pt;"&gt;Denominator for basic earnings per common shares &#x2013;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="padding-bottom: 2.5pt; padding-left: 40pt;"&gt;Weighted average common shares&lt;/td&gt; &lt;td style="padding-bottom: 2.5pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;2,770,292&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 2.5pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;2,591,036&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt;&lt;td style="text-align: left;"&gt;Diluted EPS:&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td style="padding-left: 20pt;"&gt;Common shares outstanding, beginning of period&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;2,896,368&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;2,733,958&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="padding-left: 20pt;"&gt;Unearned ESOP shares&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;(189,817&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;)&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;(211,487&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;)&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td style="padding-left: 20pt;"&gt;Weighted average common shares issued during the period&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;55,777&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;60,416&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="padding-left: 20pt;"&gt;Weighted average ESOP shares earned during the period&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;7,964&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;8,149&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td style="padding-bottom: 1pt; padding-left: 20pt;"&gt;Weighted average dilutive effect of stock options&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;101,122&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;105,156&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt;&lt;td style="text-align: left; padding-left: 20pt;"&gt;Denominator for diluted earnings per common shares &#x2013;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td style="padding-bottom: 2.5pt; padding-left: 40pt;"&gt;Weighted average common shares&lt;/td&gt; &lt;td style="padding-bottom: 2.5pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;2,871,414&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 2.5pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;2,696,192&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0;"&gt;&lt;span style="text-underline-style: double;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt; There were &lt;span style="-sec-ix-hidden:fc_764419438;"&gt;&lt;span style="-sec-ix-hidden:fc_1876834240;"&gt;no&lt;/span&gt;&lt;/span&gt; options excluded in this computation of earnings per share for the years ended June 30, 2026 and 2025 as there were &lt;span style="-sec-ix-hidden:fc_563841313;"&gt;&lt;span style="-sec-ix-hidden:fc_351376514;"&gt;no&lt;/span&gt;&lt;/span&gt; anti-dilutive shares due to the average strike price exceeding the average market price of those shares. &lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt; The Company paid regular cash dividends on common stock of $1.00 per share and a special $0.75 per share dividend for the fiscal year ended June 30, 2026 and paid regular cash dividends on common stock of $1.00 per share for the fiscal year ended June 30, 2025. Our Board of Directors assesses the Company&#x2019;s dividend policy periodically. There is no assurance that the Board of Directors will maintain the amount of the regular cash dividend during any future years. &lt;/p&gt;</us-gaap:StockholdersEquityNoteDisclosureTextBlock>
    <esp:ScheduleOfReservedCommonSharesForFutureIssuanceTableTextBlock contextRef="cref_1746239625" id="ixv-5681">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;The Company has reserved common shares for future issuance as follows as of June 30, 2026:&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; font: 10pt Times New Roman, Times, Serif;margin-left:auto;margin-right:auto;"&gt; &lt;tbody&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="width: 87%; text-align: left;"&gt;Stock options outstanding&lt;/td&gt; &lt;td style="width: 1%;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 10%; text-align: right;"&gt;114,342&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td style="text-align: left; padding-bottom: 1pt;"&gt;Stock options available for issuance&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;14,969&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="padding-bottom: 2.5pt;"&gt;Number of common shares reserved&lt;/td&gt; &lt;td style="padding-bottom: 2.5pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;129,311&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</esp:ScheduleOfReservedCommonSharesForFutureIssuanceTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="cref_817553120"
      decimals="INF"
      id="ixv-8436"
      unitRef="uref_51110194">114342</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant
      contextRef="cref_817553120"
      decimals="INF"
      id="ixv-8437"
      unitRef="uref_51110194">14969</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant>
    <us-gaap:CommonStockCapitalSharesReservedForFutureIssuance
      contextRef="cref_817553120"
      decimals="INF"
      id="ixv-8438"
      unitRef="uref_51110194">129311</us-gaap:CommonStockCapitalSharesReservedForFutureIssuance>
    <us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock contextRef="cref_1746239625" id="ixv-5705">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;The following table sets forth the reconciliation of the numerators and denominators of the basic and diluted earnings per share computations for continuing operations for the years ended June 30:&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; font: 10pt Times New Roman, Times, Serif;margin-left:auto;margin-right:auto;"&gt; &lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="white-space: nowrap;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid;"&gt;2026&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid;"&gt;2025&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt;&lt;td&gt;Numerator:&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td style="width: 74%; text-align: left; padding-bottom: 2.5pt;"&gt;Net income&lt;/td&gt; &lt;td style="width: 1%; padding-bottom: 2.5pt;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; border-bottom: Black 2.5pt double; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="width: 10%; border-bottom: Black 2.5pt double; text-align: right;"&gt;11,179,759&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; padding-bottom: 2.5pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; padding-bottom: 2.5pt;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; border-bottom: Black 2.5pt double; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="width: 10%; border-bottom: Black 2.5pt double; text-align: right;"&gt;8,142,954&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; padding-bottom: 2.5pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt;&lt;td&gt;Denominator:&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt;&lt;td style="text-align: left;"&gt;Basic EPS:&lt;/td&gt; &lt;td style="font-family: Courier New, Courier, Monospace;"&gt;&#160;&lt;/td&gt; &lt;td style="font-family: Courier New, Courier, Monospace; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="font-family: Courier New, Courier, Monospace; text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; font-family: Courier New, Courier, Monospace; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="font-family: Courier New, Courier, Monospace;"&gt;&#160;&lt;/td&gt; &lt;td style="font-family: Courier New, Courier, Monospace; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="font-family: Courier New, Courier, Monospace; text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; font-family: Courier New, Courier, Monospace; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td style="text-align: left; padding-left: 20pt;"&gt;Common shares outstanding, beginning of period&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;2,896,368&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;2,733,958&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="padding-left: 20pt;"&gt;Unearned ESOP shares&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;(189,817&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;)&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;(211,487&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;)&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td style="padding-left: 20pt;"&gt;Weighted average common shares issued during the period&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;55,777&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;60,416&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="padding-bottom: 1pt; padding-left: 20pt;"&gt;Weighted average ESOP shares earned during the period&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;7,964&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;8,149&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt;&lt;td style="text-align: left; padding-left: 20pt;"&gt;Denominator for basic earnings per common shares &#x2013;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="padding-bottom: 2.5pt; padding-left: 40pt;"&gt;Weighted average common shares&lt;/td&gt; &lt;td style="padding-bottom: 2.5pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;2,770,292&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 2.5pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;2,591,036&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt;&lt;td style="text-align: left;"&gt;Diluted EPS:&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td style="padding-left: 20pt;"&gt;Common shares outstanding, beginning of period&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;2,896,368&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;2,733,958&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="padding-left: 20pt;"&gt;Unearned ESOP shares&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;(189,817&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;)&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;(211,487&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;)&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td style="padding-left: 20pt;"&gt;Weighted average common shares issued during the period&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;55,777&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;60,416&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="padding-left: 20pt;"&gt;Weighted average ESOP shares earned during the period&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;7,964&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;8,149&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td style="padding-bottom: 1pt; padding-left: 20pt;"&gt;Weighted average dilutive effect of stock options&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;101,122&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;105,156&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt;&lt;td style="text-align: left; padding-left: 20pt;"&gt;Denominator for diluted earnings per common shares &#x2013;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td style="padding-bottom: 2.5pt; padding-left: 40pt;"&gt;Weighted average common shares&lt;/td&gt; &lt;td style="padding-bottom: 2.5pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;2,871,414&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 2.5pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;2,696,192&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock>
    <us-gaap:NetIncomeLoss
      contextRef="cref_1746239625"
      decimals="0"
      id="ixv-8439"
      unitRef="uref_1652327793">11179759</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="cref_882207396"
      decimals="0"
      id="ixv-8440"
      unitRef="uref_1652327793">8142954</us-gaap:NetIncomeLoss>
    <us-gaap:CommonStockOtherSharesOutstanding
      contextRef="cref_1712351858"
      decimals="INF"
      id="ixv-8441"
      unitRef="uref_51110194">2896368</us-gaap:CommonStockOtherSharesOutstanding>
    <us-gaap:CommonStockOtherSharesOutstanding
      contextRef="cref_1652327793"
      decimals="INF"
      id="ixv-8442"
      unitRef="uref_51110194">2733958</us-gaap:CommonStockOtherSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfSharesEmployeeStockOwnershipPlanSharesNotCommittedToBeReleased
      contextRef="cref_1746239625"
      decimals="0"
      id="ixv-8443"
      unitRef="uref_51110194">189817</us-gaap:WeightedAverageNumberOfSharesEmployeeStockOwnershipPlanSharesNotCommittedToBeReleased>
    <us-gaap:WeightedAverageNumberOfSharesEmployeeStockOwnershipPlanSharesNotCommittedToBeReleased
      contextRef="cref_882207396"
      decimals="0"
      id="ixv-8444"
      unitRef="uref_51110194">211487</us-gaap:WeightedAverageNumberOfSharesEmployeeStockOwnershipPlanSharesNotCommittedToBeReleased>
    <us-gaap:WeightedAverageNumberOfSharesIssuedBasic
      contextRef="cref_1746239625"
      decimals="INF"
      id="fc_1006399667"
      unitRef="uref_51110194">55777</us-gaap:WeightedAverageNumberOfSharesIssuedBasic>
    <us-gaap:WeightedAverageNumberOfSharesIssuedBasic
      contextRef="cref_882207396"
      decimals="INF"
      id="ixv-8446"
      unitRef="uref_51110194">60416</us-gaap:WeightedAverageNumberOfSharesIssuedBasic>
    <us-gaap:WeightedAverageNumberOfSharesContingentlyIssuable
      contextRef="cref_1746239625"
      decimals="INF"
      id="fc_1996373733"
      unitRef="uref_51110194">7964</us-gaap:WeightedAverageNumberOfSharesContingentlyIssuable>
    <us-gaap:WeightedAverageNumberOfSharesContingentlyIssuable
      contextRef="cref_882207396"
      decimals="INF"
      id="ixv-8448"
      unitRef="uref_51110194">8149</us-gaap:WeightedAverageNumberOfSharesContingentlyIssuable>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="cref_1746239625"
      decimals="INF"
      id="fc_1091674466"
      unitRef="uref_51110194">2770292</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="cref_882207396"
      decimals="INF"
      id="ixv-8450"
      unitRef="uref_51110194">2591036</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:CommonStockOtherSharesOutstanding
      contextRef="cref_1712351858"
      decimals="INF"
      id="fc_1192648473"
      unitRef="uref_51110194">2896368</us-gaap:CommonStockOtherSharesOutstanding>
    <us-gaap:CommonStockOtherSharesOutstanding
      contextRef="cref_1652327793"
      decimals="INF"
      id="ixv-8452"
      unitRef="uref_51110194">2733958</us-gaap:CommonStockOtherSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfSharesEmployeeStockOwnershipPlanSharesNotCommittedToBeReleased
      contextRef="cref_1746239625"
      decimals="INF"
      id="fc_941413698"
      unitRef="uref_51110194">189817</us-gaap:WeightedAverageNumberOfSharesEmployeeStockOwnershipPlanSharesNotCommittedToBeReleased>
    <us-gaap:WeightedAverageNumberOfSharesEmployeeStockOwnershipPlanSharesNotCommittedToBeReleased
      contextRef="cref_882207396"
      decimals="INF"
      id="ixv-8454"
      unitRef="uref_51110194">211487</us-gaap:WeightedAverageNumberOfSharesEmployeeStockOwnershipPlanSharesNotCommittedToBeReleased>
    <us-gaap:WeightedAverageNumberOfSharesCommonStockSubjectToRepurchaseOrCancellation
      contextRef="cref_1746239625"
      decimals="INF"
      id="fc_1564015066"
      unitRef="uref_51110194">55777</us-gaap:WeightedAverageNumberOfSharesCommonStockSubjectToRepurchaseOrCancellation>
    <us-gaap:WeightedAverageNumberOfSharesCommonStockSubjectToRepurchaseOrCancellation
      contextRef="cref_882207396"
      decimals="INF"
      id="ixv-8456"
      unitRef="uref_51110194">60416</us-gaap:WeightedAverageNumberOfSharesCommonStockSubjectToRepurchaseOrCancellation>
    <us-gaap:WeightedAverageNumberOfSharesContingentlyIssuable
      contextRef="cref_1746239625"
      decimals="INF"
      id="fc_823261217"
      unitRef="uref_51110194">7964</us-gaap:WeightedAverageNumberOfSharesContingentlyIssuable>
    <us-gaap:WeightedAverageNumberOfSharesContingentlyIssuable
      contextRef="cref_882207396"
      decimals="INF"
      id="ixv-8458"
      unitRef="uref_51110194">8149</us-gaap:WeightedAverageNumberOfSharesContingentlyIssuable>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="cref_1746239625"
      decimals="INF"
      id="fc_958766283"
      unitRef="uref_51110194">101122</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="cref_882207396"
      decimals="INF"
      id="ixv-8460"
      unitRef="uref_51110194">105156</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="cref_1746239625"
      decimals="INF"
      id="fc_236393747"
      unitRef="uref_51110194">2871414</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="cref_882207396"
      decimals="INF"
      id="ixv-8462"
      unitRef="uref_51110194">2696192</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:CommonStockDividendsPerShareCashPaid
      contextRef="cref_1155046959"
      decimals="2"
      id="ixv-8463"
      unitRef="uref_174659268">1</us-gaap:CommonStockDividendsPerShareCashPaid>
    <esp:SpecialCashDividend
      contextRef="cref_1746239625"
      decimals="2"
      id="ixv-8464"
      unitRef="uref_174659268">0.75</esp:SpecialCashDividend>
    <us-gaap:CommonStockDividendsPerShareCashPaid
      contextRef="cref_882207396"
      decimals="2"
      id="ixv-8465"
      unitRef="uref_174659268">1</us-gaap:CommonStockDividendsPerShareCashPaid>
    <us-gaap:DebtDisclosureTextBlock contextRef="cref_1746239625" id="ixv-5929">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;Note 15. Line of Credit&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt; At June 30, 2026, the Company has an uncommitted and unused Line of Credit with a financial institution. The agreement provides that the Company may borrow up to $3,000,000. The line provides for interest payments equal to the SOFR Daily Floating Rate plus 2 percentage points. Any borrowing under the line of credit will be collateralized by accounts receivable. All outstanding balances are payable no later than the expiration date of the agreement, unless other terms are agreed to by the lender. The existing line of credit expires March 31, 2027. The Company did not borrow any funds during the last two fiscal years. &lt;/p&gt;</us-gaap:DebtDisclosureTextBlock>
    <us-gaap:LineOfCreditFacilityCurrentBorrowingCapacity
      contextRef="cref_1712351858"
      decimals="0"
      id="ixv-8466"
      unitRef="uref_1652327793">3000000</us-gaap:LineOfCreditFacilityCurrentBorrowingCapacity>
    <esp:FloatingRatePercentage
      contextRef="cref_1746239625"
      decimals="2"
      id="ixv-8467"
      unitRef="uref_2143746030">0.02</esp:FloatingRatePercentage>
    <us-gaap:LineOfCreditFacilityExpirationDate1 contextRef="cref_1746239625" id="ixv-8468">2027-03-31</us-gaap:LineOfCreditFacilityExpirationDate1>
    <us-gaap:QuarterlyFinancialInformationTextBlock contextRef="cref_1746239625" id="ixv-5944">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;Note 16. Quarterly Financial Information (Unaudited)&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; font: 10pt Times New Roman, Times, Serif;margin-left:auto;margin-right:auto;"&gt; &lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="white-space: nowrap; text-align: justify;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right;"&gt;First&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right;"&gt;Second&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right;"&gt;Third&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right;"&gt;Fourth&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="white-space: nowrap; font-weight: bold;"&gt;2026&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid;"&gt;Quarter&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid;"&gt;Quarter&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid;"&gt;Quarter&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid;"&gt;Quarter&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="width: 48%; text-align: left;"&gt;Net sales&lt;/td&gt; &lt;td style="width: 1%;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="width: 10%; text-align: right;"&gt;9,092,876&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="width: 10%; text-align: right;"&gt;12,136,903&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="width: 10%; text-align: right;"&gt;11,422,655&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="width: 10%; text-align: right;"&gt;13,471,891&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td style="padding-left: 20pt; text-align: left;"&gt;Gross profit&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;3,217,002&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;4,212,581&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;4,229,345&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;4,625,205&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="padding-left: 20pt; text-align: left;"&gt;Net income&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;2,169,836&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;2,805,109&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;2,864,662&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;3,340,152&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt;&lt;td style="padding-left: 20pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt;&lt;td&gt;Net income per share -&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td style="padding-left: 10pt;"&gt;Basic&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;0.80&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;1.02&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;1.03&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;1.18&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="padding-left: 10pt;"&gt;Diluted&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;0.76&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;0.99&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;0.99&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;1.15&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt;&lt;td style="font-weight: bold; text-align: left;"&gt;2025&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td style="text-align: left;"&gt;Net sales&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;$&lt;/td&gt; &lt;td style="text-align: right;"&gt;10,443,218&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;$&lt;/td&gt; &lt;td style="text-align: right;"&gt;13,608,740&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;$&lt;/td&gt; &lt;td style="text-align: right;"&gt;10,302,719&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;$&lt;/td&gt; &lt;td style="text-align: right;"&gt;9,596,194&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="padding-left: 20pt; text-align: left;"&gt;Gross profit&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;2,800,882&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;3,163,712&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;2,948,384&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;3,771,652&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td style="padding-left: 20pt; text-align: left;"&gt;Net income&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;1,598,317&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;1,908,499&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;1,704,487&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;2,931,651&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt;&lt;td style="padding-left: 20pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt;&lt;td&gt;Net income per share -&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="padding-left: 10pt;"&gt;Basic&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;0.63&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;0.74&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;0.66&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;1.10&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td style="padding-left: 10pt;"&gt;Diluted&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;0.61&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;0.71&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;0.63&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;1.05&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</us-gaap:QuarterlyFinancialInformationTextBlock>
    <us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock contextRef="cref_1746239625" id="ixv-5947">&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; font: 10pt Times New Roman, Times, Serif;margin-left:auto;margin-right:auto;"&gt; &lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="white-space: nowrap; text-align: justify;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right;"&gt;First&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right;"&gt;Second&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right;"&gt;Third&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right;"&gt;Fourth&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="white-space: nowrap; font-weight: bold;"&gt;2026&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid;"&gt;Quarter&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid;"&gt;Quarter&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid;"&gt;Quarter&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid;"&gt;Quarter&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="width: 48%; text-align: left;"&gt;Net sales&lt;/td&gt; &lt;td style="width: 1%;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="width: 10%; text-align: right;"&gt;9,092,876&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="width: 10%; text-align: right;"&gt;12,136,903&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="width: 10%; text-align: right;"&gt;11,422,655&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left;"&gt;$&lt;/td&gt; &lt;td style="width: 10%; text-align: right;"&gt;13,471,891&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td style="padding-left: 20pt; text-align: left;"&gt;Gross profit&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;3,217,002&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;4,212,581&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;4,229,345&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;4,625,205&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="padding-left: 20pt; text-align: left;"&gt;Net income&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;2,169,836&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;2,805,109&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;2,864,662&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;3,340,152&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt;&lt;td style="padding-left: 20pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt;&lt;td&gt;Net income per share -&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td style="padding-left: 10pt;"&gt;Basic&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;0.80&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;1.02&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;1.03&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;1.18&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="padding-left: 10pt;"&gt;Diluted&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;0.76&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;0.99&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;0.99&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;1.15&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt;&lt;td style="font-weight: bold; text-align: left;"&gt;2025&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td style="text-align: left;"&gt;Net sales&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;$&lt;/td&gt; &lt;td style="text-align: right;"&gt;10,443,218&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;$&lt;/td&gt; &lt;td style="text-align: right;"&gt;13,608,740&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;$&lt;/td&gt; &lt;td style="text-align: right;"&gt;10,302,719&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;$&lt;/td&gt; &lt;td style="text-align: right;"&gt;9,596,194&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="padding-left: 20pt; text-align: left;"&gt;Gross profit&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;2,800,882&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;3,163,712&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;2,948,384&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;3,771,652&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td style="padding-left: 20pt; text-align: left;"&gt;Net income&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;1,598,317&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;1,908,499&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;1,704,487&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;2,931,651&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt;&lt;td style="padding-left: 20pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt;&lt;td&gt;Net income per share -&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;&#160;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="padding-left: 10pt;"&gt;Basic&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;0.63&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;0.74&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;0.66&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;1.10&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td style="padding-left: 10pt;"&gt;Diluted&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;0.61&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;0.71&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;0.63&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;1.05&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock>
    <us-gaap:Revenues
      contextRef="cref_650031301"
      decimals="0"
      id="ixv-8469"
      unitRef="uref_1652327793">9092876</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="cref_890039125"
      decimals="0"
      id="ixv-8470"
      unitRef="uref_1652327793">12136903</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="cref_401645156"
      decimals="0"
      id="ixv-8471"
      unitRef="uref_1652327793">11422655</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="cref_925931785"
      decimals="0"
      id="ixv-8472"
      unitRef="uref_1652327793">13471891</us-gaap:Revenues>
    <us-gaap:GrossProfit
      contextRef="cref_650031301"
      decimals="0"
      id="ixv-8473"
      unitRef="uref_1652327793">3217002</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="cref_890039125"
      decimals="0"
      id="ixv-8474"
      unitRef="uref_1652327793">4212581</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="cref_401645156"
      decimals="0"
      id="ixv-8475"
      unitRef="uref_1652327793">4229345</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="cref_925931785"
      decimals="0"
      id="ixv-8476"
      unitRef="uref_1652327793">4625205</us-gaap:GrossProfit>
    <us-gaap:NetIncomeLoss
      contextRef="cref_650031301"
      decimals="0"
      id="ixv-8477"
      unitRef="uref_1652327793">2169836</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="cref_890039125"
      decimals="0"
      id="ixv-8478"
      unitRef="uref_1652327793">2805109</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="cref_401645156"
      decimals="0"
      id="ixv-8479"
      unitRef="uref_1652327793">2864662</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="cref_925931785"
      decimals="0"
      id="ixv-8480"
      unitRef="uref_1652327793">3340152</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareBasic
      contextRef="cref_650031301"
      decimals="2"
      id="ixv-8481"
      unitRef="uref_174659268">0.8</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="cref_890039125"
      decimals="2"
      id="ixv-8482"
      unitRef="uref_174659268">1.02</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="cref_401645156"
      decimals="2"
      id="ixv-8483"
      unitRef="uref_174659268">1.03</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="cref_925931785"
      decimals="2"
      id="ixv-8484"
      unitRef="uref_174659268">1.18</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="cref_650031301"
      decimals="2"
      id="ixv-8485"
      unitRef="uref_174659268">0.76</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="cref_890039125"
      decimals="2"
      id="ixv-8486"
      unitRef="uref_174659268">0.99</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="cref_401645156"
      decimals="2"
      id="ixv-8487"
      unitRef="uref_174659268">0.99</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="cref_925931785"
      decimals="2"
      id="ixv-8488"
      unitRef="uref_174659268">1.15</us-gaap:EarningsPerShareDiluted>
    <us-gaap:Revenues
      contextRef="cref_2021105631"
      decimals="0"
      id="ixv-8489"
      unitRef="uref_1652327793">10443218</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="cref_443689078"
      decimals="0"
      id="ixv-8490"
      unitRef="uref_1652327793">13608740</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="cref_1753356508"
      decimals="0"
      id="ixv-8491"
      unitRef="uref_1652327793">10302719</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="cref_174659268"
      decimals="0"
      id="ixv-8492"
      unitRef="uref_1652327793">9596194</us-gaap:Revenues>
    <us-gaap:GrossProfit
      contextRef="cref_2021105631"
      decimals="0"
      id="ixv-8493"
      unitRef="uref_1652327793">2800882</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="cref_443689078"
      decimals="0"
      id="ixv-8494"
      unitRef="uref_1652327793">3163712</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="cref_1753356508"
      decimals="0"
      id="ixv-8495"
      unitRef="uref_1652327793">2948384</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="cref_174659268"
      decimals="0"
      id="ixv-8496"
      unitRef="uref_1652327793">3771652</us-gaap:GrossProfit>
    <us-gaap:NetIncomeLoss
      contextRef="cref_2021105631"
      decimals="0"
      id="ixv-8497"
      unitRef="uref_1652327793">1598317</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="cref_443689078"
      decimals="0"
      id="ixv-8498"
      unitRef="uref_1652327793">1908499</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="cref_1753356508"
      decimals="0"
      id="ixv-8499"
      unitRef="uref_1652327793">1704487</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="cref_174659268"
      decimals="0"
      id="ixv-8500"
      unitRef="uref_1652327793">2931651</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareBasic
      contextRef="cref_2021105631"
      decimals="2"
      id="ixv-8501"
      unitRef="uref_174659268">0.63</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="cref_443689078"
      decimals="2"
      id="ixv-8502"
      unitRef="uref_174659268">0.74</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="cref_1753356508"
      decimals="2"
      id="ixv-8503"
      unitRef="uref_174659268">0.66</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="cref_174659268"
      decimals="2"
      id="ixv-8504"
      unitRef="uref_174659268">1.1</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="cref_2021105631"
      decimals="2"
      id="ixv-8505"
      unitRef="uref_174659268">0.61</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="cref_443689078"
      decimals="2"
      id="ixv-8506"
      unitRef="uref_174659268">0.71</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="cref_1753356508"
      decimals="2"
      id="ixv-8507"
      unitRef="uref_174659268">0.63</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="cref_174659268"
      decimals="2"
      id="ixv-8508"
      unitRef="uref_174659268">1.05</us-gaap:EarningsPerShareDiluted>
    <us-gaap:SegmentReportingDisclosureTextBlock contextRef="cref_1746239625" id="ixv-6268">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;Note 17. Segment Reporting&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt; Operating segments are clearly defined components of an entity in which separate financial information is readily available and reviewed by the chief operating decision maker (&#x201c;CODM&#x201d;) when allocating resources and assessing company performance. Espey&#x2019;s CODM is the &lt;span style="-sec-ix-hidden:fc_2019579819;"&gt;Chief Executive Officer&lt;/span&gt;. There is one management team that oversees a single operating segment and reports directly to the CEO. Our CODM evaluates performance and makes operating decisions about allocating resources based on financial data as presented on  the face of our financial statements, focusing on significant expenses, net income, and certain key performance indicators (&#x201c;KPI&#x201d;) presented on our internal monthly and weekly management reports. Significant expenses regularly provided to and reviewed by the CODM are Cost of Sales and Selling, General and Administrative costs which are each separately presented on the Company&#x2019;s Statements of Comprehensive Income. During the years ended June 30, 2026 and 2025, domestic revenue accounted for approximately 90% of total revenue. The Company manages sales under one reportable segment. &lt;/p&gt;</us-gaap:SegmentReportingDisclosureTextBlock>
    <us-gaap:SegmentReportingExpenseInformationUsedByCodmDescription contextRef="cref_1746239625" id="ixv-8509">Operating segments are clearly defined components of an entity in which separate financial information is readily available and reviewed by the chief operating decision maker (&#x201c;CODM&#x201d;) when allocating resources and assessing company performance</us-gaap:SegmentReportingExpenseInformationUsedByCodmDescription>
    <us-gaap:NumberOfReportableSegments
      contextRef="cref_1746239625"
      decimals="0"
      id="ixv-8510"
      unitRef="uref_1611471486">1</us-gaap:NumberOfReportableSegments>
    <us-gaap:OtherAssetsDisclosureTextBlock contextRef="cref_1746239625" id="ixv-6275">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;Note 18. Other Assets&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;Prepaid expenses and other current assets consisted of the following as of June 30, 2026 and 2025:&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; font: 10pt Times New Roman, Times, Serif;margin-left:auto;margin-right:auto;"&gt; &lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="white-space: nowrap; text-align: justify;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid;"&gt;2026&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid;"&gt;2025&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="width: 74%; text-align: left; text-indent: 0in;"&gt;Accrued Interest &#x2013; Investment Securities&lt;/td&gt; &lt;td style="width: 1%;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 10%; text-align: right;"&gt;237,646&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 10%; text-align: right;"&gt;273,921&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td style="text-align: left; text-indent: 0in;"&gt;General Prepaid Expenses&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;213,547&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;143,803&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="text-align: left; text-indent: 0in;"&gt;General Prepaid Insurance&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;146,941&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;117,816&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td style="text-align: left; text-indent: 0in;"&gt;Prepaid Property &amp;amp; School Taxes&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;20,872&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;18,234&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="text-align: left; padding-bottom: 1pt; text-indent: 0in;"&gt;Other Current Assets&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;9,878,767&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;4,379,788&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td style="text-align: left; padding-bottom: 2.5pt;"&gt;Total Prepaids and Other Current Assets&lt;/td&gt; &lt;td style="padding-bottom: 2.5pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;10,497,773&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 2.5pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;4,933,562&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.75in;"&gt;&lt;span style="text-underline-style: double;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;Other current assets consist entirely of vendor prepayments and supplier advances, which are reclassified to inventory upon the physical delivery of materials.&lt;/p&gt;</us-gaap:OtherAssetsDisclosureTextBlock>
    <us-gaap:ScheduleOfOtherCurrentAssetsTableTextBlock contextRef="cref_1746239625" id="ixv-6278">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;Prepaid expenses and other current assets consisted of the following as of June 30, 2026 and 2025:&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; font: 10pt Times New Roman, Times, Serif;margin-left:auto;margin-right:auto;"&gt; &lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;&lt;td style="white-space: nowrap; text-align: justify;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid;"&gt;2026&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: right; border-bottom: Black 1pt solid;"&gt;2025&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="width: 74%; text-align: left; text-indent: 0in;"&gt;Accrued Interest &#x2013; Investment Securities&lt;/td&gt; &lt;td style="width: 1%;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 10%; text-align: right;"&gt;237,646&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="width: 10%; text-align: right;"&gt;273,921&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td style="text-align: left; text-indent: 0in;"&gt;General Prepaid Expenses&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;213,547&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;143,803&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="text-align: left; text-indent: 0in;"&gt;General Prepaid Insurance&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;146,941&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;117,816&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td style="text-align: left; text-indent: 0in;"&gt;Prepaid Property &amp;amp; School Taxes&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;20,872&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right;"&gt;18,234&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255);"&gt; &lt;td style="text-align: left; padding-bottom: 1pt; text-indent: 0in;"&gt;Other Current Assets&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;9,878,767&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 1pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right;"&gt;4,379,788&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;tr style="vertical-align: bottom; background-color: White;"&gt; &lt;td style="text-align: left; padding-bottom: 2.5pt;"&gt;Total Prepaids and Other Current Assets&lt;/td&gt; &lt;td style="padding-bottom: 2.5pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;10,497,773&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="padding-bottom: 2.5pt;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right;"&gt;4,933,562&lt;/td&gt; &lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left;"&gt;&#160;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</us-gaap:ScheduleOfOtherCurrentAssetsTableTextBlock>
    <esp:AccruedInterestInvestmentSecurities
      contextRef="cref_1712351858"
      decimals="0"
      id="ixv-8512"
      unitRef="uref_1652327793">237646</esp:AccruedInterestInvestmentSecurities>
    <esp:AccruedInterestInvestmentSecurities
      contextRef="cref_1652327793"
      decimals="0"
      id="ixv-8513"
      unitRef="uref_1652327793">273921</esp:AccruedInterestInvestmentSecurities>
    <us-gaap:PrepaidExpenseCurrent
      contextRef="cref_1712351858"
      decimals="0"
      id="ixv-8514"
      unitRef="uref_1652327793">213547</us-gaap:PrepaidExpenseCurrent>
    <us-gaap:PrepaidExpenseCurrent
      contextRef="cref_1652327793"
      decimals="0"
      id="ixv-8515"
      unitRef="uref_1652327793">143803</us-gaap:PrepaidExpenseCurrent>
    <us-gaap:PrepaidInsurance
      contextRef="cref_1712351858"
      decimals="0"
      id="ixv-8516"
      unitRef="uref_1652327793">146941</us-gaap:PrepaidInsurance>
    <us-gaap:PrepaidInsurance
      contextRef="cref_1652327793"
      decimals="0"
      id="ixv-8517"
      unitRef="uref_1652327793">117816</us-gaap:PrepaidInsurance>
    <esp:PrepaidPropertySchoolTaxes
      contextRef="cref_1712351858"
      decimals="0"
      id="ixv-8518"
      unitRef="uref_1652327793">20872</esp:PrepaidPropertySchoolTaxes>
    <esp:PrepaidPropertySchoolTaxes
      contextRef="cref_1652327793"
      decimals="0"
      id="ixv-8519"
      unitRef="uref_1652327793">18234</esp:PrepaidPropertySchoolTaxes>
    <us-gaap:OtherAssetsCurrent
      contextRef="cref_1712351858"
      decimals="0"
      id="ixv-8520"
      unitRef="uref_1652327793">9878767</us-gaap:OtherAssetsCurrent>
    <us-gaap:OtherAssetsCurrent
      contextRef="cref_1652327793"
      decimals="0"
      id="ixv-8521"
      unitRef="uref_1652327793">4379788</us-gaap:OtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="cref_1712351858"
      decimals="0"
      id="ixv-8522"
      unitRef="uref_1652327793">10497773</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="cref_1652327793"
      decimals="0"
      id="ixv-8523"
      unitRef="uref_1652327793">4933562</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <ecd:Rule10b51ArrTrmntdFlag contextRef="cref_925931785" id="ixv-8525">false</ecd:Rule10b51ArrTrmntdFlag>
    <ecd:Rule10b51ArrAdoptedFlag contextRef="cref_925931785" id="ixv-8526">false</ecd:Rule10b51ArrAdoptedFlag>
    <ecd:NonRule10b51ArrTrmntdFlag contextRef="cref_925931785" id="ixv-8527">false</ecd:NonRule10b51ArrTrmntdFlag>
    <ecd:NonRule10b51ArrAdoptedFlag contextRef="cref_925931785" id="ixv-8528">false</ecd:NonRule10b51ArrAdoptedFlag>
</xbrl>
